<?xml version="1.0"?>
<rss version="2.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:yt="http://gdata.youtube.com/schemas/2007" xmlns:atom="http://www.w3.org/2005/Atom">
   <channel>
      <title>A Better Planet Emacs</title>
      <description>Remove posts that are not related to emacs and add more emacs blogs</description>
      <link>http://pipes.yahoo.com/pipes/pipe.info?_id=41ff1c5d2d98c068757bc2648c93e23e</link>
      <atom:link rel="next" href="http://pipes.yahoo.com/pipes/pipe.run?_id=41ff1c5d2d98c068757bc2648c93e23e&amp;_render=rss&amp;page=2"/>
      <pubDate>Mon, 20 May 2013 02:31:45 +0000</pubDate>
      <generator>http://pipes.yahoo.com/pipes/</generator>
      <item>
         <title>sachachua: How to Learn Emacs: A Hand-drawn One-pager for Beginners</title>
         <link>http://sachachua.com/blog/2013/05/how-to-learn-emacs-a-hand-drawn-one-pager-for-beginners/</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://sachachua.com/blog/wp-content/uploads/2013/05/How-to-Learn-Emacs8.png&quot;&gt;&lt;br /&gt;
&lt;/a&gt;I thought I’d draw some of the things that people often ask me about or that would help people learn Emacs (and enjoy it). You can click on the image for a larger version that you can scroll through or download. It should print all right on 8.5×11″ paper (landscape) if you want to keep it around as a reminder. Might even work at 11×17″. =)&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://sachachua.com/blog/wp-content/uploads/2013/05/How-to-Learn-Emacs8.png&quot;&gt;&lt;img alt=&quot;How to Learn Emacs&quot; height=&quot;480&quot; src=&quot;http://sachachua.com/blog/wp-content/uploads/2013/05/How-to-Learn-Emacs8-640x480.png&quot; width=&quot;640&quot;/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You can find the image on &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://imgur.com/m0WsEvH&quot;&gt;Imgur&lt;/a&gt; and &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/photos/sachac/8748351168/sizes/o/in/photostream/&quot;&gt;Flickr&lt;/a&gt; too.&lt;/p&gt;
&lt;p&gt;Feel free to share, reuse, or modify this under the Creative Commons Attribution Licence. Enjoy!&lt;/p&gt;
&lt;p&gt;Possibly counterintuitive point: It’s good to learn at least the basics of Vim. Despite the perception of a “Emacs vs. Vi” holy war (one of the classic battles in computer science), it makes sense to know both editors especially if you work with people who use Vi a lot. Know enough Vi to find your way around, and then learn how to customize Emacs to fit you to a tee. That way, you’ll avoid the pressure of not being able to work well with your team or your infrastructure, and you’ll have the space to explore Emacs. =) Emacs is totally awesome.&lt;/p&gt;
&lt;p&gt;Need help with Emacs? Feel free to leave a comment or &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://sachachua.com/blog/contact&quot;&gt;get in touch with me&lt;/a&gt;. I’m often in the #emacs channel on irc.freenode.net , and I also occasionally schedule time to &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://sachachua.com/blog/2013/04/emacs-chat-intro/&quot;&gt;help people one-on-one&lt;/a&gt;. Also, the Emacs community (mailing lists, newsgroups, IRC channel) can be wonderful, so definitely reach out to them too. =)&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Meta discussion: &lt;/em&gt;How can I make this even better? What else would you like me to draw a guide for? I’d love to hear your thoughts! Also, thanks to dash, nicferrier, fledermaus, ijp, hypnocat, Fuco, macrobat, taylanub, axrfnu, Sebboh, thorkill, jave_, jrm, and the rest of #emacs for suggestions and feedback!&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Update 2013-05-18: &lt;/em&gt;Check out the conversations on &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;https://news.ycombinator.com/item?id=5728296&quot;&gt;Hacker News&lt;/a&gt; and &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.reddit.com/r/emacs/comments/1ejdu6/how_to_learn_emacs_a_handdrawn_onepager_for/&quot;&gt;Reddit&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Read the original or check out the comments on: &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://sachachua.com/blog/2013/05/how-to-learn-emacs-a-hand-drawn-one-pager-for-beginners/&quot;&gt;How to Learn Emacs: A Hand-drawn One-pager for Beginners&lt;/a&gt; (Sacha Chua's blog)&lt;/p&gt;</description>
         <author>Sacha Chua</author>
         <guid isPermaLink="false">http://sachachua.com/blog/?p=24836</guid>
         <pubDate>Fri, 17 May 2013 19:45:00 +0000</pubDate>
      </item>
      <item>
         <title>Irreal: Key-Chord Mode</title>
         <link>http://irreal.org/blog/?p=1927</link>
         <description>&lt;p&gt;One of my favorite &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://emacsrocks.com/&quot;&gt;Emacs Rocks!&lt;/a&gt; videos is #7, &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://emacsrocks.com/e07.html&quot;&gt;Mind Exploded&lt;/a&gt;, in which Sveen talks about &lt;code&gt;key-chord mode&lt;/code&gt;. Right after I saw the video, I loaded &lt;code&gt;key-chord-mode&lt;/code&gt;, &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://irreal.org/blog/?p=344&quot;&gt;wrote&lt;/a&gt; about it, and have been using it ever since. I’m mentioning it again because Eric Ritz recently &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://ericjmritz.wordpress.com/2013/05/10/key-chord-mode-for-gnu-emacs/&quot;&gt;posted&lt;/a&gt; about it. &lt;/p&gt;
&lt;p&gt; Ritz’s post is an exhortation for Emacs users to give &lt;code&gt;key-chord-mode&lt;/code&gt; a try. He mentions how he uses it and suggests some strategies for picking chords. You may or may not find his use cases and suggested chords compelling but you’re almost sure to find the mode itself very useful. You can see my own use cases and chords in my &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://irreal.org/blog/?p=344&quot;&gt;previous post&lt;/a&gt; about it and, of course, you should watch the Emacs Rocks! video for some more. &lt;/p&gt;
&lt;p&gt; Although some Emacs users apparently are put off by the idea of key chords, I find the idea a huge win. I originally mapped &lt;code&gt;jump-char-forward&lt;/code&gt; to 【&lt;kbd&gt;Hyper&lt;/kbd&gt;+&lt;kbd&gt;f&lt;/kbd&gt;】 and still maintain that mapping but after Sveen’s video I also mapped it to 【&lt;kbd&gt;f&lt;/kbd&gt; &lt;kbd&gt;g&lt;/kbd&gt;】, the chord he suggested. I can’t remember the last time I used 【&lt;kbd&gt;Hyper&lt;/kbd&gt;+&lt;kbd&gt;f&lt;/kbd&gt;】 because the chord is so much easier, faster, and natural. &lt;/p&gt;</description>
         <author>jcs</author>
         <guid isPermaLink="false">http://irreal.org/blog/?p=1927</guid>
         <pubDate>Fri, 17 May 2013 10:52:53 +0000</pubDate>
      </item>
      <item>
         <title>Giorgos Keramidas: Powerful Regular Expressions Combined with Lisp in Emacs</title>
         <link>http://keramida.wordpress.com/2013/05/16/powerful-regular-expressions-combined-with-lisp-in-emacs/</link>
         <description>&lt;p&gt;Regular expressions are a powerful text transformation tool. Any UNIX geek will tell you that. It’s so deeply ingrained into our culture, that &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://xkcd.com/208/&quot; title=&quot;XKCD: Everybody stand back! I know regular expressions.&quot;&gt;we even make jokes about it&lt;/a&gt;. Another thing that we also love is having a powerful extension language at hand, and Lisp is one of the most powerful extension languages around (and of course, &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://xkcd.com/224/&quot; title=&quot;XKCD: The Language of the Universe&quot;&gt;we make jokes about that too&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Emacs, one of the most famous Lisp applications today, has for a while now the ability to combine both of these, to reach entirely new levels of usefulness.  Combining regular expressions and Lisp can do really magical things.&lt;/p&gt;
&lt;p&gt;An example that I recently used a few times is parsing &amp;amp; de-humanizing numbers in &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;https://github.com/dagwieers/dstat&quot; title=&quot;dstat project on Github&quot;&gt;dstat&lt;/a&gt; output.  The output of dstat includes numbers that are printed with a suffix, like ‘B’ for bytes, ‘k’ for kilobytes and ‘M’ for megabytes, e.g.:&lt;/p&gt;
&lt;pre&gt;----system---- ----total-cpu-usage---- --net/eth0- -dsk/total- sda-
     time     |usr sys idl wai hiq siq| recv  send| read  writ|util
16-05 08:36:15|  2   3  96   0   0   0|  66B  178B|   0     0 |   0
16-05 08:36:16| 42  14  37   0   0   7|  92M 1268k|   0     0 |   0
16-05 08:36:17| 45  11  36   0   0   7|  76M 1135k|   0     0 |   0
16-05 08:36:18| 27  55   8   0   0  11|  67M  754k|   0    99M|79.6
16-05 08:36:19| 29  41  16   5   0  10| 113M 2079k|4096B   63M|59.6
16-05 08:36:20| 28  48  12   4   0   8|  58M  397k|   0    95M|76.0
16-05 08:36:21| 38  37  14   1   0  10| 114M 2620k|4096B   52M|23.2
16-05 08:36:22| 37  54   0   1   0   8|  76M 1506k|8192B   76M|33.6&lt;/pre&gt;
&lt;p&gt;So if you want to graph one of the columns, it’s useful to convert all the numbers in the same unit. Bytes would be nice in this case.&lt;/p&gt;
&lt;p&gt;Separating all columns with ‘|’ characters is a good start, so you can use e.g. a CSV-capable graphing tool, or even simple awk scripts to extract a specific column. ‘C-x r t’ can do that in Emacs, and you end up with something like this:&lt;/p&gt;
&lt;pre&gt;|     time     |cpu|cpu|cpu|cpu|cpu|cpu|eth0 |eth0 | disk| disk|sda-|
|     time     |usr|sys|idl|wai|hiq|siq| recv| send| read| writ|util|
|16-05 08:36:15|  2|  3| 96|  0|  0|  0|  66B| 178B|   0 |   0 |   0|
|16-05 08:36:16| 42| 14| 37|  0|  0|  7|  92M|1268k|   0 |   0 |   0|
|16-05 08:36:17| 45| 11| 36|  0|  0|  7|  76M|1135k|   0 |   0 |   0|
|16-05 08:36:18| 27| 55|  8|  0|  0| 11|  67M| 754k|   0 |  99M|79.6|
|16-05 08:36:19| 29| 41| 16|  5|  0| 10| 113M|2079k|4096B|  63M|59.6|
|16-05 08:36:20| 28| 48| 12|  4|  0|  8|  58M| 397k|   0 |  95M|76.0|
|16-05 08:36:21| 38| 37| 14|  1|  0| 10| 114M|2620k|4096B|  52M|23.2|
|16-05 08:36:22| 37| 54|  0|  1|  0|  8|  76M|1506k|8192B|  76M|33.6|&lt;/pre&gt;
&lt;p&gt;The leading and trailing ‘|’ characters are there so we can later use orgtbl-mode, an awesome table editing and realignment tool of Emacs.  Now to the really magical step: regular expressions and lisp working together.&lt;/p&gt;
&lt;p&gt;What we would like to do is convert text like “408B” to just “408″, text like “1268k” to the value of (1268 * 1024), and finally text like “67M” to the value of (67 * 1024 * 1024).  The first part is easy:&lt;/p&gt;
&lt;pre&gt;M-x replace-regexp RET &amp;#92;([0-9]+&amp;#92;)B RET &amp;#92;1 RET&lt;/pre&gt;
&lt;p&gt;This should just strip the “B” suffix from byte values.&lt;/p&gt;
&lt;p&gt;For the kilobyte and megabyte values what we would like is to be able to evaluate an arithmetic expression that involves &lt;code&gt;&amp;#92;1&lt;/code&gt;.  Something like “replace &lt;code&gt;&amp;#92;1&lt;/code&gt; with the value of &lt;code&gt;(expression &amp;#92;1)&lt;/code&gt;“.  This is possible in Emacs by prefixing the substitution pattern with &lt;code&gt;&amp;#92;,&lt;/code&gt;. This instructs Emacs to evaluate the rest of the substitution pattern as a Lisp expression, and use its string representation as the “real” substitution text.&lt;/p&gt;
&lt;p&gt;So if we match all numeric values that are suffixed by ‘k’, we can use &lt;code&gt;(string-to-number &amp;#92;1)&lt;/code&gt; to convert the matching digits to an integer, multiply by 1024 and insert the resulting value by using the following substitution pattern:&lt;/p&gt;
&lt;pre&gt;&amp;#92;,(* 1024 (string-to-number &amp;#92;1))&lt;/pre&gt;
&lt;p&gt;The full Emacs command would then become:&lt;/p&gt;
&lt;pre&gt;M-x replace-regexp RET &amp;#92;([0-9]+&amp;#92;)k RET &amp;#92;,(* 1024 (string-to-number &amp;#92;1)) RET&lt;/pre&gt;
&lt;p&gt;This, and the byte suffix removal, yield now the following text in our Emacs buffer:&lt;/p&gt;
&lt;pre&gt;|     time     |cpu|cpu|cpu|cpu|cpu|cpu|eth0 |eth0 | disk| disk|sda-|
|     time     |usr|sys|idl|wai|hiq|siq| recv| send| read| writ|util|
|16-05 08:36:15|  2|  3| 96|  0|  0|  0|  66| 178|   0 |   0 |   0|
|16-05 08:36:16| 42| 14| 37|  0|  0|  7|  92M|1298432|   0 |   0 |   0|
|16-05 08:36:17| 45| 11| 36|  0|  0|  7|  76M|1162240|   0 |   0 |   0|
|16-05 08:36:18| 27| 55|  8|  0|  0| 11|  67M| 772096|   0 |  99M|79.6|
|16-05 08:36:19| 29| 41| 16|  5|  0| 10| 113M|2128896|4096|  63M|59.6|
|16-05 08:36:20| 28| 48| 12|  4|  0|  8|  58M| 406528|   0 |  95M|76.0|
|16-05 08:36:21| 38| 37| 14|  1|  0| 10| 114M|2682880|4096|  52M|23.2|
|16-05 08:36:22| 37| 54|  0|  1|  0|  8|  76M|1542144|8192|  76M|33.6|&lt;/pre&gt;
&lt;p&gt;Note: Some of the columns are indeed not aligned very well. We’ll fix that later.  On to the megabyte conversion:&lt;/p&gt;
&lt;pre&gt;M-x replace-regexp RET &amp;#92;([0-9]+&amp;#92;)M RET &amp;#92;,(* 1024 1024 (string-to-number &amp;#92;1)) RET&lt;/pre&gt;
&lt;p&gt;Which produces a version that has no suffixes at all:&lt;/p&gt;
&lt;pre&gt;|     time     |cpu|cpu|cpu|cpu|cpu|cpu|eth0 |eth0 | disk| disk|sda-|
|     time     |usr|sys|idl|wai|hiq|siq| recv| send| read| writ|util|
|16-05 08:36:15|  2|  3| 96|  0|  0|  0|  66| 178|   0 |   0 |   0|
|16-05 08:36:16| 42| 14| 37|  0|  0|  7|  96468992|1298432|   0 |   0 |   0|
|16-05 08:36:17| 45| 11| 36|  0|  0|  7|  79691776|1162240|   0 |   0 |   0|
|16-05 08:36:18| 27| 55|  8|  0|  0| 11|  70254592| 772096|   0 |  103809024|79.6|
|16-05 08:36:19| 29| 41| 16|  5|  0| 10| 118489088|2128896|4096|  66060288|59.6|
|16-05 08:36:20| 28| 48| 12|  4|  0|  8|  60817408| 406528|   0 |  99614720|76.0|
|16-05 08:36:21| 38| 37| 14|  1|  0| 10| 119537664|2682880|4096|  54525952|23.2|
|16-05 08:36:22| 37| 54|  0|  1|  0|  8|  79691776|1542144|8192|  79691776|33.6|&lt;/pre&gt;
&lt;p&gt;Finally, to align everything in neat, pipe-separated columns, we enable &lt;code&gt;M-x orgtbl-mode&lt;/code&gt;, and type “C-c C-c” with the pointer somewhere inside the transformed dstat output.  The buffer now becomes something usable for pretty-much any graphing tool out there:&lt;/p&gt;
&lt;pre&gt;| time           | cpu | cpu | cpu | cpu | cpu | cpu |      eth0 |    eth0 |  disk |      disk | sda- |
| time           | usr | sys | idl | wai | hiq | siq |      recv |    send |  read |      writ | util |
| 16-05 08:36:15 |   2 |   3 |  96 |   0 |   0 |   0 |        66 |     178 |     0 |         0 |    0 |
| 16-05 08:36:16 |  42 |  14 |  37 |   0 |   0 |   7 |  96468992 | 1298432 |     0 |         0 |    0 |
| 16-05 08:36:17 |  45 |  11 |  36 |   0 |   0 |   7 |  79691776 | 1162240 |     0 |         0 |    0 |
| 16-05 08:36:18 |  27 |  55 |   8 |   0 |   0 |  11 |  70254592 |  772096 |     0 | 103809024 | 79.6 |
| 16-05 08:36:19 |  29 |  41 |  16 |   5 |   0 |  10 | 118489088 | 2128896 |  4096 |  66060288 | 59.6 |
| 16-05 08:36:20 |  28 |  48 |  12 |   4 |   0 |   8 |  60817408 |  406528 |     0 |  99614720 | 76.0 |
| 16-05 08:36:21 |  38 |  37 |  14 |   1 |   0 |  10 | 119537664 | 2682880 |  4096 |  54525952 | 23.2 |
| 16-05 08:36:22 |  37 |  54 |   0 |   1 |   0 |   8 |  79691776 | 1542144 |  8192 |  79691776 | 33.6 |&lt;/pre&gt;
&lt;p&gt;The trick of combining arbitrary Lisp expressions with regexp substitution patterns like &lt;code&gt;&amp;#92;1&lt;/code&gt;, &lt;code&gt;&amp;#92;2&lt;/code&gt; … &lt;code&gt;&amp;#92;9&lt;/code&gt; is something I have found immensely useful in Emacs. Now that you know how it works, I hope you can find even more amusing use-cases for it.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; The Emacs manual has &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.gnu.org/software/emacs/manual/html_node/emacs/Regexp-Replace.html&quot; title=&quot;Emacs Manual: Regexp Replace&quot;&gt;a few more useful examples of &lt;code&gt;&amp;#92;,&lt;/code&gt; in action&lt;/a&gt;, as pointed out by &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;https://twitter.com/tunixman&quot; title=&quot;Twitter: tunixman&quot;&gt;tunixman&lt;/a&gt; on Twitter.&lt;/p&gt;
&lt;br /&gt;Filed under: &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://keramida.wordpress.com/category/computers/&quot;&gt;Computers&lt;/a&gt;, &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://keramida.wordpress.com/category/emacs/&quot;&gt;Emacs&lt;/a&gt;, &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://keramida.wordpress.com/category/free-software/&quot;&gt;Free software&lt;/a&gt;, &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://keramida.wordpress.com/category/freebsd/&quot;&gt;FreeBSD&lt;/a&gt;, &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://keramida.wordpress.com/category/gnulinux/&quot;&gt;GNU/Linux&lt;/a&gt;, &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://keramida.wordpress.com/category/lisp/&quot;&gt;Lisp&lt;/a&gt;, &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://keramida.wordpress.com/category/open-source/&quot;&gt;Open source&lt;/a&gt;, &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://keramida.wordpress.com/category/programming/&quot;&gt;Programming&lt;/a&gt;, &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://keramida.wordpress.com/category/software/&quot;&gt;Software&lt;/a&gt; Tagged: &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://keramida.wordpress.com/tag/computers/&quot;&gt;Computers&lt;/a&gt;, &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://keramida.wordpress.com/tag/emacs/&quot;&gt;Emacs&lt;/a&gt;, &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://keramida.wordpress.com/tag/free-software/&quot;&gt;Free software&lt;/a&gt;, &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://keramida.wordpress.com/tag/freebsd/&quot;&gt;FreeBSD&lt;/a&gt;, &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://keramida.wordpress.com/tag/gnulinux/&quot;&gt;GNU/Linux&lt;/a&gt;, &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://keramida.wordpress.com/tag/lisp/&quot;&gt;Lisp&lt;/a&gt;, &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://keramida.wordpress.com/tag/open-source/&quot;&gt;Open source&lt;/a&gt;, &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://keramida.wordpress.com/tag/programming/&quot;&gt;Programming&lt;/a&gt;, &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://keramida.wordpress.com/tag/software/&quot;&gt;Software&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/keramida.wordpress.com/2244/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/keramida.wordpress.com/2244/&quot;/&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;1&quot; src=&quot;http://stats.wordpress.com/b.gif?host=keramida.wordpress.com&amp;amp;blog=118304&amp;amp;post=2244&amp;amp;subd=keramida&amp;amp;ref=&amp;amp;feed=1&quot; width=&quot;1&quot;/&gt;</description>
         <author>keramida</author>
         <guid isPermaLink="false">http://keramida.wordpress.com/?p=2244</guid>
         <pubDate>Thu, 16 May 2013 16:04:58 +0000</pubDate>
      </item>
      <item>
         <title>Phil Hagelberg: in which a turtle moves things forward</title>
         <link>http://technomancy.us/167</link>
         <description>&lt;p&gt;Recently on the Clojure mailing list someone
started &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;https://groups.google.com/group/clojure/browse_thread/thread/e6feafe15b0908d4&quot;&gt;an
interesting thread on what motivates you as a programmer&lt;/a&gt;. My
friend &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://nelsonmorris.net/&quot;&gt;Nelson Morris&lt;/a&gt;
responded as so:&lt;/p&gt;

&lt;blockquote&gt;Contributions and projects start off well, and energy might
  wane depending on time and life factors.  Even contributing to
  tools used by many of the members of the community like [Leiningen] and
  Clojars doesn't prevent it. What helps is direct involvement by
  someone else.&lt;/blockquote&gt;

&lt;p&gt;This really resonated with me because it emphasizes that people are
  more important than programs. For me sharing is the thing that
  makes programming even worth doing in the first place. So it got
  me thinking about different technologies and what kind of people
  they're good for helping.&lt;/p&gt;

&lt;p&gt;If you follow my writing it will be obvious that I enjoy working
  in Emacs and Clojure. While these are among the most powerful,
  flexible technologies I know of, collaborating with others on
  tools for Emacs and Clojure basically limits me to working with
  professional programmers, because both environments are very poor
  from a beginner's perspective. If I'm working solo or on a team of
  seasoned hackers, I'll definitely be most effective with
  Clojure. If my primary goal is to interact with the widest group
  of programmers possible, I would use Ruby as it's the most
  commonly-used language I can bring myself to
  use. But if I want to reach out to people who
  don't already spend all day thinking about functions and data
  structures, well that's another thing entirely.&lt;/p&gt;

&lt;p&gt;This is particularly relevant for me personally as a father. I'm
  taking an active role in the education of my sons, and of course I
  think technical literacy must be an important part of it. But when you
  look at how computers used in traditional educational settings,
  you're much more likely to see computers programming children than
  children programming computers. So I've been looking for ways to
  foster technical skills and encourage algorithmic thinking in
  engaging ways that can keep the attention of my five-year-old.&lt;/p&gt;

&lt;img align=&quot;left&quot; alt=&quot;scratch&quot; src=&quot;http://technomancy.us/i/scratch.jpg&quot; style=&quot;margin-left:0;&quot;/&gt;

&lt;p&gt;In the
  book &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.amazon.com/Mindstorms-Children-Computers-Powerful-Ideas/dp/0465046746&quot;&gt;Mindstorms&lt;/a&gt;,
  Seymour Papert describes the shift from concrete reasoning to
  formal reasoning as one of the main transitions children undergo
  as they learn to think like adults. One of the design goals of the
  Logo system he created was to provide transitional concepts to
  bridge the gap between the two.&lt;/p&gt;

&lt;p&gt;Children interact with Logo by giving commands to an onscreen
  object known as
  the &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;https://en.wikipedia.org/wiki/Turtle_graphics&quot;&gt;turtle&lt;/a&gt;.
  While the turtle lives in the abstract world of geometry comprised
  of points and lines, children are able to identify with it since
  they tell it to move in ways which they can relate to—it has
  a heading and position, and it turns and moves forward and
  backwards just like they do. Because the turtle's movements on the
  screen are isomorphic to their own physical movements, it gives
  them a model to help them grasp abstract geometrical concepts
  though they're only used to thinking in concrete terms. And
  &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;https://en.wikipedia.org/wiki/Jean_Piaget#Education:_Teaching_and_Learning&quot;&gt;Piagetian
  learning&lt;/a&gt;—ambient, natural learning which children are so
  adept at doing without study—is all a matter of building
  models of the world.&lt;/p&gt;

&lt;p&gt;Most people know Logo from its original triangle-turtle-centric
  incarnation, but in Mindstorms Papert describes Logo as more of an
  educational philosophy than any single program, language, or
  implementation. A more recent version of Logo
  is &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://scratch.mit.edu/&quot;&gt;Scratch&lt;/a&gt;, a drag-and-drop
  visual programming environment from MIT's Media Lab targeting
  school children. Since my older son is an early reader he's been
  able to construct simple scripts (with some guidance) for the
  characters within Scratch, watching them interact with each other
  and even in some
  cases &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;https://www.youtube.com/watch?v=vVRIryCOA50&quot;&gt;the
  outside world&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;While it's been lots of fun to come up with ideas and talk
  through how we'd bring them to life on the screen, one of the most
  rewarding parts is watching his problem-solving abilities
  develop. Papert talks about how children are often afraid to try
  things for fear of failure, but Scratch teaches that debugging is
  a normal part of making things work. Rather than &quot;does it work&quot;,
  the question becomes &quot;how can we make it work?&quot; This was
  demonstrated the other day (outside the context of Scratch) when
  he was putting together
  some &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://snapcircuits.net/&quot;&gt;Snap Circuits&lt;/a&gt;:&lt;/p&gt;

  

&lt;p&gt;Of course the goal is not to produce &quot;little programmers&quot;. It's
  primarily about developing the ability to think systematically,
  but it extends beyond that into getting them thinking about
  thinking itself. In some sense once they're in the habit of asking
  the right epistemological questions, the parent or teacher almost
  just needs to get out of the way and let them explore. At that
  point the process of discovering a topic &lt;i&gt;with&lt;/i&gt; someone is
  much more rewarding than telling facts &lt;i&gt;at&lt;/i&gt; them.&lt;/p&gt;</description>
         <author>Phil Hagelberg</author>
         <guid isPermaLink="false">tag:technomancy.us,2007:in%20which%20a%20turtle%20moves%20things%20forward</guid>
         <pubDate>Wed, 15 May 2013 18:09:44 +0000</pubDate>
      </item>
      <item>
         <title>Irreal: Emacs Hash Tables</title>
         <link>http://irreal.org/blog/?p=1925</link>
         <description>&lt;p&gt;One of the most useful data structures in Computer Science is the hash table. I’ve been using them for my entire career and have implemented close to a hundred instances in several languages. That’s not as necessary these days as most modern languages—and some not so modern languages such as Lisp—have them as a built-in data type. &lt;/p&gt;
&lt;p&gt; Happily, Elisp is one of those languages. If you’re not already familiar with the Emacs implementation of hash tables, you can get the details in the &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.gnu.org/software/emacs/manual/html_node/elisp/Hash-Tables.html#Hash-Tables&quot;&gt;manual&lt;/a&gt; (of course) but Xah Lee has an excellent &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://ergoemacs.org/emacs/elisp_hash_table.html&quot;&gt;overview&lt;/a&gt; that will get you up and running quickly. There’s not much to learn and hash tables are incredibly useful when you need a fast look up data structure so give Lee’s post a look and see if they can be useful to you. &lt;/p&gt;</description>
         <author>jcs</author>
         <guid isPermaLink="false">http://irreal.org/blog/?p=1925</guid>
         <pubDate>Wed, 15 May 2013 10:57:09 +0000</pubDate>
      </item>
      <item>
         <title>Grant Rettke: Keep track of scoping type in Emacs Lisp Buffers</title>
         <link>http://www.wisdomandwonder.com/link/7829/keep-track-of-scoping-type-in-emacs-lisp-buffers</link>
         <description>&lt;p&gt;Here is how: &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://marmalade-repo.org/packages/lexbind-mode&quot;&gt;lexbind-mode&lt;/a&gt;&lt;/p&gt;</description>
         <author>Grant</author>
         <guid isPermaLink="false">http://www.wisdomandwonder.com/?p=7829</guid>
         <pubDate>Sun, 12 May 2013 22:15:58 +0000</pubDate>
      </item>
      <item>
         <title>emacspeak: Emacspeak 38.0 (FreeDog Unleashed</title>
         <link>http://emacspeak.blogspot.com/2013/05/emacspeak-380-freedog-unleashed.html</link>
         <description>&lt;div&gt;
      &lt;div id=&quot;content&quot;&gt; 
        &lt;h1 class=&quot;title&quot;&gt;Emacspeak 38.0—FreeDog—Unleashed!&lt;/h1&gt; 
 
 
        &lt;div class=&quot;outline-2&quot; id=&quot;outline-container-1&quot;&gt; 
          &lt;h2 id=&quot;sec-1&quot;&gt;&lt;span class=&quot;section-number-2&quot;&gt;1&lt;/span&gt; Emacspeak-38.0 (FreeDog) Unleashed!&lt;/h2&gt; 
          &lt;div class=&quot;outline-text-2&quot; id=&quot;text-1&quot;&gt; 
 
            &lt;p&gt;               **  For Immediate Release: 
            &lt;/p&gt; 
            &lt;p&gt; 
              San Jose, Calif., (May 13, 2013) 
              Emacspeak:  Redefining Accessibility In The Era Of Cloud Computing 
              –Zero cost of upgrades/downgrades makes priceless software affordable! 
            &lt;/p&gt; 
            &lt;p&gt; 
              Emacspeak Inc (NASDOG: ESPK) --&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://emacspeak.sf.net&quot;&gt;http://emacspeak.sf.net&lt;/a&gt;-- 
              announces the immediate world-wide availability of Emacspeak 38.0 
              (FreeDog) –a powerful audio desktop for leveraging today's 
              evolving data, social and service-oriented Web cloud. 
            &lt;/p&gt; 
 
          &lt;/div&gt; 
 
          &lt;div class=&quot;outline-3&quot; id=&quot;outline-container-1-1&quot;&gt; 
            &lt;h3 id=&quot;sec-1-1&quot;&gt;&lt;span class=&quot;section-number-3&quot;&gt;1.1&lt;/span&gt; Investors Note:&lt;/h3&gt; 
            &lt;div class=&quot;outline-text-3&quot; id=&quot;text-1-1&quot;&gt; 
 
 
 
              &lt;p&gt; 
                With several prominent tweeters expanding coverage of 
                &lt;span style=&quot;text-decoration:underline;&quot;&gt;#emacspeak&lt;/span&gt;, NASDOG: ESPK has now been consistently trading over 
                the social net at levels close to that once attained by DogCom 
                high-fliers—and as of May 2013 is trading at levels close to 
                that achieved by once better known stocks in the tech sector. 
              &lt;/p&gt; 
            &lt;/div&gt; 
 
          &lt;/div&gt; 
 
          &lt;div class=&quot;outline-3&quot; id=&quot;outline-container-1-2&quot;&gt; 
            &lt;h3 id=&quot;sec-1-2&quot;&gt;&lt;span class=&quot;section-number-3&quot;&gt;1.2&lt;/span&gt; What Is It?&lt;/h3&gt; 
            &lt;div class=&quot;outline-text-3&quot; id=&quot;text-1-2&quot;&gt; 
 
              &lt;p&gt;Emacspeak is a fully functional audio desktop that provides 
              complete eyes-free access to all major 32 and 64 bit operating 
              environments. By seamlessly blending live access to all aspects 
              of the Internet such as Web-surfing, blogging, social computing 
              and electronic messaging into the audio desktop, Emacspeak 
              enables speech access to local and remote information with a 
              consistent and well-integrated user interface. A rich suite of 
              task-oriented tools provides efficient speech-enabled access to 
              the evolving service-oriented social Web cloud. 
              &lt;/p&gt; 
            &lt;/div&gt; 
 
          &lt;/div&gt; 
 
          &lt;div class=&quot;outline-3&quot; id=&quot;outline-container-1-3&quot;&gt; 
            &lt;h3 id=&quot;sec-1-3&quot;&gt;&lt;span class=&quot;section-number-3&quot;&gt;1.3&lt;/span&gt; Major Enhancements:&lt;/h3&gt; 
            &lt;div class=&quot;outline-text-3&quot; id=&quot;text-1-3&quot;&gt; 
 
 
              &lt;ol&gt; 
                &lt;li&gt;Get directions and find Places via Google Maps. ⛯ 
                &lt;/li&gt; 
                &lt;li&gt;Preliminary support for Eclipse integration via Eclim. ⛅ 
                &lt;/li&gt; 
                &lt;li&gt;Speech-enabled GTags (Global) for code browsing. 🌐 
                &lt;/li&gt; 
                &lt;li&gt;Updated to work with advice implementation in Emacs 24.3.  🌚 
                &lt;/li&gt; 
                &lt;li&gt;Updated Web search wizards ꩜ 
                &lt;/li&gt; 
                &lt;li&gt;Updated URL templates ♅ 
                &lt;/li&gt; 
              &lt;/ol&gt; 
 
 
 
              &lt;p&gt; 
                Plus many more changes too numerous to fit in this margin  ∞ 
              &lt;/p&gt; 
            &lt;/div&gt; 
 
          &lt;/div&gt; 
 
          &lt;div class=&quot;outline-3&quot; id=&quot;outline-container-1-4&quot;&gt; 
            &lt;h3 id=&quot;sec-1-4&quot;&gt;&lt;span class=&quot;section-number-3&quot;&gt;1.4&lt;/span&gt; Establishing Liberty, Equality And Freedom:&lt;/h3&gt; 
            &lt;div class=&quot;outline-text-3&quot; id=&quot;text-1-4&quot;&gt; 
 
 
 
              &lt;p&gt; 
                Never a toy system, Emacspeak is voluntarily bundled with all 
                major Linux distributions. Though designed to be modular, 
                distributors have freely chosen to bundle the fully integrated 
                system without any undue pressure—a documented success for 
                the integrated innovation embodied by Emacspeak. As the system 
                evolves, both upgrades and downgrades continue to be available at 
                the same zero-cost to all users. The integrity of the Emacspeak 
                codebase is ensured by the reliable and secure Linux platform 
                used to develop and distribute the software. 
              &lt;/p&gt; 
              &lt;p&gt; 
                Extensive studies have shown that thanks to these features, users 
                consider Emacspeak to be absolutely priceless. Thanks to this 
                wide-spread user demand, the present version remains   priceless 
                as ever—it is being made available at the same zero-cost as 
                previous releases. 
              &lt;/p&gt; 
              &lt;p&gt; 
                At the same time, Emacspeak continues to innovate in the area of 
                eyes-free social interaction and carries forward the 
                well-established Open Source tradition of introducing user 
                interface features that eventually show up in luser environments. 
              &lt;/p&gt; 
              &lt;p&gt; 
                On this theme, when once challenged by a proponent of a 
                crash-prone but well-marketed mousetrap with the assertion 
                &quot;Emacs is a system from the 70's&quot;, the creator of Emacspeak 
                evinced surprise at the unusual candor manifest in the assertion 
                that it would take popular idiot-proven interfaces until the year 
                2070 to catch up to where the Emacspeak audio desktop is 
                today. Industry experts welcomed this refreshing breath of 
                Courage Certainty and Clarity (CCC) at a time when users are 
                reeling from the Fear Uncertainty and Doubt (FUD) unleashed by 
                complex software systems backed by even more convoluted press 
                releases. 
              &lt;/p&gt; 
            &lt;/div&gt; 
 
          &lt;/div&gt; 
 
          &lt;div class=&quot;outline-3&quot; id=&quot;outline-container-1-5&quot;&gt; 
            &lt;h3 id=&quot;sec-1-5&quot;&gt;&lt;span class=&quot;section-number-3&quot;&gt;1.5&lt;/span&gt; Independent Test Results:&lt;/h3&gt; 
            &lt;div class=&quot;outline-text-3&quot; id=&quot;text-1-5&quot;&gt; 
 
 
 
              &lt;p&gt; 
                Independent test results have proven that unlike some modern (and 
                not so modern) software, Emacspeak can be safely uninstalled without 
                adversely affecting the continued performance of the computer. These 
                same tests also revealed that once uninstalled, the user stopped 
                functioning altogether. Speaking with Aster Labrador, the creator of 
                Emacspeak once pointed out that these results re-emphasize the 
                user-centric design of Emacspeak; &quot;It is the user –and not the 
                computer– that stops functioning when Emacspeak is uninstalled!&quot;. 
              &lt;/p&gt; 
 
            &lt;/div&gt; 
 
            &lt;div class=&quot;outline-4&quot; id=&quot;outline-container-1-5-1&quot;&gt; 
              &lt;h4 id=&quot;sec-1-5-1&quot;&gt;&lt;span class=&quot;section-number-4&quot;&gt;1.5.1&lt;/span&gt; Note from Aster,Bubbles and Tilden:&lt;/h4&gt; 
              &lt;div class=&quot;outline-text-4&quot; id=&quot;text-1-5-1&quot;&gt; 
 
 
 
                &lt;p&gt; 
                  UnDoctored Videos Inc. is looking for volunteers to star in a 
                  video demonstrating such complete user failure. 
                &lt;/p&gt; 
              &lt;/div&gt; 
            &lt;/div&gt; 
 
          &lt;/div&gt; 
 
          &lt;div class=&quot;outline-3&quot; id=&quot;outline-container-1-6&quot;&gt; 
            &lt;h3 id=&quot;sec-1-6&quot;&gt;&lt;span class=&quot;section-number-3&quot;&gt;1.6&lt;/span&gt; Obtaining Emacspeak:&lt;/h3&gt; 
            &lt;div class=&quot;outline-text-3&quot; id=&quot;text-1-6&quot;&gt; 
 
 
 
              &lt;p&gt; 
                Emacspeak can be downloaded from Google Code Hosting –see 
                &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://code.google.com/p/emacspeak/&quot;&gt;http://code.google.com/p/emacspeak/&lt;/a&gt; You can visit 
                Emacspeak on the WWW at &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://emacspeak.sf.net&quot;&gt;http://emacspeak.sf.net&lt;/a&gt;.  You can subscribe 
                to the emacspeak mailing list emacspeak@cs.vassar.edu by sending 
                mail to the list request address emacspeak-request@cs.vassar.edu. 
                The FreeDog release is at  
                &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://emacspeak.googlecode.com/files/emacspeak-38.0.tar.bz2&quot;&gt;http://emacspeak.googlecode.com/files/emacspeak-38.0.tar.bz2&lt;/a&gt;. 
                The latest development snapshot of Emacspeak is always available via 
                Subversion from Google Code  at  
                &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://emacspeak.googlecode.com/svn/trunk/&quot;&gt;http://emacspeak.googlecode.com/svn/trunk/&lt;/a&gt; 
            &lt;/p&gt;&lt;/div&gt; 
 
          &lt;/div&gt; 
 
          &lt;div class=&quot;outline-3&quot; id=&quot;outline-container-1-7&quot;&gt; 
            &lt;h3 id=&quot;sec-1-7&quot;&gt;&lt;span class=&quot;section-number-3&quot;&gt;1.7&lt;/span&gt; History:&lt;/h3&gt; 
            &lt;div class=&quot;outline-text-3&quot; id=&quot;text-1-7&quot;&gt; 
 
 
              &lt;p&gt; 
                Emacspeak 38.0 is the latest in a series of award-winning 
                releases from Emacspeak Inc.  
                Emacspeak 37.0 continues the tradition of delivering robust 
                software as reflected by its code-name. Emacspeak 36.0 enhances 
                the audio desktop with many new tools including full EPub support 
                — hence the name EPubDog. Emacspeak 35.0 is all about teaching 
                a new dog old tricks — and is aptly code-named HeadDog in honor 
                of our new Press/Analyst contact. emacspeak-34.0 (AKA Bubbles) 
                established a new beach-head with respect to rapid task 
                completion in an eyes-free environment. Emacspeak-33.0 AKA 
                StarDog brings unparalleled cloud access to the audio 
                desktop. Emacspeak 32.0 AKA LuckyDog continues to innovate via 
                open technologies for better access. Emacspeak 31.0 AKA TweetDog 
                — adds tweeting to the Emacspeak desktop. Emacspeak 30.0 AKA 
                SocialDog brings the Social Web to the audio desktop—you cant but 
                be social if you speak! Emacspeak 29.0—AKAAbleDog—is a testament 
                to the resilliance and innovation embodied by Open Source 
                software—it would not exist without the thriving Emacs community 
                that continues to ensure that Emacs remains one of the premier 
                user environments despite perhaps also being one of the 
                oldest. Emacspeak 28.0—AKA PuppyDog—exemplifies the rapid pace of 
                development evinced by Open Source software. Emacspeak 27.0—AKA 
                FastDog—is the latest in a sequence of upgrades that make 
                previous releases obsolete and downgrades unnecessary. Emacspeak 
                26—AKA LeadDog—continues the tradition of introducing innovative 
                access solutions that are unfettered by the constraints inherent 
                in traditional adaptive technologies. Emacspeak 25 —AKA ActiveDog 
                —re-activates open, unfettered access to online 
                information. Emacspeak-Alive —AKA LiveDog —enlivens open, 
                unfettered information access with a series of live updates that 
                once again demonstrate the power and agility of open source 
                software development. Emacspeak 23.0 – AKA Retriever—went the 
                extra mile in fetching full access. Emacspeak 22.0 —AKA GuideDog 
                —helps users navigate the Web more effectively than ever 
                before. Emacspeak 21.0 —AKA PlayDog —continued the Emacspeak 
                tradition of relying on enhanced productivity to liberate 
                users. Emacspeak-20.0 —AKA LeapDog —continues the long 
                established GNU/Emacs tradition of integrated innovation to 
                create a pleasurable computing environment for eyes-free 
                interaction. emacspeak-19.0 –AKA WorkDog– is designed to 
                enhance user productivity at work and leisure. Emacspeak-18.0 
                –code named GoodDog– continued the Emacspeak tradition of 
                enhancing user productivity and thereby reducing total cost of 
                ownership. Emacspeak-17.0 –code named HappyDog– enhances user 
                productivity by exploiting today's evolving WWW 
                standards. Emacspeak-16.0 –code named CleverDog– the follow-up 
                to SmartDog– continued the tradition of working better, faster, 
                smarter. Emacspeak-15.0 –code named SmartDog–followed up on 
                TopDog as the next in a continuing a series of award-winning 
                audio desktop releases from Emacspeak Inc. Emacspeak-14.0 –code 
                named TopDog–was the first release of this 
                millennium. Emacspeak-13.0 –codenamed YellowLab– was the 
                closing release of the 20th. century. Emacspeak-12.0 –code named 
                GoldenDog– began leveraging the evolving semantic WWW to provide 
                task-oriented speech access to Webformation. Emacspeak-11.0 
                –code named Aster– went the final step in making Linux a 
                zero-cost Internet access solution for blind and visually 
                impaired users. Emacspeak-10.0 –(AKA Emacspeak-2000) code named 
                WonderDog– continued the tradition of award-winning software 
                releases designed to make eyes-free computing a productive and 
                pleasurable experience. Emacspeak-9.0 –(AKA Emacspeak 99) code 
                named BlackLab– continued to innovate in the areas of speech 
                interaction and interactive accessibility. Emacspeak-8.0 –(AKA 
                Emacspeak-98++) code named BlackDog– was a major upgrade to the 
                speech output extension to Emacs. 
              &lt;/p&gt; 
              &lt;p&gt; 
                Emacspeak-95 (code named Illinois) was released as OpenSource on 
                the Internet in May 1995 as the first complete speech interface 
                to UNIX workstations. The subsequent release, Emacspeak-96 (code 
                named Egypt) made available in May 1996 provided significant 
                enhancements to the interface. Emacspeak-97 (Tennessee) went 
                further in providing a true audio desktop. Emacspeak-98 
                integrated Internetworking into all aspects of the audio desktop 
                to provide the first fully interactive speech-enabled WebTop. 
              &lt;/p&gt; 
              &lt;p&gt; 
                About Emacspeak: 
 
              &lt;/p&gt; 
              &lt;hr /&gt; 
 
              &lt;p&gt; 
                Originally based at Cornell (NY) 
                &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.cs.cornell.edu/home/raman&quot;&gt;http://www.cs.cornell.edu/home/raman&lt;/a&gt; –home to Auditory User 
                Interfaces (AUI) on the WWW– Emacspeak is now maintained on 
                GoogleCode --&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://code.google.com/p/emacspeak&quot;&gt;http://code.google.com/p/emacspeak&lt;/a&gt; —and 
                Sourceforge —&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://emacspeak.sf.net&quot;&gt;http://emacspeak.sf.net&lt;/a&gt;. The system is mirrored 
                world-wide by an international network of software archives and 
                bundled voluntarily with all major Linux distributions. On 
                Monday, April 12, 1999, Emacspeak became part of the 
                Smithsonian's Permanent Research Collection on Information 
                Technology at the Smithsonian's National Museum of American 
                History. 
              &lt;/p&gt; 
              &lt;p&gt; 
                The Emacspeak mailing list is archived at Vassar –the home of the 
                Emacspeak mailing list– thanks to Greg Priest-Dorman, and provides a 
                valuable knowledge base for new users. 
              &lt;/p&gt; 
            &lt;/div&gt; 
 
          &lt;/div&gt; 
 
          &lt;div class=&quot;outline-3&quot; id=&quot;outline-container-1-8&quot;&gt; 
            &lt;h3 id=&quot;sec-1-8&quot;&gt;&lt;span class=&quot;section-number-3&quot;&gt;1.8&lt;/span&gt; Press/Analyst Contact: Tilden Labrador&lt;/h3&gt; 
            &lt;div class=&quot;outline-text-3&quot; id=&quot;text-1-8&quot;&gt; 
 
 
              &lt;p&gt; 
                Going forward, Tilden acknowledges his exclusive monopoly on 
                setting the direction of the Emacspeak Audio Desktop, and 
                promises to exercise this freedom to innovate and her resulting 
                power responsibly (as before) in the interest of all dogs. 
              &lt;/p&gt; 
              &lt;p&gt; 
                **About This Release: 
 
              &lt;/p&gt; 
              &lt;hr /&gt; 
 
              &lt;p&gt; 
                Windows-Free (WF) is a favorite battle-cry of The League Against 
                Forced Fenestration (LAFF).  –see 
                &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.usdoj.gov/atr/cases/f3800/msjudgex.htm&quot;&gt;http://www.usdoj.gov/atr/cases/f3800/msjudgex.htm&lt;/a&gt; for details on 
                the ill-effects of Forced Fenestration. 
              &lt;/p&gt; 
              &lt;p&gt; 
                CopyWrite )C( Aster and Hubbell Labrador. All Writes Reserved. 
                HeadDog (DM), LiveDog (DM), GoldenDog (DM), BlackDog (DM) etc., are Registered 
                Dogmarks of Aster,  Hubbell  and Tilden Labrador.  All other dogs belong to 
                their respective owners. 
              &lt;/p&gt; 
 
            &lt;/div&gt; 
          &lt;/div&gt; 
        &lt;/div&gt; 
      &lt;/div&gt; 
    &lt;/div&gt;</description>
         <author>T. V. Raman</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-20280042.post-3838103849410783364</guid>
         <pubDate>Sun, 12 May 2013 15:13:09 +0000</pubDate>
      </item>
      <item>
         <title>Joost Diepenmaat: New zeekat website design</title>
         <link>http://joost.zeekat.nl/2013/05/09/new-zeekat-website-design/</link>
         <description>&lt;p&gt;This week, I re-implemented &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://zeekat.nl/&quot;&gt;my main website&lt;/a&gt;. The text on the old one needed to be revised heavily (in fact I removed almost all of it except a short bio and some longer articles) and I wanted to experiment with a more colorful look. I need to revise the stylesheet a bit more to give a better experience on small screens (mobile), but so far I’m pleased with the result.&lt;/p&gt;
&lt;p&gt;The new site html is generated completely by emacs’ &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://orgmode.org/&quot;&gt;org-mode&lt;/a&gt; project publishing functionality (the old one used a custom bunch of perl scripts generating from HTML snippets and perl POD documents). This hopefully means it’ll be easier to add and revise content, and it also provides nice syntax highlighting for any code snippets I put in my articles.&lt;/p&gt;
&lt;p&gt;The whole switchover was pretty smooth, especially once I wrote a bit of elisp to roughly prepare conversion from POD formatting to org:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;br /&gt;
(defun pod2org&lt;br /&gt;
  (point mark)&lt;br /&gt;
  &quot;Rougly convert region from pod syntax to org-mode&quot;&lt;br /&gt;
  (interactive &quot;r&quot;)&lt;br /&gt;
  (replace-regexp &quot;C&amp;lt;&amp;#92;&amp;#92;([^&amp;gt;]+&amp;#92;&amp;#92;)&amp;gt;&quot; &quot;=&amp;#92;&amp;#92;1=&quot; nil point mark)&lt;br /&gt;
  (replace-regexp &quot;I&amp;lt;&amp;#92;&amp;#92;([^&amp;gt;]+&amp;#92;&amp;#92;)&amp;gt;&quot; &quot;/&amp;#92;&amp;#92;1/&quot; nil point mark)&lt;br /&gt;
  (replace-regexp &quot;B&amp;lt;&amp;#92;&amp;#92;([^&amp;gt;]+&amp;#92;&amp;#92;)&amp;gt;&quot; &quot;*&amp;#92;&amp;#92;1*&quot; nil point mark)&lt;br /&gt;
  (replace-regexp &quot;^=head1 &amp;#92;&amp;#92;(.*&amp;#92;&amp;#92;)&quot; &quot;* &amp;#92;&amp;#92;1&quot; nil point mark)&lt;br /&gt;
  (replace-regexp &quot;^=head2 &amp;#92;&amp;#92;(.*&amp;#92;&amp;#92;)&quot; &quot;** &amp;#92;&amp;#92;1&quot; nil point mark)&lt;br /&gt;
  (replace-regexp &quot;^=head3 &amp;#92;&amp;#92;(.*&amp;#92;&amp;#92;)&quot; &quot;*** &amp;#92;&amp;#92;1&quot; nil point mark)&lt;br /&gt;
  (replace-regexp &quot;^=head4 &amp;#92;&amp;#92;(.*&amp;#92;&amp;#92;)&quot; &quot;**** &amp;#92;&amp;#92;1&quot; nil point mark)&lt;br /&gt;
  (replace-regexp &quot;^=head5 &amp;#92;&amp;#92;(.*&amp;#92;&amp;#92;)&quot; &quot;***** &amp;#92;&amp;#92;1&quot; nil point mark))&lt;br /&gt;
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Very basic, but pretty useful.&lt;/p&gt;
&lt;p&gt;Now, I’m considering replacing WordPress for this blog with org-mode too. That probably requires a bit more investigation. I want to keep at least the tags/categories feature and related rss feeds, and I’m not sure if that’s available for org at the moment.&lt;/p&gt;</description>
         <author>Joost</author>
         <guid isPermaLink="false">http://joost.zeekat.nl/?p=90</guid>
         <pubDate>Thu, 09 May 2013 07:52:39 +0000</pubDate>
      </item>
      <item>
         <title>Alex Schroeder: Distributing XP With Emacs</title>
         <link>http://alexschroeder.ch/wiki/2013-05-08_Distributing_XP_With_Emacs</link>
         <description>&lt;p&gt;This topic ties together two topics that probably don’t see too much overlap.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;I play role-playing games of the D&amp;amp;D old school variety.&lt;/li&gt;&lt;li&gt;I use Emacs to help me do simple stuff on a daily basis.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;The problem: the party of characters my players run is &lt;em style=&quot;font-style:normal;letter-spacing:0.125em;&quot;&gt;huge&lt;/em&gt;. Even if there are usually only around ten characters that are part of a single session, there are more than thirty primary and secondary characters &lt;a rel=&quot;nofollow&quot; class=&quot;url http outside&quot; target=&quot;_blank&quot; href=&quot;http://campaignwiki.org/wiki/F%C3%BCnfWinde/Status&quot;&gt;on the status page&lt;/a&gt;. Given &lt;a rel=&quot;nofollow&quot; class=&quot;url http outside&quot; target=&quot;_blank&quot; href=&quot;http://campaignwiki.org/wiki/F%C3%BCnfWinde/raw/Status&quot;&gt;the wiki table&lt;/a&gt; for the status page, how can I quickly add up the correct XP and gold values? Any XP gained is shared equally amongst the characters that took part in the session but any gold gained is distributed according to each characters share. Primary characters get a full share, secondary characters get a third of a share.&lt;/p&gt;&lt;p&gt;I used Emacs widget mode to create a page like this:&lt;/p&gt;&lt;pre class=&quot;real&quot;&gt;XP total:   805          
Gold total: 7191         
[X] Schalk
[ ] Uluf
[ ] Witschik
[X] Schachtmann
[ ] Sirius
[X] Logard
[X] Arnd
[X] Tinaya
[ ] Pyrula
[ ] Pijo
[ ] Garo
[X] Zeta
[ ] Pipo
[X] Fusstritt
[ ] Thor
[ ] Jack
[ ] Gloria
[ ] Hermann
[ ] Urs
[ ] Alpha
[ ] Beta
[ ] Gamma
[ ] Boden
[ ] Basel
[ ] Bern
[X] Nuschka
[ ] Moranor
[ ] Axirios Hectaxius

[Go!]&lt;/pre&gt;&lt;p&gt;And here’s the code to do it:&lt;/p&gt;&lt;pre class=&quot;real&quot;&gt;(defconst fünf-winde-regexp &quot;^&amp;#92;&amp;#92;(|&amp;#92;&amp;#92;[&amp;#92;&amp;#92;[&amp;#92;&amp;#92;(.*?&amp;#92;&amp;#92;)&amp;#92;&amp;#92;]&amp;#92;&amp;#92;][ &amp;#92;t]*|[ &amp;#92;t]*&amp;#92;&amp;#92;(1&amp;#92;&amp;#92;|1/3&amp;#92;&amp;#92;)[ &amp;#92;t]*&amp;#92;&amp;#92;)|&amp;#92;&amp;#92;([ &amp;#92;t]*[0-9]+[ &amp;#92;t]*&amp;#92;&amp;#92;)|&amp;#92;&amp;#92;([ &amp;#92;t]*[0-9]+[ &amp;#92;t]*&amp;#92;&amp;#92;)&quot;
  &quot;Regular expression to parse the Status page.
&amp;#92;(let ((str (match-string 1))
      (name (match-string 2))
      (share (match-string 3))
      (xp (match-string 4))
      (gold (match-string 5)))
    ...&amp;#92;)&quot;)

(defvar fünf-winde-buf nil
  &quot;Source buffer.&quot;)

(defvar fünf-winde-xp nil
  &quot;XP share.&quot;)

(defvar fünf-winde-gold nil
  &quot;Gold share.&quot;)

(defvar fünf-winde-party nil
  &quot;Charakters in the party.&quot;)

(defun fünf-winde-xp-and-gold ()
  &quot;Hand out Gold and XP.&quot;
  (interactive)
  (let ((buf (current-buffer))
	(names))
    (save-excursion
      (goto-char (point-min))
      (while (re-search-forward fünf-winde-regexp nil t)
	(setq names (cons (match-string 2) names))))
    (switch-to-buffer &quot;*Fünf Winde*&quot;)
    (kill-all-local-variables)
    (set (make-local-variable 'fünf-winde-buf) buf)
    (make-local-variable 'fünf-winde-xp)
    (make-local-variable 'fünf-winde-gold)
    (make-local-variable 'fünf-winde-party)
    (let ((inhibit-read-only t))
      (erase-buffer))
    (remove-overlays)
    (setq fünf-winde-xp
	  (widget-create 'integer
			 :size 13
			 :format &quot;XP total:   %v&amp;#92;n&quot;
			 0))
    (setq fünf-winde-gold
	  (widget-create 'integer
			 :size 13
			 :format &quot;Gold total: %v&amp;#92;n&quot;
			 0))
    (setq fünf-winde-party
	  (apply 'widget-create 'checklist
		 (mapcar (lambda (name)
			   `(item ,name))
			 (nreverse names))))
    (widget-insert &quot;&amp;#92;n&quot;)
    (widget-create 'push-button
		   :notify (lambda (&amp;amp;rest ignore)
			     (fünf-winde-process
			      fünf-winde-buf
			      (widget-value fünf-winde-xp)
			      (widget-value fünf-winde-gold)
			      (widget-value fünf-winde-party)))
		   &quot;Go!&quot;)
    (widget-insert &quot;&amp;#92;n&quot;)
    (use-local-map widget-keymap)
    (local-set-key (kbd &quot;q&quot;) 'bury-buffer)
    (local-set-key (kbd &quot;SPC&quot;) 'widget-button-press)
    (local-set-key (kbd &quot;&amp;lt;left&amp;gt;&quot;) 'widget-backward)
    (local-set-key (kbd &quot;&amp;lt;up&amp;gt;&quot;) 'widget-backward)
    (local-set-key (kbd &quot;&amp;lt;right&amp;gt;&quot;) 'widget-forward)
    (local-set-key (kbd &quot;&amp;lt;down&amp;gt;&quot;) 'widget-forward)
    (widget-setup)
    (goto-char (point-min))
    (widget-forward 1)))

(defun fünf-winde-process (buf total-xp total-gold party)
  (message &quot;(fünf-winde-process (get-buffer &amp;#92;&quot;%s&amp;#92;&quot;) %d %d '%S)&quot;
	   buf total-xp total-gold party)
  (switch-to-buffer buf)
  (save-excursion
    (let ((xp-shares 0)
	  (xp-share nil)
	  (gold-shares 0)
	  (gold-share nil))
      (goto-char (point-min))
      (while (re-search-forward fünf-winde-regexp nil t)
	(let ((name (match-string 2))
	      (share (match-string 3)))
	  (when (member name party)
	    (setq gold-shares (+ gold-shares
				 (cond ((string= share &quot;1/2&quot;) 0.5)
				       ((string= share &quot;1/3&quot;) (/ 1.0 3))
				       (t (string-to-number share))))
		  xp-shares (1+ xp-shares)))))
      (setq gold-share (/ total-gold gold-shares)
	    xp-share (/ total-xp xp-shares))
      (goto-char (point-min))
      (while (re-search-forward fünf-winde-regexp nil t)
	(let ((str (match-string 1))
	      (name (match-string 2))
	      (share (match-string 3))
	      (xp (match-string 4))
	      (gold (match-string 5)))
	  (when (member name party)
	    (setq gold (format (concat &quot;%9d&quot;)
			       (+  (string-to-number gold)
				   (* gold-share (cond ((string= share &quot;1/2&quot;) 0.5)
						       ((string= share &quot;1/3&quot;) (/ 1.0 3))
						       (t (string-to-number share))))))
		  xp (format (concat &quot;%9d&quot;)
			     (+  (string-to-number xp)
				 xp-share)))
	    (replace-match (concat str
				   &quot;|&quot; xp
				   &quot;|&quot; gold))))))))&lt;/pre&gt;&lt;p&gt;I’m not sure I’m spending my time wisely, but there you go. I used to have a simpler piece of code that helped me distribute XP and gold separately. The drawback was that it would ask me for every person in the table “was this character in the party? (y/n)” and that’s a lot of yes and no replies if you go through the list &lt;em&gt;twice&lt;/em&gt;.&lt;/p&gt;&lt;p&gt;It’s also a stark reminder that simpler old rules doesn’t automatically mean less work for the referee. With D&amp;amp;D 3.5, I had a spreadsheet to compute the XP gained based on challenge rating and character level. It wasn’t something to do quickly without a book in front of me. Now the complexity of the task has been reduced, but the number of characters has exploded to compensate!&lt;/p&gt;&lt;p&gt;Tags: &lt;a rel=&quot;nofollow&quot; class=&quot;outside tag&quot; target=&quot;_blank&quot; href=&quot;http://alexschroeder.ch/wiki?action=tag;id=Emacs&quot; title=&quot;Tag&quot;&gt;Emacs&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; class=&quot;feed tag&quot; target=&quot;_blank&quot; href=&quot;http://alexschroeder.ch/wiki/feed/full/Emacs&quot; title=&quot;Feed for this tag&quot;&gt;&lt;img alt=&quot;RSS&quot; src=&quot;http://alexschroeder.ch/pics/rss.png&quot;/&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; class=&quot;outside tag&quot; target=&quot;_blank&quot; href=&quot;http://alexschroeder.ch/wiki?action=tag;id=RPG&quot; title=&quot;Tag&quot;&gt;RPG&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; class=&quot;feed tag&quot; target=&quot;_blank&quot; href=&quot;http://alexschroeder.ch/wiki/feed/full/RPG&quot; title=&quot;Feed for this tag&quot;&gt;&lt;img alt=&quot;RSS&quot; src=&quot;http://alexschroeder.ch/pics/rss.png&quot;/&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; class=&quot;outside tag&quot; target=&quot;_blank&quot; href=&quot;http://alexschroeder.ch/wiki?action=tag;id=Old%20School&quot; title=&quot;Tag&quot;&gt;Old School&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; class=&quot;feed tag&quot; target=&quot;_blank&quot; href=&quot;http://alexschroeder.ch/wiki/feed/full/Old%20School&quot; title=&quot;Feed for this tag&quot;&gt;&lt;img alt=&quot;RSS&quot; src=&quot;http://alexschroeder.ch/pics/rss.png&quot;/&gt;&lt;/a&gt;&lt;/p&gt;</description>
         <author>Alex Schroeder</author>
         <guid isPermaLink="false">http://alexschroeder.ch/wiki/2013-05-08_Distributing_XP_With_Emacs</guid>
         <pubDate>Wed, 08 May 2013 13:17:38 +0000</pubDate>
      </item>
      <item>
         <title>Rafael: Org mode 8.0</title>
         <link>http://rvfblog.wordpress.com/2013/05/05/org-mode-8-0/</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://orgmode.org/&quot;&gt;Org mode&lt;/a&gt; was updated recently to version 8.0, and together with many great features, an unfortunate consequence it brought is that many lovely features of &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;https://github.com/punchagan/org2blog&quot;&gt;org2blog/wp&lt;/a&gt; no longer work. &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://article.gmane.org/gmane.emacs.orgmode/71548/&quot;&gt;There is hope for the future&lt;/a&gt;, but in the meantime, I will post with Emacs 24.3.1, and the org-mode that comes with it (Org-mode version 7.9.3f). &lt;/p&gt;
&lt;br /&gt;  &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/rvfblog.wordpress.com/144/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/rvfblog.wordpress.com/144/&quot;/&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;1&quot; src=&quot;http://stats.wordpress.com/b.gif?host=rvfblog.wordpress.com&amp;amp;blog=15593039&amp;amp;post=144&amp;amp;subd=rvfblog&amp;amp;ref=&amp;amp;feed=1&quot; width=&quot;1&quot;/&gt;</description>
         <author>Rafael</author>
         <guid isPermaLink="false">http://rvfblog.wordpress.com/?p=144</guid>
         <pubDate>Sun, 05 May 2013 20:41:00 +0000</pubDate>
      </item>
      <item>
         <title>Got Emacs?: Traditional May 1st Gnus Release out</title>
         <link>http://feedproxy.google.com/~r/GotEmacs/~3/uxoQexBoB40/traditional-may-1st-gnus-release-out.html</link>
         <description>A bit late in posting about it but Lars has&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://permalink.gmane.org/gmane.emacs.gnus.general/83096&quot;&gt; released MaGnus 0.7 &lt;/a&gt;with bug fixes and some improvements.  The Changelog in the link has the details&lt;div class=&quot;feedflare&quot;&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/GotEmacs?a=uxoQexBoB40:Mn-IjpeIcPg:yIl2AUoC8zA&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://feeds.feedburner.com/~ff/GotEmacs?d=yIl2AUoC8zA&quot;/&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/GotEmacs?a=uxoQexBoB40:Mn-IjpeIcPg:qj6IDK7rITs&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://feeds.feedburner.com/~ff/GotEmacs?d=qj6IDK7rITs&quot;/&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/GotEmacs?a=uxoQexBoB40:Mn-IjpeIcPg:gIN9vFwOqvQ&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://feeds.feedburner.com/~ff/GotEmacs?i=uxoQexBoB40:Mn-IjpeIcPg:gIN9vFwOqvQ&quot;/&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img height=&quot;1&quot; src=&quot;http://feeds.feedburner.com/~r/GotEmacs/~4/uxoQexBoB40&quot; width=&quot;1&quot;/&gt;</description>
         <author>sivaram</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-3165518189103293420.post-1476074369713471125</guid>
         <pubDate>Fri, 03 May 2013 15:44:34 +0000</pubDate>
      </item>
      <item>
         <title>Emacs Movies: Gnus part 1</title>
         <link>http://emacsmovies.org/blog/2013/04/29/gnus_part_1/</link>
         <description>&lt;p&gt;I’ve picked up something this time which I’ve always wanted to study properly – &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://gnus.org/&quot;&gt;&lt;em&gt;Gnus&lt;/em&gt;&lt;/a&gt;. The Emacs news and email reader. This is going to be a multipart episode since Gnus is so big. I don’t know how many exactly but as of now, I’ve got a 3 part thing planned.&lt;/p&gt;

&lt;p&gt;Also, the hiatus was unexpected. Things should be smoother now.&lt;/p&gt;




&lt;p&gt;.&lt;/p&gt;

&lt;p&gt;Other formats are available on the &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://archive.org/details/EmacsMovies&quot;&gt;Archive.org page&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Comments welcome.&lt;/p&gt;

&lt;h2&gt;Summary&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;The &lt;code&gt;gnus-select-method&lt;/code&gt; variable decides where to pick news from.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;M-x gnus&lt;/code&gt; starts gnus.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;g&lt;/code&gt; refreshes subsribed groups.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;F&lt;/code&gt; looks for new groups.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;^&lt;/code&gt; takes you into the server buffer.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;RET&lt;/code&gt; will do different things depending on where you are. On a group, it will show you articles in the group.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;t&lt;/code&gt; toggles topics in the Groups buffer.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;L&lt;/code&gt; shows all groups (including ones with no unread articles).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;l&lt;/code&gt; shows only groups with no unread articles.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;c&lt;/code&gt; catches up a group marking all articles as read.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;U&lt;/code&gt; is used to subscribe to a group.&lt;/li&gt;
&lt;li&gt;Information on groups and articles in cached in the &lt;code&gt;.newsrc.eld&lt;/code&gt; file which you shouldn’t delete.&lt;/li&gt;
&lt;li&gt;Gnus uses &lt;code&gt;.gnus&lt;/code&gt; as a startup file.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;gnus-secondary-select-methods&lt;/code&gt; is the variable that controls sources other than the primary one mentioned in &lt;code&gt;gnus-select-method&lt;/code&gt;. Mail sources usually come here.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;mail-sources&lt;/code&gt; variable specify where the mail backends should pick data up from.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;nnmail-split-methods&lt;/code&gt; function can be used to split mail depending on criteria like sender etc.&lt;/li&gt;
&lt;/ol&gt;


&lt;h2&gt;Further reading&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;The &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://gnus.org/manual.html&quot;&gt;Gnus manual&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;The &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.emacswiki.org/CategoryGnus&quot;&gt;Gnus category on emacswiki&lt;/a&gt; for lots of tips and tricks.&lt;/li&gt;
&lt;/ol&gt;


&lt;h2&gt;Extras&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;The &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://code.activestate.com/recipes/578514-create-a-temporary-mailbox/?in=user-4173873&quot;&gt;recipe&lt;/a&gt; used to generate the mailbox.&lt;/li&gt;
&lt;/ol&gt;</description>
         <author>Noufal Ibrahim</author>
         <guid isPermaLink="false">http://emacsmovies.org/blog/2013/04/29/gnus_part_1</guid>
         <pubDate>Mon, 29 Apr 2013 16:18:48 +0000</pubDate>
      </item>
      <item>
         <title>Alex Schroeder: Emacs Wiki Redesign</title>
         <link>http://alexschroeder.ch/wiki/2013-04-26_Emacs_Wiki_Redesign</link>
         <description>&lt;p&gt;I finally &lt;a rel=&quot;nofollow&quot; class=&quot;inter EmacsWiki outside&quot; target=&quot;_blank&quot; href=&quot;http://emacswiki.org/emacs?2013-04-24&quot;&gt;installed the new theme for Emacs Wiki&lt;/a&gt;. Feel free to &lt;a rel=&quot;nofollow&quot; class=&quot;inter EmacsWiki outside&quot; target=&quot;_blank&quot; href=&quot;http://emacswiki.org/emacs?Comments_on_2013-04-24&quot;&gt;leave comments on the Talk page&lt;/a&gt;. Bootstrap allows me to make all the changes at run-time, ie. add a few scripts including a script that changes the wiki’s HTML (&lt;a rel=&quot;nofollow&quot; class=&quot;url http outside&quot; target=&quot;_blank&quot; href=&quot;http://emacswiki.org/emacs/emacs-bootstrap.js&quot;&gt;emacs-bootstrap.js&lt;/a&gt;) and a new CSS file (&lt;a rel=&quot;nofollow&quot; class=&quot;url http outside&quot; target=&quot;_blank&quot; href=&quot;http://emacswiki.org/css/bootstrap.css&quot;&gt;bootstrap.css&lt;/a&gt;).&lt;/p&gt;&lt;p&gt;Since no changes to the script are necessary I can continue to provide the old theme for those that don’t feel like switching.&lt;/p&gt;&lt;p&gt;Tags: &lt;a rel=&quot;nofollow&quot; class=&quot;outside tag&quot; target=&quot;_blank&quot; href=&quot;http://alexschroeder.ch/wiki?action=tag;id=Emacs&quot; title=&quot;Tag&quot;&gt;Emacs&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; class=&quot;feed tag&quot; target=&quot;_blank&quot; href=&quot;http://alexschroeder.ch/wiki/feed/full/Emacs&quot; title=&quot;Feed for this tag&quot;&gt;&lt;img alt=&quot;RSS&quot; src=&quot;http://alexschroeder.ch/pics/rss.png&quot;/&gt;&lt;/a&gt;&lt;/p&gt;</description>
         <author>Alex Schroeder</author>
         <guid isPermaLink="false">http://alexschroeder.ch/wiki/2013-04-26_Emacs_Wiki_Redesign</guid>
         <pubDate>Fri, 26 Apr 2013 12:42:35 +0000</pubDate>
      </item>
      <item>
         <title>Got Emacs?: GNU Emacs Contributing Guide</title>
         <link>http://feedproxy.google.com/~r/GotEmacs/~3/gSh8Zw9s1mk/gnu-emacs-contributing-guide.html</link>
         <description>If you ever wanted to contribute to Gnu Emacs development and didn't know where to start, well, worry no more.  Here's&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://permalink.gmane.org/gmane.emacs.devel/159108&quot;&gt; the first draft of it that will be soon be on the Emacs Web pages,&lt;/a&gt; thanks to Xue Fuqiao.&lt;br /&gt;
&lt;br /&gt;
If this encourages more people to develop on and for Emacs, it'd be worth it.&lt;div class=&quot;feedflare&quot;&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/GotEmacs?a=gSh8Zw9s1mk:V_2sBq7jIrc:yIl2AUoC8zA&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://feeds.feedburner.com/~ff/GotEmacs?d=yIl2AUoC8zA&quot;/&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/GotEmacs?a=gSh8Zw9s1mk:V_2sBq7jIrc:qj6IDK7rITs&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://feeds.feedburner.com/~ff/GotEmacs?d=qj6IDK7rITs&quot;/&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/GotEmacs?a=gSh8Zw9s1mk:V_2sBq7jIrc:gIN9vFwOqvQ&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://feeds.feedburner.com/~ff/GotEmacs?i=gSh8Zw9s1mk:V_2sBq7jIrc:gIN9vFwOqvQ&quot;/&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img height=&quot;1&quot; src=&quot;http://feeds.feedburner.com/~r/GotEmacs/~4/gSh8Zw9s1mk&quot; width=&quot;1&quot;/&gt;</description>
         <author>sivaram</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-3165518189103293420.post-2138622381872452691</guid>
         <pubDate>Thu, 25 Apr 2013 16:42:58 +0000</pubDate>
      </item>
      <item>
         <title>Aaron Hawley: Big Emacs reference card updated</title>
         <link>http://aaronhawley.livejournal.com/30888.html</link>
         <description>With the release of Emacs 24.3 last month and the big changes at &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.emacswiki.org/emacs/2013-04-24&quot;&gt;EmacsWiki&lt;/a&gt;, I've posted an updated version of the &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.emacswiki.org/emacs/Reference_Sheet_by_Aaron_Hawley&quot;&gt;giant Emacs reference card&lt;/a&gt;.  It now contains new sections on Calendar mode, Ediff and Abbrev mode.  There are also new example commands for keyboard macros, Dired Mode, Occur Mode, table.el and Calc.&lt;br /&gt;&lt;br /&gt;There are now more than 2000 commands up from 1500.  It should also be consistent with the latest version of &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.gnu.org/software/emacs/&quot;&gt;Emacs&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;It is released under a bunch of free licenses, including version 2 or later of the &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.gnu.org/copyleft/gpl.html&quot;&gt;GNU GPL&lt;/a&gt; and version 1.2 or later of the &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.gnu.org/licenses/fdl.html&quot;&gt;GNU FDL&lt;/a&gt;, so people are free to share and modify it.</description>
         <author>Aaron S. Hawley</author>
         <guid isPermaLink="false">urn:lj:livejournal.com:atom1:aaronhawley:30888</guid>
         <pubDate>Wed, 24 Apr 2013 16:18:44 +0000</pubDate>
      </item>
      <item>
         <title>Bozhidar Batsov: WikEmacs lives on under new stewardship</title>
         <link>http://bbatsov.github.com/articles/2013/04/24/wikemacs-lives-on-under-new-stewardship/</link>
         <description>&lt;p&gt;Several months passed since I stated my intent
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://batsov.com/articles/2013/01/27/the-wikemacs-experiment-is-over-long-live-emacswiki/&quot;&gt;to shutdown WikEmacs&lt;/a&gt;. While
I still consider the project a failed experiment and stand by
everything I wrote in that post, I have received since lots of messages from
people who were sad to see WikEmacs go. One person in particular,
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;https://twitter.com/holocronweaver&quot;&gt;Jesse Johnson&lt;/a&gt;, was committed to
seeing the project move forward and offered to take over its stewardship.&lt;/p&gt;

&lt;p&gt;In the end I’ve decided that in spirit of the FOSS ideals I don’t have
the right to take away something people like and want to use(especially
given the fact that they contributed most of the content there) and
handed over the domain and the data to Jesse.&lt;/p&gt;

&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://wikemacs.org/index.php/Main_Page&quot;&gt;WikEmacs&lt;/a&gt; has been running
for a couple of weeks now under his management and will continue to
exist for a long time. If you liked the project I guess this is a good
moment to show you love and spread the word.&lt;/p&gt;</description>
         <author>Bozhidar Batsov</author>
         <guid isPermaLink="false">http://bbatsov.github.com/articles/2013/04/24/wikemacs-lives-on-under-new-stewardship</guid>
         <pubDate>Wed, 24 Apr 2013 08:36:00 +0000</pubDate>
      </item>
      <item>
         <title>sachachua: Emacs chat intro</title>
         <link>http://sachachua.com/blog/2013/04/emacs-chat-intro/</link>
         <description>&lt;p&gt;It turns out to be lots of fun to talk to other people about Emacs. You pick up all sorts of tips and interesting ideas that way.&lt;/p&gt;
&lt;p&gt;One of the reasons why I do these chats is to help people get a sense of other people using Emacs. Now that I know John Wiegley sounds like when he’s excitedly talking about Emacs, it’s so much more fun reading his code. =) I’d love it if you told me a little bit about your story. &lt;strong&gt;Sharing how you got started with Emacs &lt;/strong&gt;(what helped, what needs work) might give us ideas on how to make it easier for people to start. &lt;strong&gt;What was your “aha!” moment? What are the things you love, and what would you like to see improved? &lt;/strong&gt;Walk me through your config, highlighting any quirky things you’ve done to make Emacs fit the way you work.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;In addition to your story, you probably have lots of little tips that could save people time or make their Emacs lives better.&lt;/strong&gt; No time to blog or screencast? Show us your favourite tricks in a chat, and I’ll take care of putting it up on the Net. It’s a quick way to get things out of your brain and onto the Internet. =)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;If you have Emacs configuration or Lisp questions, &lt;/strong&gt;ask away. I might be able to help, or someone listening might know the answer. We can spend some time digging into code or bouncing around ideas. I’m happy to help for free. If you come away with something incredibly useful, you can buy me a virtual mug of hot chocolate through PayPal or make a donation towards an awesome Emacs thing like EmacsWiki.org. =) It’s all cool.&lt;/p&gt;
&lt;p&gt;I’d love to record and share our conversation so that more people can learn from it. If there are parts that you’d like blurred or not have recorded, or if you prefer to not have the conversation recorded at all, please tell me and I’ll be happy to accommodate that.&lt;/p&gt;
&lt;p&gt;Want to talk about Emacs? Get in touch with me at &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;mailto:sacha@sachachua.com&quot;&gt;sacha@sachachua.com&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;Read the original or check out the comments on: &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://sachachua.com/blog/2013/04/emacs-chat-intro/&quot;&gt;Emacs chat intro&lt;/a&gt; (Sacha Chua's blog)&lt;/p&gt;</description>
         <author>Sacha Chua</author>
         <guid isPermaLink="false">http://sachachua.com/blog/?p=24684</guid>
         <pubDate>Tue, 23 Apr 2013 12:00:00 +0000</pubDate>
      </item>
      <item>
         <title>What the .emacs.d!?: my-misc.el-02</title>
         <link>http://whattheemacsd.com//my-misc.el-02.html</link>
         <description>&lt;p&gt;
  Undo in region is one of those mind-blowing things about emacs.
  However, the region keeps jumping about when I use it. So I added this:
&lt;/p&gt;

&lt;hr /&gt;

&lt;pre class=&quot;code-snippet&quot;&gt;&lt;span class=&quot;comment-delimiter&quot;&gt;;; &lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;Keep region when undoing in region
&lt;/span&gt;(&lt;span class=&quot;keyword&quot;&gt;defadvice&lt;/span&gt; &lt;span class=&quot;function-name&quot;&gt;undo-tree-undo&lt;/span&gt; (around keep-region activate)
  (&lt;span class=&quot;keyword&quot;&gt;if&lt;/span&gt; (use-region-p)
      (&lt;span class=&quot;keyword&quot;&gt;let&lt;/span&gt; ((m (set-marker (make-marker) (mark)))
            (p (set-marker (make-marker) (point))))
        ad-do-it
        (goto-char p)
        (set-mark m)
        (set-marker p nil)
        (set-marker m nil))
    ad-do-it))&lt;/pre&gt;

&lt;hr /&gt;

&lt;p&gt;Now the region stays in place while I'm undoing.&lt;/p&gt;

&lt;p&gt;
  Since I use undo-tree, that's what it advises, but I would guess it
  works the same for regular old undo too.
&lt;/p&gt;</description>
         <author>Magnar Sveen</author>
         <guid isPermaLink="false">urn:whattheemacsd-com:feed:post:my-misc.el-02</guid>
         <pubDate>Sun, 21 Apr 2013 00:04:27 +0000</pubDate>
      </item>
      <item>
         <title>What the .emacs.d!?: project-defuns.el-01</title>
         <link>http://whattheemacsd.com//project-defuns.el-01.html</link>
         <description>&lt;p&gt;Where do you put your project specific settings?&lt;/p&gt;

&lt;hr /&gt;

&lt;pre class=&quot;code-snippet&quot;&gt;(&lt;span class=&quot;keyword&quot;&gt;defmacro&lt;/span&gt; &lt;span class=&quot;function-name&quot;&gt;project-specifics&lt;/span&gt; (name &lt;span class=&quot;type&quot;&gt;&amp;amp;rest&lt;/span&gt; body)
  (&lt;span class=&quot;keyword&quot;&gt;declare&lt;/span&gt; (indent 1))
  `(&lt;span class=&quot;keyword&quot;&gt;progn&lt;/span&gt;
     (add-hook 'find-file-hook
               (&lt;span class=&quot;keyword&quot;&gt;lambda&lt;/span&gt; ()
                 (&lt;span class=&quot;keyword&quot;&gt;when&lt;/span&gt; (string-match-p ,name (buffer-file-name))
                   ,@body)))
     (add-hook 'dired-after-readin-hook
               (&lt;span class=&quot;keyword&quot;&gt;lambda&lt;/span&gt; ()
                 (&lt;span class=&quot;keyword&quot;&gt;when&lt;/span&gt; (string-match-p ,name (dired-current-directory))
                   ,@body)))))

(project-specifics &lt;span class=&quot;string&quot;&gt;&quot;projects/zombietdd&quot;&lt;/span&gt;
  (set (make-local-variable 'slime-js-target-url) &lt;span class=&quot;string&quot;&gt;&quot;http://localhost:3000/&quot;&lt;/span&gt;)
  (ffip-local-patterns &lt;span class=&quot;string&quot;&gt;&quot;*.js&quot;&lt;/span&gt; &lt;span class=&quot;string&quot;&gt;&quot;*.jade&quot;&lt;/span&gt; &lt;span class=&quot;string&quot;&gt;&quot;*.css&quot;&lt;/span&gt; &lt;span class=&quot;string&quot;&gt;&quot;*.json&quot;&lt;/span&gt; &lt;span class=&quot;string&quot;&gt;&quot;*.md&quot;&lt;/span&gt;))&lt;/pre&gt;

&lt;hr /&gt;

&lt;p&gt;
  I created this macro to help me set up local vars. So in the
  example, any files in &lt;code&gt;projects/zombietdd&lt;/code&gt; will see
  these slime-js-target-url and the find-file-in-projects patterns.
&lt;/p&gt;

&lt;p&gt;
  I keep these in a projects-folder to keep track of all the different
  settings for my projects.
&lt;/p&gt;</description>
         <author>Magnar Sveen</author>
         <guid isPermaLink="false">urn:whattheemacsd-com:feed:post:project-defuns.el-01</guid>
         <pubDate>Fri, 19 Apr 2013 10:03:27 +0000</pubDate>
      </item>
      <item>
         <title>Ivan Kanis: Vim Jump Cursor For Emacs</title>
         <link>http://ivan.kanis.fr/vim-jump-cursor-for-emacs.html</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://ivan.kanis.fr/jumpc.el&quot;&gt;jumpc.el&lt;/a&gt; implements the jump cursor feature found in vim.&lt;/p&gt;

&lt;p&gt;A jump is added every time you insert a character on a different
line.&lt;/p&gt;

&lt;p&gt;Jumps are remembered in a jump list. With the C-o and C-i
command you can go to cursor positions before older jumps, and back
again. Thus you can move up and down the list.&lt;/p&gt;

&lt;p&gt;Jumps are read and saved in the same configuration file as vim so
you can switch back and forth between the two editors&lt;/p&gt;

&lt;p&gt;It part of GNU ELPA so it's very easy to install.&lt;/p&gt;</description>
         <author>Ivan Kanis</author>
         <guid isPermaLink="false">http://ivan.kanis.fr/vim-jump-cursor-for-emacs.html</guid>
         <pubDate>Thu, 18 Apr 2013 00:00:00 +0000</pubDate>
      </item>
   </channel>
</rss>
<!-- fe1.yql.bf1.yahoo.com compressed/chunked Mon May 20 02:31:44 UTC 2013 -->
