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

 <title>Xah Emacs Blog</title>
 <subtitle>Emacs, Emacs, Emacs</subtitle>
 <link rel="self" href="blog.xml"/>
 <link rel="alternate" href="blog.html"/>
 <updated>2013-06-16T09:39:38-07:00</updated>
 <author>
   <name>Xah Lee</name>
   <uri>http://xahlee.org/</uri>
 </author>
 <id>http://ergoemacs.org/emacs/blog.html</id>
 <icon>http://xahlee.org/ics/sum.png</icon>
 <rights>© 2011 〜 2013, Xah Lee</rights>

<entry>
<title>Creating a Sitemap with Emacs Lisp</title>
<id>tag:xahlee.org,2013-06-16:163938</id>
<updated>2013-06-16T09:39:38-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="make_sitemap.html">Creating a Sitemap with Emacs Lisp</a> (updated)</p>
 </div>
 </content>
<link rel="alternate" href="make_sitemap.html"/>
</entry>

<entry>
<title>Emacs Keybinding vs cua-mode Keys</title>
<id>tag:xahlee.org,2013-06-16:160657</id>
<updated>2013-06-16T09:06:57-07:00</updated>
<summary>commentary</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="../misc/emacs_keybinding_and_cua-mode_keys.html">Emacs Keybinding vs cua-mode Keys</a></p>
 </div>
 </content>
<link rel="alternate" href="../misc/emacs_keybinding_and_cua-mode_keys.html"/>
</entry>

<entry>
<title>emacs tutorial update</title>
<id>tag:xahlee.org,2013-06-16:070133</id>
<updated>2013-06-16T00:01:33-07:00</updated>
<summary>announcement</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>if you bought my emacs tutorial years ago, you are not on the update announcement list. Please email to xah@xahlee.org with subject “emacs tutorial update”. Thanks.</p>
 </div>
 </content>
<link rel="alternate" href="buy_xah_emacs_tutorial.html"/>
</entry>

<entry>
<title>vi Keybinding vs Emacs Keybinding</title>
<id>tag:xahlee.org,2013-06-15:210009</id>
<updated>2013-06-15T14:00:09-07:00</updated>
<summary>commentary</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="../misc/on_vi_keybinding.html">vi Keybinding vs Emacs Keybinding</a></p>
 </div>
 </content>
<link rel="alternate" href="../misc/on_vi_keybinding.html"/>
</entry>

<entry>
<title>Emacs Lisp: How to Write a make-html-table Command</title>
<id>tag:xahlee.org,2013-06-15:200815</id>
<updated>2013-06-15T13:08:15-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="elisp_make-html-table.html">Emacs Lisp: How to Write a make-html-table Command</a> (updated)</p>
 </div>
 </content>
<link rel="alternate" href="elisp_make-html-table.html"/>
</entry>

<entry>
<title>Richard Stallman Lost It 📺</title>
<id>tag:xahlee.org,2013-06-15:151014</id>
<updated>2013-06-15T08:10:14-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="http://xahlee.info/comp/Richard_Stallman_lost_it.html">Richard Stallman Lost It 📺</a></p>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.info/comp/Richard_Stallman_lost_it.html"/>
</entry>

<entry>
<title>Emacs Tutorial, new version out</title>
<id>tag:xahlee.org,2013-06-14:085443</id>
<updated>2013-06-14T01:54:43-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>new version of emacs tutorial. If you are a scientist, or other fields but are not a dedicated professional programmer reading lots emacs blogs, then this tutorial just might help you get all the fundamentals of emacs and emacs lisp quickly. <a href="buy_xah_emacs_tutorial.html">Buy Xah Emacs Tutorial</a>. Thank you for support.</p>
 </div>
 </content>
<link rel="alternate" href="buy_xah_emacs_tutorial.html"/>
</entry>

<entry>
<title>Emacs ＆ Unicode Tips</title>
<id>tag:xahlee.org,2013-06-14:064308</id>
<updated>2013-06-13T23:43:08-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">

<p>in emacs 24.3, the name <code class="elisp-ƒ">ucs-insert</code> is now alias to <code class="elisp-ƒ">insert-char</code>. A great change.</p>

<p>That command lets you insert Unicode character, or any character. 〔☛ <a href="emacs_n_unicode.html">Emacs ＆ Unicode Tips</a>〕</p>

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

<entry>
<title>Unicode: Character Representation, ASCII Character Symbols</title>
<id>tag:xahlee.org,2013-06-13:110047</id>
<updated>2013-06-13T04:00:47-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="http://xahlee.info/comp/unicode_character_representation.html">Unicode: Character Representation, ASCII Character Symbols</a>. Note that emacs heavily uses caret notation, and unprintable ASCII chars are heavily used in terminal.</p>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.info/comp/unicode_character_representation.html"/>
</entry>

<entry>
<title>Emacs Lisp: Copy Column of Text to Clipboard</title>
<id>tag:xahlee.org,2013-06-13:070955</id>
<updated>2013-06-13T00:09:55-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="emacs_copy_rectangle_text_to_clipboard.html">Emacs Lisp: Copy Column of Text to Clipboard</a> (oldish article. Now on a page by itself.)</p>
 </div>
 </content>
<link rel="alternate" href="emacs_copy_rectangle_text_to_clipboard.html"/>
</entry>

<entry>
<title>Emacs: Edit Column Text, Align Text, ASCII-Diagram</title>
<id>tag:xahlee.org,2013-06-13:070401</id>
<updated>2013-06-13T00:04:01-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="emacs_string-rectangle_ascii-art.html">Emacs: Edit Column Text, Align Text, ASCII-Diagram</a> (updated.)</p>
 </div>
 </content>
<link rel="alternate" href="emacs_string-rectangle_ascii-art.html"/>
</entry>

<entry>
<title>Emacs Lisp: Insert Alphabets</title>
<id>tag:xahlee.org,2013-06-13:060238</id>
<updated>2013-06-12T23:02:38-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="emacs_insert-alphabets.html">Emacs Lisp: Insert Alphabets</a></p>
 </div>
 </content>
<link rel="alternate" href="emacs_insert-alphabets.html"/>
</entry>

<entry>
<title>Emacs Lisp: Single Key to Copy/Paste from Register</title>
<id>tag:xahlee.org,2013-06-11:114226</id>
<updated>2013-06-11T04:42:26-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>old article, updated. A convenient command, and good for elisp beginners. <a href="elisp_copy-paste_register_1.html">Emacs Lisp: Single Key to Copy/Paste from Register</a></p>
 </div>
 </content>
<link rel="alternate" href="elisp_copy-paste_register_1.html"/>
</entry>

<entry>
<title>Emacs: Clipboard History and Multiple Clipboards</title>
<id>tag:xahlee.org,2013-06-11:114049</id>
<updated>2013-06-11T04:40:49-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>old article, revised. <a href="emacs_using_register.html">Emacs: Clipboard History and Multiple Clipboards</a></p>
 </div>
 </content>
<link rel="alternate" href="emacs_using_register.html"/>
</entry>

<entry>
<title>the effect of keyboard hardware on you</title>
<id>tag:xahlee.org,2013-06-11:050324</id>
<updated>2013-06-10T22:03:24-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>after using mechanical keyboard for a few months, rubber dome keyboard becomes so hard to press. See: <a href="http://xahlee.blogspot.com/2013/06/the-effect-of-keyboard-hardware-on-your.html">the effect of keyboard hardware on you</a>.</p>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.blogspot.com/2013/06/the-effect-of-keyboard-hardware-on-your.html"/>
</entry>

<entry>
<title>JavaScript Book by David Flanagan, and the Man-made Complexity in Computer Language</title>
<id>tag:xahlee.org,2013-06-10:122856</id>
<updated>2013-06-10T05:28:56-07:00</updated>
<summary>essay</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>not emacs related, but my random opinion that touches on lisp. <a href="http://xahlee.blogspot.com/2013/06/javascript-book-by-david-flanagan-and.html">JavaScript Book by David Flanagan, and the Man-made Complexity in Computer Language</a></p>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.blogspot.com/2013/06/javascript-book-by-david-flanagan-and.html"/>
</entry>

<entry>
<title>for hand health advice, trust professional typists</title>
<id>tag:xahlee.org,2013-06-10:071125</id>
<updated>2013-06-10T00:11:25-07:00</updated>
<summary>commentary</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<h3>for hand health advice, trust professional typists</h3>

<p>A professional typist, a court reporter, Joe, replied a article on typing. See:
<a class="sorc" href="http://xahlee.blogspot.com/2013/05/the-myth-qwerty-dvorak-keyboard-layout.html?showComment=1370847889291" data-accessed="2013-06-10">http://xahlee.blogspot.com/2013/05/the-myth-qwerty-dvorak-keyboard-layout.html?showComment=1370847889291</a></p>
<p>when it comes to typing and hand health, put weight on professional typist's opinions. Because, they actually type a order of magnitude more than programers.</p>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.blogspot.com/2013/05/the-myth-qwerty-dvorak-keyboard-layout.html?showComment=1370847889291"/>
</entry>

<entry>
<title>Emacs: Why Does Cursor Move into Prompt by Default?</title>
<id>tag:xahlee.org,2013-06-08:164609</id>
<updated>2013-06-08T09:46:09-07:00</updated>
<summary>emacs community</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<h3>Emacs: Why Does Cursor Moves into Prompt by Default?</h3>

<p>〈GNU bug report logs - #988: cursor runs over prompt in minibuffer; suggestion on default〉 @ <a class="sorc" href="http://debbugs.gnu.org/cgi/bugreport.cgi?bug=988" data-accessed="2013-06-08">http://debbugs.gnu.org/cgi/bugreport.cgi?bug=988</a></p>

 </div>
 </content>
<link rel="alternate" href="http://debbugs.gnu.org/cgi/bugreport.cgi?bug=988"/>
</entry>

<entry>
<title>Emacs: magit-mode Tutorial</title>
<id>tag:xahlee.org,2013-06-08:101142</id>
<updated>2013-06-08T03:11:42-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="emacs_magit-mode_tutorial.html">Emacs: magit-mode Tutorial</a></p>
 </div>
 </content>
<link rel="alternate" href="emacs_magit-mode_tutorial.html"/>
</entry>

<entry>
<title>Add Extra Function Keys to Your Keyboard</title>
<id>tag:xahlee.org,2013-06-08:091411</id>
<updated>2013-06-08T02:14:11-07:00</updated>
<summary>info</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="http://xahlee.info/kbd/keyboard_add_extra_function_keys.html">Add Extra Function Keys to Your Keyboard</a></p>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.info/kbd/keyboard_add_extra_function_keys.html"/>
</entry>

<entry>
<title>Emacs: Stop Cursor Going into Minibuffer Prompt</title>
<id>tag:xahlee.org,2013-06-07:015349</id>
<updated>2013-06-06T18:53:49-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="emacs_stop_cursor_enter_prompt.html">Emacs: Stop Cursor Going into Minibuffer Prompt</a></p>
 </div>
 </content>
<link rel="alternate" href="emacs_stop_cursor_enter_prompt.html"/>
</entry>

<entry>
<title>My Experience of Emacs vs XEmacs</title>
<id>tag:xahlee.org,2013-06-07:012549</id>
<updated>2013-06-06T18:25:49-07:00</updated>
<summary>essay</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>old article. Updated. <a href="emacs_vs_xemacs.html">My Experience of Emacs vs XEmacs</a></p>
 </div>
 </content>
<link rel="alternate" href="emacs_vs_xemacs.html"/>
</entry>

<entry>
<title>Emacs Lisp: Multi-Pair String Replacement with Report</title>
<id>tag:xahlee.org,2013-06-05:221251</id>
<updated>2013-06-05T15:12:51-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>updated. elisp tutorial. Very useful. <a href="elisp_replace_title_tags.html">Emacs Lisp: Multi-Pair String Replacement with Report</a></p>
 </div>
 </content>
<link rel="alternate" href="elisp_replace_title_tags.html"/>
</entry>

<entry>
<title>Linux: Record a Terminal Session, Logging Shell Output</title>
<id>tag:xahlee.org,2013-06-05:015014</id>
<updated>2013-06-04T18:50:14-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>Why running shell inside emacs is good. See: <a href="http://xahlee.info/linux/linux_log_terminal.html">Linux: Record a Terminal Session, Logging Shell Output</a></p>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.info/linux/linux_log_terminal.html"/>
</entry>

<entry>
<title>ErgoEmacs accolade</title>
<id>tag:xahlee.org,2013-06-04:224857</id>
<updated>2013-06-04T15:48:57-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>Got a very nice accolade for ErgoEmacs keybinding from a emacs oldbie, at
<a class="sorc" href="https://groups.google.com/group/ergoemacs/browse_thread/thread/8a5794310d0cdcb7?hl=en_US" data-accessed="2013-06-04">ErgoEmacs forum</a>. Thank you Paul Michael Reilly. (and thanks to David Capello and Matthew L Fidler for taking it much further than i can.)</p>
 </div>
 </content>
<link rel="alternate" href="https:/groups.google.com/group/ergoemacs/browse_thread/thread/8a5794310d0cdcb7?hl=en_US"/>
</entry>

<entry>
<title>The Classic Microsoft Natural Keyboard is Discontinued</title>
<id>tag:xahlee.org,2013-06-04:024828</id>
<updated>2013-06-03T19:48:28-07:00</updated>
<summary>news</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<h3>The Classic Microsoft Natural Keyboard is Discontinued</h3>
<p>The classic Microsoft Natural keyboard is discontinued. Get a few of them while they are still out there.</p>

<ul>
<li><a class="amz" href="http://www.amazon.com/dp/B00BPJL5Z4/?tag=xahh-20" title="Microsoft Support Natural Keyboard Elite; ⌨">amazon</a></li>
<li><a class="amz" href="http://www.amazon.com/dp/B0000AOWVN/?tag=xahh-20" title="Microsoft K50 00100 Natural Multimedia Keyboard; ⌨">amazon</a></li>
<li><a class="amz" href="http://www.amazon.com/dp/B0000642RX/?tag=xahh-20" title="Microsoft A11 00337 Natural Keyboard Elite; ⌨">amazon</a></li>
<li><a class="amz" href="http://www.amazon.com/dp/B0000AOWVP/?tag=xahh-20" title="Microsoft Wireless Optical Desktop v2 0; ⌨">amazon</a></li>
</ul>

<p>Chances are, in a year or two, you'll see the price rise to a few hundred. That's usually the case with good but discontinued products.</p>

<p>In my 5 years experience of using this and the Microsoft 4000, i think this is actually better. The 4000 got stiff space bar problem.</p>
<div class="blgcmt"><a href="http://xahlee.blogspot.com/2013/06/microsoft-natural-keyboard-discontinued.html">✍</a></div>

 </div>
 </content>
<link rel="alternate" href="http://xahlee.blogspot.com/2013/06/microsoft-natural-keyboard-discontinued.html"/>
</entry>

<entry>
<title>Bad Advices from Programers about Typing ＆ Keyboard (RSI)</title>
<id>tag:xahlee.org,2013-06-04:020818</id>
<updated>2013-06-03T19:08:18-07:00</updated>
<summary>essay</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>some programers, say that the best way to avoid typing injury is not to touch-type. Updated article: <a href="http://xahlee.info/kbd/programer_keyboarding_advice.html">Bad Advices from Programers about Typing ＆ Keyboard (RSI)</a>. What do you think?</p>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.info/kbd/programer_keyboarding_advice.html"/>
</entry>

<entry>
<title>Linux: Terminal Control Sequence Keys (tty, stty) ⌨</title>
<id>tag:xahlee.org,2013-06-04:000441</id>
<updated>2013-06-03T17:04:41-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>If you use emacs in terminal, this is good to know: <a href="http://xahlee.info/linux/linux_terminal_control_sequence_keys.html">Linux: Terminal Control Sequence Keys (tty, stty) ⌨</a></p>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.info/linux/linux_terminal_control_sequence_keys.html"/>
</entry>

<entry>
<title>How Many Keystrokes Programers Type a Day?</title>
<id>tag:xahlee.org,2013-06-03:232127</id>
<updated>2013-06-03T16:21:27-07:00</updated>
<summary>essay</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="http://xahlee.info/kbd/how_many_keystrokes_programers_type_a_day.html">How Many Keystrokes Programers Type a Day?</a></p>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.info/kbd/how_many_keystrokes_programers_type_a_day.html"/>
</entry>

<entry>
<title>Keyboard: Matias Mini Tactile Pro</title>
<id>tag:xahlee.org,2013-06-02:064541</id>
<updated>2013-06-01T23:45:41-07:00</updated>
<summary>keyboard</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>For Mac users, a new keyboard designed for Mac. Compact, and mechanical keys.
<a href="http://xahlee.info/kbd/keyboard_matias_mini_tactile_pro_keyboard.html">Keyboard: Matias Mini Tactile Pro</a></p>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.info/kbd/keyboard_matias_mini_tactile_pro_keyboard.html"/>
</entry>

<entry>
<title>Linux: Info Keys, Bash Manual in Chapters, Using Emacs for Info</title>
<id>tag:xahlee.org,2013-06-02:015339</id>
<updated>2013-06-01T18:53:39-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>updated. <a href="http://xahlee.info/linux/bash_doc_info_basic_keys.html">Linux: Info Keys, Bash Manual in Chapters, Using Emacs for Info</a></p>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.info/linux/bash_doc_info_basic_keys.html"/>
</entry>

<entry>
<title>Unicode: Keyboard Symbols, UI Icons ↹ ⌫ ⌘ ✉ ✍ ⌖</title>
<id>tag:xahlee.org,2013-06-01:223346</id>
<updated>2013-06-01T15:33:46-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>updated. Symbols for {Super, Hyper, Meta} keys. <a href="http://xahlee.info/comp/unicode_computing_symbols.html">Unicode: Keyboard Symbols, UI Icons ↹ ⌫ ⌘ ✉ ✍ ⌖</a>. See also: <a href="emacs_hyper_super_keys.html">Emacs: How to Define Super ＆ Hyper Keys</a>.</p>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.info/comp/unicode_computing_symbols.html"/>
</entry>

<entry>
<title>the Myth of Myth of QWERTY ＆ Dvorak Layout</title>
<id>tag:xahlee.org,2013-05-31:130238</id>
<updated>2013-05-31T06:02:38-07:00</updated>
<summary>essay</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>WARNING: rant curve ahead. <a href="http://xahlee.info/kbd/myth_of_qwerty_dvorak_layout.html">the Myth of Myth of QWERTY ＆ Dvorak Layout</a></p>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.info/kbd/myth_of_qwerty_dvorak_layout.html"/>
</entry>

<entry>
<title>Keyboard Layout: What is the Most Efficient Layout? Dvorak vs Colemak?</title>
<id>tag:xahlee.org,2013-05-31:061913</id>
<updated>2013-05-30T23:19:13-07:00</updated>
<summary>essay</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>updated. <a href="http://xahlee.info/kbd/dvorak_vs_colemak.html">Keyboard Layout: What is the Most Efficient Layout? Dvorak vs Colemak?</a></p>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.info/kbd/dvorak_vs_colemak.html"/>
</entry>

<entry>
<title>Keyboard: Why Undo Cut Keys Wreck Your Hand</title>
<id>tag:xahlee.org,2013-05-31:055315</id>
<updated>2013-05-30T22:53:15-07:00</updated>
<summary>essay</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>New page. <a href="http://xahlee.info/kbd/keyboard_remap_copy_cut_paste_undo.html">Keyboard: Why Undo Cut Keys Wreck Your Hand</a></p>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.info/kbd/keyboard_remap_copy_cut_paste_undo.html"/>
</entry>

<entry>
<title>New keyboard layouts: Minimak, Norman</title>
<id>tag:xahlee.org,2013-05-30:201442</id>
<updated>2013-05-30T13:14:42-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>New keyboard layouts: Minimak, Norman. See: <a href="http://xahlee.info/kbd/dvorak_and_all_keyboard_layouts.html">Keyboard Layouts Fight! Dvorak, Maltron, Colemak, NEO, Bépo, Turkish-F, …</a></p>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.info/kbd/dvorak_and_all_keyboard_layouts.html"/>
</entry>

<entry>
<title>ErgoEmacs Terminal Arrow Fix</title>
<id>tag:xahlee.org,2013-05-29:221017</id>
<updated>2013-05-29T15:10:17-07:00</updated>
<summary>news</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<h3>ErgoEmacs Terminal Arrow Fix</h3>

<p>Matt fixed a long-standing major bug in ErgoEmacs keybinding.
See: <a class="sorc" href="https://code.google.com/p/ergoemacs/issues/detail?id=37" data-accessed="2013-05-29">https://code.google.com/p/ergoemacs/issues/detail?id=37</a></p>

<p>In terminal, when you press arrow keys, ErgoEmacs will insert gibberish. This is a semi-bug in emacs.</p>

<p>In emacs, put this in your init:</p>

<pre class="emacs-lisp">(<span class="function-name">global-set-key</span> (<span class="function-name">kbd</span> <span class="string">"M-O"</span>) '<span class="function-name">forward-char</span>)</pre>

<p>nothing but just that line. Then, start emacs by <code>emacs --no-window-system</code>. Then press any arrow key, you'll see that it insert gibberish.</p>

<p>This is related to escape sequence in terminal. Kinda have to do with terminal history. The arrow keys actually send escape sequences, and somehow, so does emacs's 【<kbd>Meta</kbd>+<kbd>O</kbd>】. (this is why emacs's <kbd>Meta</kbd> can also be pressed by <kbd>Esc</kbd>)</p>

<p>From user's perspective, this is clearly a emacs bug, but it might be such historical issue that it's hard to fix or can't be fixed. A related issue is that in emacs running in terminal, it can't distinguish between 【<kbd>Ctrl</kbd>+<kbd>A</kbd>】 and 【<kbd>Ctrl</kbd>+<kbd>a</kbd>】.</p>

<div class="blgcmt"><a href="http://xahlee.blogspot.com/2013/05/ergoemacs-terminal-arrow-fix.html">✍</a></div>
 </div>
 </content>
<link rel="alternate" href="https:/code.google.com/p/ergoemacs/issues/detail?id=37"/>
</entry>

<entry>
<title>Linux: Swap Control and Alt Keys ⌨</title>
<id>tag:xahlee.org,2013-05-28:191148</id>
<updated>2013-05-28T12:11:48-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="http://xahlee.info/linux/linux_swap_control_and_alt_xmodmap.html">Linux: Swap Control and Alt Keys ⌨</a></p>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.info/linux/linux_swap_control_and_alt_xmodmap.html"/>
</entry>

<entry>
<title>Emacs Lisp: Color Model Conversion (RGB, HSL, HSV, …)</title>
<id>tag:xahlee.org,2013-05-27:230259</id>
<updated>2013-05-27T16:02:59-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="elisp_convert_rgb_hsl_color.html">Emacs Lisp: Color Model Conversion (RGB, HSL, HSV, …)</a></p>
 </div>
 </content>
<link rel="alternate" href="elisp_convert_rgb_hsl_color.html"/>
</entry>

<entry>
<title>Emacs Tip: Save Position Across Sessions</title>
<id>tag:xahlee.org,2013-05-27:042439</id>
<updated>2013-05-26T21:24:39-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="emacs_save_cursor_position.html">Emacs Tip: Save Position Across Sessions</a></p>
 </div>
 </content>
<link rel="alternate" href="emacs_save_cursor_position.html"/>
</entry>

<entry>
<title>Logitech Mouse with Spinning Flywheel</title>
<id>tag:xahlee.org,2013-05-27:003647</id>
<updated>2013-05-26T17:36:47-07:00</updated>
<summary>info</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>watch this. Free spin mouse wheel for 28 seconds! <a href="http://xahlee.info/kbd/mouse_with_spinning_flywheel.html">Logitech Mouse with Spinning Flywheel</a></p>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.info/kbd/mouse_with_spinning_flywheel.html"/>
</entry>

<entry>
<title>Why You Need a 9 Buttons Mouse?</title>
<id>tag:xahlee.org,2013-05-26:232046</id>
<updated>2013-05-26T16:20:46-07:00</updated>
<summary>essay</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>emacs users usually neglect the mouse. But! <a href="http://xahlee.info/kbd/why_you_need_a_9_buttons_mouse.html">Why You Need a 9 Buttons Mouse?</a></p>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.info/kbd/why_you_need_a_9_buttons_mouse.html"/>
</entry>

<entry>
<title>ErgoEmacs Keyboard</title>
<id>tag:xahlee.org,2013-05-25:232846</id>
<updated>2013-05-25T16:28:46-07:00</updated>
<summary>design</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>keyboard design. <a href="http://xahlee.info/comp/ultimate_keyboard_layout.html">ErgoEmacs Keyboard</a></p>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.info/comp/ultimate_keyboard_layout.html"/>
</entry>

<entry>
<title>Emacs Lisp: Date/Time String</title>
<id>tag:xahlee.org,2013-05-25:232336</id>
<updated>2013-05-25T16:23:36-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>updated. <a href="elisp_datetime.html">Emacs Lisp: Date/Time String</a></p>
 </div>
 </content>
<link rel="alternate" href="elisp_datetime.html"/>
</entry>

<entry>
<title>Computer Language Character Distribution</title>
<id>tag:xahlee.org,2013-05-24:053541</id>
<updated>2013-05-23T22:35:41-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>not related to emacs, but might be interesting. <a href="http://xahlee.info/comp/computer_language_char_distribution.html">Computer Language Character Distribution</a></p>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.info/comp/computer_language_char_distribution.html"/>
</entry>

<entry>
<title>Emacs: Python Shift Indent</title>
<id>tag:xahlee.org,2013-05-23:183939</id>
<updated>2013-05-23T11:39:39-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>Here's how to shift indent a block of Python code in Emacs: <a href="emacs_python_shift_indent.html">Emacs: Python Shift Indent</a>.</p>
 </div>
 </content>
<link rel="alternate" href="emacs_python_shift_indent.html"/>
</entry>

<entry>
<title>Emacs: Switching Next/Previous User Buffers</title>
<id>tag:xahlee.org,2013-05-23:045842</id>
<updated>2013-05-22T21:58:42-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>update. On its own page. <a href="elisp_next_prev_user_buffer.html">Emacs: Switching Next/Previous User Buffers</a></p>
 </div>
 </content>
<link rel="alternate" href="elisp_next_prev_user_buffer.html"/>
</entry>

<entry>
<title>ErgoEmacs Keyboard</title>
<id>tag:xahlee.org,2013-05-23:023411</id>
<updated>2013-05-22T19:34:11-07:00</updated>
<summary>info</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>on keyboard design. Updated. <a href="http://xahlee.info/comp/ultimate_keyboard_layout.html">ErgoEmacs Keyboard</a></p>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.info/comp/ultimate_keyboard_layout.html"/>
</entry>

<entry>
<title>Emacs Lisp: Open File Path Under Cursor Fast</title>
<id>tag:xahlee.org,2013-05-23:000540</id>
<updated>2013-05-22T17:05:40-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>updated. Improved the code. <a href="emacs_open_file_path_fast.html">Emacs Lisp: Open File Path Under Cursor Fast</a></p>
 </div>
 </content>
<link rel="alternate" href="emacs_open_file_path_fast.html"/>
</entry>

<entry>
<title>New Version of ergoemacs-mode and New Home Page</title>
<id>tag:xahlee.org,2013-05-23:000415</id>
<updated>2013-05-22T17:04:15-07:00</updated>
<summary>news</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<h3>New Version of Ergoemacs-Mode and New Home Page</h3>

<p>ErgoEmacs has a new version, lots improvements by Matthew L Fidler. Matt also created a new home page for ErgoEmacs keybinding minor mode. This should be the new home page going forward for community. At <a class="sorc" href="http://mlf176f2.github.io/ErgoEmacs/" data-accessed="2013-05-22">http://mlf176f2.github.io/ErgoEmacs/</a></p>

 </div>
 </content>
<link rel="alternate" href="http://mlf176f2.github.io/ErgoEmacs/"/>
</entry>

<entry>
<title>Emacs Lisp: Convert Line Ending</title>
<id>tag:xahlee.org,2013-05-17:233536</id>
<updated>2013-05-17T16:35:36-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>on its own page. <a href="elisp_convert_line_ending.html">Emacs Lisp: Convert Line Ending</a></p>
 </div>
 </content>
<link rel="alternate" href="elisp_convert_line_ending.html"/>
</entry>

<entry>
<title>Emacs: Open File Path Under Cursor Fast</title>
<id>tag:xahlee.org,2013-05-17:211246</id>
<updated>2013-05-17T14:12:46-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="emacs_open_file_path_fast.html">Emacs: Open File Path Under Cursor Fast</a></p>
 </div>
 </content>
<link rel="alternate" href="emacs_open_file_path_fast.html"/>
</entry>

<entry>
<title>Truly Ergonomic Computer Keyboard Review</title>
<id>tag:xahlee.org,2013-05-15:071323</id>
<updated>2013-05-15T00:13:23-07:00</updated>
<summary>info</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<figure>
<iframe title="YouTube video player" class="youtube-player" width="640" height="385" src="http://www.youtube.com/embed/tkjm1xSF4g0?rel=0"></iframe>
<figcaption>video review of the Truly Ergonomic keyboard.
More info at
<a href="http://xahlee.info/kbd/Truly_Ergonomic_keyboard.html">Truly Ergonomic Computer Keyboard Review</a>
</figcaption>
</figure>
<p>Note: for those of you who know me, i got the keyboards free, but my opinion isn't bought, judge for yourself.</p>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.info/kbd/Truly_Ergonomic_keyboard.html"/>
</entry>

<entry>
<title>Emacs Lisp: Hotkeys to Open File Fast</title>
<id>tag:xahlee.org,2013-05-15:054244</id>
<updated>2013-05-14T22:42:44-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>updated. Now using ido for automatic completion. <a href="emacs_hotkey_open_file_fast.html">Emacs Lisp: Hotkeys to Open File Fast</a></p>
 </div>
 </content>
<link rel="alternate" href="emacs_hotkey_open_file_fast.html"/>
</entry>

<entry>
<title>Emacs: use ido for auto completion in your own commands</title>
<id>tag:xahlee.org,2013-05-15:050723</id>
<updated>2013-05-14T22:07:23-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<article><p>emacs lisp: you can use <code class="elisp-ƒ">ido-completing-read</code> for your own cmds.
It's bundled with emacs 24, at least. Example use:</p>
<pre class="elisp">(ido-completing-read <span class="string">"your prompt str:"</span> ‹youList› )</pre>
<p>Full example: <a href="elisp_change_brackets.html">Emacs: Change Brackets () {} [] in Text</a></p>
<div class="blgcmt"><a href="http://xahlee.blogspot.com/2013/05/emacs-lisp-use-ido-completion-for-your.html">✍</a></div>
</article>
 </div>
 </content>
<link rel="alternate" href="elisp_change_brackets.html"/>
</entry>

<entry>
<title>How I Write Blogs Using Emacs</title>
<id>tag:xahlee.org,2013-05-14:183810</id>
<updated>2013-05-14T11:38:10-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>A video recording on how i write blogs.</p>

<figure>
<iframe title="YouTube video player" class="youtube-player" width="640" height="385" src="http://www.youtube.com/embed/1L0ru5bXGjw?rel=0"></iframe>
<figcaption>emacs: how i write blogs.</figcaption>
</figure>

<p>The commands used are:</p>

<ul>
<li><code class="elisp-ƒ">xah-open-file-fast</code> 〔☛ <a href="emacs_hotkey_open_file_fast.html">Emacs Lisp: Hotkeys to Open File Fast</a>〕</li>
<li><code class="elisp-ƒ">insert-date-tag</code> 〔☛ <a href="elisp_insert-date-time.html">Emacs Lisp: Insert Date Time Stamp</a>〕</li>
<li><code class="elisp-ƒ">xhm-wrap-html-tag</code> (from <a href="xah-html-mode.html">Emacs: Xah HTML Mode</a>)</li>
<li><code class="elisp-ƒ">xhm-pre-source-code</code> syntax coloring of source code in HTML.</li>
<li><code class="elisp-ƒ">xah-browse-url-of-buffer</code> 〔☛ <a href="elisp_browse_url.html">Emacs Lisp: browse-url Function to View URL in a Web Browser</a>〕</li>
<li><code class="elisp-ƒ">xah-make-atom-entry</code> 〔☛ <a href="elisp_update_atom.html">Emacs Lisp: Updating Atom Webfeed</a>〕</li>
<li><code class="elisp-ƒ">dired-jump</code></li>
<li><code class="elisp-ƒ">xah-shell-commands</code>.  See: 〈Emacs, Shell, Abbrev, and ELISP Power to Bear!〉 <a class="sorc" href="http://www.youtube.com/watch?v=oKS_iIoQ0A4" data-accessed="2013-05-14">http://www.youtube.com/watch?v=oKS_iIoQ0A4</a>
</li>
</ul>

<p>The video presentation is pretty bad. I have much to learn, tech and presentation. I was using Google Plus's hangout feature with Hangout On Air to record directly to YouTube. Not sure what's a good solution on Linux yet.</p>

<p>also, i need to write code so that whatever command i called is displayed in a pane. So viewers can see it without me going over.</p>

<div class="blgcmt"><a href="http://xahlee.blogspot.com/2013/05/emacs-how-i-write-blogs.html">✍</a></div>

 </div>
 </content>
<link rel="alternate" href="http://xahlee.blogspot.com/2013/05/emacs-how-i-write-blogs.html"/>
</entry>

<entry>
<title>Emacs: Newline Representations ^M ^J ^L</title>
<id>tag:xahlee.org,2013-05-14:163127</id>
<updated>2013-05-14T09:31:27-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>updated, with new elisp code to change file line ending in batch. <a href="emacs_line_ending_char.html">Emacs: Newline Representations ^M ^J ^L</a></p>
 </div>
 </content>
<link rel="alternate" href="emacs_line_ending_char.html"/>
</entry>

<entry>
<title>Computer Keyboards, Layouts, Hotkeys, Macros, RSI ⌨</title>
<id>tag:xahlee.org,2013-05-14:060119</id>
<updated>2013-05-13T23:01:19-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>Keyboard pr0n, nth update. <a href="http://xahlee.info/kbd/keyboarding.html">Computer Keyboards, Layouts, Hotkeys, Macros, RSI ⌨</a></p>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.info/kbd/keyboarding.html"/>
</entry>

<entry>
<title>new update of emacs tutorial</title>
<id>tag:xahlee.org,2013-05-13:081225</id>
<updated>2013-05-13T01:12:25-07:00</updated>
<summary>news</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>Dear all, a new version of my tutorial is out. I'm making this a special version, for $40. If you support it, i'd be greatful, and i'll add your name to the <a href="thanks.html">Xah's Emacs Tutorial: Acknowledgment</a> as sponsor.</p>

<div class="ppp8745"><form action="https://www.paypal.com/cgi-bin/webscr" method="post"><input type="hidden" name="cmd" value="_s-xclick" /><input type="hidden" name="hosted_button_id" value="Y4V2F8TA949M2" /><input type="image" src="https://www.paypal.com/en_US/i/btn/btn_paynowCC_LG.gif" name="submit" alt="PayPal" /><img src="https://www.paypal.com/en_US/i/scr/pixel.gif" alt="" width="1" height="1" /></form></div>

<p><a href="buy_xah_emacs_tutorial.html">Buy Xah Emacs Tutorial</a></p>

<p>Another way to voice your support is funding a emacs major mode that you might want. Please visit <a class="sorc" href="http://pledgie.com/campaigns/19973" data-accessed="2013-05-02">http://pledgie.com/campaigns/19973</a>. Please let me know if you have questions..</p>

<p>Thank you for support.</p>

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

<entry>
<title>Emacs Lisp: Throw ＆ Catch, Exit a Loop</title>
<id>tag:xahlee.org,2013-05-13:073004</id>
<updated>2013-05-13T00:30:04-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>updated. <a href="elisp_break_loop.html">Emacs Lisp: Throw ＆ Catch, Exit a Loop</a></p>
 </div>
 </content>
<link rel="alternate" href="elisp_break_loop.html"/>
</entry>

<entry>
<title>Truly Ergonomic Computer Keyboard Review</title>
<id>tag:xahlee.org,2013-05-12:164027</id>
<updated>2013-05-12T09:40:27-07:00</updated>
<summary>review</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>Been using the Truly Ergonomic keyboard for 5 months now. Added my experience here at bottom: <a href="http://xahlee.info/kbd/Truly_Ergonomic_keyboard.html">Truly Ergonomic Computer Keyboard Review</a></p>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.info/kbd/Truly_Ergonomic_keyboard.html"/>
</entry>

<entry>
<title>Emacs Lisp: Hash Table</title>
<id>tag:xahlee.org,2013-05-12:060704</id>
<updated>2013-05-11T23:07:04-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>updated. <a href="elisp_hash_table.html">Emacs Lisp: Hash Table</a></p>
 </div>
 </content>
<link rel="alternate" href="elisp_hash_table.html"/>
</entry>

<entry>
<title>Emacs Lisp: Find/Determine OS and Emacs Version</title>
<id>tag:xahlee.org,2013-05-12:050731</id>
<updated>2013-05-11T22:07:31-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>updated. Split into 2 pages.</p>
<ul>
<li><a href="elisp_determine_OS_version.html">Emacs Lisp: Find/Determine OS and Emacs Version</a></li>
<li><a href="elisp_check_defined.html">Emacs Lisp: Check If a {function, variable, feature} is Defined/Loaded</a></li>
</ul>
 </div>
 </content>
<link rel="alternate" href="elisp_determine_OS_version.html"/>
</entry>

<entry>
<title>Emacs Lisp: Convert Unicode String to ASCII (Zap Gremlins)</title>
<id>tag:xahlee.org,2013-05-12:022757</id>
<updated>2013-05-11T19:27:57-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>updated. <a href="emacs_zap_gremlins.html">Emacs Lisp: Convert Unicode String to ASCII (Zap Gremlins)</a></p>
 </div>
 </content>
<link rel="alternate" href="emacs_zap_gremlins.html"/>
</entry>

<entry>
<title>Emacs: Change {Round, Square, Curly} Brackets in Text</title>
<id>tag:xahlee.org,2013-05-11:144012</id>
<updated>2013-05-11T07:40:12-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<h3>Emacs: Change {Round, Square, Curly} Brackets in Text</h3>

<p>when you have data in different languages, sometimes you need to convert round brackets to square brackets, or curly brackets.</p>

<p>When you need to do that, it's often tedious. You have to do replacement twice, once for the left bracket, then right bracket. Here's a command that helps:</p>

<p>please see <a href="elisp_change_brackets.html">Emacs: Change Brackets () {} [] in Text</a></p>

 </div>
 </content>
<link rel="alternate" href="http://xahlee.blogspot.com/2013/05/emacs-change-round-square-curly.html"/>
</entry>

<entry>
<title>Keyboard Porn to Infinity ⌨ ∞</title>
<id>tag:xahlee.org,2013-05-11:092655</id>
<updated>2013-05-11T02:26:55-07:00</updated>
<summary>news</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>there's a fantastic heart-shaped keyboard. If you haven't seen it already, see at <a href="http://xahlee.info/kbd/fancy_keyboards.html">Keyboard Porn to Infinity ⌨ ∞</a>. The guy plans to manufacture it. To keep updated for news, watch his website at <a class="sorc" href="http://launch.keyboard.io/" data-accessed="2013-05-11">http://launch.keyboard.io/</a></p>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.info/kbd/fancy_keyboards.html"/>
</entry>

<entry>
<title>Emacs: How Do You Insert Current Date?</title>
<id>tag:xahlee.org,2013-05-10:201029</id>
<updated>2013-05-10T13:10:29-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<h3>Emacs: How Do You Insert Current Date?</h3>

<p>here's how i do it.</p>

<p>please see <a href="elisp_insert-date-time.html">Emacs Lisp: Insert Date Time Stamp</a></p>

 </div>
 </content>
<link rel="alternate" href="http://xahlee.blogspot.com/2013/05/emacs-how-do-you-insert-current-date.html"/>
</entry>

<entry>
<title>Emacs: Xah HTML Mode: improved make citation command</title>
<id>tag:xahlee.org,2013-05-10:093840</id>
<updated>2013-05-10T02:38:40-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>much improved “xhm-make-citation”. Now, the order of lines for {title, url, author, date} doesn't matter. Get it in <a href="xah-html-mode.html">Emacs: Xah HTML Mode</a></p>

<p>to learn how to write it, see <a href="elisp_make-citation.html">Emacs Lisp: Writing a make-citation Command</a></p>

 </div>
 </content>
<link rel="alternate" href="xah-html-mode.html"/>
</entry>

<entry>
<title>keyboard geeking. One thousand function keys, redux</title>
<id>tag:xahlee.org,2013-05-10:085242</id>
<updated>2013-05-10T01:52:42-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>keyboard geeking. 〔<cite>one thousand function keys, redux</cite> <time>2013-05-10</time> @ <a class="sorc" href="http://xahlee.blogspot.com/2013/05/keyboard-one-thousand-function-keys.html" data-accessed="2013-05-10">xahlee.blogspot.com…</a>〕</p>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.blogspot.com/2013/05/keyboard-one-thousand-function-keys.html"/>
</entry>

<entry>
<title>Logic Write Style: the Incongruousness of the Word “Actually”</title>
<id>tag:xahlee.org,2013-05-10:055002</id>
<updated>2013-05-09T22:50:02-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>inspired from emacs lisp doc: <a href="http://wordyenglish.com/lit/the_word_actually.html">Logic Write Style: the Incongruousness of the Word “Actually”</a></p>
 </div>
 </content>
<link rel="alternate" href="http://wordyenglish.com/lit/the_word_actually.html"/>
</entry>

<entry>
<title>Emacs Lisp: Text Processing: Generate a Web Links Report</title>
<id>tag:xahlee.org,2013-05-09:065944</id>
<updated>2013-05-08T23:59:44-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>updated. <a href="elisp_link_report.html">Emacs Lisp: Text Processing: Generate a Web Links Report</a></p>
 </div>
 </content>
<link rel="alternate" href="elisp_link_report.html"/>
</entry>

<entry>
<title>Emacs, Shell, Abbrev, and ELISP Power to Bear!</title>
<id>tag:xahlee.org,2013-05-08:165037</id>
<updated>2013-05-08T09:50:37-07:00</updated>
<summary>video tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">

<p>created a video to go alone with today's tip.</p>

<figure>
<iframe title="YouTube video player" class="youtube-player" width="640" height="385" src="http://www.youtube.com/embed/oKS_iIoQ0A4?rel=0"></iframe>
<figcaption>
code and detail at:
<a href="../misc/emacs_abbrev_shell_elisp.html">Emacs, Shell, Abbrev, and ELISP Power to Bear!</a>
</figcaption>
</figure>
 </div>
 </content>
<link rel="alternate" href="../misc/emacs_abbrev_shell_elisp.html"/>
</entry>

<entry>
<title>Emacs, Shell, Abbrev, and ELISP Power to Bear!</title>
<id>tag:xahlee.org,2013-05-08:141433</id>
<updated>2013-05-08T07:14:33-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="../misc/emacs_abbrev_shell_elisp.html">Emacs, Shell, Abbrev, and ELISP Power to Bear!</a></p>
 </div>
 </content>
<link rel="alternate" href="../misc/emacs_abbrev_shell_elisp.html"/>
</entry>

<entry>
<title>The Idiocy of Happy Hacking Keyboard</title>
<id>tag:xahlee.org,2013-05-08:134826</id>
<updated>2013-05-08T06:48:26-07:00</updated>
<summary>info</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>the Happy Hacking Keyboard, model “professional 2”, don't even have arrow keys. <a href="http://xahlee.info/kbd/idiocy_of_happy_hacking_keyboard.html">The Idiocy of Happy Hacking Keyboard</a></p>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.info/kbd/idiocy_of_happy_hacking_keyboard.html"/>
</entry>

<entry>
<title>Ask Emacs Tuesday</title>
<id>tag:xahlee.org,2013-05-08:112333</id>
<updated>2013-05-08T04:23:33-07:00</updated>
<summary>news</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>I had a great Ask Emacs Tuesday yesterday. Thanks for asking. Past Q＆A links at <a href="../misc/ask_emacs_tuesday.html">Ask Emacs Tuesday</a></p>
 </div>
 </content>
<link rel="alternate" href="../misc/ask_emacs_2012-08-21.html"/>
</entry>

<entry>
<title>Which Emacs to Download for Windows and Mac?</title>
<id>tag:xahlee.org,2013-05-08:105034</id>
<updated>2013-05-08T03:50:34-07:00</updated>
<summary>news</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>emacs 24.3 app for Microsoft Windows is out. See <a href="which_emacs.html">Which Emacs to Download for Windows and Mac?</a>. (thx to xfq)</p>
 </div>
 </content>
<link rel="alternate" href="which_emacs.html"/>
</entry>

<entry>
<title>Ask Emacs Tuesday</title>
<id>tag:xahlee.org,2013-05-07:134100</id>
<updated>2013-05-07T06:41:00-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="../misc/ask_emacs_2012-08-21.html">Ask Emacs Tuesday</a></p>
 </div>
 </content>
<link rel="alternate" href="../misc/ask_emacs_2012-08-21.html"/>
</entry>

<entry>
<title>Unix Shell Util uniq Unicode Bug</title>
<id>tag:xahlee.org,2013-05-07:120455</id>
<updated>2013-05-07T05:04:55-07:00</updated>
<summary>info</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>i was calling unix uniq from emacs. Got a unexpected result. I thought it's unicode data passing screwup. Turns out, the bug is in uniq itself.
<a href="http://xahlee.info/comp/unix_uniq_unicode_bug.html">Unix Shell Util uniq Unicode Bug</a></p>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.info/comp/unix_uniq_unicode_bug.html"/>
</entry>

<entry>
<title>How to Write grep in Emacs Lisp</title>
<id>tag:xahlee.org,2013-05-07:074127</id>
<updated>2013-05-07T00:41:27-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>updated. <a href="elisp_grep_script.html">How to Write grep in Emacs Lisp</a></p>
 </div>
 </content>
<link rel="alternate" href="elisp_grep_script.html"/>
</entry>

<entry>
<title>Functional Programing Meta Language (ML) in Emacs Lisp!</title>
<id>tag:xahlee.org,2013-05-07:070611</id>
<updated>2013-05-07T00:06:11-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<h3>Functional Programing Meta Language (ML) in Emacs Lisp!</h3>

<p>discovered that emacs has a bundled library for functional programing pattern matching! The package file is 〔pcase.el〕. It's part of GNU Emacs 24.3.1.</p>

<p>it's written by Stefan Monnier, a professor of functional programing research, and one of the two current leader of emacs dev.</p>

<p>you can get to the file by calling <code class="elisp-ƒ">describe-function</code> then <code class="elisp-ƒ">pcase-let</code>, then click on the file name.</p>

<p>Note: ML stands for Meta Language. It was a family of languages. Current popular decendents include OCaml and Microsoft's FSharp.
〔☛ <a href="http://xahlee.info/ocaml/ocaml.html">Xah's OCaml Tutorial</a>〕
 Among functional programing languages, OCaml is one of those that's heavily used in the industry (⁖ Mldonkey, Unison
〔☛ <a href="http://xahlee.info/UnixResource_dir/unison_file_sync.html">Unison Tutorial</a>〕), especially in math formal proof systems ⁖ Coq. And it's famously used in JaneStreet.
〔☛ <a href="http://xahlee.info/comp/Yaron_Minsky_Janestreet_talk.html">OCaml Use in Industry: Janestreet Talk by Yaron Minsky 📺</a>〕
</p>

<p>Proof systems written in OCaml includes: Coq, HOL Light. 〔☛ <a href="http://xahlee.info/cmaci/notation/theorem_proving_systems.html">State of Theorem Proving Systems 2008</a>〕</p>

<p>Also, the designer of ML is <a href="http://en.wikipedia.org/wiki/Robin_Milner">Robin Milner</a> (1934 〜 2010), he died in recent years.</p>

<div class="rltd">
<ul>
<li><a href="http://xahlee.info/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/05/functional-programing-meta-language-ml.html">✍</a></div>

 </div>
 </content>
<link rel="alternate" href="http://xahlee.blogspot.com/2013/05/functional-programing-meta-language-ml.html"/>
</entry>

<entry>
<title>Emacs: Xah HTML Mode</title>
<id>tag:xahlee.org,2013-05-06:011835</id>
<updated>2013-05-05T18:18:35-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>draft version of xah-html-mode home page. Some documentation on what it do. <a href="xah-html-mode.html">Emacs: Xah HTML Mode</a></p>
 </div>
 </content>
<link rel="alternate" href="xah-html-mode.html"/>
</entry>

<entry>
<title>Emacs: Xah ELISP Mode</title>
<id>tag:xahlee.org,2013-05-05:014020</id>
<updated>2013-05-04T18:40:20-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>new. <a href="xah-elisp-mode.html">Emacs: Xah ELISP Mode</a></p>
 </div>
 </content>
<link rel="alternate" href="xah-elisp-mode.html"/>
</entry>

<entry>
<title>Emacs Lisp Mode Syntax Coloring Problem</title>
<id>tag:xahlee.org,2013-05-05:012614</id>
<updated>2013-05-04T18:26:14-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>updated. <a href="modernization_elisp_syntax_color.html">Emacs Lisp Mode Syntax Coloring Problem</a></p>
 </div>
 </content>
<link rel="alternate" href="modernization_elisp_syntax_color.html"/>
</entry>

<entry>
<title>Programing Style: Variable Naming: English Words Considered Harmful</title>
<id>tag:xahlee.org,2013-05-05:004004</id>
<updated>2013-05-04T17:40:04-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>updated. discovered big chunck of code in emacs lisp using math symbols as function/variable names. <a href="http://xahlee.info/comp/programing_variable_naming.html">Programing Style: Variable Naming: English Words Considered Harmful</a></p>

<p>see also: <a href="http://xahlee.info/comp/unicode_support_ruby_python_elisp.html">Unicode in Ruby, Perl, Python, JavaScript, Java, Emacs Lisp, Mathematica</a></p>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.info/comp/programing_variable_naming.html"/>
</entry>

<entry>
<title>documentary: food of a underground genius</title>
<id>tag:xahlee.org,2013-05-04:130708</id>
<updated>2013-05-04T06:07:08-07:00</updated>
<summary>humor</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>your host, truely, tries his hand in entertainment.</p>

<figure>
<iframe title="YouTube video player" class="youtube-player" width="640" height="385" src="http://www.youtube.com/embed/GHr-5ktpQys?rel=0"></iframe>
<figcaption>documentary: food of a underground genius</figcaption>
</figure>

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

<entry>
<title>swap mouse buttons you</title>
<id>tag:xahlee.org,2013-05-04:075848</id>
<updated>2013-05-04T00:58:48-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>you should swap middle/right mouse buttons. For why and how, in {Linux, Microsoft Windows}, see: <a href="http://xahlee.info/mswin/swap_mouse_buttons.html">Swap Mouse Buttons: Right-Click ＆ Middle-Click</a></p>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.info/mswin/swap_mouse_buttons.html"/>
</entry>

<entry>
<title>Emacs: Xah CSS Mode: change hex color to hsl under cursor</title>
<id>tag:xahlee.org,2013-05-04:071525</id>
<updated>2013-05-04T00:15:25-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>more improved. <a href="xah-css-mode.html">Emacs: Xah CSS Mode</a> You can now convert RGB hex color under cursor to HSL format (⁖ <code>#aabbcc</code> ⇒ <code>hsl(210,25%,73%)</code>). Call <code class="elisp-ƒ">xcm-hex-color-to-hsl</code>.</p>

<p>why should you convert? because, #rrggbb is one of the hack from history. HSL model isn't perfect, but is much more intuitive. You can change the hue, saturation, and lightness. For some explanation of HSL model and color samples, see: <a href="http://xahlee.info/js/css_hsl_color.html">CSS3 HSL (Hue, Saturation, Lightness) Color Samples</a>.</p>

 </div>
 </content>
<link rel="alternate" href="xah-css-mode.html"/>
</entry>

<entry>
<title>Emacs: new major modes for HTML, CSS, PHP, ELISP, and Lean Emacs LISP Manual</title>
<id>tag:xahlee.org,2013-05-02:132045</id>
<updated>2013-05-02T06:20:45-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<article>
<figure>
<iframe title="YouTube video player" class="youtube-player" width="640" height="385" src="http://www.youtube.com/embed/xR7jVUpmRNs?rel=0"></iframe>
<figcaption>Emacs: project proposal.</figcaption>
</figure>
<p>Vote which one you want me to work on. Tell your friends please. <a class="sorc" href="http://pledgie.com/campaigns/19973" data-accessed="2013-05-02">http://pledgie.com/campaigns/19973</a></p></article>
 </div>
 </content>
<link rel="alternate" href="http://pledgie.com/campaigns/19973"/>
</entry>

<entry>
<title>Emacswiki New Site Design</title>
<id>tag:xahlee.org,2013-04-25:070633</id>
<updated>2013-04-25T00:06:33-07:00</updated>
<summary>news</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<article>
<h3>Emacswiki New Site Design</h3>

<p>Looks like emacswiki had a new site design.
⁖ <a class="sorc" href="http://www.emacswiki.org/emacs/DiredPlus" data-accessed="2013-04-24">http://www.emacswiki.org/emacs/DiredPlus</a></p>

<p>the new seems to be a downgrade for me.</p>

<p>now it's black on gray. Parts are gray on gray. Less readable than before.
〔☛ <a href="http://xahlee.info/js/web_design_gray_on_white.html">Web Design: Say No to Grey Text on White Background</a>〕</p>

<p>The older logo is much better. It was a real logo, with elements of art. The new, is just plain letters. 〔☛ <a href="http://xahlee.info/UnixResource_dir/logo_design.html">Purpose of Logo and Principle of Logo Design</a>〕</p>

<p>worst of all, the new site requires JavaScript. Without, you lose some rather significant CSS. This is quite odd.</p>

<figure>
<img src="i/emacs_community_logo.svg" alt="emacs community logo"  />
<figcaption>emacs community logo, designed by <a class="sorc" href="http://www.emacswiki.org/emacs-se/DanielLundin" data-accessed="2013-04-24">Daniel Lundin</a>
</figcaption>
</figure>

<p>PS you can go back to the old.</p>

<ul>
<li><a class="sorc" href="http://www.emacswiki.org/emacs/2013-04-24?bootstrap=0" data-accessed="2013-04-25">http://www.emacswiki.org/emacs/2013-04-24?bootstrap=0</a>  old</li>
<li><a class="sorc" href="http://www.emacswiki.org/emacs/2013-04-24?bootstrap=1" data-accessed="2013-04-25">http://www.emacswiki.org/emacs/2013-04-24?bootstrap=1</a>  new</li>
</ul>

<p>but then, that means you must have cookies on.</p>

</article>

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

<entry>
<title>Emacs: Finding Functions and Documentation Lookup</title>
<id>tag:xahlee.org,2013-04-24:061158</id>
<updated>2013-04-23T23:11:58-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>You can use <code class="elisp-ƒ">apropos-variable</code> and <code class="elisp-ƒ">apropos-value</code> to search. Updated: <a href="elisp_function_eval_and_doc_lookup.html">Emacs: Finding Functions and Documentation Lookup</a></p>
 </div>
 </content>
<link rel="alternate" href="elisp_function_eval_and_doc_lookup.html"/>
</entry>

<entry>
<title>ask emacs Tuesday</title>
<id>tag:xahlee.org,2013-04-23:182731</id>
<updated>2013-04-23T11:27:31-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>am running ask emacs Tuesday, on g+ and twitter. Me at your service.</p>

<p>also, updated. <a href="elisp_universal_argument.html">Emacs Lisp: Writing Command to Accept universal-argument</a></p>

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

<entry>
<title>Emacs: Power of Icicles</title>
<id>tag:xahlee.org,2013-04-22:171924</id>
<updated>2013-04-22T10:19:24-07:00</updated>
<summary>essay</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="../misc/emacs_power_of_icicles.html">Emacs: Power of Icicles</a></p>
 </div>
 </content>
<link rel="alternate" href="../misc/emacs_power_of_icicles.html"/>
</entry>

<entry>
<title>RMS learns about tabs</title>
<id>tag:xahlee.org,2013-04-22:140100</id>
<updated>2013-04-22T07:01:00-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<blockquote><a class="sorc" href="https://twitter.com/tpope" data-accessed="2013-04-22">Tim Pope</a>, <time>2013-04-14</time>
<p>In which Richard Stallman learns what “tabs” are and contemplates adding them to Emacs <a class="sorc" href="http://lists.gnu.org/archive/html/emacs-devel/2008-03/msg02254.html" data-accessed="2013-04-22">http://lists.gnu.org/archive/html/emacs-devel/2008-03/msg02254.html</a></p></blockquote>
 </div>
 </content>
<link rel="alternate" href="http://lists.gnu.org/archive/html/emacs-devel/2008-03/msg02254.html"/>
</entry>

<entry>
<title>master station: one thousand function keys</title>
<id>tag:xahlee.org,2013-04-21:173535</id>
<updated>2013-04-21T10:35:35-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<figure>
<img src="http://xahlee.info/kbd/i3/keyboard_station_one_thousand_function_keys_2012-08-10.jpg" alt="keyboard station one thousand function keys 2012-08-10" width="800" height="600" />
<figcaption>master station: one thousand function keys</figcaption>
</figure>

<p>detail: <a href="http://xahlee.info/kbd/keyboard_one_thousand_function_keys.html">Keyboard Master: One Thousand Function Keys</a></p>

 </div>
 </content>
<link rel="alternate" href="http://xahlee.info/kbd/keyboard_one_thousand_function_keys.html"/>
</entry>

<entry>
<title>XML Nested Syntax vs Lisp Nested Syntax</title>
<id>tag:xahlee.org,2013-04-21:161522</id>
<updated>2013-04-21T09:15:22-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="http://xahlee.info/comp/xml_nested_syntax_vs_lisp.html">XML Nested Syntax vs Lisp Nested Syntax</a></p>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.info/comp/xml_nested_syntax_vs_lisp.html"/>
</entry>

<entry>
<title>Emacs Keybinding Syntax Examples</title>
<id>tag:xahlee.org,2013-04-21:021955</id>
<updated>2013-04-20T19:19:55-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>updated. All the ways you can set keys. Emacs is all about keys. Set any command to any key you want. Set one key today! <a href="keyboard_shortcuts_examples.html">Emacs Keybinding Syntax Examples</a></p>
 </div>
 </content>
<link rel="alternate" href="keyboard_shortcuts_examples.html"/>
</entry>

<entry>
<title>Emacs Keybinding Syntax Examples</title>
<id>tag:xahlee.org,2013-04-21:021936</id>
<updated>2013-04-20T19:19:36-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>updated. All the ways you can set keys. Emacs is all about keys. Set any command to any key you want. Set one key today! <a href="keyboard_shortcuts_examples.html">Emacs Keybinding Syntax Examples</a></p>
 </div>
 </content>
<link rel="alternate" href="keyboard_shortcuts_examples.html"/>
</entry>

<entry>
<title>adding tabbar, ruler, to emacs</title>
<id>tag:xahlee.org,2013-04-20:172145</id>
<updated>2013-04-20T10:21:45-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<figure>
<img src="i/emacs_tabbar_screenshot_2013-04-20.png" alt="emacs tabbar screenshot 2013-04-20" width="856" height="285" />
<figcaption>Emacs tabbar screenshot</figcaption>
</figure>

<p>updated. <a href="emacs_make_modern.html">How to Set Emacs's User Interface to Modern Conventions</a></p>
<p>thanks to <a class="sorc" href="https://github.com/mlf176f2" data-accessed="2012-12-13">Matthew L Fidler</a></p>

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

<entry>
<title>excursion. 2 hands pen-spinning, by yours truely.</title>
<id>tag:xahlee.org,2013-04-20:152518</id>
<updated>2013-04-20T08:25:18-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>excursion. 2 hands pen-spinning, by yours truely.</p>

<figure>
<iframe title="YouTube video player" class="youtube-player" width="640" height="385" src="http://www.youtube.com/embed/KMQLsqrODrE?rel=0"></iframe>
<figcaption>2 hands pen spinning.</figcaption>
</figure>

 </div>
 </content>
<link rel="alternate" href="http://www.youtube.com/watch?v=KMQLsqrODrE"/>
</entry>

<entry>
<title>solution: Emacs Bug: global-linum-mode Freeze Emacs on Big Image Files</title>
<id>tag:xahlee.org,2013-04-20:150701</id>
<updated>2013-04-20T08:07:01-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>yesterday i wrote about a bug. Now there's solution. See: <a href="../misc/linum-freeze_emacs.html">Emacs Bug: global-linum-mode Freeze Emacs on Big Image Files</a></p>
 </div>
 </content>
<link rel="alternate" href="../misc/linum-freeze_emacs.html"/>
</entry>

<entry>
<title>Emacs Keybinding, Keyboard, RSI</title>
<id>tag:xahlee.org,2013-04-20:142111</id>
<updated>2013-04-20T07:21:11-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>new index page. All about <a href="emacs_keys_index.html">Emacs Keybinding, Keyboard, RSI</a></p>
 </div>
 </content>
<link rel="alternate" href="emacs_keys_index.html"/>
</entry>

<entry>
<title>heart keyboard</title>
<id>tag:xahlee.org,2013-04-19:232114</id>
<updated>2013-04-19T16:21:14-07:00</updated>
<summary>news; fun</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">

<figure>
<img src="http://xahlee.info/kbd/i3/mark5_heart_keyboard_jesse_2013-04-19.jpg" alt="mark5 heart keyboard jesse 2013-04-19" width="1024" height="768" />
<figcaption>mark5 heart keyboard jesse <time>2013-04-19</time>.
<a class="sorc" href="http://www.flickr.com/photos/obra/8471300825/in/photostream/" data-accessed="2013-04-19">img source</a>
<a class="sorc" href="http://creativecommons.org/licenses/by-nc-sa/2.0/" data-accessed="2013-04-19">img license</a>
</figcaption>
</figure>

<p><a href="http://xahlee.info/kbd/fancy_keyboards.html">more fancy keyboards</a></p>

 </div>
 </content>
<link rel="alternate" href="http://xahlee.info/kbd/fancy_keyboards.html"/>
</entry>

<entry>
<title>Emacs Keybinding Syntax Examples</title>
<id>tag:xahlee.org,2013-04-19:232040</id>
<updated>2013-04-19T16:20:40-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>updated. <a href="keyboard_shortcuts_examples.html">Emacs Keybinding Syntax Examples</a></p>
 </div>
 </content>
<link rel="alternate" href="keyboard_shortcuts_examples.html"/>
</entry>

<entry>
<title>Emacs: How to Evaluate Emacs Lisp Code</title>
<id>tag:xahlee.org,2013-04-19:220527</id>
<updated>2013-04-19T15:05:27-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>updated. <a href="elisp_eval_lisp_code.html">Emacs: How to Evaluate Emacs Lisp Code</a>. thanks to <a class="sorc" href="http://irreal.org/blog/" data-accessed="2013-04-19">jcs</a>.</p>
 </div>
 </content>
<link rel="alternate" href="elisp_eval_lisp_code.html"/>
</entry>

<entry>
<title>Emacs Bug: linum-mode Freeze Emacs</title>
<id>tag:xahlee.org,2013-04-19:214645</id>
<updated>2013-04-19T14:46:45-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<article>
<h3>Emacs Bug: global-linum-mode Freeze Emacs on Big Image Files</h3>

<p><time>2013-04-19</time>, as of GNU Emacs 24.3.1, <code class="elisp-ƒ">global-linum-mode</code> will freeze emacs for about 10 minutes when opening a jpg file of 10 megabytes size.</p>

<p>GNU Emacs 24.3.1 (i686-pc-linux-gnu, GTK+ Version 2.24.10) of 2013-03-11 on xah-p6813w</p>

<p>steps to reproduce:</p>

<ol>
<li><code>(global-linum-mode 1)</code></li>
<li>open a jpg file of 5 megabytes file size.</li>
<li>emacs freezes.</li>
</ol>

<p>1 hour wasted on this.</p>

</article>

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

<entry>
<title>xah-css-mode</title>
<id>tag:xahlee.org,2013-04-19:160713</id>
<updated>2013-04-19T09:07:13-07:00</updated>
<summary>news</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<article>
<h3>xah-css-mode</h3>

<p>wrote a CSS mode yesterday. 2 hours work, alpha stage, but works fine.</p>

<p>How's it diff from default CSS mode in emacs? This one is based on basic syntax coloring of CSS words only. This means, for example, if you typed <code>p {widh:65%}</code> where the “width” has a typo, you'll know because it won't be colored.</p>

<p>Right now it also supports coloring hex colors in hex format of this form <code>#fff8dc</code>. I plan to add coloring of forms such as <code>hsl(0,68%,42%)</code>. I plan to add keyword completion, independent of other add-ons.</p>

<p>download here:
<a class="sorc" href="https://code.google.com/p/ergoemacs/source/browse/packages/xah-css-mode.el" data-accessed="2013-04-19">https://code.google.com/p/ergoemacs/source/browse/packages/xah-css-mode.el</a></p>

<p>If you find a word that's not colored, please report it on the wiki there, or send me the line containing that CSS keyword, i'll add it.</p>

<div class="rltd"><ul>
<li><a href="emacs_html.html">Emacs HTML Tips</a></li>
<li><a href="emacs_CSS_colors.html">Emacs: Working with CSS Color Values</a></li>
<li><a href="http://xahlee.info/js/css_index.html">Xah's CSS Tutorial</a></li>
</ul></div>
</article>

 </div>
 </content>
<link rel="alternate" href="xah-css-mode.html"/>
</entry>

<entry>
<title>Emacs: How to Define Super ＆ Hyper Keys</title>
<id>tag:xahlee.org,2013-04-17:215757</id>
<updated>2013-04-17T14:57:57-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>updated. <a href="emacs_hyper_super_keys.html">Emacs: How to Define Super ＆ Hyper Keys</a></p>
 </div>
 </content>
<link rel="alternate" href="emacs_hyper_super_keys.html"/>
</entry>

<entry>
<title>ErgoEmacs Keybinding Movement Feature</title>
<id>tag:xahlee.org,2013-04-12:163826</id>
<updated>2013-04-12T09:38:26-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">

<article>
<h3>ErgoEmacs Keybinding Movement Feature</h3>

<p>Matt has done a lot to ErgoEmacs keybinding. I haven't kept up with the features, but i'll blog as i learn. Here's one.</p>

<p>When you use any of the cursor movement keys, you can keep pressing movement key without holding down the <kbd>Alt</kbd>. For example, on QWERTY layout, press 【<kbd>Alt</kbd>+<kbd>j</kbd> <kbd>j</kbd>】, it'll move cursor to the left twice. You can turn this off by putting this in your init:</p>

<pre class="elisp">
<span class="comment-delimiter">;; </span><span class="comment">turn off ErgoEmacs repeat move without holding Alt feature
</span>(setq ergoemacs-repeat-movement-commands 'nil)

<span class="comment-delimiter">;; </span><span class="comment">set ErgoEmacs repeat movement. Example, on QWERTY, once you press any of 【Alt+i】 or 【Alt+j】 or 【Alt+k】 or 【Alt+l】, then any i j k l key will move cursor, no need to hold Alt anymore. Type any other key automatically exit.
</span>(setq ergoemacs-repeat-movement-commands 'all)

<span class="comment-delimiter">;; </span><span class="comment">set ErgoEmacs repeat move without holding Alt, but one key afterward. Example, on QWERTY, 【Alt+j j】 will move left twice
</span>(setq ergoemacs-repeat-movement-commands 'single)
</pre>

<p>You can read more about features, settings, on his repo at <a class="sorc" href="https://github.com/mlf176f2/ErgoEmacs/tree/master/ergoemacs/ergoemacs-keybindings" data-accessed="2013-04-12">https://github.com/mlf176f2/ErgoEmacs/tree/master/ergoemacs/ergoemacs-keybindings</a></p>
</article>

 </div>
 </content>
<link rel="alternate" href="https:/github.com/mlf176f2/ErgoEmacs/tree/master/ergoemacs/ergoemacs-keybindings"/>
</entry>

<entry>
<title>FSF Spread FUD on Microsoft</title>
<id>tag:xahlee.org,2013-04-11:071749</id>
<updated>2013-04-11T00:17:49-07:00</updated>
<summary>opinion</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>may be offensive. <a href="http://xahlee.info/comp/fsf_spread_fud_on_Microsoft.html">FSF Spread FUD on Microsoft</a></p>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.info/comp/fsf_spread_fud_on_Microsoft.html"/>
</entry>

<entry>
<title>emacs lisp is primitive</title>
<id>tag:xahlee.org,2013-04-11:014945</id>
<updated>2013-04-10T18:49:45-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">

<p>emacs lisp is so primitive. You have <code class="elisp-ƒ">sort</code>, but it can't sort vector, only list.</p>

<p>also, you can't have literals for hash.</p>

<p>and really lots primitive issues. Any of
<a href="http://xahlee.info/perl-python/perl_basics.html">Perl</a>,
<a href="http://xahlee.info/python/python3_basics.html">Python</a>,
<a href="http://xahlee.info/ruby/ruby_basics.html">Ruby</a>,
<a href="http://xahlee.info/js/javascript_basics.html">JavaScript</a>,
<a href="http://xahlee.info/php/php_basics.html">PHP</a>, beats emacs lisp easily.</p>

<p>the only hope for this to improve is waiting for Guile Scheme Lisp to takeover Elisp.
The talk has been on for perhaps a decade now. Last hopeful news i heard is about 2 years ago.</p>

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

<entry>
<title>zippy the pinhead</title>
<id>tag:xahlee.org,2013-04-10:080203</id>
<updated>2013-04-10T01:02:03-07:00</updated>
<summary>fun</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">

<article>
<h3>zippy the pinhead</h3>
<p>this one is old-school fun.</p>

<p>download this file
<a class="sorc" href="http://www.vim.org/scripts/script.php?script_id=2411" data-accessed="2013-04-09">http://www.vim.org/scripts/script.php?script_id=2411</a></p>

<p>rename the file and put this in your init:</p>

<pre class="elisp">
(setq yow-file <span class="string">"~/.emacs.d/zippy_pinhead_quotes.txt"</span> )</pre>

<p>now, open that file, trim out the header and tail. So, the first line should be “Zippy the pinhead data base.” and last line should be the line about “synapses”.</p>

<p>Now, in emacs, call <code class="elisp-ƒ">yow</code>, and a zippism will show. To insert, call <code class="elisp-ƒ">universal-argument</code> 【<kbd>Ctrl</kbd>+<kbd>u</kbd>】 first.</p>

<p>(via <a class="sorc" href="https://plus.google.com/u/0/b/113859563190964307534/113728724850698214583/posts" data-accessed="2013-04-09">George Jones</a>)</p>

<p>some digging… the zippy quote were deleted out of copyright concerns, in emacs 22. <a class="sorc" href="http://lists.gnu.org/archive/html/emacs-devel/2006-06/msg00290.html" data-accessed="2013-04-10">http://lists.gnu.org/archive/html/emacs-devel/2006-06/msg00290.html</a>﻿</p>

<p>if you don't know, it's a old (1970s) comics. <a href="http://en.wikipedia.org/wiki/Zippy_the_Pinhead">Zippy the Pinhead</a>. See also: <a href="http://xaharts.org/va/crumb.html">Art of Robert Crumb</a>.</p>

</article>

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

<entry>
<title>Emacs: How to Make Ctrl+x Easier to Type on Dvorak Keyboard</title>
<id>tag:xahlee.org,2013-04-10:070046</id>
<updated>2013-04-10T00:00:46-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>more update. <a href="emacs_dvorak_C-x.html">Emacs: How to Make Ctrl+x Easier to Type on Dvorak Keyboard</a></p>
 </div>
 </content>
<link rel="alternate" href="emacs_dvorak_C-x.html"/>
</entry>

<entry>
<title>Keyboard Hardware Design Flaws</title>
<id>tag:xahlee.org,2013-04-10:063223</id>
<updated>2013-04-09T23:32:23-07:00</updated>
<summary>essay</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>updated. <a href="http://xahlee.info/kbd/keyboard_problems.html">Keyboard Hardware Design Flaws</a></p>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.info/kbd/keyboard_problems.html"/>
</entry>

<entry>
<title>emacs tips for fullscreen or multi-window</title>
<id>tag:xahlee.org,2013-04-09:095759</id>
<updated>2013-04-09T02:57:59-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">

<p>for those of you who prefer running emacs in max/fullscreen: <a href="emacs_winner_mode.html">Emacs: Managing Split-Window Config</a></p>

<p>for those of you who prefer multiple non-fullscreen windows. <a href="../misc/emacs_one_max_window_vs_multi_smaller_window.html">Emacs: Full-Screen vs Multiple Window</a></p>

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

<entry>
<title>Emacs 24.3 Elisp Macro Speedup</title>
<id>tag:xahlee.org,2013-04-08:080222</id>
<updated>2013-04-08T01:02:22-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<h3>Emacs 24.3 Elisp Macro Speedup</h3>
<p>emacs 24.3 made elisp code much faster. Quote:</p>

<blockquote>
<p>** Emacs tries to macroexpand interpreted (non-compiled) files during load.</p>

<p>This can significantly speed up execution of non-byte-compiled code, but can also bump into previously unnoticed cyclic dependencies. These are generally harmless: they will simply cause the macro calls to be left for later expansion (as before), but will result in a warning (“Eager macro-expansion skipped due to cycle”) describing the cycle. You may wish to restructure your code so this does not happen.</p>
</blockquote>

<p>Dmitry Gutov wrote a nice article that shows the speed increase: 〔<cite>Emacs 24.3's Killer Feature: Eager Macro-Expansion</cite> <time>2013-04-07</time> By Dmitry Gutov. @ <a class="sorc" href="http://dgutov.github.io/blog/2013/04/07/emacs-24-dot-3-s-killer-feature-eager-macro-expansion/" data-accessed="2013-04-07">dgutov.github.io…</a>〕</p>

<p>It's a bit deep. If you code elisp, you should read it. If you don't code elisp, here's the gist:</p>

<ul>
<li>Before emacs 23.3, byte-compiled file is about 6 or 10 times faster for loading and also execution</li>
<li>After emacs 23.3, byte-compiled seems just twice as fast.</li>
</ul>

<p>via <a class="sorc" href="https://plus.google.com/101505495157778834572/posts" data-accessed="2013-04-07">Andrew Hyatt</a></p>

 </div>
 </content>
<link rel="alternate" href="http://dgutov.github.io/blog/2013/04/07/emacs-24-dot-3-s-killer-feature-eager-macro-expansion/"/>
</entry>

<entry>
<title>Emacs 24 Copy Directory Change</title>
<id>tag:xahlee.org,2013-04-08:051419</id>
<updated>2013-04-07T22:14:19-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="../misc/emacs_24_copy-directory_change.html">Emacs 24 Copy Directory Change</a></p>
 </div>
 </content>
<link rel="alternate" href="../misc/emacs_24_copy-directory_change.html"/>
</entry>

<entry>
<title>banish key chords</title>
<id>tag:xahlee.org,2013-04-07:220050</id>
<updated>2013-04-07T15:00:50-07:00</updated>
<summary>essay</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>rewrote a previous article. Now on its own. This is useful for keyboard freaks only. <a href="http://xahlee.info/kbd/banish_key_chords.html">Banish Key Chords</a>.  See also: <a href="http://xahlee.info/kbd/repeatable_vs_non-repeatable_keys_commands.html">Keyboard Shortcut Design: Repeatable vs Non-Repeatable Commands and Keys</a>.</p>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.info/kbd/banish_key_chords.html"/>
</entry>

<entry>
<title>no need to type space after comma</title>
<id>tag:xahlee.org,2013-04-07:090928</id>
<updated>2013-04-07T02:09:28-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">

<p>added this to my emacs. You type a comma, and a space is automatically added.</p>

<pre class="elisp">
(global-set-key (kbd <span class="string">","</span>) (<span class="keyword">lambda</span>() (interactive) (insert <span class="string">", "</span>)))</pre>

<p>it'll take a while to get used to.</p>

<p>idea pilfered from 〔<cite>Minimizing Keystrokes Required by Punctuation</cite> <time>2013-04-06</time> By Eric Crosson. @ <a class="sorc" href="http://ericscrosson.wordpress.com/2013/04/05/minimizing-keystrokes-required-by-punctuation/" data-accessed="2013-04-06">ericscrosson.wordpress.com…</a>〕</p>

<p>warning: he's saying nice things about me.</p>

 </div>
 </content>
<link rel="alternate" href="http://ericscrosson.wordpress.com/2013/04/05/minimizing-keystrokes-required-by-punctuation/"/>
</entry>

<entry>
<title>Keybinding Efficiency: the Uselessness of Home/End, Page Up/Down</title>
<id>tag:xahlee.org,2013-04-07:005008</id>
<updated>2013-04-06T17:50:08-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>in the name of uber efficiency: <a href="emacs_key_combo.html">Keybinding Efficiency: the Uselessness of Home/End, Page Up/Down</a></p>
 </div>
 </content>
<link rel="alternate" href="emacs_key_combo.html"/>
</entry>

<entry>
<title>Tips on Long Term Emacs Productivity</title>
<id>tag:xahlee.org,2013-04-06:232112</id>
<updated>2013-04-06T16:21:12-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>worth repeating. <a href="effective_emacs.html">Tips on Long Term Emacs Productivity</a></p>
 </div>
 </content>
<link rel="alternate" href="effective_emacs.html"/>
</entry>

<entry>
<title>ErgoEmacs setup tutorial</title>
<id>tag:xahlee.org,2013-04-06:081919</id>
<updated>2013-04-06T01:19:19-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>here's ErgoEmacs setup tutorial, by Sindikat: 〔<cite>ErgoEmacs tutorial</cite> <time>2012-13-03</time> By Sindikat. @ <a class="sorc" href="http://abstractnonsense.net/2013/ergoemacs-tutorial/" data-accessed="2013-04-06">abstractnonsense.net…</a>〕</p>
 </div>
 </content>
<link rel="alternate" href="http://abstractnonsense.net/2013/ergoemacs-tutorial/"/>
</entry>

<entry>
<title>ErgoEmacs new version</title>
<id>tag:xahlee.org,2013-04-05:233327</id>
<updated>2013-04-05T16:33:27-07:00</updated>
<summary>news</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">

<article>
<p>new version of <a href="ergonomic_emacs_keybinding.html">ErgoEmacs Keybinding</a> is out again. I'm happy to report that the current maintainer <a class="sorc" href="https://github.com/mlf176f2" data-accessed="2012-12-13">Matthew L Fidler</a> has adopted a idea i suggested. Now, “all” of chorded keys has a non-chorded replacement! You can press them by pressing <kbd>▤ Menu</kbd> key first. Here's the current keys:</p>

<pre class="elisp">
<span class="comment-delimiter">;; </span><span class="comment">QWERTY used to indicate key position
</span>
(<span class="string">"&lt;menu&gt; g"</span> keyboard-quit <span class="string">"Quit"</span>)
(<span class="string">"&lt;menu&gt; j"</span> ergoemacs-ctl-c <span class="string">"Ctl-c"</span>)
(<span class="string">"&lt;menu&gt; u"</span> ergoemacs-ctl-c-unchorded <span class="string">"Ctl-c*span"</span>)
(<span class="string">"&lt;menu&gt; f"</span> ergoemacs-ctl-x <span class="string">"Ctl-x"</span>)

(<span class="string">"&lt;menu&gt; h"</span> ergoemacs-ctl-h <span class="string">"Ctl-h"</span>)
(<span class="string">"&lt;menu&gt; y"</span> ergoemacs-ctl-h-unchorded <span class="string">"Ctl-h*"</span>)
(<span class="string">"&lt;menu&gt; m"</span> ergoemacs-ctl-c-ctl-c <span class="string">"C-c C-c"</span>)
(<span class="string">"&lt;menu&gt; SPC"</span> set-mark-command <span class="string">"Set Mark"</span>)
</pre>

<p>The keys are position based, and QWERTY layout is used to indicate their position. That means, doesn't matter whether you are using <a href="http://xahlee.info/kbd/dvorak_and_all_keyboard_layouts.html">Dvorak, Colemak, Workman, Bépo, …</a>, you can just look at the labels on your keyboard for the right key. The keys may not be final. But Matt is the maintainer now, so, you'd have to ask him, for suggestions or code push. Also, i haven't been keeping up my documentation of it. I hope to fix it down the road. Another new layout support is Persian standard layout, contributed by Shahin Azad. (it also supports Workman layout. and quite a few others now.  You can see all layout supported in the menu 〖ErgoEmacs〗)</p>

<p>Matt also created a emacswiki page at <a class="sorc" href="http://www.emacswiki.org/emacs/ErgoemacsKeybindings" data-accessed="2013-04-05">http://www.emacswiki.org/emacs/ErgoemacsKeybindings</a>, <strike>so you can post there, ask for help, or help make it better</strike>. (Matt says that don't use the emacswiki for question, because it's automatically generated from info file.)</p>

<p>for why about the non-chorded keys, you might get a good idea from my notes here: <a href="emacs_keybinding_redesign_2.html">The Roadmap to Completely Replace Emacs's Key System, Part 2</a></p>

<p>i think this is really great, because for years i've been thinking how to resolve the cua-mode and emacs C-x issue. Now, i think this is the answer. The implementation is simple, and we don't need the complex hack of cua-mode anymore, and the traditional C-x are still there if one wanted, and the whole system is one step more efficient and ergonomic, even beats vi-like modes. (the main issue of vi's modal ways is that you need to constantly switch modes.)</p>
</article>

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

<entry>
<title>show page break ^L as line</title>
<id>tag:xahlee.org,2013-04-04:145827</id>
<updated>2013-04-04T07:58:27-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">

<article>
<p>there's a great <code class="elisp-ƒ">page-break-lines-mode</code> by
<a class="sorc" href="https://github.com/purcell" data-accessed="2013-04-04">Steve Purcell</a>.
It displays FORM FEED char (^L) by a horizontal line.
The package is on MELPA. Call <code class="elisp-ƒ">list-packages</code> to install.
〔☛ <a href="emacs_package_system.html">A Guide on Emacs 24 Package System</a>〕</p>

<p>After you install, you need to specify which major modes it should activate. Like this:</p>

<pre class="elisp">
(setq page-break-lines-modes (quote (emacs-lisp-mode xah-elisp-mode compilation-mode fundamental-mode text-mode org-mode ruby-mode python-mode xah-html-mode html-mode nxml-mode)) )
</pre>

<p>this package is great because there are few others but interfere with <code class="elisp-ƒ">whitespace-mode</code> settings for some reason. 〔☛ <a href="whitespace-mode.html">How to Use and Setup Emacs's whitespace-mode</a>〕</p>

<div class="rltd">
<ul>
<li><a href="emacs_line_ending_char.html">Emacs: Newline Representations ^M ^J ^L</a></li>
<li><a href="keystroke_rep.html">Emacs's Key Notations Explained (/r, ^M, C-m, RET, &lt;return&gt;, M-, meta)</a></li>
<li><a href="modernization_formfeed.html">Emacs Form Feed (^L) Display Suggestion and Tips</a></li>
</ul>
</div>

</article>

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

<entry>
<title>Emacs: Insert Parenthesis/Brackets by Pair</title>
<id>tag:xahlee.org,2013-04-04:135343</id>
<updated>2013-04-04T06:53:43-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>updated. <a href="emacs_insert_brackets_by_pair.html">Emacs: Insert Parenthesis/Brackets by Pair</a></p>
 </div>
 </content>
<link rel="alternate" href="emacs_insert_brackets_by_pair.html"/>
</entry>

<entry>
<title>Lisp Logo Latte Art</title>
<id>tag:xahlee.org,2013-04-04:121459</id>
<updated>2013-04-04T05:14:59-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>on its own page. <a href="lisp_logo_latte_art.html">Lisp Logo Latte Art</a></p>
 </div>
 </content>
<link rel="alternate" href="lisp_logo_latte_art.html"/>
</entry>

<entry>
<title>Emacs: Use Alias to Increase Productivity</title>
<id>tag:xahlee.org,2013-04-02:204837</id>
<updated>2013-04-02T13:48:37-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>updated. <a href="emacs_alias.html">Emacs: Use Alias to Increase Productivity</a></p>
 </div>
 </content>
<link rel="alternate" href="emacs_alias.html"/>
</entry>

<entry>
<title>IBM Model M keyboard, Unicomp</title>
<id>tag:xahlee.org,2013-04-02:030135</id>
<updated>2013-04-01T20:01:35-07:00</updated>
<summary>info</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>the classic mechanical keyboard. <a href="http://xahlee.info/kbd/keyboard_IBM_model_m_Unicomp.html">IBM Model M keyboard, Unicomp</a></p>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.info/kbd/keyboard_IBM_model_m_Unicomp.html"/>
</entry>

<entry>
<title>Emacs: Buffer Management</title>
<id>tag:xahlee.org,2013-04-01:010912</id>
<updated>2013-03-31T18:09:12-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>new. edited and on its own page. <a href="emacs_buffer_management.html">Emacs: Buffer Management</a></p>
 </div>
 </content>
<link rel="alternate" href="emacs_buffer_management.html"/>
</entry>

<entry>
<title>Emacs Lisp: Hotkeys to Open File Fast</title>
<id>tag:xahlee.org,2013-03-31:210417</id>
<updated>2013-03-31T14:04:17-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>updated. <a href="emacs_hotkey_open_file_fast.html">Emacs Lisp: Hotkeys to Open File Fast</a></p>
 </div>
 </content>
<link rel="alternate" href="emacs_hotkey_open_file_fast.html"/>
</entry>

<entry>
<title>Emacs: Open File Fast: recentf-mode</title>
<id>tag:xahlee.org,2013-03-31:064400</id>
<updated>2013-03-30T23:44:00-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>old tip. Now on its own page. <a href="emacs_recentf.html">Emacs: Open File Fast: recentf-mode</a></p>
 </div>
 </content>
<link rel="alternate" href="emacs_recentf.html"/>
</entry>

<entry>
<title>emacs conference, live, right now</title>
<id>tag:xahlee.org,2013-03-30:182207</id>
<updated>2013-03-30T11:22:07-07:00</updated>
<summary>news</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>emacs conference. live. right now, Steve Yegge speaking thru video hangout. <a class="sorc" href="http://live.forwardtechnology.co.uk/" data-accessed="2013-03-30">http://live.forwardtechnology.co.uk/</a></p>

<p>here's the official website, with speaker schedule. <a class="sorc" href="http://emacsconf.org/" data-accessed="2013-03-30">http://emacsconf.org/</a></p>
 </div>
 </content>
<link rel="alternate" href="http://live.forwardtechnology.co.uk/"/>
</entry>

<entry>
<title>new version of emacs tutorial</title>
<id>tag:xahlee.org,2013-03-30:062828</id>
<updated>2013-03-29T23:28:28-07:00</updated>
<summary>news</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>a new version of my emacs tutorial is out.
<a href="buy_xah_emacs_tutorial.html">Buy Xah Emacs Tutorial</a>.
Thank you. For those who bought it before, i'm sending the new version out.
</p>
 </div>
 </content>
<link rel="alternate" href="buy_xah_emacs_tutorial.html"/>
</entry>

<entry>
<title>todo list</title>
<id>tag:xahlee.org,2013-03-29:173517</id>
<updated>2013-03-29T10:35:17-07:00</updated>
<summary>humor</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<figure>
<img src="i/todo_list_crossout_nothing.jpg" alt="todo list crossout nothing" width="500" height="376" />
<figcaption>source: <a href="http://en.wikipedia.org/wiki/SpongeBob_SquarePants">SpongeBob SquarePants</a> cartoon.</figcaption>
</figure>

<p>you can use <a href="emacs_outline.html">org-mode for todo</a></p>

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

<entry>
<title>Emacs: Copy/Cut Current Line If No Selection</title>
<id>tag:xahlee.org,2013-03-28:230307</id>
<updated>2013-03-28T16:03:07-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>updated. <a href="emacs_copy_cut_current_line.html">Emacs: Copy/Cut Current Line If No Selection</a></p>
 </div>
 </content>
<link rel="alternate" href="emacs_copy_cut_current_line.html"/>
</entry>

<entry>
<title>Emacs Lisp: make-backup</title>
<id>tag:xahlee.org,2013-03-28:173120</id>
<updated>2013-03-28T10:31:20-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>tip from last year, now on its own page. <a href="elisp_make-backup.html">Emacs Lisp: make-backup</a></p>
 </div>
 </content>
<link rel="alternate" href="elisp_make-backup.html"/>
</entry>

<entry>
<title>Using Voice to Code Faster Than Keyboard 📺</title>
<id>tag:xahlee.org,2013-03-27:162820</id>
<updated>2013-03-27T09:28:20-07:00</updated>
<summary>video presentation</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="using_voice_to_code.html">Using Voice to Code Faster Than Keyboard 📺</a></p>
 </div>
 </content>
<link rel="alternate" href="using_voice_to_code.html"/>
</entry>

<entry>
<title>sacha chua interviews org-mode creator Carsten Dominik</title>
<id>tag:xahlee.org,2013-03-26:183741</id>
<updated>2013-03-26T11:37:41-07:00</updated>
<summary>news</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">

<p>sacha chua, the famous female emacs hacker, (video) interviews the org-mode creator Carsten Dominik. 1 hour long. Fun to watch.
<a class="sorc" href="http://sachachua.com/blog/2013/03/emacs-chat-carsten-dominik/" data-accessed="2013-03-26">http://sachachua.com/blog/2013/03/emacs-chat-carsten-dominik/</a></p>

<p>(via <a class="sorc" href="http://irreal.org/blog/?p=1823" data-accessed="2013-03-26">jcs</a>)</p>

<div class="rltd">
<ul>
<li><a href="emacs_outline.html">Emacs: org-mode Basics, Writing Outline</a></li>
</ul>
</div>

 </div>
 </content>
<link rel="alternate" href="http://sachachua.com/blog/2013/03/emacs-chat-carsten-dominik/"/>
</entry>

<entry>
<title>Short Summery of My Typing ＆ RSI Experience: 1992 〜 2013</title>
<id>tag:xahlee.org,2013-03-26:174556</id>
<updated>2013-03-26T10:45:56-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="xah_keyboarding_RSI_experience.html">Short Summery of My Typing ＆ RSI Experience: 1992 〜 2013</a></p>

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

<entry>
<title>Emacs Lisp: Refactoring, Move Code to Files</title>
<id>tag:xahlee.org,2013-03-25:164908</id>
<updated>2013-03-25T09:49:08-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>on its own page. <a href="elisp_move_code_to_files.html">Emacs Lisp: Refactoring, Move Code to Files</a></p>
 </div>
 </content>
<link rel="alternate" href="elisp_move_code_to_files.html"/>
</entry>

<entry>
<title>Microsoft's new keyboard</title>
<id>tag:xahlee.org,2013-03-24:200940</id>
<updated>2013-03-24T13:09:40-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="http://xahlee.info/kbd/Microsoft_Sculpt_Comfort_keyboard.html">Microsoft Sculpt Comfort Keyboard</a>. <kbd>Space</kbd> bar is now split into a <kbd>⌫ Backspace</kbd> key.</p>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.info/kbd/Microsoft_Sculpt_Comfort_keyboard.html"/>
</entry>

<entry>
<title>Emacs Project Poll 2013-03-23</title>
<id>tag:xahlee.org,2013-03-24:041400</id>
<updated>2013-03-23T21:14:00-07:00</updated>
<summary>poll</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="../misc/emacs_project_poll_2013-03-23.html">Emacs Project Poll 2013-03-23</a></p>
 </div>
 </content>
<link rel="alternate" href="../misc/emacs_project_poll_2013-03-23.html"/>
</entry>

<entry>
<title>inline doc links to elisp manual</title>
<id>tag:xahlee.org,2013-03-23:161753</id>
<updated>2013-03-23T09:17:53-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">

<article>
<div class="date-α"><time>2013-03-23</time></div>

<p>Emacs 24 added a new feature. Some function's inline doc now has a link to elisp manual. For example, call <var class="εf">describe-variable</var> on “font-lock-defaults”. Excerpt:</p>

<pre class="output">
font-lock-defaults is a variable defined in `font-core.el'.

…

(See also Info node `(elisp)Font Lock Basics'.)

…</pre>

<p>see also <a href="emacs24_features.html">New Features in Emacs 24</a> and <a href="inline_doc.html">Emacs Lisp: Inline Docstring Markup</a>.</p>

<p>actually, not sure this is new in emacs 24. I sure hope every function's inline doc links to elisp manual.</p>

<p>anyhow, you could easily find the elisp doc yourself. See <a href="elisp_function_eval_and_doc_lookup.html">Emacs: Finding Functions and Documentation Lookup</a>. For elisp coders, you might define a advice so that <var class="εf">describe-function</var> will always have a link at bottom to elisp manual.</p>

</article>

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

<entry>
<title>Tech Humor: Apache vs Node.js vs NGINX 📺</title>
<id>tag:xahlee.org,2013-03-23:041303</id>
<updated>2013-03-22T21:13:03-07:00</updated>
<summary>humor</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="http://xahlee.info/w/apache_nodejs_nginx.html">Tech Humor: Apache vs Node.js vs NGINX 📺</a> The relevance of lisp is the climax.</p>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.info/w/apache_nodejs_nginx.html"/>
</entry>

<entry>
<title>Emacs Lisp: Writing a image-linkify Function</title>
<id>tag:xahlee.org,2013-03-22:195515</id>
<updated>2013-03-22T12:55:15-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>old page, one of my earliest tutorial in 2007, updated. <a href="elisp_image_tag.html">Emacs Lisp: Writing a image-linkify Function</a>. The updating process usually involves removing verbiage and self-appraisal, and removing learning thought-flow.</p>
 </div>
 </content>
<link rel="alternate" href="elisp_image_tag.html"/>
</entry>

<entry>
<title>Sublime Text 2 vs Vim</title>
<id>tag:xahlee.org,2013-03-21:232234</id>
<updated>2013-03-21T16:22:34-07:00</updated>
<summary>link</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>got a kick out of reading this. 〔<cite>Just Use Sublime Text “Sublime Text 2 vs Vim”</cite> <time>2013-03-16</time> By Andrew Ray. @ <a class="sorc" href="http://delvarworld.github.com/blog/2013/03/16/just-use-sublime-text/" data-accessed="2013-03-21">delvarworld.github.com…</a>〕</p>
 </div>
 </content>
<link rel="alternate" href="http://delvarworld.github.com/blog/2013/03/16/just-use-sublime-text/"/>
</entry>

<entry>
<title>Emacs Rocks on Paredit</title>
<id>tag:xahlee.org,2013-03-21:222517</id>
<updated>2013-03-21T15:25:17-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="../misc/emacs_rocks_paredit.html">Emacs Rocks on Paredit</a></p>
 </div>
 </content>
<link rel="alternate" href="../misc/emacs_rocks_paredit.html"/>
</entry>

<entry>
<title>ErgoEmacs home page update and new build</title>
<id>tag:xahlee.org,2013-03-21:183223</id>
<updated>2013-03-21T11:32:23-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>slighly updated the home page of ErgoEmacs at <a href="../index.html">ErgoEmacs</a>.
Window programing guru <a class="sorc" href="http://www.davidcapello.com.ar/" data-accessed="2012-09-21">David Capello</a> recently created a new build of ErgoEmacs app for Microsoft Windows. The download link is at the home page, or here <a class="sorc" href="https://code.google.com/p/ergoemacs/downloads/list" data-accessed="2013-03-21">https://code.google.com/p/ergoemacs/downloads/list</a>.
</p>
 </div>
 </content>
<link rel="alternate" href="../index.html"/>
</entry>

<entry>
<title>Xah Emacs Tutorial, minor new look</title>
<id>tag:xahlee.org,2013-03-21:075319</id>
<updated>2013-03-21T00:53:19-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>got a facelift. <a href="emacs.html">Xah Emacs Tutorial</a></p>
 </div>
 </content>
<link rel="alternate" href="emacs.html"/>
</entry>

<entry>
<title>Commodore 64 keyboard</title>
<id>tag:xahlee.org,2013-03-21:075211</id>
<updated>2013-03-21T00:52:11-07:00</updated>
<summary>info</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>added a photo of Commodore 64 keyboard. <a href="http://xahlee.info/kbd/keyboard_ctrl_vs_capslock_position.html">Keyboard: Control vs Capslock Position</a></p>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.info/kbd/keyboard_ctrl_vs_capslock_position.html"/>
</entry>

<entry>
<title>emacs: open file in external app</title>
<id>tag:xahlee.org,2013-03-21:000530</id>
<updated>2013-03-20T17:05:30-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="emacs_dired_open_file_in_ext_apps.html">Emacs Dired: Open File in External App</a>.  Code updated recently. If you've copied this code before, be sure to update.</p>
 </div>
 </content>
<link rel="alternate" href="emacs_dired_open_file_in_ext_apps.html"/>
</entry>

<entry>
<title>Unicode rhapsody: symbols to represent “emacs lisp”</title>
<id>tag:xahlee.org,2013-03-18:135702</id>
<updated>2013-03-18T06:57:02-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<article>
<div class="date-α"><time>2013-03-18</time></div>

<h3>Unicode Rhapsody: Symbols to Represent “emacs lisp”</h3>

<p>for Unicode freaks. Found symbols to represent emacs lisp <mark class="unicode">ε</mark> <mark class="unicode">ℓ</mark>. In normal text, it looks like this “εℓ”. Depending on what browser and OS you are using, it may look beautiful or ugly. Alternatively, use scripted “e” <mark class="unicode">ℯ</mark>. ⁖ ℯℓ.</p>

<p>the best way to setup to type them is emacs abbrev system.
(☛ <a href="emacs_abbrev_mode.html">Using Emacs's Abbrev Mode for Abbreviation</a>)
So, when you type “el”, it automatically becomes “εℓ”.
(you can see my current abbrevs at <a class="sorc" href="https://github.com/xahlee/xah_emacs_init" data-accessed="2013-03-18">https://github.com/xahlee/xah_emacs_init</a>. (it changes about every week.))
</p>

<p>likewise, “ε” can represent “emacs” in a pinch, if you want your writing to become cryptic and symbolic logic like, like i do. 😎</p>

<p>though, i can't help but feel something is missing. the scripted “el” is kinda boring. Maybe we need to add a gnu head or something?  Though, there's no gnu but ox and water buffalo and ram and goat.  (☛ <a href="http://xahlee.info/comp/unicode_animals.html">Unicode Animal ＆ Insect Icons 🐭 🐮 🐍 🐵 🐞</a>) </p>

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

<entry>
<title>How to Write a Emacs Major Mode for Syntax Coloring</title>
<id>tag:xahlee.org,2013-03-18:132040</id>
<updated>2013-03-18T06:20:40-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>updated. <a href="elisp_syntax_coloring.html">How to Write a Emacs Major Mode for Syntax Coloring</a></p>
 </div>
 </content>
<link rel="alternate" href="elisp_syntax_coloring.html"/>
</entry>

<entry>
<title>Emacs Lisp “defvar” Doesn't Override</title>
<id>tag:xahlee.org,2013-03-18:123313</id>
<updated>2013-03-18T05:33:13-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="elisp_defvar_problem.html">Emacs Lisp “defvar” Doesn't Override</a></p>
 </div>
 </content>
<link rel="alternate" href="elisp_defvar_problem.html"/>
</entry>

<entry>
<title>roller bar pointing device</title>
<id>tag:xahlee.org,2013-03-17:140454</id>
<updated>2013-03-17T07:04:54-07:00</updated>
<summary>review</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>new fancy pointing device. <a href="http://xahlee.info/kbd/contour_roller_mouse.html">Contour Roller Mouse</a>.</p>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.info/kbd/contour_roller_mouse.html"/>
</entry>

<entry>
<title>elisp home page redesign</title>
<id>tag:xahlee.org,2013-03-17:133555</id>
<updated>2013-03-17T06:35:55-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<article><p>elisp home page got a facelift. <a href="elisp.html">Xah Emacs Lisp Tutorial</a></p>

<p>the design is flow based. Am not fond of fixed-layout.
(☛ <a href="http://xahlee.info/js/fixed-layout_flowed-layout.html">Web Design: Fixed-Layout vs Flowed-Layout</a>)
If you are learning CSS, checkout <a href="http://xahlee.info/js/css_index.html">CSS Tutorial</a>.</p>
</article>
 </div>
 </content>
<link rel="alternate" href="elisp.html"/>
</entry>

<entry>
<title>Annoying Invisible ZERO WIDTH NO-BREAK SPACE Character from Google Plus, Twitter</title>
<id>tag:xahlee.org,2013-03-16:203206</id>
<updated>2013-03-16T13:32:06-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>on its own page. <a href="http://xahlee.info/comp/invisible_BOM_char_from_Google_site.html">Annoying Invisible ZERO WIDTH NO-BREAK SPACE Character from Google Plus, Twitter</a> and how to use elisp to solve the problem.</p>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.info/comp/invisible_BOM_char_from_Google_site.html"/>
</entry>

<entry>
<title>Emacs Lisp: update-title</title>
<id>tag:xahlee.org,2013-03-16:120529</id>
<updated>2013-03-16T05:05:29-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>on its own page. <a href="elisp_update-html-title.html">Emacs Lisp: update-title</a></p>
 </div>
 </content>
<link rel="alternate" href="elisp_update-html-title.html"/>
</entry>

<entry>
<title>Emacs Lisp: delete-current-file</title>
<id>tag:xahlee.org,2013-03-15:130830</id>
<updated>2013-03-15T06:08:30-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>on its own page. <a href="elisp_delete-current-file.html">Emacs Lisp: delete-current-file</a></p>
 </div>
 </content>
<link rel="alternate" href="elisp_delete-current-file.html"/>
</entry>

<entry>
<title>TypeMatrix Keyboard Review</title>
<id>tag:xahlee.org,2013-03-15:111219</id>
<updated>2013-03-15T04:12:19-07:00</updated>
<summary>keyboard</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="http://xahlee.info/kbd/TypeMatrix_keyboard_review.html">TypeMatrix Keyboard Review</a></p>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.info/kbd/TypeMatrix_keyboard_review.html"/>
</entry>

<entry>
<title>Docstring Convention: Python vs Emacs Lisp</title>
<id>tag:xahlee.org,2013-03-15:075443</id>
<updated>2013-03-15T00:54:43-07:00</updated>
<summary>essay</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="http://xahlee.info/comp/python_vs_elisp_docstring_convention.html">Docstring Convention: Python vs Emacs Lisp</a></p>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.info/comp/python_vs_elisp_docstring_convention.html"/>
</entry>

<entry>
<title>new version of ErgoEmacs keybinding</title>
<id>tag:xahlee.org,2013-03-14:133015</id>
<updated>2013-03-14T06:30:15-07:00</updated>
<summary>news</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>new version of
<a href="ergonomic_emacs_keybinding.html">ErgoEmacs Keybinding</a>
is out, by one advanced emacs lisp hacker
Matthew L Fidler. He fixed lots hard problems and adding features.
You can get a idea what's been fixed/added here:
<a class="sorc" href="https://code.google.com/p/ergoemacs/source/list" data-accessed="2013-03-14">https://code.google.com/p/ergoemacs/source/list</a>.
You can also see his other emacs lisp projects here:
<a class="sorc" href="https://github.com/mlf176f2" data-accessed="2012-12-13">Matthew L Fidler</a>
</p>
 </div>
 </content>
<link rel="alternate" href="ergonomic_emacs_keybinding.html"/>
</entry>

<entry>
<title>Should You Type Space After Comma? and Tiny Space Bar on Japanese Keyboards</title>
<id>tag:xahlee.org,2013-03-14:111755</id>
<updated>2013-03-14T04:17:55-07:00</updated>
<summary>essay</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="http://xahlee.info/kbd/tiny_space_bar_japanese_keyboard.html">Should You Type Space After Comma? and Tiny Space Bar on Japanese Keyboards</a></p>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.info/kbd/tiny_space_bar_japanese_keyboard.html"/>
</entry>

<entry>
<title>Emacs Lisp: Python 2to3 Wrapper</title>
<id>tag:xahlee.org,2013-03-13:035631</id>
<updated>2013-03-12T20:56:31-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>on its own page. <a href="elisp_python_2to3.html">Emacs Lisp: Python 2to3 Wrapper</a></p>
 </div>
 </content>
<link rel="alternate" href="elisp_python_2to3.html"/>
</entry>

<entry>
<title>emacs 24.3 execute-extended-command in elisp</title>
<id>tag:xahlee.org,2013-03-12:143210</id>
<updated>2013-03-12T07:32:10-07:00</updated>
<summary>news</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<article>
<div class="date-α"><time>2013-03-12</time></div>

<p>in emacs 24.3, now <var class="εf">execute-extended-command</var> is now written in elisp, not C code. You can see the lisp code by calling <var class="εf">describe-function</var>.  The emacs 24.3 release notes didn't mention this. This change is made by Aaron S Hawley. Thanks Aaron.</p>

<ul>
<li><cite>Extending M-x in Emacs</cite> <time>2010-04-27</time> By Aaron S Hawley. @ <a class="sorc" href="http://aaronhawley.livejournal.com/26901.html" data-accessed="2013-03-12">aaronhawley.livejournal.com…</a></li>
<li><cite>Coding Emacs's M-x in Lisp</cite> <time>2009-09-08</time> By Aaron S Hawley. @ <a class="sorc" href="http://aaronhawley.livejournal.com/27573.html" data-accessed="2013-03-12">aaronhawley.livejournal.com…</a></li>
</ul>
</article>

 </div>
 </content>
<link rel="alternate" href="http://aaronhawley.livejournal.com/26901.html"/>
</entry>

<entry>
<title>new features in emacs 24.3</title>
<id>tag:xahlee.org,2013-03-11:204524</id>
<updated>2013-03-11T13:45:24-07:00</updated>
<summary>news</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<article>
<div class="date-α"><time>2013-03-11</time></div>

<p>One great new feature of emacs 24.3:</p>

<p>when you isearch a phrase (⁖ “some thing”) and if the 2 words happens to hard-wrapped into 2 lines, it'll still find it. In other words, emacs added a feature in isearch such that space can stand for a sequence of whitespaces.</p>

<p>This problem has been bugging me before, and i deeply blame it to the damages unix has done to computing. (☛ <a href="http://xahlee.info/UnixResource_dir/writ/hard-wrap.html">Programing: the Harm of Hard-wrapping Lines</a>) But at least now emacs works-around it.</p>

<p>you can read more about this feature by calling <var class="εf">view-emacs-news</var> then search for “isearch”.</p>

<p>Mickey of “Mastering Emacs” wrote a easy-to-understand doc of what's new in emacs 24.3. Check it out. 〔<cite>WHAT'S NEW IN EMACS 24.3</cite> <time>2013-03-11</time> By Mickey Petersen. @ <a class="sorc" href="http://www.masteringemacs.org/articles/2013/03/11/whats-new-emacs-24-3/" data-accessed="2013-03-11">www.masteringemacs.org…</a>〕</p>

</article>

 </div>
 </content>
<link rel="alternate" href="http://www.masteringemacs.org/articles/2013/03/11/whats-new-emacs-24-3/"/>
</entry>

<entry>
<title>Truly ErgoEmacs keyboard photo</title>
<id>tag:xahlee.org,2013-03-11:183124</id>
<updated>2013-03-11T11:31:24-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>a friend just got the Truly Ergonomic keyboard. Photo at <a class="sorc" href="http://www.flickr.com/photos/to1ne/8549811926/" data-accessed="2013-03-11">http://www.flickr.com/photos/to1ne/8549811926/</a></p>

<p>if you gonna buy it, let me know too! Also, tell them Xah send you. Thanks.</p>
 </div>
 </content>
<link rel="alternate" href="http://www.flickr.com/photos/to1ne/8549811926/"/>
</entry>

<entry>
<title>emacs 24.3 released</title>
<id>tag:xahlee.org,2013-03-11:082621</id>
<updated>2013-03-11T01:26:21-07:00</updated>
<summary>news</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<article>
<div class="date-α"><time>2013-03-11</time></div>

<p>emacs 24.3 is out. Download at:</p>

<ul>
<li><a class="sorc" href="http://ftp.gnu.org/gnu/emacs/emacs-24.3.tar.xz" data-accessed="2013-03-11">http://ftp.gnu.org/gnu/emacs/emacs-24.3.tar.xz</a></li>
<li><a class="sorc" href="http://ftp.gnu.org/gnu/emacs/emacs-24.3.tar.gz" data-accessed="2013-03-11">http://ftp.gnu.org/gnu/emacs/emacs-24.3.tar.gz</a></li>
</ul>

<p>release notes: <a class="sorc" href="http://www.gnu.org/software/emacs/NEWS.24.3" data-accessed="2013-03-11">http://www.gnu.org/software/emacs/NEWS.24.3</a></p>

<p>if you don't know how to compile on linux, see
<a href="building_emacs_on_linux.html">Building Emacs on Linux — a Guide</a></p>
</article>
 </div>
 </content>
<link rel="alternate" href="building_emacs_on_linux.html"/>
</entry>

<entry>
<title>unicode symbols JavaScript app</title>
<id>tag:xahlee.org,2013-03-10:143454</id>
<updated>2013-03-10T07:34:54-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>wrote a JavaScript app. Go to any Unicode gallery here: <a href="http://xahlee.info/comp/unicode_index.html">Unicode Symbology ☸ ⚕ ☯ ∑ ∞ © § ♀ ♂ ♥ ☺</a>.  Mouse hover or click on a character to see its Unicode name.</p>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.info/comp/unicode_index.html"/>
</entry>

<entry>
<title>Emacs: Rename Files Interactively by Pattern (regex; wdired)</title>
<id>tag:xahlee.org,2013-03-10:140900</id>
<updated>2013-03-10T07:09:00-07:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>very useful, if you haven't used yet. <a href="rename_file_pattern.html">Emacs: Rename Files Interactively by Pattern (regex; wdired)</a></p>
 </div>
 </content>
<link rel="alternate" href="rename_file_pattern.html"/>
</entry>

<entry>
<title>keyboard layouts fight: qwpry entered the fray</title>
<id>tag:xahlee.org,2013-03-09:113046</id>
<updated>2013-03-09T03:30:46-08:00</updated>
<summary>news</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<article>
<div class="date-α"><time>2013-03-09</time></div>

<p>on the keyboard layout front, there's a new layout, the qwpr. See <a href="http://xahlee.info/kbd/qwpr_keyboard_layout.html">qwpr Keyboard Layout</a></p>

<p>also, the Workman layout has vastly improved home page, plus now a forum. <a class="sorc" href="http://www.workmanlayout.com/" data-accessed="2013-03-09">http://www.workmanlayout.com/</a></p>

<p>if you are not familiar with all these, see: <a href="http://xahlee.info/kbd/dvorak_and_all_keyboard_layouts.html">Keyboard Layouts Fight! Dvorak, Maltron, Colemak, NEO, Bépo, Turkish-F, …</a> (updated with images)</p>

</article>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.info/kbd/qwpr_keyboard_layout.html"/>
</entry>

<entry>
<title>emacs global-set-key macro bug.</title>
<id>tag:xahlee.org,2013-03-09:091633</id>
<updated>2013-03-09T01:16:33-08:00</updated>
<summary>emacs bug</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<article>
<p>emacs global-set-key macro bug.</p>

<p>The following doesn't work.</p>

<pre class="elisp">
(global-set-key (kbd <span class="string">"&lt;menu&gt; u SPC"</span>) <span class="string">" "</span>) <span class="comment-delimiter">; </span><span class="comment">insert non-breaking space</span></pre>

<p>but this works:</p>

<pre class="elisp">
(global-set-key (kbd <span class="string">"&lt;menu&gt; u SPC"</span>) (<span class="keyword">lambda</span> () (interactive) (insert <span class="string">" "</span>))) <span class="comment-delimiter">; </span><span class="comment">insert non-breaking space</span></pre>

<p>GNU Emacs 24.2.1 (i686-pc-linux-gnu, GTK+ Version 2.24.10) of 2013-02-04 on xah-p6813w
ErgoEmacs distribution 2.0.0</p>

</article>

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

<entry>
<title>vc-annotate</title>
<id>tag:xahlee.org,2013-03-07:154653</id>
<updated>2013-03-07T07:46:53-08:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>learned a great command <var class="εf">vc-annotate</var> from Jon's blog. See:〔<cite>vc-annotate</cite> <time>2013-03-07</time> By jcs. @ <a class="sorc" href="http://irreal.org/blog/?p=1769" data-accessed="2013-03-07">irreal.org…</a>〕</p>
 </div>
 </content>
<link rel="alternate" href="http://irreal.org/blog/?p=1769"/>
</entry>

<entry>
<title>Emacs: Personal Keybinding, Habit, Muscle Memory, Incompatible Key Sets</title>
<id>tag:xahlee.org,2013-03-06:064548</id>
<updated>2013-03-05T22:45:48-08:00</updated>
<summary>essay</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<article>

<h3>Emacs: Personal Keybinding, Habit, Muscle Memory, Incompatible Key Sets</h3>

<p>when you use your personal key for about 2 months, it becomes muscle memory. Just as people who work among {Windows, Mac, Linux}, or switch between {emacs/bash, browser, photoshop}.</p>

<p>you'd unconsciously learn to adopt the different systems. Though, sometimes some error key press still happen. e.g. on the Mac, emacs copy 【<kbd>Alt</kbd>+<kbd>w</kbd>】 is prone to close a window — very painful. So, when i used to use default emacs keys, i developed a habit to copy by 【<kbd>⎋ Esc</kbd> <kbd>w</kbd>】.</p>

<p>ideally, all systems should use the same key system, but that's ideal. haha.</p>

<p>sometimes i read people who reviewed ErgoEmacs keybinding and liked it, but is reserved about using it, because it's another set to learn, creating clash with bash. But the fact is, one already is exposed to so many different systems, one just adopt. (btw, current version of ErgoEmacs can generate keysets for bash or AutoHotkey.)</p>

<p>even web browser, doesn't agree on keys, within the same OS. e.g the keys to switch tabs is different on different browser, and few others. Same browser on diff OS also disagree on keys. ⁖ in Chrome, go back is <kbd>⌫ Backspace</kbd> on Windows, but 【<kbd>Alt</kbd>+<kbd>←</kbd>】 in Linux.</p>

<p>then, even KDE and Gnome don't agree on many keys. What can you do?</p>
</article>

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

<entry>
<title>Google plus and twitter</title>
<id>tag:xahlee.org,2013-03-06:063403</id>
<updated>2013-03-05T22:34:03-08:00</updated>
<summary>info</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>i post frequently on Google Plus at <a class="sorc" href="https://plus.google.com/113859563190964307534/" data-accessed="2013-03-05">ErgoEmacs</a>. I like g+. It's very convenient for small tips and chat. So, you might give it a try.
Also, i use twitter. Emacs related are posted to <a class="sorc" href="https://twitter.com/ErgoEmacs" data-accessed="2013-03-05">ErgoEmacs</a>. So, if you want to quick contact or ask questions, follow. Thanks.</p>
 </div>
 </content>
<link rel="alternate" href="https:/plus.google.com/113859563190964307534/"/>
</entry>

<entry>
<title>emacs trick: delete-indentation</title>
<id>tag:xahlee.org,2013-03-04:224447</id>
<updated>2013-03-04T14:44:47-08:00</updated>
<summary>tip</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>emacs. learned this new trick. <var class="εf">delete-indentation</var>. default key is 【<kbd>Alt</kbd>+<kbd>^</kbd>】. Seems it'll be very useful.  (thx to <a class="sorc" href="https://plus.google.com/114120249105253063821/posts" data-accessed="2013-03-04">Alexander Gallego</a>)</p>
 </div>
 </content>
<link rel="alternate" href="https:/plus.google.com/114120249105253063821/posts"/>
</entry>

<entry>
<title>symbology</title>
<id>tag:xahlee.org,2013-03-03:115319</id>
<updated>2013-03-03T03:53:19-08:00</updated>
<summary>Unicode news</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p><b class="b1">u ♥ (λ ∨ ∑)? 👀 𝔰𝔶𝔪𝔟𝔬𝔩𝔬𝔤𝔶</b> @ <a href="http://xahlee.info/comp/blog.html">Xah's Programing Blog</a>.</p>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.info/comp/blog.html"/>
</entry>

<entry>
<title>all i ever wanted to know about keyboard, i didn't learn in kindergarten</title>
<id>tag:xahlee.org,2013-03-03:110713</id>
<updated>2013-03-03T03:07:13-08:00</updated>
<summary>gallery</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>all i ever wanted to know about keyboard, i didn't learn in kindergarten.  Three hundred fourty images of keyboards.  <a href="http://xahlee.info/kbd/keyboard_image_index.html">Keyboard Image Index</a></p>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.info/kbd/keyboard_image_index.html"/>
</entry>

<entry>
<title>Apple Computer Keyboards Review</title>
<id>tag:xahlee.org,2013-03-02:024157</id>
<updated>2013-03-01T18:41:57-08:00</updated>
<summary>info</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<figure>
<img src="http://xahlee.info/kbd/tn/i/kb/Apple_iMac_Keyboard_A1242.jpg" alt="Apple iMac Keyboard A1242" width="297" height="135" />
<figcaption>
updated.
<a href="http://xahlee.info/kbd/keyboards_Apple.html">Apple Computer Keyboards Review</a>
</figcaption>
</figure>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.info/kbd/keyboards_Apple.html"/>
</entry>

<entry>
<title>emacs packages update: xmsi-mode, ergoemacs-mode</title>
<id>tag:xahlee.org,2013-03-02:014946</id>
<updated>2013-03-01T17:49:46-08:00</updated>
<summary>news</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<article>

<p>lots more update: <a href="xmsi-math-symbols-input.html">Emacs Unicode Math Symbols Input Mode (xmsi-mode)</a>. You can get it either by sending me $3 paypal (to xah@xahlee.org) or on ErgoEmacs repository.</p>

<p>also, there's more updates and fixes and features on the <a href="ergonomic_emacs_keybinding.html">ErgoEmacs Keybinding</a> minor mode, by <a class="sorc" href="https://github.com/mlf176f2" data-accessed="2012-12-13">Matthew L Fidler</a>. Get it on MELPA.</p>

</article>
 </div>
 </content>
<link rel="alternate" href="xmsi-math-symbols-input.html"/>
</entry>

<entry>
<title>Kinesis has a new generation of their split keyboard, Freestyle 2.</title>
<id>tag:xahlee.org,2013-03-01:091029</id>
<updated>2013-03-01T01:10:29-08:00</updated>
<summary>news; info</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>Kinesis has a new generation of their split keyboard, Freestyle 2. <a href="http://xahlee.info/kbd/split_keyboards.html">2-Piece Split Keyboards</a></p>
 </div>
 </content>
<link rel="alternate" href="http://xahlee.info/kbd/split_keyboards.html"/>
</entry>

<entry>
<title>Emacs Lisp Multi-Pair Find＆Replace Applications</title>
<id>tag:xahlee.org,2013-03-01:083808</id>
<updated>2013-03-01T00:38:08-08:00</updated>
<summary>tutorial</summary>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml">
<p>updated. <a href="elisp_find_replace_applications.html">Emacs Lisp Multi-Pair Find＆Replace Applications</a></p>
 </div>
 </content>
<link rel="alternate" href="elisp_find_replace_applications.html"/>
</entry>

</feed>
