<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:base="http://xahlee.info/js/">

 <title>Xah's Web Dev Blog</title>
 <subtitle>web programing, technology, news</subtitle>
 <link rel="self" href="blog.xml"/>
 <link rel="alternate" href="blog.html"/>
 <updated>2013-06-19T06:10:19-07:00</updated>
 <author>
   <name>Xah Lee</name>
   <uri>http://xahlee.info/</uri>
 </author>
 <id>http://xahlee.info/js/blog.html</id>
 <icon>http://xahlee.org/ics/sum.png</icon>
 <rights>© 2011 〜 2013, Xah Lee</rights>

<entry>
<title>Internet Explorer Anime Girl</title>
<id>tag:xahlee.org,2013-06-19:131019</id>
<updated>2013-06-19T06:10:19-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<article>
<h3>Internet Explorer Anime Girl</h3>
<figure>
<img src="../comp/i/Internet_Explorer_anime_girl.jpg" alt="Internet Explorer anime girl" width="679" height="960" />
<figcaption>Internet Explorer anime girl</figcaption>
</figure>
<div class="blgcmt"><a href="http://xahlee.blogspot.com/2013/06/internet-explorer-anime-girl.html">✍</a></div>
<div class="rltd">
<ul>
<li><a href="../comp/ui_design_colorful_tabs.html">User Interface Design: Internet Explorer 9's Dysfunctional Colorful Tabs</a></li>
</ul>
</div>
</article>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.blogspot.com/2013/06/internet-explorer-anime-girl.html"/>
</entry>

<entry>
<title>CSS: protocol-relative URL Format</title>
<id>tag:xahlee.org,2013-06-16:202443</id>
<updated>2013-06-16T13:24:43-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="css_protocol-relative_url.html">CSS: protocol-relative URL Format</a> (updated, on its own page)</p>
 </div>
 </content>
<link rel="alternate" href="css_protocol-relative_url.html"/>
</entry>

<entry>
<title>JavaScript: Get Elements by ID, Tag, Name, Class</title>
<id>tag:xahlee.org,2013-06-16:183146</id>
<updated>2013-06-16T11:31:46-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>updated. You can use CSS syntax to select elements in pure JavaScript (no JQuery). See:  <a href="js_get_elements.html">JavaScript: Get Elements by ID, Tag, Name, Class</a></p>
 </div>
 </content>
<link rel="alternate" href="js_get_elements.html"/>
</entry>

<entry>
<title>JavaScript Floating Box Following Scroll</title>
<id>tag:xahlee.org,2013-06-16:182830</id>
<updated>2013-06-16T11:28:30-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="moving_block.html">JavaScript Floating Box Following Scroll</a> (updated)</p>
 </div>
 </content>
<link rel="alternate" href="moving_block.html"/>
</entry>

<entry>
<title>Declaring Character Set in CSS File</title>
<id>tag:xahlee.org,2013-06-16:080423</id>
<updated>2013-06-16T01:04:23-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<h3>Declaring Character Set in CSS File</h3>

<p>by default, CSS file is assumed to be UTF-8 encoded, unless the server or other mechanism says otherwise.</p>

<p>however, you can declare it in your CSS file, by putting the following in the first line:</p>

<pre class="css"><span class="builtin">@charset</span> <span class="string">"UTF-8"</span>;</pre>

<p>reference. 〔<cite>Declaring character encodings in CSS</cite> <time>2010-08-07</time> By W3C. @ <a class="sorc" href="http://www.w3.org/International/questions/qa-css-charset.en.php" data-accessed="2013-06-16">www.w3.org…</a>〕</p>

<div class="blgcmt"><a href="http://xahlee.blogspot.com/2013/06/declaring-character-set-in-css-file.html">✍</a></div>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.blogspot.com/2013/06/declaring-character-set-in-css-file.html"/>
</entry>

<entry>
<title>JavaScript Book by David Flanagan, and the Man-made Complexity in Computer Language</title>
<id>tag:xahlee.org,2013-06-12:072503</id>
<updated>2013-06-12T00:25:03-07:00</updated>
<summary>essay</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<h3>JavaScript Book by David Flanagan, and the Man-made Complexity in Computer Language</h3>

<p>Am very impressed with this book. VERY. 〔<cite>JavaScript Definitive Guide (6th ed.)</cite> <time>2011-05-10</time> By David Flanagan. @ <a class="sorc" href="http://www.amazon.com/dp/0596805527/?tag=xahh-20" data-accessed="2013-06-10">www.amazon.com…</a>〕</p>

<p>Normally, if you've been programing for a few years, you can quickly start to program in a new lang. You just learn the basics, types, loops, list/array, function/objects, module, then you can practically code anything you want, albeit in a non-optimal way. But, you'll have a lot questions, especially with complex languages. Questions like scope, evaluation model, and the language's overall “model”. What happens if you do xyz. Understanding these makes you a true expert in that lang. To understand a lang well, is to be able to have a sense of a mathematical model of the language.</p>

<p>(and almost all modern langs are quite complex, including Java, Python, Ruby. Now, JavaScript is easy to use, but it turns out it's quite complex too actually, the hairy details of its prototype inheritance. Very few languages have simple models (Mathematica, Lisp, do)) (a language with a simple model, would be one that its syntax and semantics can be specified in just a handful of rules. (see: <a href="http://en.wikipedia.org/wiki/Formal_language.">Formal language.</a>)〔☛ <a href="../cmaci/notation/index.html">Math Notations, Computer Languages, and the “Form” in Formalism</a>〕)</p>

<p>David Flanagan drills down on the real tech detail of JavaScript language.</p>

<p>I've only read parts of the chapters on JavaScript Objects, and the book is really good.</p>

<p>I noticed that he also wrote one on Ruby: 〔<cite>The Ruby Programming Language</cite> <time>2008-02-01</time> By David Flanagan. @ <a class="sorc" href="http://www.amazon.com/Ruby-Programming-Language-David-Flanagan/dp/0596516177/ref=la_B000APEZR4_1_2?ie=UTF8&amp;qid=1370864907&amp;sr=1-2" data-accessed="2013-06-10">www.amazon.com…</a>〕. Am looking forward to read this.</p>

<p>Actually, he wrote several others, on Java, on X11, since at least 1996.</p>

<h4>The Cost of Complex Language</h4>

<p>Most popular languages are exceedingly complex. The problem is that, you spend years to master them, but, new language comes out and replaces it, and the time you spend learning that language doesn't contribute your understanding to computer science or math in any way. What you learned is sometimes called “artificial complexity”, “man-made complexity”, unlike certain complexity in math or comp sci, that are inherent, unavoidable. Perl, C, C++, and unix tech (Shell, Apache) are good examples of man-made complexity. Lisp, in general, are the polar opposite.</p>

<div class="rltd">
<ul>
<li><a href="../comp/python_scope_complexity.html">Python Scope Complexity, Shallow Copy, Deep Copy, Circular List, and the Garbage Underneath Computer Languages</a></li>
<li><a href="../comp/perl_list_vs_array.html">Perl List vs Array — the Nether Mumble Jumble</a></li>
<li><a href="../comp/int_long_float_double_pests.html">Programing: Are int, float, long, double, Side-Effects of Computer Engineering?</a></li>
<li><a href="../comp/python_ref_problem.html">Python's Reference and Internal Model of Computing Languages</a></li>
<li><a href="../UnixResource_dir/writ/hardware_based_langs.html">Hardware Modeled (Von Neumann) Computer Languages and Functional-Level Languages</a></li>
<li><a href="../cmaci/notation/index.html">Math Notations, Computer Languages, and the “Form” in Formalism</a></li>
</ul>
</div>

<div class="blgcmt"><a href="http://xahlee.blogspot.com/2013/06/javascript-book-by-david-flanagan-and.html">✍</a></div>

 </div>
 </content>
<link rel="alternate" href="http://xahlee.blogspot.com/2013/06/javascript-book-by-david-flanagan-and.html"/>
</entry>

<entry>
<title>User Interface Design: Gray or White</title>
<id>tag:xahlee.org,2013-06-12:072405</id>
<updated>2013-06-12T00:24:05-07:00</updated>
<summary>commentary</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<h3>User Interface Design: Gray or White</h3>

<figure>
<img src="i/wob/web_design_gray_on_white_2013-06-11.png" alt="web design gray on white 2013-06-11" width="710" height="669" />
<figcaption>another fine gray on white.</figcaption>
</figure>

<p><a href="web_design_gray_on_white.html">Web Design: Say No to Grey Text on White Background</a></p>

 </div>
 </content>
<link rel="alternate" href="web_design_gray_on_white.html"/>
</entry>

<entry>
<title>Javascript: Dot Notation vs Bracket Notation</title>
<id>tag:xahlee.org,2013-06-10:062522</id>
<updated>2013-06-09T23:25:22-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="javascript_dot_notation_vs_bracket_notation.html">Javascript: Dot Notation vs Bracket Notation</a></p>
 </div>
 </content>
<link rel="alternate" href="javascript_dot_notation_vs_bracket_notation.html"/>
</entry>

<entry>
<title>Interface Design: How JavaScript Breaks UI, and the Evolution of User Interface</title>
<id>tag:xahlee.org,2013-06-09:115246</id>
<updated>2013-06-09T04:52:46-07:00</updated>
<summary>essay</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<h3>Interface Design: How JavaScript Breaks UI, and the Evolution of User Interface</h3>

<p>so many “modern” pure JavaScript based websites f�cks up the page so that basic universal browser operations broke. For example:</p>

<p>• Control+click or middle click on a link to open in new tab, or 【<kbd>Ctrl</kbd>+<kbd>n</kbd>】 to open new page, will not always work.</p>

<p>Perpetrator include Google's Google Plus, Twitter.</p>

<p>When a key that works only sometimes, it's annoying, but also dangerous, because after a few times of non-working, you stop using that key. Instead, user goes for the sure way of using the more cumbersome mouse.</p>

<p>• When a page contains Video  (Flash) such as YouTube, almost always your keys such as <kbd>⇟ Page ▽</kbd>, don't work anymore, because the “focus” is on Flash or some particular JavaScript scripted element, so key input got stolen. You need to click somewhere outside the video first.</p>

<p>From user's perspective, it's plainly annoying. However, the thing is, these fancy sites don't care, for good reasons, because, vast majority of people, probably 90%, don't even know about basic keys. Control+Click would be considered advanced.</p>

<p>so, how do we take this? should this be considered the inevitable progress of UI, or is it simply crassness of the corporations?</p>

<div class="blgcmt"><a href="http://xahlee.blogspot.com/2013/06/interface-design-how-javascript-breaks.html">✍</a></div>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.blogspot.com/2013/06/interface-design-how-javascript-breaks.html"/>
</entry>

<entry>
<title>dollar sign in JavaScript</title>
<id>tag:xahlee.org,2013-06-09:113236</id>
<updated>2013-06-09T04:32:36-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<h3>dollar sign in JavaScript</h3>

<p>lots JavaScript libs use dollar sign “$” as the name of their primary function.</p>

<p>It seems, it started with the prototype lib, then others picked it up, in particular jQuery.</p>

<p>here's a quote from <a class="sorc" href="http://stackoverflow.com/questions/205853/why-would-a-javascript-variable-start-with-a-dollar-sign" data-accessed="2013-06-08">stackoverflow</a></p>

<blockquote><p>As far as I can see, it's not recommended to use because the ECMAScript specification states that:</p>

<blockquote><p>    The dollar sign ($) and the underscore (_) are permitted anywhere in an identifier. The dollar sign is intended for use only in mechanically generated code.</p></blockquote>

<p>Update: The above refers to ECMA-262 3.0. However, this is no longer the latest edition. Currently, 5.1 is the latest edition. In ECMA-262 5.1 the above text is changed to:</p>

<blockquote><p>    The dollar sign ($) and the underscore (_) are permitted anywhere in an IdentifierName.</p></blockquote>

<p>That is, it seems that they dropped the "restriction" or whatever you want to call it.</p>
</blockquote>

<p>So, is this the case where practice forced a change in spec?</p>

<div class="blgcmt"><a href="http://xahlee.blogspot.com/2013/06/dollar-sign-in-javascript.html">✍</a></div>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.blogspot.com/2013/06/dollar-sign-in-javascript.html"/>
</entry>

<entry>
<title>JavaScript Books</title>
<id>tag:xahlee.org,2013-06-09:094458</id>
<updated>2013-06-09T02:44:58-07:00</updated>
<summary>books</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="JavaScript_books_2013.html">JavaScript Books 2013</a></p>
 </div>
 </content>
<link rel="alternate" href="JavaScript_books_2013.html"/>
</entry>

<entry>
<title>AutoScroll on Linux Google Chrome Browser</title>
<id>tag:xahlee.org,2013-05-31:141541</id>
<updated>2013-05-31T07:15:41-07:00</updated>
<summary>tip</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="http://xahlee.blogspot.com/2013/05/autoscroll-on-linux-google-chrome.html">AutoScroll on Linux Google Chrome Browser</a></p>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.blogspot.com/2013/05/autoscroll-on-linux-google-chrome.html"/>
</entry>

<entry>
<title>How to Embed Video with Valid HTML</title>
<id>tag:xahlee.org,2013-05-27:195745</id>
<updated>2013-05-27T12:57:45-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>slight update. <a href="html_embed_video.html">How to Embed Video with Valid HTML</a></p>
 </div>
 </content>
<link rel="alternate" href="html_embed_video.html"/>
</entry>

<entry>
<title>HTML5 Tags</title>
<id>tag:xahlee.org,2013-05-26:011057</id>
<updated>2013-05-25T18:10:57-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>the W3C group removed the “hgroup” tag in HTML5. Updated: <a href="html5_tags.html">HTML5 Tags</a> (thx to <a class="sorc" href="https://twitter.com/XueFuqiao" data-accessed="2013-05-25">XueFuqiao</a>)</p>
 </div>
 </content>
<link rel="alternate" href="html5_tags.html"/>
</entry>

<entry>
<title>HTML5 Video Example</title>
<id>tag:xahlee.org,2013-05-26:002539</id>
<updated>2013-05-25T17:25:39-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>updated. <a href="html5_video_audio.html">HTML5 Video Example</a>. (thx to <a class="sorc" href="https://twitter.com/XueFuqiao" data-accessed="2013-05-25">XueFuqiao</a>)</p>
 </div>
 </content>
<link rel="alternate" href="html5_video_audio.html"/>
</entry>

<entry>
<title>new Google Plus interface, featuring the claustrophob box.</title>
<id>tag:xahlee.org,2013-05-17:130944</id>
<updated>2013-05-17T06:09:44-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<figure>
<img src="../comp/i/ui/Google_Plus_UI_tiny_comment_box_2013-05-17.png" alt="Google Plus UI tiny comment box 2013-05-17" width="1059" height="967" />
<figcaption><time>2013-05-17</time> new Google Plus interface, featuring the claustrophob box.
〔☛ <a href="../comp/ui_design_peepshow_window.html">User Interface Design: Peepshow Windows</a>〕
</figcaption>
</figure>
 </div>
 </content>
<link rel="alternate" href="../comp/ui_design_peepshow_window.html"/>
</entry>

<entry>
<title>JavaScript: Fade a Element</title>
<id>tag:xahlee.org,2013-05-14:190158</id>
<updated>2013-05-14T12:01:58-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>updated. <a href="js_fadeout.html">JavaScript: Fade a Element</a> Fixed a Google Chrome bug. See the tip at bottom to StackOverflow on a interesting JavaScript Google Chrome issue.</p>
 </div>
 </content>
<link rel="alternate" href="js_fadeout.html"/>
</entry>

<entry>
<title>The Unfortunate Fate of Music MIDI File</title>
<id>tag:xahlee.org,2013-05-12:145317</id>
<updated>2013-05-12T07:53:17-07:00</updated>
<summary>essay</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">

<h3>The Unfortunate Fate of Music MIDI File</h3>

<p><a href="http://en.wikipedia.org/wiki/MIDI">MIDI</a> is really a great tech, but unfortunately, it never picked up in computer.</p>

<p>MIDI is tiny in size, especially great for piano music. For example, a 5 minute piano piece is only 11k bytes.</p>

<p>10 years ago, i'd expect by now that on each computer we have high quality sampled sound library for MIDI, so that perhaps just a 100 mega bytes you'd have entire collection of piano music in history, recorded by professionals. Not so.</p>

<p>Today, on the web, MIDI isn't supported in html5 audio.
〔☛ <a href="html5_audio.html">HTML5 Audio Tag Example</a>〕
〔☛ <a href="html5_tags.html">HTML5 Tags</a>〕
And it won't play on Linux by default.
</p>

<p>Here's entire collection of Bach's 〈Well Tempered Clavier〉, just 529k. <a href="http://xahmusic.org/ClassicalMusic_dir/mlisting_bach.html">Music: MIDI Collection of Bach 🎶</a></p>

<div class="blgcmt"><a href="http://xahlee.blogspot.com/2013/05/the-unfortunate-fate-of-music-midi-file.html">✍</a></div>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.blogspot.com/2013/05/the-unfortunate-fate-of-music-midi-file.html"/>
</entry>

<entry>
<title>HTML “pre” tag idiocy. Syntax Irregularity vs Convenience</title>
<id>tag:xahlee.org,2013-05-10:223341</id>
<updated>2013-05-10T15:33:41-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>The “pre” tag idiocy. <a href="../comp/syntax_irregularity_vs_convenience.html">Programing Language Design: Syntax Sugar Problem: Irregularity vs Convenience</a></p>
 </div>
 </content>
<link rel="alternate" href="../comp/syntax_irregularity_vs_convenience.html"/>
</entry>

<entry>
<title>Complete List of CSS Color Names</title>
<id>tag:xahlee.org,2013-05-05:071515</id>
<updated>2013-05-05T00:15:15-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>updated with HSL color values. <a href="css_color_names.html">Complete List of CSS Color Names</a></p>
 </div>
 </content>
<link rel="alternate" href="css_color_names.html"/>
</entry>

<entry>
<title>JavaScript dom app</title>
<id>tag:xahlee.org,2013-04-29:074744</id>
<updated>2013-04-29T00:47:44-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>new JavaScript toy. <a href="http://wordyenglish.com/p/cupid_psyche.html">the Story of Cupid and Psyche</a>. Hoover annotated words to see its annotation highlighted.</p>

<p>some selection of other stories and essays with annotation:</p>

<ul>
<li><a href="http://wordyenglish.com/p/to_build_a_fire.html">To Build a Fire</a></li>
<li><a href="http://wordyenglish.com/arabian_nights/an2.html">The Tale Of The Bull And The Ass</a></li>
<li><a href="http://wordyenglish.com/time_machine/tm-ch01.html">Time Machine: Chapter I</a></li>
<li><a href="http://wordyenglish.com/p/george_orwell_english.html">Politics and the English Language (George Orwell)</a></li>
<li><a href="http://wordyenglish.com/p/why_not_christian.html">Why I am Not a Christian (Bertrand Russell)</a></li>
</ul>
 </div>
 </content>
<link rel="alternate" href="http://wordyenglish.com/p/cupid_psyche.html"/>
</entry>

<entry>
<title>JavaScript: Fade a Element</title>
<id>tag:xahlee.org,2013-04-28:185037</id>
<updated>2013-04-28T11:50:37-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="js_fadeout.html">JavaScript: Fade a Element</a></p>
 </div>
 </content>
<link rel="alternate" href="js_fadeout.html"/>
</entry>

<entry>
<title>JavaScript: Array vs NodeList vs HTML Collection</title>
<id>tag:xahlee.org,2013-04-26:171253</id>
<updated>2013-04-26T10:12:53-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="js_array_vs_nodelist_vs_html_collection.html">JavaScript: Array vs NodeList vs HTML Collection</a></p>
 </div>
 </content>
<link rel="alternate" href="js_array_vs_nodelist_vs_html_collection.html"/>
</entry>

<entry>
<title>CSS Trick: Display Language Name in Code Snippet</title>
<id>tag:xahlee.org,2013-04-18:195126</id>
<updated>2013-04-18T12:51:26-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<article><h3>CSS Trick: Display Language Name in Code Snippet</h3>

<p>first, look at this page:
<a href="../perl-python/print_version.html">Python, Ruby, Perl: Print Version String from Script</a></p>

<p>The language name at bottom right are done with CSS. Like this:</p>

<pre class="css">
<span class="css-selector">pre.python:after</span>
{<span class="css-property">content</span>:<span class="string">"Python₂"</span>;
<span class="css-property">position</span>:relative;
<span class="css-property">bottom</span>:0ex;
<span class="css-property">right</span>:1ex;
<span class="css-property">float</span>:right;
<span class="css-property">color</span>:<span class="ATTRLIST-2"><span class="ATTRLIST-1">gray</span></span>; <span class="css-property">background-color</span>:<span class="ATTRLIST-2"><span class="ATTRLIST">hsl(0,0%,95%)</span></span>}
</pre>
</article>
 </div>
 </content>
<link rel="alternate" href="blog.html"/>
</entry>

<entry>
<title>JavaScript in 3 hours</title>
<id>tag:xahlee.org,2013-04-17:153831</id>
<updated>2013-04-17T08:38:31-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>more massive update. Added array methods, and lots others. <a href="javascript_basics.html">JavaScript Basics by Example</a></p>
 </div>
 </content>
<link rel="alternate" href="javascript_basics.html"/>
</entry>

<entry>
<title>JavaScript Function Constructor</title>
<id>tag:xahlee.org,2013-04-16:154231</id>
<updated>2013-04-16T08:42:31-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="javascript_function_constructor.html">JavaScript Function Constructor</a></p>
 </div>
 </content>
<link rel="alternate" href="javascript_function_constructor.html"/>
</entry>

<entry>
<title>JavaScript Variable Scope: function level, not block level</title>
<id>tag:xahlee.org,2013-04-16:132901</id>
<updated>2013-04-16T06:29:01-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="javascript_var_scope.html">JavaScript Variable Scope</a></p>

 </div>
 </content>
<link rel="alternate" href="javascript_var_scope.html"/>
</entry>

<entry>
<title>JavaScript Basics by Example</title>
<id>tag:xahlee.org,2013-04-15:185208</id>
<updated>2013-04-15T11:52:08-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="javascript_basics.html">learn JavaScript in 3 hours</a></p>
 </div>
 </content>
<link rel="alternate" href="javascript_basics.html"/>
</entry>

<entry>
<title>JavaScript: How to Create Tooltip/Balloon</title>
<id>tag:xahlee.org,2013-04-15:032807</id>
<updated>2013-04-14T20:28:07-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="tooltips.html">JavaScript: How to Create Tooltip/Balloon</a></p>
 </div>
 </content>
<link rel="alternate" href="tooltips.html"/>
</entry>

<entry>
<title>JavaScript Prototype: Define Your Own Methods</title>
<id>tag:xahlee.org,2013-04-15:014249</id>
<updated>2013-04-14T18:42:49-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="js_prototype.html">JavaScript Prototype: Define Your Own Methods</a></p>
 </div>
 </content>
<link rel="alternate" href="js_prototype.html"/>
</entry>

<entry>
<title>Customize Firefox Keys</title>
<id>tag:xahlee.org,2013-04-14:201418</id>
<updated>2013-04-14T13:14:18-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<article>
<h3>Customize Firefox Keys</h3>

<p>You can download this extention
<a class="sorc" href="http://forums.mozillazine.org/viewtopic.php?t=72994" data-accessed="2013-04-14">http://forums.mozillazine.org/viewtopic.php?t=72994</a></p>

<p>note: the page looks lousy and dated, but the tool works.</p>

<p>once installed, go to menu 〖Tools ▸ Keyconfig〗.</p>

<p>by default, there's no key setup for prev/next tab. You can add it, by clicking on the “Add a New Key” button. Here's the code:</p>

<ul>
<li>Next Tab: <code>gBrowser.mTabContainer.advanceSelectedTab(1,true);</code></li>
<li>Previous Tab: <code>gBrowser.mTabContainer.advanceSelectedTab(-1,true);</code></li>
</ul>

<p>Once you added, click on the key box and press the key you want.</p>

<p>Also, be sure to click Apply.</p>

<p>Then, it'll work. No need to restart after changing keys.</p>
<p>reference. <a class="sorc" href="http://superuser.com/questions/145280/firefox-can-i-change-the-keyboard-shortcuts-for-tab-switching" data-accessed="2013-04-14">http://superuser.com/questions/145280/firefox-can-i-change-the-keyboard-shortcuts-for-tab-switching</a></p>

</article>
 </div>
 </content>
<link rel="alternate" href="../mswin/Firefox_customize_key_shortcuts.html"/>
</entry>

<entry>
<title>JavaScript app on Unicode</title>
<id>tag:xahlee.org,2013-04-13:194453</id>
<updated>2013-04-13T12:44:53-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>6 hours, much improved the JavaScript app for Unicode. See for example: <a href="../comp/unicode_arrows.html">Unicode: Arrow Symbols ← → ↑ ↓</a></p>
 </div>
 </content>
<link rel="alternate" href="../comp/unicode_arrows.html"/>
</entry>

<entry>
<title>JavaScript: Insert HTML Element Example</title>
<id>tag:xahlee.org,2013-04-13:190302</id>
<updated>2013-04-13T12:03:02-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>updated. <a href="ins_content.html">JavaScript: Insert HTML Element Example</a></p>
 </div>
 </content>
<link rel="alternate" href="ins_content.html"/>
</entry>

<entry>
<title>vanilla-js.com</title>
<id>tag:xahlee.org,2013-04-08:032038</id>
<updated>2013-04-07T20:20:38-07:00</updated>
<summary>humor</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>discovered <a class="sorc" href="http://vanilla-js.com/" data-accessed="2013-04-07">vanilla-js.com</a>, its use surpasses JQuery. Amazing.</p>

<p>via <a class="sorc" href="https://plus.google.com/106755567823847315958/posts" data-accessed="2013-04-07">Craig Lennox</a></p>
<p>there are lots JavaScript libs and even alternative js langs. For example, CoffeeScript, Google's Dart, Microsoft's TypeScript. My recommendation is, don't use any of it. Master JavaScript fair and square.</p>
 </div>
 </content>
<link rel="alternate" href="http://vanilla-js.com/"/>
</entry>

<entry>
<title>CSS 2D Transform Examples</title>
<id>tag:xahlee.org,2013-04-02:062517</id>
<updated>2013-04-01T23:25:17-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="css_2d_transform.html">CSS 2D Transform Examples</a></p>
 </div>
 </content>
<link rel="alternate" href="css_2d_transform.html"/>
</entry>

<entry>
<title>CSS Radial Gradient Examples</title>
<id>tag:xahlee.org,2013-03-28:232153</id>
<updated>2013-03-28T16:21:53-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>new. <a href="css_gradient_radial.html">CSS Radial Gradient Examples</a></p>
 </div>
 </content>
<link rel="alternate" href="css_gradient_radial.html"/>
</entry>

<entry>
<title>CSS Linear Gradient Examples</title>
<id>tag:xahlee.org,2013-03-28:202151</id>
<updated>2013-03-28T13:21:51-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>updated. <a href="css_gradient.html">CSS Linear Gradient Examples</a></p>
 </div>
 </content>
<link rel="alternate" href="css_gradient.html"/>
</entry>

<entry>
<title>Humor: CSS Experimental Pain, Window Blind</title>
<id>tag:xahlee.org,2013-03-28:191806</id>
<updated>2013-03-28T12:18:06-07:00</updated>
<summary>humor</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>this animated gif says everything about CSS. <a href="../w/css_experimental_pain_window_blind.html">Humor: CSS Experimental Pain, Window Blind</a></p>
 </div>
 </content>
<link rel="alternate" href="../w/css_experimental_pain_window_blind.html"/>
</entry>

<entry>
<title>CSS Transform: Rotate</title>
<id>tag:xahlee.org,2013-03-27:205138</id>
<updated>2013-03-27T13:51:38-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>new. <a href="css_rotate.html">CSS Transform: Rotate</a></p>
 </div>
 </content>
<link rel="alternate" href="css_rotate.html"/>
</entry>

<entry>
<title>HTML Form Example</title>
<id>tag:xahlee.org,2013-03-26:221613</id>
<updated>2013-03-26T15:16:13-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>updated. <a href="html_form_sample.html">HTML Form Example</a></p>
 </div>
 </content>
<link rel="alternate" href="html_form_sample.html"/>
</entry>

<entry>
<title>apache, nginx, tutorials</title>
<id>tag:xahlee.org,2013-03-25:052200</id>
<updated>2013-03-24T22:22:00-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>few new articles from my <a href="../comp/blog.html">Programing Blog</a></p>

<ul>
<li><a href="../UnixResource_dir/open_source_rewrite_history.html">Apache Rewrites History: Why is it Named “Apache”?</a></li>
<li><a href="../linux/apache_tutorial.html">Apache HTTP Server Tutorial</a></li>
<li><a href="../linux/nginx_tutorial.html">nginx Tutorial</a></li>
</ul>

 </div>
 </content>
<link rel="alternate" href="../comp/blog.html"/>
</entry>

<entry>
<title>Tech Humor: Apache vs node.js vs nginx</title>
<id>tag:xahlee.org,2013-03-23:040042</id>
<updated>2013-03-22T21:00:42-07:00</updated>
<summary>humor</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="../w/apache_nodejs_nginx.html">Tech Humor: Apache vs node.js vs nginx</a></p>
 </div>
 </content>
<link rel="alternate" href="../w/apache_nodejs_nginx.html"/>
</entry>

<entry>
<title>UI redesign: JavaScript tutorial</title>
<id>tag:xahlee.org,2013-03-21:221007</id>
<updated>2013-03-21T15:10:07-07:00</updated>
<summary>news</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>facelift. <a href="js.html">Xah's JavaScript Tutorial</a></p>
 </div>
 </content>
<link rel="alternate" href="js.html"/>
</entry>

<entry>
<title>CSS display:inline-block</title>
<id>tag:xahlee.org,2013-03-17:141636</id>
<updated>2013-03-17T07:16:36-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>recently discovered the CSS <code>display:inline-block</code>. It's relatively new. It basically is like <code>float:left</code> but you don't have to worry about side-effects on the rest of the page, such as stopping float by <code>clear:both</code>.  For a example of using <code>display:inline-block</code>, see <a href="http://xahsl.org/sl/index.html">Second Life Screenshot Gallery</a></p>
 </div>
 </content>
<link rel="alternate" href="blog.html"/>
</entry>

<entry>
<title>Pure CSS Table</title>
<id>tag:xahlee.org,2013-03-17:114916</id>
<updated>2013-03-17T04:49:16-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>updated. <a href="css_table.html">Pure CSS Table</a></p>
 </div>
 </content>
<link rel="alternate" href="css_table.html"/>
</entry>

<entry>
<title>CSS: Flowing List</title>
<id>tag:xahlee.org,2013-03-17:113037</id>
<updated>2013-03-17T04:30:37-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>updated. <a href="css_flow_list.html">CSS: Flowing List</a></p>
 </div>
 </content>
<link rel="alternate" href="css_flow_list.html"/>
</entry>

<entry>
<title>CSS: z-index</title>
<id>tag:xahlee.org,2013-03-17:105631</id>
<updated>2013-03-17T03:56:31-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>updated. <a href="ex_css_layers.html">CSS: z-index</a></p>
 </div>
 </content>
<link rel="alternate" href="ex_css_layers.html"/>
</entry>

<entry>
<title>Google Plus Favicon Change</title>
<id>tag:xahlee.org,2013-03-16:163504</id>
<updated>2013-03-16T09:35:04-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="../w/Google_Plus_favicon_change.html">Google Plus Favicon Change</a></p>

 </div>
 </content>
<link rel="alternate" href="../w/Google_Plus_favicon_change.html"/>
</entry>

<entry>
<title>Google Reader going away</title>
<id>tag:xahlee.org,2013-03-13:233004</id>
<updated>2013-03-13T16:30:04-07:00</updated>
<summary>news</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>wow, Google Reader is going away. Seems the writing's been on the wall since past couple years when blog sites are going down left and right. <a class="sorc" href="http://googleblog.blogspot.com/2013/03/a-second-spring-of-cleaning.html" data-accessed="2013-03-13">http://googleblog.blogspot.com/2013/03/a-second-spring-of-cleaning.html</a></p>

<p>Note: Safari also removed RSS feature from their browser a year or 2 ago.</p>
<p>end of a era.</p>

<p>with Google Reader going away, i think it'll have a major impact on blog reading. Many users of Reader, will probably not bother and more or less stop reading many blogs.</p>

<p>… now now… it comes to me, that this decision by Google must be strongly influenced by g+ too. With Reader gone, blogs reading will be significantly reduced, and g+ would benefit.</p>

<p>… am trying to think of some consequences… impact of this. I suppose Google FeedBurner (a RSS tool for publishers) will be shutting soon too. Then, i am thinking Google Blogger's fate is also uncertain, within a year or 2. (maybe not, because Blogger run Google ads)</p>

<p>by the way, if you don't already know, many other major RSS aggregator or site services shut down few years ago, citing reduced users.</p>

<p>also, Google shut down Google ads in RSS Feeds few months ago. (or announced it)</p>

<p>which browser still has RSS service? I know Firefox still does. IE too i think. And Opera, but nobody's using Opera. Does Thunderbird support RSS?</p>

<p>but in a sense am glad it's gone. Because it was a blood sucking thing, like Google image search and others, taking other's people's work into Google. Without, the control returns to people, to the spirit of internet, where people take a more active role in choosing and visiting sites, with bookmark or browser based RSS Reader, not centrally controlled.</p>

 </div>
 </content>
<link rel="alternate" href="../w/Google_Reader_rips.html"/>
</entry>

<entry>
<title>css text shadow</title>
<id>tag:xahlee.org,2013-03-10:182142</id>
<updated>2013-03-10T11:21:42-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="css_text_shadow.html">CSS: Text Shadow Examples</a></p>
 </div>
 </content>
<link rel="alternate" href="css_text_shadow.html"/>
</entry>

<entry>
<title>css homepage design</title>
<id>tag:xahlee.org,2013-03-07:031908</id>
<updated>2013-03-06T19:19:08-08:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>revamped my CSS home page design. <a href="css_index.html">Xah's CSS Tutorial</a> Only half done. More to come. Also updated: <a href="css_color_names.html">Complete List of CSS Color Names</a></p>
 </div>
 </content>
<link rel="alternate" href="css_index.html"/>
</entry>

<entry>
<title>using CSS to make Triangle</title>
<id>tag:xahlee.org,2013-03-06:044249</id>
<updated>2013-03-05T20:42:49-08:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="css_triangle.html">CSS Triangle</a></p>
 </div>
 </content>
<link rel="alternate" href="css_triangle.html"/>
</entry>

<entry>
<title>JavaScript App for Unicode</title>
<id>tag:xahlee.org,2013-03-03:063613</id>
<updated>2013-03-02T22:36:13-08:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<article>

<h3>JavaScript App for Unicode</h3>

<p>wrote a JavaScript app. Goto
<a href="../comp/unicode_6_emoticons_list.html">Unicode Emoticons, Faces 😸</a>,
hover your mouse over (or click if you are on tablet). Unicode name and codepoint will show.</p>

<p>also created the following pages.</p>

<ul>
<li><a href="../comp/unicode_transport_and_map_symbols.html">Unicode: Transport ＆ Map Symbols</a></li>
<li><a href="../comp/unicode_animals.html">Unicode Animal/Insect Icons</a></li>
<li><a href="../comp/unicode_office_icons.html">Unicode Office Icons</a></li>
<li><a href="../comp/unicode_sports_games.html">Unicode Sports Games Icons</a></li>
<li><a href="../comp/unicode_astronomy.html">Unicode Astronomy/Astrology Symbols</a></li>
<li><a href="../comp/unicode_weather_symbols.html">Unicode Weather Symbols/Icons</a></li>
<li><a href="../comp/unicode_music_symbols.html">Unicode Music Symbols</a></li>
</ul>
</article>

 </div>
 </content>
<link rel="alternate" href="../comp/unicode_6_emoticons_list.html"/>
</entry>

<entry>
<title>Can CSS z-index be negative?</title>
<id>tag:xahlee.org,2013-03-03:035915</id>
<updated>2013-03-02T19:59:15-08:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p class="q">Can CSS z-index be negative?</p>
<div class="a">
<p>yes.</p>
</div>

<p class="q">Can JavaScript var name contain hyphen?</p>
<div class="a">
<p>No.</p>
</div>

 </div>
 </content>
<link rel="alternate" href="blog.html"/>
</entry>

<entry>
<title>IE10 available for Windows 7</title>
<id>tag:xahlee.org,2013-03-01:061103</id>
<updated>2013-02-28T22:11:03-08:00</updated>
<summary>news</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>Internet Explorer 10 is now available for Microsoft Windows 7. Download at
<a class="sorc" href="http://windows.microsoft.com/en-us/internet-explorer/download-ie" data-accessed="2013-02-28">http://windows.microsoft.com/en-us/internet-explorer/download-ie</a></p>
 </div>
 </content>
<link rel="alternate" href="http://windows.microsoft.com/en-us/internet-explorer/download-ie"/>
</entry>

<entry>
<title>funny</title>
<id>tag:xahlee.org,2013-02-26:114145</id>
<updated>2013-02-26T03:41:45-08:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<figure>
<img src="i/html_close_all_the_tags_cartoon.jpg" alt="html close all the tags cartoon" width="320" height="240" />
<figcaption>
<a href="Google_html_css_style_guide.html">Google HTML/CSS Style Guide: Good Style or Bad Taste?</a>
</figcaption>
</figure>
 </div>
 </content>
<link rel="alternate" href="Google_html_css_style_guide.html"/>
</entry>

<entry>
<title>linkedin unicode obfuscation spam filter, 2013-02-17</title>
<id>tag:xahlee.org,2013-02-17:180921</id>
<updated>2013-02-17T10:09:21-08:00</updated>
<summary>spam</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<article>

<h3>linkedin unicode obfuscation spam filter, 2013-02-17</h3>

<p>linkedin bug or feature. If you try to post the following, when you click the Share button. Nothing happens.</p>

<pre class="output">𝔉𝔬𝔯 𝔞 𝔩𝔦𝔱𝔱𝔩𝔢 𝔣𝔲𝔫 𝔱𝔬𝔡𝔞𝔶, 𝔦 𝔴𝔯𝔬𝔱𝔢 “𝔯𝔢𝔭𝔩𝔞𝔠𝔢-𝔩𝔞𝔱𝔦𝔫-𝔞𝔩𝔭𝔥𝔞𝔟𝔢𝔱-𝔱𝔬-𝔤𝔬𝔱𝔥𝔦𝔠”. 𝔗𝔥𝔦𝔰 𝔴𝔦𝔩𝔩 𝔯𝔢𝔭𝔩𝔞𝔠𝔢 𝔞𝔩𝔩 𝔈𝔫𝔤𝔩𝔦𝔰𝔥 𝔞𝔩𝔭𝔥𝔞𝔟𝔢𝔱 𝔟𝔶 𝔊𝔬𝔱𝔥𝔦𝔠 𝔳𝔢𝔯𝔰𝔦𝔬𝔫 (𝔞𝔨𝔞 𝔅𝔩𝔞𝔠𝔨𝔩𝔢𝔱𝔱𝔢𝔯, 𝔉𝔯𝔞𝔨𝔱𝔲𝔯) 𝔱𝔥𝔞𝔱'𝔰 𝔞𝔳𝔞𝔦𝔩𝔞𝔟𝔩𝔢 𝔦𝔫 𝔘𝔫𝔦𝔠𝔬𝔡𝔢 𝔞𝔰 𝔠𝔥𝔞𝔯𝔞𝔠𝔱𝔢𝔯𝔰. ℌ𝔢𝔯𝔢'𝔰 𝔱𝔥𝔢 𝔠𝔬𝔡𝔢.

〈𝔗𝔥𝔬𝔲 𝔖𝔥𝔞𝔩𝔱 𝔘𝔰𝔢 𝔈𝔪𝔞𝔠𝔰 𝔏𝔦𝔰𝔭〉 http://ergoemacs.org/misc/thou_shalt_use_emacs_lisp.html</pre>

<p>it seems, they tried to filter spammers who use Unicode to bypass spam filter.
(☛ <a href="../w/spam_collection_2012.html">Spam Text Collection: Unicode-Obfuscated Spam, 2012</a>)</p>

</article>
 </div>
 </content>
<link rel="alternate" href="../w/linkedin_spam_filter_collateral_damage.html"/>
</entry>

<entry>
<title>Konqueror sucks major A</title>
<id>tag:xahlee.org,2013-02-12:090033</id>
<updated>2013-02-12T01:00:33-08:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">

<article>

<p>wow, Konqueror sucks major A.</p>

<ul>
<li>when you set home page, it doesn't take effect until restart.</li>
<li>doesn't support inline SVG. ℯℊ <a href="browser_svg_image_height_weight_scale_vs_crop.html">Browser Inline SVG Image Height Weight Scale vs Crop</a></li>
<li>doesn't support HTML5 “figure” tag. (☛ <a href="html5_figure_figurecaption.html">HTML5 “figure” ＆ “figurecaption” Tags Browser Support</a>)</li>
<li>doesn't render space before <code>corner bracket</code> added using <a href="css_before_after.html">CSS “:before” pseudo-elements</a>.</li>
<li>render things extremely badly.</li>
<li>doesn't support many standard keys. ℯℊ middle click on tab doesn't close it. 【<kbd>Ctrl</kbd>+<kbd>⇟ Page ▽</kbd>】 doesn't switch to next tab. 【<kbd>Ctrl</kbd>+<kbd>⇧ Shift</kbd>+<kbd>t</kbd>】 doesn't open last closed tab. 【<kbd>Alt</kbd>+<kbd>d</kbd>】 doesn't put cursor on URL field. Weird keys of its own, unexpected things happen when you press some key, similar to Opera.</li>
<li>doesn't support the extra “back” button on mouse by default. (Linux Firefox does, so does Google Chrome.)</li>
<li>doesn't support the <kbd>⌫ Backspace</kbd> key for “back”.</li>
<li>typing into url field to search doesn't work, also, returns one ugly geek error telling you about “Improperly Formatted URL” with the helpful proper syntax <code>protocol://user:password@www.example.org:port/folder/filename.extension?…</code>. OK, fine, i'll type in the search box then, but there's no search box in sight.</li>
<li>one gian bloatware. Tries to be folder viewer too.</li>
</ul>

<p>I'm running Konqueror 4.8.5 on xfce. Am seeing these illusions because i'm not in proper KDE desktop, or is this the norm?</p>

</article>
 </div>
 </content>
<link rel="alternate" href="Konqueror_sucks_major_A.html"/>
</entry>

<entry>
<title>Hacker Fads ＆ Fashions: Is XML Syntax the Stupid Brother of Lisp? Hey, Check Out Their Young Sister HTML5!</title>
<id>tag:xahlee.org,2013-01-22:205653</id>
<updated>2013-01-22T12:56:53-08:00</updated>
<summary>essay</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>I ranted about <a href="web_design_gray_on_white.html">Web Design: Say No to Grey Text on White Background</a>. And now discovered there's a site dedicated to this.</p>

<p>〔<cite>contrast rebellion</cite> <time>2013-01-22</time> By Zoltán Gócza, Richard Gazdik. @ <a class="sorc" href="http://contrastrebellion.com/" data-accessed="2013-01-22">contrastrebellion.com…</a>〕</p>

<p>(thx to Mikay Gao. <a class="sorc" href="https://twitter.com/imikay" data-accessed="2013-01-22">https://twitter.com/imikay</a>)</p>

<p>btw, i remember reading more than one blog, by supposedly design gurus, who tell us that we should use low-contrast, because, they say, in nature nothing is in high-contrast. LOL.</p>

<p>this is like, <a href="../comp/xml_syntax_is_inferior_lisp_syntax.html">Hacker Fads ＆ Fashions: Is XML Syntax the Stupid Brother of Lisp? Hey, Check Out Their Young Sister HTML5!</a></p>
 </div>
 </content>
<link rel="alternate" href="../comp/xml_syntax_is_inferior_lisp_syntax.html"/>
</entry>

<entry>
<title>Unicode Icons: Food, Drink</title>
<id>tag:xahlee.org,2013-01-11:185058</id>
<updated>2013-01-11T10:50:58-08:00</updated>
<summary>info</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<article>
<h3>Unicode Icons for Food and Drink</h3>

<p><a href="../comp/unicode_food_drink.html">Unicode Icons: Food, Drink</a></p>

<p>On my Microsoft Windows 7 machine, only Firefox display them well (missing just 2 characters).</p>

<p>All other browsers, Google Chrome, Safari, Opera, Internet Explorer 9, got nothing.</p>

<p>I do have Unicode 6 fonts installed (Symbola, Segoe UI Symbol). Somehow these browsers are not picking it up.
(☛ <a href="http://ergoemacs.org/emacs/emacs_unicode_fonts.html">Best Unicode Fonts for Programing</a>)
(☛ <a href="../comp/unicode_6_emoticons.html">Unicode 6 Emoticons and Supporting Fonts</a>)
</p>

<p>On Linux, default setup of Ubuntu 12.04, none of them shows up in Firefox.</p>

<p>What's your experience? (tell me your OS, browser, their versions, and whether you have installed special fonts yourself.)</p>

</article>
 </div>
 </content>
<link rel="alternate" href="../comp/unicode_6_emoticons.html"/>
</entry>

<entry>
<title>User Interface Design: Peepshow Windows</title>
<id>tag:xahlee.org,2013-01-09:171231</id>
<updated>2013-01-09T09:12:31-08:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>Needs to be said again: <a href="../comp/ui_design_peepshow_window.html">User Interface Design: Peepshow Windows</a></p>
 </div>
 </content>
<link rel="alternate" href="../comp/ui_design_peepshow_window.html"/>
</entry>

<entry>
<title>Web Design: Grey Text on White</title>
<id>tag:xahlee.org,2013-01-08:215814</id>
<updated>2013-01-08T13:58:14-08:00</updated>
<summary>essay; web design</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>Needs to be said again: <a href="web_design_gray_on_white.html">Web Design: Say No to Grey Text on White Background</a></p>
 </div>
 </content>
<link rel="alternate" href="web_design_gray_on_white.html"/>
</entry>

<entry>
<title>Google AdSense Ban</title>
<id>tag:xahlee.org,2013-01-01:054938</id>
<updated>2012-12-31T21:49:38-08:00</updated>
<summary>society; social network policy</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<h3>Google AdSense Ban</h3>
<p>Google is banning me left and right. Now, this page 〈GNAA Weev Troll Song (Kesha — TiK ToK)〉
http://xahlee.org/music/gnaa_weev_song.html , they say is violating their AdSense rules.</p>

<p>Here's other moral-sensitive songs. 〈Sensitive Songs Index〉
http://xahlee.org/music/music_index_sensitive.html
</p>

<p>I started to put Google ads in 2005. Within one month, they ban'd me, probably because i say f�ck George Bush in front page. See: 〈Google AdSense Ban on XahLee.org〉
http://xahlee.org/Periodic_dosage_dir/tr/google_adsense_ban.html
</p>

<p>So, since 2005 to 2011, i did not run any ads.</p>

<p>In 2012 July, i separated out my articles to different domains, so that all my none-controversial articles (which is about 95%) can benefit from ads.</p>

<p>Then, Google ban'd my xaharts.org for ads. See 〈Google AdSense Ban on Ancient Asian Goddess Sculpture Page〉
http://xahlee.info/w/Google_AdSense_ban_on_ancient_sculpture_2012-09-02.html
 and now is warning me about that troll song.</p>

<p>the moral here is, if you wanna make money, stay in line! Or, be one of those unscrupulous ad-ridden SEO site or a spammer!</p>

 </div>
 </content>
<link rel="alternate" href="blog.html"/>
</entry>

<entry>
<title>deleted</title>
<id>tag:xahlee.org,2012-12-25:160737</id>
<updated>2012-12-25T08:07:37-08:00</updated>
<summary>xah lee</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
 </div>
 </content>
<link rel="alternate" href=""/>
</entry>

<entry>
<title>website browser stat 2012</title>
<id>tag:xahlee.org,2012-12-25:061417</id>
<updated>2012-12-24T22:14:17-08:00</updated>
<summary>info</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<h1>Browser Stat 2012</h1>

<p>for my site <a href="http://ergoemacs.org/index.html">ergoemacs.org</a> (on emacs):</p>

<ul>
<li>Chrome → 45%</li>
<li>Firefox → 35%</li>
<li>Safari → 8%</li>
<li>Internet Explorer → 4%</li>
<li>Opera → 1%</li>
</ul>

<p>For <a href="../index.html">xahlee.info</a> (programing and math), Internet Explorer is higher:</p>

<ul>
<li>Chrome → 44%</li>
<li>Firefox → 31%</li>
<li>Internet Explorer → 12%</li>
<li>Safari → 7%</li>
<li>Opera → 2%</li>
</ul>

<p>For non-technical sites {
<a href="http://xahlee.org/index.html">xahlee.org</a> ◇
<a href="http://wordyenglish.com/index.html">wordyenglish.com</a> ◇
<a href="http://xaharts.org/index.html">xaharts.org</a> ◇
<a href="http://xahmusic.org/index.html">xahmusic.org</a> ◇
<a href="http://xahsl.org/index.html">xahsl.org</a> ◇
…
}, Internet Explorer is higher still:</p>

<ul>
<li>Chrome → 37%</li>
<li>Firefox → 23%</li>
<li>Internet Explorer → 17%</li>
<li>Safari → 13%</li>
</ul>

 </div>
 </content>
<link rel="alternate" href="blog.html"/>
</entry>

<entry>
<title>deleted</title>
<id>tag:xahlee.org,2012-12-24:010138</id>
<updated>2012-12-23T17:01:38-08:00</updated>
<summary>xah lee</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
 </div>
 </content>
<link rel="alternate" href="http://xahlee.org/PageTwo_dir/Personal_dir/Xah_Lee_Resume.html"/>
</entry>

<entry>
<title>software jargons ＆ tech 2012: blackbox/whitebox testing, Jenkins, Puppet, Selenium</title>
<id>tag:xahlee.org,2012-12-07:163147</id>
<updated>2012-12-07T08:31:47-08:00</updated>
<summary>essay</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="../comp/software_jargons_and_tech_2012_jenkins_puppet_selenium.html">software jargons ＆ tech 2012: blackbox/whitebox testing, Jenkins, Puppet, Selenium</a></p>
 </div>
 </content>
<link rel="alternate" href="../comp/software_jargons_and_tech_2012_jenkins_puppet_selenium.html"/>
</entry>

<entry>
<title>ruby tutorial update</title>
<id>tag:xahlee.org,2012-12-05:154902</id>
<updated>2012-12-05T07:49:02-08:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>Ruby tutorial update: <a href="../ruby/ruby_index.html">Xah's Ruby Tutorial</a></p>
 </div>
 </content>
<link rel="alternate" href="../ruby/ruby_index.html"/>
</entry>

<entry>
<title>Ruby Language Basics</title>
<id>tag:xahlee.org,2012-12-02:073947</id>
<updated>2012-12-01T23:39:47-08:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>Learned Ruby in 2 days. Here's a draft version of tutorial. <a href="../ruby/ruby_basics.html">Ruby Language Basics</a></p>

<p>The next few days i'll be getting onto Ruby on Rails.</p>

<p>Ruby experts, please hit me with comment and suggestion.</p>

 </div>
 </content>
<link rel="alternate" href="../ruby/ruby_basics.html"/>
</entry>

<entry>
<title>Ruby Creator Cooks Python; Matz and GitCafe</title>
<id>tag:xahlee.org,2012-11-16:232106</id>
<updated>2012-11-16T15:21:06-08:00</updated>
<summary>photo; humor</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>photo. <a href="../comp/gitcafe_matz.html">Ruby Creator Cooks Python; Matz and GitCafe</a></p>
 </div>
 </content>
<link rel="alternate" href="../comp/gitcafe_matz.html"/>
</entry>

<entry>
<title>Emerging Web Tech: Web Intents</title>
<id>tag:xahlee.org,2012-11-11:234652</id>
<updated>2012-11-11T15:46:52-08:00</updated>
<summary>tip</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="web_intents_intro.html">Web Intents Intro</a></p>
 </div>
 </content>
<link rel="alternate" href="web_intents_intro.html"/>
</entry>

<entry>
<title>learn JavaScript in a day!</title>
<id>tag:xahlee.org,2012-11-08:201403</id>
<updated>2012-11-08T12:14:03-08:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="javascript_basics.html">JavaScript Basics Tutorial by Examples</a></p>
 </div>
 </content>
<link rel="alternate" href="javascript_basics.html"/>
</entry>

<entry>
<title>CSS3 HSL (Hue, Saturation, Lightness) Color Samples</title>
<id>tag:xahlee.org,2012-11-06:185806</id>
<updated>2012-11-06T10:58:06-08:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="css_hsl_color.html">CSS3 HSL (Hue, Saturation, Lightness) Color Samples</a></p>
 </div>
 </content>
<link rel="alternate" href="css_hsl_color.html"/>
</entry>

<entry>
<title>complete list of html5 tags</title>
<id>tag:xahlee.org,2012-11-03:230659</id>
<updated>2012-11-03T16:06:59-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="html5_tags.html">HTML5 Tags</a></p>
 </div>
 </content>
<link rel="alternate" href="html5_tags.html"/>
</entry>

<entry>
<title>Auto-Resize Image, Progressive JPEG, CSS Window Size Trick</title>
<id>tag:xahlee.org,2012-10-30:075212</id>
<updated>2012-10-30T00:52:12-07:00</updated>
<summary>tricks</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><span class="b3">Auto-Resize Image, Progressive JPEG, CSS Window Size Trick</span></p>

<p>There's this hurricane site with interesting tech: 〔<cite>Hurricane Sandy Bears Down on East Coast</cite> <time>2012-10-29</time> @ <a class="sorc" href="http://nation.time.com/2012/10/29/hurricane-sandy-bears-down-on-east-coast/photo/wtc-2/" data-accessed="2012-10-29">Source nation.time.com</a>〕</p>

<p>here's a few interesting things:</p>

<ul>
<li>They seem to be using progressive jpeg. (the photo fills area then gradually gets clearer; as opposed to loading pixels line by line)</li>
<li>With JavaScript on, if you resize window, the image size changes dynamically.</li>
<li>With JavaScript off, if you resize window, the right panel would disappear entirely when your window is small.</li>
</ul>

<p>what JavaScript trick, lib, or CSS trick are used to achieve these? Can you create a simple html page example with these features?</p>

 </div>
 </content>
<link rel="alternate" href="blog.html"/>
</entry>

<entry>
<title>CSS to render dialog bubbles</title>
<id>tag:xahlee.org,2012-10-26:135651</id>
<updated>2012-10-26T06:56:51-07:00</updated>
<summary>random tip</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>A joke. But check out the use of CSS to render that. <a href="http://xahlee.org/sex/bring_the_glove.html">A Dialogue Between a Guy and a Girl: Should I Bring the Glove?</a>. View source.</p>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.org/sex/bring_the_glove.html"/>
</entry>

<entry>
<title>Chinese Spammer selling Sine Weibo Followers</title>
<id>tag:xahlee.org,2012-10-25:112048</id>
<updated>2012-10-25T04:20:48-07:00</updated>
<summary>misc news</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>Started to use Chinese micro-blog Sina Weibo. In 2 days, i already got 2 spams. This one is funny:</p>

<figure>
<img src="../w/i/chinese_sina_weibo_selling_followers.png" alt="chinese sina weibo selling followers" width="360" height="360" />
<figcaption>Ad of Chinese spammer selling Sina Weibo followers</figcaption>
</figure>

<p>There are spam selling followers on Twitter, Facebook, G+. The Chinese ain't falling behind on this.</p>

<div class="rltd">
<ul>
<li><a href="../w/buy_twitter_followers.html">Spamlicious: Buy Twitter, Facebook Followers, and YouTube Views</a></li>
<li><a href="../w/twitter_spam_ask_nice_questions.html">Human Operated Twitter Spam: Beg a Question to Confuse Spam Detectors</a></li>
<li><a href="../w/twitter_spamfarm.html">Twitter Spamfarm</a></li>
<li><a href="twitter_spam.html">A Egregious Case of Twitter Spam Farm</a></li>
</ul>
</div>

 </div>
 </content>
<link rel="alternate" href="../w/twitter_spam_ask_nice_questions.html"/>
</entry>

<entry>
<title>Intro to Public-key Cryptography for Sys Admin; What's HTTPS, SSH, SSL, TLS, AES, SHA-1, MD5, …</title>
<id>tag:xahlee.org,2012-10-24:130832</id>
<updated>2012-10-24T06:08:32-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="../linux/intro_to_public-key_cryptography.html">Intro to Public-key Cryptography for Sys Admin; What's HTTPS, SSH, SSL, TLS, AES, SHA-1, MD5, …</a></p>
 </div>
 </content>
<link rel="alternate" href="../linux/intro_to_public-key_cryptography.html"/>
</entry>

<entry>
<title>China's Sina Weibo vs Twitter GUI Fight</title>
<id>tag:xahlee.org,2012-10-24:103505</id>
<updated>2012-10-24T03:35:05-07:00</updated>
<summary>thoughts; news</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>China's <a href="http://en.wikipedia.org/wiki/Sina_Weibo">Sina Weibo</a>'s UI is much better than twitter. You can list all replies to you, or all your replies to others, list mutual follower, and list private chat that also act as INSTANT chat, and pic upload that works, faster too despite lots ads. It's somewhat more like Facebook than Twitter.</p>

<p>+1 for China. Thumbs down on tweeter.</p>

<p>According to Wikipedia, Sina Weibo has 3M users, while Twitter has 5M.  Sina Weibo has 1M posts per day, while Twitter 3.4M.</p>

<p>My account on weibo is <a class="sorc" href="http://www.weibo.com/xahlee/" data-accessed="2012-10-23">http://www.weibo.com/xahlee/</a>. 求关注! 求粉丝! 😸</p>
 </div>
 </content>
<link rel="alternate" href="http://en.wikipedia.org/wiki/Sina_Weibo"/>
</entry>

<entry>
<title>Google Search Problems ＆ Alternative Search Engines</title>
<id>tag:xahlee.org,2012-10-23:161315</id>
<updated>2012-10-23T09:13:15-07:00</updated>
<summary>tips</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>updated: <a href="alternative_search_engines.html">Google Search Problems ＆ Alternative Search Engines</a></p>
 </div>
 </content>
<link rel="alternate" href="alternative_search_engines.html"/>
</entry>

<entry>
<title>The Pain of Ampersand in HTML</title>
<id>tag:xahlee.org,2012-10-19:073206</id>
<updated>2012-10-19T00:32:06-07:00</updated>
<summary>tip</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>Tip: whenever you want to write the ampersand symbol in HTML/XML, don't use <code>&amp;amp;</code>, use FULLWIDTH AMPERSAND <b class="u">＆</b> instead. For example:</p>

<pre class="html">
AT<span class="variable-name">&amp;amp;</span>t
vs
AT＆T
</pre>

<p>Here's how your browser renders it: AT&amp;T vs AT＆T</p>

<p>You can set up in emacs to easily type it, or setup a key layout in any of {Windows, Mac, Linux}. See:</p>

<ul>
<li><a href="../kbd/osx_keybinding.html">Creating Keyboard Layout and Keybinding in Mac OS X</a></li>
<li><a href="../linux/linux_keyboard_tools.html">Linux: Keyboard Layout, Keymapping, Keybinding, Tools</a></li>
<li><a href="../mswin/Windows_keybinding.html">Keyboard Layout ＆ Key Macro tools for Windows</a></li>
<li><a href="../kbd/creating_apl_keyboard_layout.html">How to Create a APL or Math Symbols Keyboard Layout</a></li>
</ul>

<p>See also: <a href="../comp/ampersand_html_entities_unicode_semantics.html">Semantic of Symbols: HTML Entities, Ampersand, Unicode</a>.</p>

<div class="rltd">
<ul>
<li><a href="../comp/unicode_full-width_chars.html">Unicode Full-Width Characters</a></li>
<li><a href="html_chars.html">Character Sets and Encoding in HTML</a></li>
<li><a href="../comp/unicode_html_entities.html">HTML/XML Entities (Character/Unicode/Symbol) List</a></li>
<li><a href="unicode_in_html_attributes.html">Using Unicode in HTML Attributes</a></li>
</ul>
</div>

 </div>
 </content>
<link rel="alternate" href="blog.html"/>
</entry>

<entry>
<title>The Ease of Making Money by Professional Blogging</title>
<id>tag:xahlee.org,2012-10-18:200906</id>
<updated>2012-10-18T13:09:06-07:00</updated>
<summary>essay</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="../w/professional_blogging.html">The Ease of Making Money by Professional Blogging</a></p>
 </div>
 </content>
<link rel="alternate" href="../w/professional_blogging.html"/>
</entry>

<entry>
<title>Firefox Mouse Wheel Scroll Speed, Backspace for Previous Page, Autoscroll, Configurations</title>
<id>tag:xahlee.org,2012-10-09:201151</id>
<updated>2012-10-09T13:11:51-07:00</updated>
<summary>tips</summary>
<link rel="alternate" href="../mswin/Firefox_mouse_wheel_scroll_speed.html"/>
</entry>

<entry>
<title>Browser Inline SVG Image Height Weight Scale vs Crop</title>
<id>tag:xahlee.org,2012-10-05:165027</id>
<updated>2012-10-05T09:50:27-07:00</updated>
<summary>info</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>IE9 bug: <a href="browser_svg_image_height_weight_scale_vs_crop.html">Browser Inline SVG Image Height Weight Scale vs Crop</a></p>
 </div>
 </content>
<link rel="alternate" href="browser_svg_image_height_weight_scale_vs_crop.html"/>
</entry>

<entry>
<title>Microsoft's TypeScript Will Kill CoffeeScript and Dart!</title>
<id>tag:xahlee.org,2012-10-02:054212</id>
<updated>2012-10-02T17:21:02-07:00</updated>
<summary>news and commentary</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="../comp/TypeScript_kills_CoffeeScript_Dart.html">Microsoft's TypeScript Will Kill CoffeeScript and Dart!</a></p>
 </div>
 </content>
<link rel="alternate" href="../comp/TypeScript_kills_CoffeeScript_Dart.html"/>
</entry>

<entry>
<title>Spam Text Collection: Unicode-Obfuscated Spam</title>
<id>tag:xahlee.org,2012-09-27:201630</id>
<updated>2012-09-27T13:16:30-07:00</updated>
<summary>humor; info</summary>
<link rel="alternate" href="../w/spam_collection_2012.html"/>
</entry>

<entry>
<title>Parse JSON in PHP and Python</title>
<id>tag:xahlee.org,2012-09-26:101643</id>
<updated>2012-09-26T03:16:43-07:00</updated>
<summary>tip</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><span class="b3">Parse JSON in PHP and Python</span></p>

<p>quick way to pretty-print json string using PHP and Python</p>

<pre class="php">
<span class="preprocessor">&lt;?php</span>
<span class="comment-delimiter">// </span><span class="comment">can be some complex, page-long JSON data
</span>$<span class="variable-name">jsonString</span> = &lt;&lt;&lt;<span class="string">'HHHHH'</span>
{<span class="string">"some"</span>:<span class="string">"thing"</span>}
<span class="warning">HHHHH</span>;
<span class="default">var_dump(json_decode(</span> $<span class="variable-name">jsonString</span> ));
<span class="preprocessor">?&gt;</span>
</pre>

<pre class="python">
<span class="comment">#python 2
</span><span class="keyword">import</span> json

<span class="comment"># can be complex page-long JSON data
</span><span class="variable-name">jsonString</span> = <span class="string">'''{"some":"thing"}'''</span>

<span class="variable-name">jsonObject</span> = json.loads(jsonString)

<span class="keyword">print</span> json.dumps( jsonObject, indent=2)
</pre>

<p>thanks to <a class="sorc" href="https://twitter.com/yud1z" data-accessed="2012-09-10">https://twitter.com/yud1z</a> and <a class="sorc" href="https://plus.google.com/113666291948192249820/posts" data-accessed="2012-09-10">agu monkey</a></p>

<div class="rltd">
<ul>
<li><a href="../perl-python/index.html">Xah's Perl ＆ Python Tutorial</a></li>
<li><a href="../php/php_basics.html">PHP Basics</a></li>
</ul>
</div>

 </div>
 </content>
<link rel="alternate" href="blog.html"/>
</entry>

<entry>
<title>PHP ＆ MySQL Documentation Redux, 2012</title>
<id>tag:xahlee.org,2012-09-25:155020</id>
<updated>2012-09-25T08:50:20-07:00</updated>
<summary>personal experience; commentary</summary>
<link rel="alternate" href="../comp/php_and_mysql_doc_2012.html"/>
</entry>

<entry>
<title>HTML5 Custom Data Attribute</title>
<id>tag:xahlee.org,2012-09-22:122152</id>
<updated>2012-09-23T04:07:55-07:00</updated>
<summary>tip</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><span class="b3">HTML5 Custom Data Attribute</span></p>

<p>discovered custom data attribute in HTML5. In HTML5, you can have custom attribute. Their name starts with <code>data-</code>. Here's a example used by twitter:</p>

<pre class="html">
&lt;<span class="function-name">a</span> <span class="variable-name">href</span>=<span class="string">"https://twitter.com/share"</span> <span class="variable-name">class</span>=<span class="string">"twitter-share-button"</span> <span class="variable-name">data-via</span>=<span class="string">"xah_lee"</span>&gt;Tweet&lt;/<span class="function-name">a</span>&gt;
</pre>

<p>read more <a href="html5_custom_data_attribute.html">HTML5 Custom Data Attribute</a></p>
 </div>
 </content>
<link rel="alternate" href="html5_custom_data_attribute.html"/>
</entry>

<entry>
<title>Unicode Support in Ruby, Perl, Python, JavaScript, Java, Emacs Lisp, Mathematica</title>
<id>tag:xahlee.org,2012-09-14:110759</id>
<updated>2012-09-14T04:07:59-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>updated:</p>

<ul>
<li><a href="../comp/unicode_support_ruby_python_elisp.html">Unicode Support in Ruby, Perl, Python, JavaScript, Java, Emacs Lisp, Mathematica</a></li>
<li><a href="../perl-python/unicode.html">Unicode in Python</a></li>
<li><a href="../perl-python/unicode_perl.html">Unicode in Perl</a></li>
</ul>

 </div>
 </content>
<link rel="alternate" href="../comp/unicode_support_ruby_python_elisp.html"/>
</entry>

<entry>
<title>Learn PHP in one day</title>
<id>tag:xahlee.org,2012-09-13:192535</id>
<updated>2012-09-13T12:25:35-07:00</updated>
<summary>tutorial; update</summary>
<link rel="alternate" href="../php/php_basics.html"/>
</entry>

<entry>
<title>JavaScript: Most Frequently Used DOM Methods</title>
<id>tag:xahlee.org,2012-09-12:151047</id>
<updated>2012-09-12T08:10:47-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="dom_common_dom_methods.html">JavaScript: Most Frequently Used DOM Methods</a></p>
 </div>
 </content>
<link rel="alternate" href="dom_common_dom_methods.html"/>
</entry>

<entry>
<title>opera config</title>
<id>tag:xahlee.org,2012-09-10:100917</id>
<updated>2012-09-10T03:09:17-07:00</updated>
<summary>tip</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>If you are using Opera browser, here's 2 special config. Type them in the URL bar.</p>

<p><code>opera:gpu</code></p>

<p><code>opera:config</code></p>

<div class="rltd">
<ul>
<li><a href="../mswin/browser_restore_session.html">Restore Last Session in IE, Safari, Firefox, Chrome, Opera</a></li>
<li><a href="../mswin/Firefox_unhide_forward_button.html">Firefox: How to Disable Auto-Hide Forward Button</a></li>
<li><a href="customize_ie9.html">Customize Internet Explorer 9 (IE9): Menu, Tabs in Separate Row</a></li>
<li><a href="../mswin/Firefox_mouse_wheel_scroll_speed.html">How to Change Firefox Mouse Wheel Scroll Speed?</a></li>
<li><a href="../mswin/clear_proxy_in_Firefox_IE.html">How to Clear or Set Proxy in Firefox and IE</a></li>
<li><a href="../mswin/delete_flash_cookies.html">How to Delete Flash Cookies</a></li>
<li><a href="web_tracking_privacy.html">Cookies, Super Cookies, Your Privacy</a></li>
<li><a href="google_chrome_sync_privacy.html">Using Google Chrome Sync Feature and View Your Account Info on Google</a></li>
<li><a href="Opera_browser_problems.html">Opera Pain; Opera Browser Problems</a></li>
</ul>
</div>

 </div>
 </content>
<link rel="alternate" href="blog.html"/>
</entry>

<entry>
<title>Case Sensitivity in HTML5/XML/CSS/Javascript and Allowed Characters in Attribute Names</title>
<id>tag:xahlee.org,2012-09-09:181411</id>
<updated>2012-09-09T11:14:11-07:00</updated>
<summary>tutorial; update</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>updated: <a href="case_sensitivity_html5_xml_css_js.html">Case Sensitivity in HTML5/XML/CSS/Javascript and Allowed Characters in Attribute Names</a></p>
 </div>
 </content>
<link rel="alternate" href="case_sensitivity_html5_xml_css_js.html"/>
</entry>

<entry>
<title>how much you get from Google AdSense?</title>
<id>tag:xahlee.org,2012-09-08:114842</id>
<updated>2012-09-08T04:48:42-07:00</updated>
<summary>info</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>This is my estimate of how much you get from Google AdSense, based on my experience and some web research. Note that the figure could vary a lot.</p>

<p>From search, 1k visits ≈ $2. If from sites like Reddit, 10k ≈ $1.</p>
 </div>
 </content>
<link rel="alternate" href="blog.html"/>
</entry>

<entry>
<title>HTML basics</title>
<id>tag:xahlee.org,2012-09-07:091235</id>
<updated>2012-09-07T02:12:35-07:00</updated>
<summary>html basics; tutorial</summary>
<link rel="alternate" href="html_basics.html"/>
</entry>

<entry>
<title>Python Tech 2012 and web frameworks</title>
<id>tag:xahlee.org,2012-09-06:101744</id>
<updated>2012-09-06T03:17:44-07:00</updated>
<summary>info</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="../comp/python_tech_2012.html">Python Tech 2012</a></p>
 </div>
 </content>
<link rel="alternate" href="../comp/python_tech_2012.html"/>
</entry>

<entry>
<title>Micropayment On The Web</title>
<id>tag:xahlee.org,2012-09-05:100034</id>
<updated>2012-09-05T03:00:34-07:00</updated>
<summary>essay</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>revisting a old topic: <a href="micropayment.html">Micropayment On The Web</a></p>
 </div>
 </content>
<link rel="alternate" href="micropayment.html"/>
</entry>

<entry>
<title>HTML Marquee: Automatic Horizontal Scrolling</title>
<id>tag:xahlee.org,2012-09-04:212847</id>
<updated>2012-09-04T14:28:47-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>Revival: <a href="marquee.html">HTML Marquee: Automatic Horizontal Scrolling</a></p>
 </div>
 </content>
<link rel="alternate" href="marquee.html"/>
</entry>

<entry>
<title>YouTube = Porn Fodder? and Larry Sanger Reported me to FBI</title>
<id>tag:xahlee.org,2012-09-03:111611</id>
<updated>2012-09-03T04:16:11-07:00</updated>
<summary>nothing to do with web dev, but important personal event</summary>
<link rel="alternate" href="http://xahlee.org/Periodic_dosage_dir/is_YouTube_porn_fodder.html"/>
</entry>

<entry>
<title>Google AdSense Ban on Ancient Sculpture 2012-09-02</title>
<id>tag:xahlee.org,2012-09-03:034354</id>
<updated>2012-09-02T20:43:54-07:00</updated>
<summary>commentary</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="../w/Google_AdSense_ban_on_ancient_sculpture_2012-09-02.html">Google AdSense Ban on Ancient Sculpture 2012-09-02</a></p>
 </div>
 </content>
<link rel="alternate" href="../w/Google_AdSense_ban_on_ancient_sculpture_2012-09-02.html"/>
</entry>

<entry>
<title>JavaScript: Converting Unicode character to/from Codepoint, and Decimal/Hexadecimal</title>
<id>tag:xahlee.org,2012-08-29:022107</id>
<updated>2012-08-28T19:21:07-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="js_unicode_code_point.html">JavaScript: Converting Unicode character to/from Codepoint, and Decimal/Hexadecimal</a></p>
 </div>
 </content>
<link rel="alternate" href="js_unicode_code_point.html"/>
</entry>

<entry>
<title>Google Plus and JavaScript</title>
<id>tag:xahlee.org,2012-08-23:153748</id>
<updated>2012-08-23T08:37:48-07:00</updated>
<summary>info</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>If you have JavaScript off, and you followed a link to Google Plus, it would show blank.</p>
<p><time>2012-08-08</time> Google Plus now no longer shows blank when you have JavaScript turned off.</p>
 </div>
 </content>
<link rel="alternate" href="blog.html"/>
</entry>

<entry>
<title>Unicode 6 Emoticons List</title>
<id>tag:xahlee.org,2012-08-18:180815</id>
<updated>2012-08-18T11:08:15-07:00</updated>
<summary>info</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="../comp/unicode_6_emoticons_list.html">Unicode 6 Emoticons List</a></p>
 </div>
 </content>
<link rel="alternate" href="../comp/unicode_6_emoticons_list.html"/>
</entry>

<entry>
<title>China pirate movies sites</title>
<id>tag:xahlee.org,2012-08-16:145451</id>
<updated>2012-08-16T07:54:51-07:00</updated>
<summary>info</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<div class="δdate"><time>2012-08-16</time></div>

<p>Here's two most popular sites in China, of pirated movies and TV shows. You'll find latest Batman etc there.</p>

<ul>
<li><a class="sorc" href="http://www.pps.tv/" title="accessed:2012-08-16">http://www.pps.tv/</a> Alexa ranking 1028. Within China: 177.</li>
<li><a class="sorc" href="http://www.funshion.com/" title="accessed:2012-08-16">http://www.funshion.com/</a> Alexa ranking 1922. Within China: 293.</li>
</ul>

<div class="rltd">
<ul>
<li><a href="../w/pirate_bay.html">Software Piracy, Open Source, Free Software, Copyright</a></li>
</ul>
</div>
 </div>
 </content>
<link rel="alternate" href="blog.html"/>
</entry>

<entry>
<title>Firefox: How to Unhide/Disable the Auto-Disappearance of Forward Button</title>
<id>tag:xahlee.org,2012-08-15:143746</id>
<updated>2012-08-15T07:37:46-07:00</updated>
<summary>tip; updated</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>Update: <a href="../mswin/Firefox_unhide_forward_button.html">Firefox: How to Unhide/Disable the Auto-Disappearance of Forward Button</a></p>
 </div>
 </content>
<link rel="alternate" href="../mswin/Firefox_unhide_forward_button.html"/>
</entry>

<entry>
<title>web designers = idiots</title>
<id>tag:xahlee.org,2012-08-13:183458</id>
<updated>2012-08-13T11:34:58-07:00</updated>
<summary>essay</summary>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<p>Update: grayer and grayer. <a href="web_design_gray_on_white.html">Web Design: Say No to Grey Text on White Background</a></p>
</div>
</content>
<link rel="alternate" href="web_design_gray_on_white.html"/>
</entry>

<entry>
<title>Google's sitemap.org Got Hacked?</title>
<id>tag:xahlee.org,2012-08-12:161621</id>
<updated>2012-08-12T09:16:21-07:00</updated>
<summary>news</summary>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="../w/Google_sitemap_got_hacked.html">Google's sitemap.org Got Hacked?</a></p>
</div>
</content>
<link rel="alternate" href="../w/Google_sitemap_got_hacked.html"/>
</entry>

<entry>
<title>Internet = Misanthropolis</title>
<id>tag:xahlee.org,2012-08-12:125724</id>
<updated>2012-08-12T05:57:24-07:00</updated>
<summary>humor</summary>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">

<blockquote>
<p>I propose we rename the Internet to Misanthropolis.</p>

<p>—<time>2012-07-11</time>, <a class="sorc" href="https://twitter.com/jayewells" title="accessed:2012-07-11">@jayewells</a></p>
</blockquote>

</div>
</content>
<link rel="alternate" href="https:/twitter.com/jayewells"/>
</entry>

<entry>
<title>What Encoding Do Chinese Websites Use?</title>
<id>tag:xahlee.org,2012-08-09:011009</id>
<updated>2012-08-08T18:10:09-07:00</updated>
<summary>info</summary>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="../w/what_encoding_do_chinese_websites_use.html">What Encoding Do Chinese Websites Use?</a></p>
</div>
</content>
<link rel="alternate" href="../w/what_encoding_do_chinese_websites_use.html"/>
</entry>

<entry>
<title>Obsolete Technologies 1990 〜 2000</title>
<id>tag:xahlee.org,2012-08-03:165205</id>
<updated>2012-08-03T09:52:05-07:00</updated>
<summary>info</summary>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="../comp/obsolete_technologies.html">Obsolete Technologies 1990 〜 2000</a></p>
</div>
</content>
<link rel="alternate" href="../comp/obsolete_technologies.html"/>
</entry>

<entry>
<title>Apache Rewrite Problem</title>
<id>tag:xahlee.org,2012-08-01:145940</id>
<updated>2012-08-01T07:59:40-07:00</updated>
<summary>tip</summary>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<p><span class="b3">Apache Rewrite Problem</span></p>

<p>a very strange apache rewrite problem.</p>

<p>i'm moving parts of my site at 〔xahlee.org〕 to 〔wordyenglish.com〕. I have this in 〔.htaccess〕:</p>

<pre class="code">
…
RewriteRule ^PageTwo_dir/Vocabulary_dir/(.*)$ http://wordyenglish.com/words/$1 [R=301,L]
RewriteRule ^lit/(.*)$ http://wordyenglish.com/lit/$1 [R=301,L]
RewriteRule ^lojban/(.*)$ http://wordyenglish.com/lojban/$1 [R=301,L]
…
</pre>

<p>everything works, except the dir starting at 〔lit/〕.  The error is a 404 on the original domain.</p>

<p>no other lines contains “lit/”. There's no 〔.htaccess〕 in lit dir.</p>

<p>Turning on rewrite log:</p>

<pre class="code">
RewriteLog "logs/xx-RewriteLog.log"
RewriteLogLevel 9
</pre>

<p>doesn't seem allowed or doesn't work with my web hosting environment. When these lines are present, browser returns a server error.</p>

<p>the problem occurs only with that one particular dir. Seems there's some magic with “lit/”.</p>

<p><span class="b3">Solution</span></p>

<p>the problem went away with this:</p>

<ul>
<li>• create a dir “lit”, create a file under it.</li>
<li>• now, the redirect suddenly works.</li>
</ul>

<p>Not sure exactly what's the problem. Other dirs that are removed didn't have this problem. Just this dir.</p>

<p>Also, Ansari gave this tip: “the rewrite log rules must go in httpd.conf or your vhost configuration, not in .htaccess”.</p>

<p><a class="sorc" href="http://serverfault.com/questions/408326/apache-modrewrite-fail-on-one-directory/" title="accessed:2012-07-16">http://serverfault.com/questions/408326/apache-modrewrite-fail-on-one-directory/</a></p>
</div>
</content>
<link rel="alternate" href="blog.html"/>
</entry>

<entry>
<title>Displaying Chinese on Ubuntu Linux Firefox Results Ugly Mixed Font</title>
<id>tag:xahlee.org,2012-07-27:134257</id>
<updated>2012-07-27T06:42:57-07:00</updated>
<summary>info; tutorial</summary>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="chinese_on_ubuntu_linux_firefox.html">Displaying Chinese on Ubuntu Linux Firefox Results Ugly Mixed Font</a></p>
</div>
</content>
<link rel="alternate" href="chinese_on_ubuntu_linux_firefox.html"/>
</entry>

<entry>
<title>RIP RSS (1999 – 2012)</title>
<id>tag:xahlee.org,2012-07-26:102040</id>
<updated>2012-07-26T06:00:32-07:00</updated>
<summary>thoughts</summary>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<p><span class="b3">RIP RSS (1999 – 2012)</span></p>

<p>Safari 6 is released, but no more Windows version. Also, RSS reading feature is removed.</p>

<p>The fact that Apple removed RSS reader feature in Safari probably means that they've done market research and not many people are using it. I myself never used any RSS reader in browsers.</p>

<p>Popular RSS aggregate sites all went dead a year or two ago. The only one left and won't go away is <a href="http://en.wikipedia.org/wiki/Google_Reader">Google Reader</a>.
<a href="http://en.wikipedia.org/wiki/Technorati">Technorati</a> seems still alive, though i haven't heard about it in gossips for years.</p>

<div class="rltd">
<ul>
<li><a href="../UnixResource_dir/writ2/death_of_newsgroups.html">Death of Newsgroups</a></li>
<li><a href="../lang_traf/index.html">Computer Language Popularity Trend</a></li>
<li><a href="atom.html">Atom Webfeed Basics</a></li>
</ul>
</div>

</div>
</content>
<link rel="alternate" href="blog.html"/>
</entry>

<entry>
<title>HTML5 Standard Split</title>
<id>tag:xahlee.org,2012-07-25:191848</id>
<updated>2012-07-25T12:18:48-07:00</updated>
<summary>news</summary>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">

<p><span class="b3">HTML5 Standard Split</span></p>

<p>LOL. The WTF group split with W3C. So now there'd be 2 HTML5.</p>

<p><cite>[whatwg] Administrivia: Update on the relationship between the WHATWG HTML living standard and the W3C HTML5 specification</cite> <time>2012-07-19</time> By Ian Hickson. @ <a class="sorc" href="http://lists.w3.org/Archives/Public/public-whatwg-archive/2012Jul/0119.html" title="accessed:2012-07-20">Source lists.w3.org</a></p>

<p>Welcome back 1999.</p>

<p>If i want a “living standard”, i can just subscribe to Vogue. I no need Google and Apple telling me what's correct thru their front group.</p>

<div class="rltd">
<ul>
<li><a href="html5_validation_doctype.html">HTML5 Doctype, Validation, X-UA-Compatible, and Why Do I Hate Hackers</a></li>
<li><a href="../UnixResource_dir/writ/html5_vs_intelligence.html">Are You Intelligent Enough to Understand HTML5?</a></li>
<li><a href="html5_tags.html">HTML5 Tags</a></li>
<li><a href="why_does_html5_kill_the_big_tag.html">Why Does HTML5 Kill the ‹big› Tag?</a></li>
</ul>
</div>

</div>
</content>
<link rel="alternate" href="blog.html"/>
</entry>

<entry>
<title>CSS protocol-relative URL Format</title>
<id>tag:xahlee.org,2012-07-20:163147</id>
<updated>2012-07-20T09:31:47-07:00</updated>
<summary>tutorial</summary>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<p><span class="b3">CSS protocol-relative URL Format</span></p>

<p>In CSS, sometime you want to do this:</p>

<pre class="css">
<span class="css-selector"><span class="comment-delimiter">/* </span></span><span class="css-selector"><span class="comment">adding a pdf icon to pdf file links </span></span><span class="css-selector"><span class="comment-delimiter">*/</span></span><span class="css-selector">
a[href$=</span><span class="css-selector"><span class="string">".pdf"</span></span><span class="css-selector">] </span>{<span class="css-property">background</span>:url(http://example.org/img/pdf_icon-s.png) no-repeat left center;<span class="css-property">padding-left</span>:20px}
</pre>

<p>However, if user is accessing your site using https, then the browser will warn about mixed insecure content «This Page Contains Both Secure and Non-Secure Items».</p>

<p>What you want, is that if user is using https, then fetch using https. You can do that with what's called protocol-relative URL, by omitting the protocol all-together, like this:</p>

<pre class="css">
<span class="css-selector">a[href$=</span><span class="css-selector"><span class="string">".pdf"</span></span><span class="css-selector">] </span>{<span class="css-property">background</span>:url(//example.org/img/pdf_icon-s.png) no-repeat left center;<span class="css-property">padding-left</span>:20px}
</pre>

</div>
</content>
<link rel="alternate" href="blog.html"/>
</entry>

<entry>
<title>Google Pushes Invalid HTML to the World</title>
<id>tag:xahlee.org,2012-07-18:070958</id>
<updated>2012-07-18T00:09:58-07:00</updated>
<summary>commentary</summary>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="../w/Google_pushes_invalid_html.html">Google Pushes Invalid HTML to the World</a></p>
</div>
</content>
<link rel="alternate" href="../w/Google_pushes_invalid_html.html"/>
</entry>

<entry>
<title>JavaScript: Exclamation Before function</title>
<id>tag:xahlee.org,2012-07-11:145616</id>
<updated>2012-07-11T07:56:16-07:00</updated>
<summary>tip</summary>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<p><span class="b3">JavaScript: Exclamation Before function</span></p>

<p>I come across JavaScript code like this today:</p>

<pre class="js">
!<span class="keyword">function</span>(d,s,id){…}(…);
</pre>

<p>What does that <code>!function</code> mean?</p>

<p>Turns out, it is equivalent to this:</p>

<pre class="js">
(<span class="keyword">function</span>(d,s,id){…})(…);
</pre>

<p>The exclamation makes the function a expression. (it's the boolean “not” operator.) People do this hack to save one character worth of source code file size. Silly.</p>

</div>
</content>
<link rel="alternate" href="http://xahlee.blogspot.com/2012/07/javascript-exclaimation-before-function.html"/>
</entry>

 <entry>
   <title>Microsoft Classified FSF Donation site as Gambling</title>
   <id>tag:xahlee.org,2012-06-25:112401</id>
   <updated>2012-06-25T04:24:01-07:00</updated>
   <summary>news; info</summary>
  <link rel="alternate" href="http://xahlee.blogspot.com/2012/06/microsoft-classified-fsf-donation-site.html"/>
 </entry>

 <entry>
   <title>Gmail State-Sponsored Attack Warning 2012-06-06</title>
   <id>tag:xahlee.org,2012-06-07:030621</id>
   <updated>2012-06-06T20:06:21-07:00</updated>
   <summary>got the dreaded warning from gmail</summary>
  <link rel="alternate" href="../w/gmail_state-sponsored_attack_warning.html"/>
 </entry>

 <entry>
   <title>CSS 2.1 and CSS 3 Selector Syntax</title>
   <id>tag:xahlee.org,2012-06-05:091255</id>
   <updated>2012-06-05T02:12:55-07:00</updated>
   <summary>tutorial</summary>
   <content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<p>Adde CSS3 syntax: <a href="css_selector_syntax.html">CSS 2.1 and CSS 3 Selector Syntax</a></p>
</div>
   </content>
  <link rel="alternate" href="css_selector_syntax.html"/>
 </entry>

 <entry>
   <title>Popular JavaScript Books 2012</title>
   <id>tag:xahlee.org,2012-05-29:172618</id>
   <updated>2012-05-29T10:26:18-07:00</updated>
   <summary>book list</summary>
  <link rel="alternate" href="http://xahlee.blogspot.com/2012/05/popular-javascript-books-2012.html"/>
 </entry>

 <entry>
   <title>war of the worlds: Google Chrome vs Firefox</title>
   <id>tag:xahlee.org,2012-05-25:140029</id>
   <updated>2012-05-25T07:00:29-07:00</updated>
   <summary>artwork</summary>
  <link rel="alternate" href="http://xahlee.blogspot.com/2012/05/war-of-worlds-chrome-vs-firefox.html"/>
 </entry>

 <entry>
   <title>HTML5 Audio Tag Example</title>
   <id>tag:xahlee.org,2012-05-20:083237</id>
   <updated>2012-05-20T01:32:37-07:00</updated>
   <summary>updated</summary>
   <content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="html5_audio.html">HTML5 Audio Tag Example</a></p>
</div>
   </content>
  <link rel="alternate" href="html5_audio.html"/>
 </entry>

 <entry>
   <title>What do Microsoft, Apple, Mozilla, say about Dart?</title>
   <id>tag:xahlee.org,2012-05-12:013115</id>
   <updated>2012-05-11T18:32:04-07:00</updated>
   <summary>commentary; programing language</summary>
  <link rel="alternate" href="http://xahlee.blogspot.com/2012/05/what-do-microsoft-apple-mozilla-say.html"/>
 </entry>

 <entry>
   <title>HTML: Specify More Than One Class Attribute for HTML Element</title>
   <id>tag:xahlee.org,2012-05-09:220138</id>
   <updated>2012-05-09T15:01:38-07:00</updated>
   <summary>updated; tutorial</summary>
  <link rel="alternate" href="html_more_than_one_class.html"/>
 </entry>

 <entry>
   <title>HTML5 Canvas Example</title>
   <id>tag:xahlee.org,2012-05-07:005542</id>
   <updated>2012-05-06T17:55:42-07:00</updated>
   <summary>test your browser</summary>
   <content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<p>test your browser: <a href="ex/html5_canvas_example.html">HTML5 Canvas Example</a></p>
</div>
   </content>
  <link rel="alternate" href="ex/html5_canvas_example.html"/>
 </entry>

 <entry>
   <title>HTML5 Canvas vs SVG</title>
   <id>tag:xahlee.org,2012-05-07:001953</id>
   <updated>2012-05-06T17:19:53-07:00</updated>
   <summary>update; essay</summary>
  <link rel="alternate" href="html5_canvas_vs_SVG.html"/>
 </entry>

 <entry>
   <title>Google HTML/CSS Style Guide</title>
   <id>tag:xahlee.org,2012-05-06:114147</id>
   <updated>2012-05-06T04:41:47-07:00</updated>
   <summary>tip; essay</summary>
  <link rel="alternate" href="Google_html_css_style_guide.html"/>
 </entry>

 <entry>
   <title>CSS 2.1 Selector Syntax</title>
   <id>tag:xahlee.org,2012-05-05:111344</id>
   <updated>2012-05-05T04:13:44-07:00</updated>
   <summary>update; new page</summary>
  <link rel="alternate" href="css_selector_syntax.html"/>
 </entry>

 <entry>
   <title>Javascript: Navigating DOM Tree: previousSibling nextSibling childNodes firstChild lastChild parentNode</title>
   <id>tag:xahlee.org,2012-05-04:121527</id>
   <updated>2012-05-04T05:15:27-07:00</updated>
   <summary>tutorial</summary>
  <link rel="alternate" href="js_navigate_nodes.html"/>
 </entry>

</feed>
