<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" >
<channel>
    
    <title>fail2fail</title>
    <link>http://www.fail2fail.com/</link>
    <description>perfectionism or disability?</description>
    <dc:language>en</dc:language>
    <generator>Serendipity 1.6 - http://www.s9y.org/</generator>
    
    

<item>
    <title>Switch CapsLock and Alt - use physical Alt key as notion/ion3 META</title>
    <link>http://www.fail2fail.com/archives/46-Switch-CapsLock-and-Alt-use-physical-Alt-key-as-notionion3-META.html</link>
            <category>Software</category>
    
    <comments>http://www.fail2fail.com/archives/46-Switch-CapsLock-and-Alt-use-physical-Alt-key-as-notionion3-META.html#comments</comments>
    <wfw:comment>http://www.fail2fail.com/wfwcomment.php?cid=46</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.fail2fail.com/rss.php?version=2.0&amp;type=comments&amp;cid=46</wfw:commentRss>
    

    <author>nospam@example.com (Juri Hamburg)</author>
    <content:encoded>
    &lt;p class=&quot;break&quot;&gt;If your keyboard lacks the &amp;ldquo;Flying windows&amp;rdquo; key which you could use as the Meta key for one of the better window managers &amp;ldquo;&lt;a href=&quot;http://notion.sourceforge.net/&quot; title=&quot;Notion Window Manager&quot;&gt;notion&lt;/a&gt;&amp;rdquo;, this solution might be interesting for you.&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;I find it very comfortable to use the physical left Alt key as META key for notion. The &amp;ldquo;flying windows&amp;rdquo; key would also be fine, but it is not available on my IBM keyboards. For years I was fine with using Alt as META and escaping Alt-Combinations in notion with &lt;tt&gt;META+k-q&lt;/tt&gt; to pass them through to an applications/xclient. Some day I decided to be able to send Alt signal without the need to escape it in notion.&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;The idea to achieve it is:&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;&amp;bull; make physical CapsLock send Alt signal&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;&amp;bull; make physical Alt_L to send Super_L signal&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;&amp;bull; assign switched key symbols to modifiers&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;&amp;bull; make notion use the modifier with Super_L as META key&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;At starting point the modifier map looks like this:&lt;/p&gt;&lt;pre&gt;&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left;&quot;&gt;me&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;host$ &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;xmodmap&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-pm&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;shift&lt;/span&gt; &amp;#160; &amp;#160; &amp;#160; Shift_L &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;0x32&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;, &amp;#160;Shift_R &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;0x3e&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;lock &amp;#160; &amp;#160; &amp;#160; &amp;#160;ISO_Next_Group &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;0x42&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;control &amp;#160; &amp;#160; Control_L &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;0x25&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;, &amp;#160;Control_R &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;0x69&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;mod1 &amp;#160; &amp;#160; &amp;#160; &amp;#160;Alt_L &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;0x40&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;, &amp;#160;Meta_L &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;0xcd&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;mod2 &amp;#160; &amp;#160; &amp;#160; &amp;#160;Num_Lock &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;0x4d&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;mod3 &amp;#160; &amp;#160; &amp;#160;&lt;br /&gt;mod4 &amp;#160; &amp;#160; &amp;#160; &amp;#160;Super_L &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;0x85&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;, &amp;#160;Super_R &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;0x86&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;, &amp;#160;Super_L &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;0xce&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;, &amp;#160;Hyper_L &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;0xcf&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;mod5 &amp;#160; &amp;#160; &amp;#160; &amp;#160;ISO_Level3_Shift &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;0x5c&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;, &amp;#160;Mode_switch &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;0xcb&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;p&gt;
&lt;/p&gt;&lt;h3&gt;Find out what keycodes physical Alt and CapsLock keys are assigned to&lt;/h3&gt;&lt;p class=&quot;whiteline&quot;&gt;Firstly find out to which keycodes your physical Alt and CapsLock are mapped. Run &lt;tt&gt;xev&lt;/tt&gt; to find out. According to xev, on my machine CapsLock key uses the keycode &lt;strong&gt;66&lt;/strong&gt;. The physical left Alt key uses the keycode &lt;strong&gt;64&lt;/strong&gt;. 
&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;Recheck with xmodmap:&lt;/p&gt;&lt;pre&gt;&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left;&quot;&gt;me&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;host$ &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;xmodmap&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-pke&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;egrep&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;keycode\s*(64|66)&#039;&lt;/span&gt;&lt;br /&gt;keycode &amp;#160;&lt;span style=&quot;color: #000000;&quot;&gt;64&lt;/span&gt; = Alt_L Meta_L Alt_L Meta_L Alt_L Meta_L&lt;br /&gt;keycode &amp;#160;&lt;span style=&quot;color: #000000;&quot;&gt;66&lt;/span&gt; = ISO_Next_Group Caps_Lock ISO_Next_Group Caps_Lock ISO_Next_Group Caps_Lock&lt;/div&gt;&lt;/pre&gt;&lt;p&gt;Your output might differ depending on your configuration or hardware. Currently my Caps key is mapped to switch the keyboard layout, thus &amp;ldquo;ISO_Next_Group&amp;rdquo; appears in the output. &lt;/p&gt;&lt;p class=&quot;break&quot;&gt;[offtopic]&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;If you&#039;re curious, it results from &lt;/p&gt;&lt;pre&gt;&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left;&quot;&gt;setxkbmap &lt;span style=&quot;color: #660033;&quot;&gt;-model&lt;/span&gt; pc105 &lt;span style=&quot;color: #660033;&quot;&gt;-layout&lt;/span&gt; gb,de,ru &lt;span style=&quot;color: #660033;&quot;&gt;-variant&lt;/span&gt; ,nodeadkeys,winkeys \&lt;br /&gt;&lt;span style=&quot;color: #660033;&quot;&gt;-option&lt;/span&gt; grp:switch,grp:caps_toggle &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;amp;&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;p&gt;[/offtopic]

&lt;/p&gt;&lt;h3&gt;Remap physical Alt and CapsLock keys&lt;/h3&gt;&lt;h4&gt;Remap CapsLock keysym&lt;/h4&gt;&lt;p&gt;Add xmodmap entries to &lt;tt&gt;~/.Xmodmap&lt;/tt&gt; to clear the CapsLock:&lt;/p&gt;&lt;pre&gt;&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;clear&lt;/span&gt; lock&lt;/div&gt;&lt;/pre&gt;&lt;h4&gt;Clear mod1 and mod4&lt;/h4&gt;&lt;p&gt;Append further xmodmap entries:&lt;/p&gt;&lt;pre&gt;&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;clear&lt;/span&gt; mod1&lt;br /&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;clear&lt;/span&gt; mod4&lt;/div&gt;&lt;/pre&gt;&lt;h4&gt;Assign physical Caps key to Alt_L symbol&lt;/h4&gt;&lt;p&gt;Since Caps key uses the keycode 66, assign the keysym Super_L to it with the next xmodmap entry:&lt;/p&gt;&lt;pre&gt;&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left;&quot;&gt;keycode &lt;span style=&quot;color: #000000;&quot;&gt;66&lt;/span&gt; = Alt_L Meta_L&lt;/div&gt;&lt;/pre&gt;&lt;h4&gt;Assign physical left Alt to Super_L symbol&lt;/h4&gt;&lt;pre&gt;&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left;&quot;&gt;keycode &lt;span style=&quot;color: #000000;&quot;&gt;64&lt;/span&gt; = Super_L&lt;/div&gt;&lt;/pre&gt;&lt;h4&gt;Assign modifiers&lt;/h4&gt;&lt;pre&gt;&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left;&quot;&gt;add Mod1 = Alt_L Meta_L Alt_L Meta_L Alt_L Meta_L&lt;br /&gt;add Mod4 = Super_L&lt;br /&gt;&amp;#160;&lt;/div&gt;&lt;/pre&gt;&lt;h3&gt;Result&lt;/h3&gt;&lt;pre&gt;&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left;&quot;&gt;me&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;host$ &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;cat&lt;/span&gt; ~&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;.Xmodmap&lt;br /&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;clear&lt;/span&gt; lock&lt;br /&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;clear&lt;/span&gt; mod1&lt;br /&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;clear&lt;/span&gt; mod4&lt;br /&gt;keycode &lt;span style=&quot;color: #000000;&quot;&gt;66&lt;/span&gt; = Alt_L Meta_L&lt;br /&gt;keycode &lt;span style=&quot;color: #000000;&quot;&gt;64&lt;/span&gt; = Super_L&lt;br /&gt;add Mod1 = Alt_L Meta_L Alt_L Meta_L Alt_L Meta_L&lt;br /&gt;add Mod4 = Super_L&lt;br /&gt;&lt;br /&gt;me&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;host$ &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;xmodmap&lt;/span&gt; ~&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;.Xmodmap&lt;br /&gt;&lt;br /&gt;me&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;host$ &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;xmodmap&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-pke&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;egrep&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;keycode\s*(64|66)&#039;&lt;/span&gt;&lt;br /&gt;keycode &amp;#160;&lt;span style=&quot;color: #000000;&quot;&gt;64&lt;/span&gt; = Super_L NoSymbol Super_L NoSymbol Super_L&lt;br /&gt;keycode &amp;#160;&lt;span style=&quot;color: #000000;&quot;&gt;66&lt;/span&gt; = Alt_L Meta_L Alt_L Meta_L Alt_L Meta_L&lt;br /&gt;&lt;br /&gt;me&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;host$ &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;xmodmap&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-pm&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;shift&lt;/span&gt; &amp;#160; &amp;#160; &amp;#160; Shift_L &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;0x32&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;, &amp;#160;Shift_R &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;0x3e&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;lock &amp;#160; &amp;#160; &amp;#160;&lt;br /&gt;control &amp;#160; &amp;#160; Control_L &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;0x25&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;, &amp;#160;Control_R &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;0x69&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;mod1 &amp;#160; &amp;#160; &amp;#160; &amp;#160;Alt_L &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;0x42&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;, &amp;#160;Alt_L &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;0xcc&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;, &amp;#160;Meta_L &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;0xcd&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;mod2 &amp;#160; &amp;#160; &amp;#160; &amp;#160;Num_Lock &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;0x4d&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;mod3 &amp;#160; &amp;#160; &amp;#160;&lt;br /&gt;mod4 &amp;#160; &amp;#160; &amp;#160; &amp;#160;Super_L &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;0x40&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;, &amp;#160;Super_L &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;0x85&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;, &amp;#160;Super_L &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;0xce&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;mod5 &amp;#160; &amp;#160; &amp;#160; &amp;#160;ISO_Level3_Shift &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;0x5c&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;, &amp;#160;Mode_switch &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;0xcb&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;p&gt;
&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;Now META can be set to &amp;ldquo;&lt;tt&gt;Mod4+&lt;/tt&gt;&amp;rdquo; in &lt;tt&gt;~/.notion/cfg_notion.lua&lt;/tt&gt;. Physical Alt key will be notion&#039;s META key and CapsLock acts as Alt without the need to be escaped.
&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;It is important that you call &lt;tt&gt;xmodmap ~/.Xmodmap&lt;/tt&gt; while starting your xsession &lt;em&gt;after&lt;/em&gt; your setxkbmap command eg. in xinitrc script like: &lt;/p&gt;&lt;pre&gt;&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left;&quot;&gt;setxkbmap &lt;span style=&quot;color: #660033;&quot;&gt;-model&lt;/span&gt; pc105 &lt;span style=&quot;color: #660033;&quot;&gt;-layout&lt;/span&gt; gb,de,ru &lt;span style=&quot;color: #660033;&quot;&gt;-variant&lt;/span&gt; ,nodeadkeys,winkeys \&lt;br /&gt;&lt;span style=&quot;color: #660033;&quot;&gt;-option&lt;/span&gt; grp:switch,grp:shifts_toggle &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;amp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;xmodmap&lt;/span&gt; ~&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;.Xmodmap &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;amp;&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;p class=&quot;break&quot;&gt;Since Caps is now actually an Alt, I use pressing both Shift keys to toggle the keyboard layout.&lt;/p&gt; 
    </content:encoded>

    <pubDate>Tue, 20 Mar 2012 21:35:12 +0100</pubDate>
    <guid isPermaLink="false">http://www.fail2fail.com/archives/46-guid.html</guid>
    <category>ion3</category>
<category>keyboard</category>
<category>notion</category>
<category>software</category>
<category>xmodmap</category>
<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
</item>
<item>
    <title>Screen-like tmux: Attach a tmux session from multiple clients and view different windows per client</title>
    <link>http://www.fail2fail.com/archives/45-Screen-like-tmux-Attach-a-tmux-session-from-multiple-clients-and-view-different-windows-per-client.html</link>
            <category>Software</category>
    
    <comments>http://www.fail2fail.com/archives/45-Screen-like-tmux-Attach-a-tmux-session-from-multiple-clients-and-view-different-windows-per-client.html#comments</comments>
    <wfw:comment>http://www.fail2fail.com/wfwcomment.php?cid=45</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.fail2fail.com/rss.php?version=2.0&amp;type=comments&amp;cid=45</wfw:commentRss>
    

    <author>nospam@example.com (Juri Hamburg)</author>
    <content:encoded>
    &lt;p class=&quot;break&quot;&gt;If using terminal multiplexer &lt;tt&gt;&lt;strong&gt;screen&lt;/strong&gt;&lt;/tt&gt;, one can easily attach a session which is not detached with &lt;/p&gt;&lt;pre&gt;&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;screen&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-x&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;p class=&quot;whiteline&quot;&gt;That way it is possible to attach the same session to multiple clients. By default you are able to view different screen windows per client which attached that session. 
&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;In &lt;tt&gt;&lt;strong&gt;tmux&lt;/strong&gt;&lt;/tt&gt; the default behavior differs. Though you can also attach the same tmux session to multiple clients e.g. with &lt;/p&gt;&lt;pre&gt;&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left;&quot;&gt;tmux attach-session&lt;/div&gt;&lt;/pre&gt;&lt;p&gt; it will let you view the same tmux window in all clients that attached that tmux session. When tmux instance starts it creates automatically one tmux session. Such a session is presented equally to every client. 
&lt;/p&gt;&lt;h3&gt;Create independend tmux sessions for the same window set&lt;/h3&gt;&lt;p class=&quot;break&quot;&gt;A user creates a new tmux session with&lt;/p&gt;&lt;pre&gt;&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left;&quot;&gt;user&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;clientA$ tmux new-session&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;## create some more windows&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;## work&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;p&gt;
&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;The user decides to work with the same window set in another terminal independend:&lt;/p&gt;&lt;pre&gt;&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left;&quot;&gt;user&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;clientB$ tmux list-sessions&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt;: &lt;span style=&quot;color: #000000;&quot;&gt;8&lt;/span&gt; windows &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;created Tue Dec &lt;span style=&quot;color: #000000;&quot;&gt;13&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;20&lt;/span&gt;:&lt;span style=&quot;color: #000000;&quot;&gt;55&lt;/span&gt;:&lt;span style=&quot;color: #000000;&quot;&gt;56&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;2011&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;136x49&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;group &lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;attached&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;user&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;clientB$ tmux new-session &lt;span style=&quot;color: #660033;&quot;&gt;-t&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;p&gt;That creates a new session which uses the same window set as group 0 listed above and attaches &lt;tt&gt;clientB&lt;/tt&gt; to it. Two independent sessions working on the same set of windows are running. Very close to screen behavior.
&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;Output of &lt;tt&gt;tmux list-sessions&lt;/tt&gt; looks now like:&lt;/p&gt;&lt;pre&gt;&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt;: &lt;span style=&quot;color: #000000;&quot;&gt;8&lt;/span&gt; windows &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;created Tue Dec &lt;span style=&quot;color: #000000;&quot;&gt;13&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;20&lt;/span&gt;:&lt;span style=&quot;color: #000000;&quot;&gt;55&lt;/span&gt;:&lt;span style=&quot;color: #000000;&quot;&gt;56&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;2011&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;136x49&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;group &lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;attached&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1&lt;/span&gt;: &lt;span style=&quot;color: #000000;&quot;&gt;8&lt;/span&gt; windows &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;created Wed Dec &lt;span style=&quot;color: #000000;&quot;&gt;14&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;21&lt;/span&gt;:&lt;span style=&quot;color: #000000;&quot;&gt;53&lt;/span&gt;:&lt;span style=&quot;color: #000000;&quot;&gt;44&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;2011&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;101x33&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;group &lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;attached&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;p class=&quot;whiteline&quot;&gt;While attached to a tmux session tmux lets you change your session interactively with &lt;tt&gt;&amp;lt;C-b s&amp;gt;&lt;/tt&gt;. Closing sessions is done e.g. by &lt;/p&gt;&lt;pre&gt;&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left;&quot;&gt;tmux kill-session &lt;span style=&quot;color: #660033;&quot;&gt;-t&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;&lt;/span&gt;sessionnumber&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;p&gt;
&lt;/p&gt; 
    </content:encoded>

    <pubDate>Wed, 01 Feb 2012 10:39:02 +0100</pubDate>
    <guid isPermaLink="false">http://www.fail2fail.com/archives/45-guid.html</guid>
    <category>screen</category>
<category>software</category>
<category>tmux</category>
<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
</item>
<item>
    <title>Setup the environment depending on the host the user logins from</title>
    <link>http://www.fail2fail.com/archives/44-Setup-the-environment-depending-on-the-host-the-user-logins-from.html</link>
            <category>Linux</category>
    
    <comments>http://www.fail2fail.com/archives/44-Setup-the-environment-depending-on-the-host-the-user-logins-from.html#comments</comments>
    <wfw:comment>http://www.fail2fail.com/wfwcomment.php?cid=44</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.fail2fail.com/rss.php?version=2.0&amp;type=comments&amp;cid=44</wfw:commentRss>
    

    <author>nospam@example.com (Juri Hamburg)</author>
    <content:encoded>
    &lt;p class=&quot;whiteline&quot;&gt;Just spent about 20 minutes to answer a &lt;a href=&quot;http://stackoverflow.com/questions/9035228/unix-profile-detect-who-logged-in&quot;&gt;question on stackoverflow&lt;/a&gt; and as I was ready to commit it, the question got already closed. It would be a pity to throw the answer away, so i&#039;ll paste it here. &lt;img src=&quot;http://www.fail2fail.com/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;
&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;Hi there. You could script around the outputs of &lt;tt&gt;who&lt;/tt&gt;.&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left;&quot;&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #007800;&quot;&gt;$who&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; jham &amp;#160; &amp;#160; pts&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;13&lt;/span&gt; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000;&quot;&gt;2012&lt;/span&gt;-01-&lt;span style=&quot;color: #000000;&quot;&gt;27&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;10&lt;/span&gt;:&lt;span style=&quot;color: #000000;&quot;&gt;48&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;somehost&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; jham &amp;#160; &amp;#160; pts&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;14&lt;/span&gt; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000;&quot;&gt;2012&lt;/span&gt;-01-&lt;span style=&quot;color: #000000;&quot;&gt;27&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;16&lt;/span&gt;:&lt;span style=&quot;color: #000000;&quot;&gt;45&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;localhost.localdomain&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;

&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;we want to know only the user associated with stdin:&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left;&quot;&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #007800;&quot;&gt;$who&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-m&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; jham &amp;#160; &amp;#160; pts&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;14&lt;/span&gt; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000;&quot;&gt;2012&lt;/span&gt;-01-&lt;span style=&quot;color: #000000;&quot;&gt;27&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;16&lt;/span&gt;:&lt;span style=&quot;color: #000000;&quot;&gt;45&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;localhost.localdomain&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;
&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;now get the host only and save to a variable:  &lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left;&quot;&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #007800;&quot;&gt;myhost&lt;/span&gt;=$&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;who&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-m&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;head&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-n1&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;awk&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;{printf $5}&#039;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sed&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-e&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;s/(\(.*\))/\1/&#039;&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;
&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;define group of hostnames to react:&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left;&quot;&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #007800;&quot;&gt;goodhosts&lt;/span&gt;=&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;goodhost anotherhost localhost.localdomain&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;
&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;react: &lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left;&quot;&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;case&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #007800;&quot;&gt;${goodhosts[@]}&lt;/span&gt;&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;in&lt;/span&gt; &lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #007800;&quot;&gt;$myhost&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;good host&amp;quot;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;;;&lt;/span&gt; &lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;bad host&amp;quot;&lt;/span&gt; &lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;;;&lt;/span&gt; &lt;br /&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;esac&lt;/span&gt;&lt;/div&gt;

&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;You could put it into a file which is sourced on login (like &lt;tt&gt;.profile&lt;/tt&gt;, depending on your configuration).&lt;/p&gt; 
    </content:encoded>

    <pubDate>Fri, 27 Jan 2012 17:55:25 +0100</pubDate>
    <guid isPermaLink="false">http://www.fail2fail.com/archives/44-guid.html</guid>
    <category>bash</category>
<category>linux</category>
<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
</item>
<item>
    <title>Case insensitive token matching in Notion/Ion3</title>
    <link>http://www.fail2fail.com/archives/43-Case-insensitive-token-matching-in-NotionIon3.html</link>
            <category>Software</category>
    
    <comments>http://www.fail2fail.com/archives/43-Case-insensitive-token-matching-in-NotionIon3.html#comments</comments>
    <wfw:comment>http://www.fail2fail.com/wfwcomment.php?cid=43</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.fail2fail.com/rss.php?version=2.0&amp;type=comments&amp;cid=43</wfw:commentRss>
    

    <author>nospam@example.com (Juri Hamburg)</author>
    <content:encoded>
    &lt;p class=&quot;whiteline&quot;&gt;To enable &lt;em&gt;case insensitive&lt;/em&gt; token matching in Notion&#039;s menus like &quot;Attach Window&quot; (META-A) and &quot;Go to Window&quot; (META-G) add this line to any &quot;dopathed&quot; file in the notion configuration:&lt;/p&gt;&lt;pre&gt;&lt;div class=&quot;lua geshi&quot; style=&quot;text-align: left;&quot;&gt;mod_query.set&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt; caseicompl &lt;span style=&quot;color: #66cc66;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #b1b100;&quot;&gt;true&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;p&gt;That will save some time while navigating or layouting your workspaces.
&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;&lt;div class=&quot;serendipity_imageComment_center&quot; style=&quot;width: 150px&quot;&gt;&lt;div class=&quot;serendipity_imageComment_img&quot;&gt;&lt;a class=&quot;serendipity_image_link&quot;  href=&#039;http://fail2fail.com/dump/kram/screenies/2012-01-20-goto_caseinsensitive.png&#039; onclick=&quot;F1 = window.open(&#039;http://fail2fail.com/dump/kram/screenies/2012-01-20-goto_caseinsensitive.png&#039;,&#039;Zoom&#039;,&#039;height=783,width=1039,top=0,left=0,toolbar=no,menubar=no,location=no,resize=1,resizable=1,scrollbars=yes&#039;); return false;&quot;&gt;&lt;!-- s9ymdb:71 --&gt;&lt;img class=&quot;serendipity_image_center&quot; width=&quot;150&quot; height=&quot;113&quot; src=&quot;http://fail2fail.com/dump/kram/screenies/2012-01-20-goto_caseinsensitive.png&quot; alt=&quot;Notion with case insensitive Goto-Query&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;serendipity_imageComment_txt&quot;&gt;Notion with case insensitive Goto-Query&lt;/div&gt;&lt;/div&gt;&lt;/p&gt; 
    </content:encoded>

    <pubDate>Fri, 20 Jan 2012 12:58:34 +0100</pubDate>
    <guid isPermaLink="false">http://www.fail2fail.com/archives/43-guid.html</guid>
    <category>ion3</category>
<category>lua</category>
<category>notion</category>
<category>software</category>
<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
</item>
<item>
    <title>Reduce the size of PDF documents</title>
    <link>http://www.fail2fail.com/archives/42-Reduce-the-size-of-PDF-documents.html</link>
            <category>Software</category>
    
    <comments>http://www.fail2fail.com/archives/42-Reduce-the-size-of-PDF-documents.html#comments</comments>
    <wfw:comment>http://www.fail2fail.com/wfwcomment.php?cid=42</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.fail2fail.com/rss.php?version=2.0&amp;type=comments&amp;cid=42</wfw:commentRss>
    

    <author>nospam@example.com (Juri Hamburg)</author>
    <content:encoded>
    &lt;p class=&quot;break&quot;&gt;Use case: You are using (La)Tex to create your document and include some big non-vector graphics or high-quality scanned documents via &lt;tt&gt;&amp;#92includepdf{}&lt;/tt&gt; from &lt;tt&gt;pdfpages&lt;/tt&gt; package. You could resize/size-optimize your included parts one by one to make your resulting PDF document smaller. Or you could compile your document and then use a trick to reduce the size of the final compiled document as PDF at once: &lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left;&quot;&gt;pdf2ps finaldoc.pdf finaldoc.ps &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;ps2pdf&lt;/span&gt; finaldoc.ps finaldoc_reduced.pdf&lt;/div&gt;&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;That way I managed to reduce the document size from 22MB to 4MB. Of course, the effect depends on the material included in your document. Give it a shot.
&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;&lt;em&gt;Update (2012/01/20):&lt;/em&gt;&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;If the hint above is still not enough you might want to try to reduce the final size with &lt;tt&gt;&lt;strong&gt;gs&lt;/strong&gt;&lt;/tt&gt; via &lt;tt&gt;PDFSETTINGS&lt;/tt&gt; option described in the &lt;a href=&quot;http://www.ghostscript.com/doc/9.04/Ps2pdf.htm#Options&quot;&gt;Ghostscript Documentation&lt;/a&gt;:&lt;/p&gt;&lt;pre&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p class=&quot;break&quot;&gt;&lt;strong&gt;-dPDFSETTINGS&lt;/strong&gt;=configuration&lt;/p&gt;&lt;p class=&quot;break&quot;&gt; Presets the &quot;distiller parameters&quot; to one of four predefined settings:&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;   &lt;strong&gt;/screen&lt;/strong&gt; selects low-resolution output similar to the Acrobat Distiller&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;           &quot;Screen Optimized&quot; setting.&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;   &lt;strong&gt;/ebook&lt;/strong&gt; selects medium-resolution output similar to the Acrobat Distiller&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;          &quot;eBook&quot; setting.&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;   &lt;strong&gt;/printer&lt;/strong&gt; selects output similar to the Acrobat Distiller &lt;/p&gt;&lt;p class=&quot;break&quot;&gt;          &quot;Print Optimized&quot; setting.&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;   &lt;strong&gt;/prepress&lt;/strong&gt; selects output similar to Acrobat Distiller &lt;/p&gt;&lt;p class=&quot;break&quot;&gt;          &quot;Prepress Optimized&quot; setting.&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;   &lt;strong&gt;/default&lt;/strong&gt; selects output intended to be useful across a wide variety of &lt;/p&gt;&lt;p class=&quot;break&quot;&gt;           uses, possibly at the expense of a larger output file. &lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;/pre&gt;&lt;p class=&quot;break&quot;&gt;You can apply the desired parameter using &lt;tt&gt;ps2pdf&lt;/tt&gt;:&lt;/p&gt;&lt;pre&gt;&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;ps2pdf&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-dPDFSETTINGS&lt;/span&gt;=&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;screen&lt;/span&gt; finaldoc.ps finaldoc_reduced.pdf&lt;/div&gt;&lt;/pre&gt;&lt;p class=&quot;break&quot;&gt;or &lt;tt&gt;gs&lt;/tt&gt;:&lt;/p&gt;&lt;pre&gt;&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;gs&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-q&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-dBATCH&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-dNOPAUSE&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-sDEVICE&lt;/span&gt;=pdfwrite \&lt;br /&gt;&lt;span style=&quot;color: #660033;&quot;&gt;-dPDFSETTING&lt;/span&gt;=&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;screen&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-sOutputFile&lt;/span&gt;=finaldoc_reduced.pdf finaledoc.ps&lt;/div&gt;&lt;/pre&gt;&lt;p class=&quot;break&quot;&gt;Since it will lower the quality of the document it is advisable to check whether the document will still meet the requirements for the usage intended.&lt;/p&gt; 
    </content:encoded>

    <pubDate>Mon, 12 Dec 2011 10:26:28 +0100</pubDate>
    <guid isPermaLink="false">http://www.fail2fail.com/archives/42-guid.html</guid>
    <category>latex</category>
<category>pdf</category>
<category>software</category>
<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
</item>
<item>
    <title>Eclipse (EE) crashes </title>
    <link>http://www.fail2fail.com/archives/41-Eclipse-EE-crashes.html</link>
            <category>Software</category>
    
    <comments>http://www.fail2fail.com/archives/41-Eclipse-EE-crashes.html#comments</comments>
    <wfw:comment>http://www.fail2fail.com/wfwcomment.php?cid=41</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.fail2fail.com/rss.php?version=2.0&amp;type=comments&amp;cid=41</wfw:commentRss>
    

    <author>nospam@example.com (Juri Hamburg)</author>
    <content:encoded>
    &lt;p class=&quot;break&quot;&gt;Some months ago Eclipse EE (Indigo) started to crash whenever Java EE view was active and I selected the menu entry &quot;Window-&gt;Web Browser&quot;. Somewhere in the WWW I&#039;ve found a solution by adding following lines into &lt;tt&gt;eclipse.ini&lt;/tt&gt;:&lt;div class=&quot;text geshi&quot; style=&quot;text-align: left;&quot;&gt;-Dorg.eclipse.swt.browser.XULRunnerPath=/usr/lib/xulrunner-2.0/&lt;br /&gt;-Dorg.eclipse.swt.browser.UseWebKitGTK=true&lt;/div&gt;Posting it here for the logs. Today I got the problem on another machine and had to login into the machine where I already altered eclipse.ini to see which lines were relevant. Now it&#039;s here, just in case it happens to me somewhere else again.&lt;/p&gt; 
    </content:encoded>

    <pubDate>Sat, 12 Nov 2011 17:55:35 +0100</pubDate>
    <guid isPermaLink="false">http://www.fail2fail.com/archives/41-guid.html</guid>
    <category>eclipse</category>
<category>software</category>
<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
</item>
<item>
    <title>Scrollgeschwindigkeit im Vimperator</title>
    <link>http://www.fail2fail.com/archives/40-Scrollgeschwindigkeit-im-Vimperator.html</link>
            <category>Software</category>
    
    <comments>http://www.fail2fail.com/archives/40-Scrollgeschwindigkeit-im-Vimperator.html#comments</comments>
    <wfw:comment>http://www.fail2fail.com/wfwcomment.php?cid=40</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.fail2fail.com/rss.php?version=2.0&amp;type=comments&amp;cid=40</wfw:commentRss>
    

    <author>nospam@example.com (Juri Hamburg)</author>
    <content:encoded>
    &lt;p class=&quot;break&quot;&gt;Damit man im Vimperator gefühlt noch schneller browsen kann, die Scrollweite hochsetzen mit dem Eintrag in &lt;tt&gt;.vimperatorrc&lt;/tt&gt;:&lt;p&gt;&lt;div class=&quot;text geshi&quot; style=&quot;text-align: left;&quot;&gt;nnoremap j 7j&lt;br /&gt;nnoremap k 7k&lt;/div&gt;&lt;/p&gt;&lt;/p&gt; 
    </content:encoded>

    <pubDate>Mon, 11 Apr 2011 19:49:51 +0200</pubDate>
    <guid isPermaLink="false">http://www.fail2fail.com/archives/40-guid.html</guid>
    <category>software</category>
<category>vimperator</category>
<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
</item>
<item>
    <title>Линукс не для тебя. Брось это.</title>
    <link>http://www.fail2fail.com/archives/39-.-..html</link>
            <category>Misc</category>
    
    <comments>http://www.fail2fail.com/archives/39-.-..html#comments</comments>
    <wfw:comment>http://www.fail2fail.com/wfwcomment.php?cid=39</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.fail2fail.com/rss.php?version=2.0&amp;type=comments&amp;cid=39</wfw:commentRss>
    

    <author>nospam@example.com (Juri Hamburg)</author>
    <content:encoded>
    &lt;p class=&quot;whiteline&quot;&gt;Серьёзно, не трать сил и стараний. Это свыше твоих возможностей. Ты напрасно потратишь &lt;strike&gt;часы&lt;/strike&gt; дни, только чтобы в конечном итоге сдаться. Ты заставишь тратить усилия других людей. Через несколько дней ты снова проинсталлируешь Windows - так зачем старания?
&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;Ты думаешь, я шучу? Ни капельки. Делай то, что не можешь перестать делать, но не жалуйся позже не то, что тебя не предупреждали.
&lt;/p&gt;&lt;h3&gt;У тебя не те мотивы&lt;/h3&gt;&lt;p&gt;Ты умственная компьютерная элита. По крайней мере считаешь себя таким. Ты пользуешься хакерскими программами как Firefox и mIRC, ты знаешь элитные подпольные форумы и у тебя есть страничка на яндексе. Ты ремонтируешь компьютеры других (то есть, ты форматируешь их жёсткие диски и устанавливаешь заново Windows). И вообще, в твоём классе все тебя считают экспертом по компьютерам.
&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;Но у тебя есть одна проблема. Тебе скучно (да ещё и каникулы)... Ты прощёлкал мышкой весь свой не лицензионный Windows - знаешь все эти прекрасные настройки. В принципе, тебе даже нравится Windows, но с ним ты больше не чувствуешь себя достаточно элитным - в конце концов, на сегодняшний день, им пользуется каждый. До этой поры, ты ограничивался тем, давать квалифицированные комментарии на форумах и радовал твоих читателей изречениями как &quot;LOL! Сраный M$! OMFG!11111одинодинодиннадцать&quot; и &quot;Вонючий масдай!!!одинодинодин&quot;, только чтобы дать всем понять о твоём глубоком и обоснованном отвращении к Windows.&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;Но тебе этого больше недостаточно. После пятой партии Counterstrike ты заглядываешь к своим корешам в IRC. Там тебе рассказывают о настоящей хакерской операционке. Ибо элита пользуется Линуксом. От тебя слышат сразу же только &quot;Ого, вот это офигенно!&quot; и ты ещё успеваешь добавить &quot;а где надыбать ISOz?&quot;. Но далее ты не воспринимаешь ответ; Ты уже давно на Piratebay и ищешь там Linux 9 или Linux 10. Всё равно. 
&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;Как истинный хакер, ты уже конечно знаком с &quot;расшариванием&quot; и с твоей супер-бупер-быстрой безлимиткой ты быстро скачиваешь DVD c Kubuntu. Хотя ты и не уверен, что делать с этим &quot;ubuntu-10.10-desktop-amd64-alpha1.iso&quot;, к счастью есть форум, где тебе советовали не распаковывать этот файл твоим любимым архиватором, и вообще, это не та архитектура. Установка, на данный момент, настолько идиотически проста, что через несколько мгновений твой новый Линукс с KDE улыбaется тебе рабочим столом. Windows, ты подумал, тебе уже так и так не понадобится - поэтому ты удалил его при этой возможности.
&lt;/p&gt;&lt;h3&gt;Линукс - не замена Windows&lt;/h3&gt;&lt;p&gt;Ну вот ты и сидишь перед твоим Линуксом 10.10 и пытаешься в нём разобраться. &quot;В принципе,&quot; - говоришь ты себе - &quot;это очень даже мило&quot;. Но ты не можешь найти систему управления. Вообще, некоторые вещи не функционируют и ты задаёшь себе вопрос, почему ты не можешь воспроизвести твои .mp3 файлы. Ты спрашиваешь себя, зачем в 2010-ом году нужна консоль.&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;В скором времени тебе выявляют апокалипсис. Обнаруживается то, что ты не считал возможным: О, ужас - под Линуксом не работает твоя любимая стрелялка! Эта новость тебя довольно-таки подламывает. Ну ладно - думаешь ты - ты высоко мотивированный и новый человек - потренируюсь-ка я в Photoshop&#039;е. О, да, ещё один нюанс - Photoshop тоже не идёт. Только Gimp. Какая замена. Вообще ты удивляешься, почему в твоём стартовом меню так много программ - и ничего полезного.
&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;Но ты настоящий хакер. Ты не сдаёшься. Ты упрям. Ты намерен доказать всем насколько ты элитарен. Ты же ведь уже заявил в школе, что ты элитный Линукс-хакер. Но по настоящему подружиться с твоим Линуксом всё-таки пока не получается. Напротив, ты находишь всё очень запутанным и тебя постоянно направляют на какие-то Howtos и &quot;Маны&quot; и всякие не занимающие вещи. Читать? Да ну нафиг! С таким бы успехом ты мог бы начать читать заданный в школе &quot;Война и мир&quot;. Кому нужно чтение, если у него дома компьютер? Излишне!
&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;Ты задаёшься вопросом, чего там все находят в этом Линуксе? Каким образом это когда-либо может стать заменой &quot;Вендовозу&quot;, если там не не работают простейшие вещи? Идея, что Линукс - это альтернатива, не приходит тебе даже в голову. В конце концов - KDE даже оптически смахивает немного на Windows. Всё равно, сдаться вне обсуждении. Ты думаешь о том, как &lt;i&gt;это архаичное что-то&lt;/i&gt; может заменить Windows. Как эти странные DEB могут быть комфортнее двойного щелчка на &quot;setup.exe&quot;? Ты начинаешь скучать по повседневным вещам: &quot;Что? Скомпилировать ядро? Я же просто хочу разрешение выше 800x600 на рабочем столе&quot;.
&lt;/p&gt;&lt;h3&gt;Ты не готов набираться знаний&lt;/h3&gt;&lt;p&gt;&quot;Раньше&quot;, думаешь ты, &quot;я просто щёлкал по кнопочкам до тех пор, пока оно не начинало работать&quot;. Для тебя кажется логичным, что под Линуксом должно получаться так же. 15 постов на форуме и 20 часов в IRC позже и после того, как ты прокопался через кучу &quot;RTFM&quot;ов, ты находишь два или три сострадательных совета. Ты не понимаешь, что хотят от тебя эти люди. Каждый когда-то начинал! Почему тебе не помогают? Почему все настолько не дружелюбны? Высокомерный народ, эти Линуксоиды. Лучшее, что ты от них слышишь, это ссылки на какие-то бесполезные ресурсы на английском. Не то чтобы ты бросал на них взгляд, ведь дать простой ответ на твой простой вопрос не может быть таким тяжёлым. Все вокруг виноваты, только не ты. И почему Линукс не такой как Windows? Такой удобный для начинающих и простой. С тебя достаточно. &quot;Если это всё, что Линукс может дать, тогда я с радостью останусь на Windows&quot;, думаешь ты. Пересесть заново на Windows после самых долгих трёх дней твоей жизни тебе даётся не особо тяжело, особенно после того, как тебе в IRC посоветовали &quot;прооптимировать&quot; твой жёсткий диск:&lt;/p&gt;&lt;pre&gt;&amp;lt;xxx&amp;gt; набери просто if=/dev/random of=/dev/hda  bs=1M  count=2048&lt;/pre&gt;&lt;p&gt;Конечно же, ты это сделал. Ты даже не поинтересовался, что ты этим сделаешь. Зато, ты на данный момент вылечен от Линукса. Но недавно, в IRC, тебе сказали, что на твоём маршрутизаторе тоже установлен Линукс и что с ним можно вытворять невообразимые вещи. Ты попробуешь это обязательно. На следующих выходных.
&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;&lt;em&gt;Свободный перевод немецкого оригинала &quot;&lt;a href=&quot;http://daemonkeeper.net/43/linux-ist-nichts-fuer-dich-lass-es&quot;&gt;Linux ist nichts für dich. Lass es&lt;/a&gt;.&quot;  с разрешения автора. &lt;/p&gt;&lt;p class=&quot;break&quot;&gt;Creative Commons Attribution-NoDerivs 3.0 Unported License. &lt;div xmlns:cc=&quot;http://creativecommons.org/ns#&quot; xmlns:dct=&quot;http://purl.org/dc/terms/&quot; about=&quot;http://daemonkeeper.net/autor-impressum/&quot;&gt;&lt;span property=&quot;dct:title&quot;&gt;d(a)emonkeeper&#039;s purgatory&lt;/span&gt; (&lt;a rel=&quot;cc:attributionURL&quot; property=&quot;cc:attributionName&quot; href=&quot;http://daemonkeeper.net&quot;&gt;Arno Toell&lt;/a&gt;) / &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nd/3.0/&quot;&gt;CC BY-ND 3.0&lt;/a&gt;&lt;/div&gt;&lt;/em&gt;&lt;/p&gt; 
    </content:encoded>

    <pubDate>Sun, 06 Mar 2011 01:02:42 +0100</pubDate>
    <guid isPermaLink="false">http://www.fail2fail.com/archives/39-guid.html</guid>
    <category>linux</category>
<category>misc</category>
<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
</item>
<item>
    <title>Betrugsfalle beim Autoverkauf</title>
    <link>http://www.fail2fail.com/archives/38-Betrugsfalle-beim-Autoverkauf.html</link>
            <category>Hardware</category>
    
    <comments>http://www.fail2fail.com/archives/38-Betrugsfalle-beim-Autoverkauf.html#comments</comments>
    <wfw:comment>http://www.fail2fail.com/wfwcomment.php?cid=38</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.fail2fail.com/rss.php?version=2.0&amp;type=comments&amp;cid=38</wfw:commentRss>
    

    <author>nospam@example.com (Juri Hamburg)</author>
    <content:encoded>
    &lt;p class=&quot;whiteline&quot;&gt;Eigentlich wäre das Betrugsverfahren gar nicht wert es zu beschreiben, wenn es nicht in die Kategorie Hardware Hacking fallen würde.
&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;&lt;em&gt;An dieser Stelle möchte ich explizit darauf hinweisen, dass ich nicht zum Nachahmen animieren möchte, sondern lediglich einen Trick beschreibe, auf den ein Verwandter von mir fast reingefallen ist.&lt;/em&gt;
&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;Zielopfer: privater Diesel-Autoverkäufer (A)&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;Betrüger: mindestens zwei Personen (B1 und B2)&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;Umgebung: frostige Temperatur
&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;&amp;bull; Bs einigen sich auf den vorgeschlagenen Preis&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;&amp;bull; B1 setzt sich ans Steuer um den Motor anzulassen und betätigt den Hebel zum Öffnen der Motorhaube&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;&amp;bull; B2 öffnet die Motorhaube und schraubt den Öldeckel am Motor ab (um dort &quot;prüfend&quot; reinzuschauen)&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;&amp;bull; B1 dreht den Zündschlüssel ohne abzuwarten bis Zündungsspirale warm ist. Dabei startet der Motor dementsprechend lange und kurz bevor er nun starten soll, lässt B1 die Zündung wieder los (dabei guckt B1 noch ganz fragend). Dies wird 2-3 mal gemacht, bevor man den Motor starten lässt.&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;&amp;bull; sobald der Motor (schwer) startet drückt B1 stark auf das Gaspedal.
&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;Ergebnis: durch das &quot;Leiern&quot; und Ansaugen der Luft kommt aus dem Auspuff eine schwarze Flüssigkeit rausgeschossen und die Bs reden einem ein, dass es Motorschaden gibt und bieten die Hälfte des abgemachten Preises an. Jemand der technisch weniger versiert oder älter ist, steht erstmal unter Schock und ist froh das Auto mal überhaupt loszuwerden. Wenn dabei noch die Bs sehr gut spielen, hat ein Opfer wenig Chancen.

&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;Mich hat die Story ziemlich sprachlos gemacht. Ich denke, auf solche Tricks (wahrscheinlich gibt es mehrere dieser Art), sollte man als Privatverkäufer gut vorbereitet sein.&lt;/p&gt; 
    </content:encoded>

    <pubDate>Tue, 22 Feb 2011 20:00:26 +0100</pubDate>
    <guid isPermaLink="false">http://www.fail2fail.com/archives/38-guid.html</guid>
    <category>auto</category>
<category>hack</category>
<category>hardware</category>
<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
</item>
<item>
    <title>Ein Personalausweis beweist noch lange nichts</title>
    <link>http://www.fail2fail.com/archives/37-Ein-Personalausweis-beweist-noch-lange-nichts.html</link>
            <category>Misc</category>
    
    <comments>http://www.fail2fail.com/archives/37-Ein-Personalausweis-beweist-noch-lange-nichts.html#comments</comments>
    <wfw:comment>http://www.fail2fail.com/wfwcomment.php?cid=37</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://www.fail2fail.com/rss.php?version=2.0&amp;type=comments&amp;cid=37</wfw:commentRss>
    

    <author>nospam@example.com (Juri Hamburg)</author>
    <content:encoded>
    &lt;p class=&quot;break&quot;&gt;Ich &lt;del&gt;wollte&lt;/del&gt; musste mich heute das erste Mal für die deutsche Regierung &amp;ldquo;biometrisieren&amp;rdquo; lassen und meinen Personalausweis verlängern. Paradoxerweise, stellt sich heraus, dass in meinem Landkreis ein deutscher und noch gültiger Personalausweis nicht dazu ausreicht, um die deutsche Staatsangehörigkeit, den Geburtsort und das Geburtsdatum nachzuweisen.&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;In der Praxis bedeutet das, wenn der Ausweis nicht in meinem aktuellen Landkreis ausgestellt worden ist, muss man Geburtsurkunde &lt;u&gt;und&lt;/u&gt; Einbürgerungsurkunde mitbringen. Beim zweiten Dokument, übrigens, darf ich meine Eltern bitten mir es von WeitWeitWeg&amp;#153; zukommen zu lassen. Bis es soweit ist, läuft wahrscheinlich mein Personalausweis ab. &lt;img src=&quot;http://www.fail2fail.com/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;
&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;Noch mal zum auf der Zunge zergehen zu lassen:&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;Man braucht einen extra Nachweis, dass die Daten in einem nicht abgelaufenen deutschen Personalausweis auch stimmen.
&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;Wozu der Ausweis dann eigentlich?
&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;P. S.: Das ist keine rhetorische Frage - Erklärungen sind willkommen.&lt;/p&gt; 
    </content:encoded>

    <pubDate>Thu, 10 Feb 2011 12:43:03 +0100</pubDate>
    <guid isPermaLink="false">http://www.fail2fail.com/archives/37-guid.html</guid>
    <category>fun</category>
<category>misc</category>
<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
</item>
<item>
    <title>Pegel der Murg in Rastatt</title>
    <link>http://www.fail2fail.com/archives/36-Pegel-der-Murg-in-Rastatt.html</link>
            <category>Misc</category>
    
    <comments>http://www.fail2fail.com/archives/36-Pegel-der-Murg-in-Rastatt.html#comments</comments>
    <wfw:comment>http://www.fail2fail.com/wfwcomment.php?cid=36</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.fail2fail.com/rss.php?version=2.0&amp;type=comments&amp;cid=36</wfw:commentRss>
    

    <author>nospam@example.com (Juri Hamburg)</author>
    <content:encoded>
    &lt;p class=&quot;break&quot;&gt;Heute habe ich ein schönes Photo bekommen, das den Pegelanstieg der Murg veranschaulicht. Das untere Photo zeigt den &quot;Normalzustand&quot;. Das Obere wurde am 13.01.2011 geschossen.&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;&lt;div class=&#039;s9y_typeset s9y_typeset_center&#039; style=&#039;text-align: center; margin: 5px auto 0px auto&#039;&gt;&lt;div class=&quot;serendipity_imageComment_center&quot; style=&quot;width: 400px&quot;&gt;&lt;div class=&quot;serendipity_imageComment_img&quot;&gt;&lt;a class=&quot;serendipity_image_link&quot;  href=&#039;http://www.fail2fail.com/uploads/misc/murgpegel_mid.jpg&#039;&gt;&lt;!-- s9ymdb:70 --&gt;&lt;img class=&quot;serendipity_image_center&quot; width=&quot;400&quot; src=&quot;http://www.fail2fail.com/serendipity_admin_image_selector.php?serendipity[image]=70&amp;serendipity[disposition]=inline&amp;serendipity[step]=showItem&amp;serendipity[resizeWidth]=400&quot; alt=&quot;Murgpegel&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;serendipity_imageComment_txt&quot;&gt;Photo auf der Brücke Zur Friedrichsfeste in Richtung Ottersdorfer Str. in Rastatt.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;Die Häuser neben dem Kanal liegen geschätzt ca. 1.5 Meter unter der Böschungskante.&lt;/p&gt; 
    </content:encoded>

    <pubDate>Sun, 16 Jan 2011 20:25:13 +0100</pubDate>
    <guid isPermaLink="false">http://www.fail2fail.com/archives/36-guid.html</guid>
    <creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
</item>
<item>
    <title>IMAP Fehlermeldung: &quot;Web Login required&quot; bei GMail</title>
    <link>http://www.fail2fail.com/archives/35-IMAP-Fehlermeldung-Web-Login-required-bei-GMail.html</link>
            <category>Misc</category>
    
    <comments>http://www.fail2fail.com/archives/35-IMAP-Fehlermeldung-Web-Login-required-bei-GMail.html#comments</comments>
    <wfw:comment>http://www.fail2fail.com/wfwcomment.php?cid=35</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.fail2fail.com/rss.php?version=2.0&amp;type=comments&amp;cid=35</wfw:commentRss>
    

    <author>nospam@example.com (Juri Hamburg)</author>
    <content:encoded>
    &lt;p class=&quot;break&quot;&gt;Heute habe ich von &lt;texttt&gt;offlineimap&lt;/texttt&gt; folgenden Fehler beim Abrufen der (Google) Mails bekommen:&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;&lt;div class=&quot;plaintext geshi&quot; style=&quot;text-align: left;&quot;&gt;WARNING: Error occured attempting to sync account gmail: [ALERT] Web login required&lt;/div&gt;&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;Gründe dafür u.A. könnten sein: Passwort kürzer als 8 Zeichen oder zu klein gewählter Zeitinterval zwischen den IMAP/POP3 Anfragen.
&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;Das lösen des Captchas auf &lt;a href=&quot;https://www.google.com/accounts/DisplayUnlockCaptcha&quot;&gt;https://www.google.com/accounts/DisplayUnlockCaptcha&lt;/a&gt; behebt das Problem. Sollte es öfter geschehen, muss wahrscheinlich die Zeit zwischen Abfragen erhöht werden. Offiziell sollte die Zeit mindestens 10 Minuten betragen. Aber, psst.. mal unter uns,  funktioniert es auch mit 4 Minuten seit Monaten wunderbar.&lt;/p&gt; 
    </content:encoded>

    <pubDate>Wed, 12 Jan 2011 12:07:47 +0100</pubDate>
    <guid isPermaLink="false">http://www.fail2fail.com/archives/35-guid.html</guid>
    <category>gmail</category>
<category>imap</category>
<category>misc</category>
<category>pop3</category>
<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
</item>
<item>
    <title>Entfernen aller Dateien, die zuvor mit unzip extrahiert wurden</title>
    <link>http://www.fail2fail.com/archives/34-Entfernen-aller-Dateien,-die-zuvor-mit-unzip-extrahiert-wurden.html</link>
            <category>Linux</category>
    
    <comments>http://www.fail2fail.com/archives/34-Entfernen-aller-Dateien,-die-zuvor-mit-unzip-extrahiert-wurden.html#comments</comments>
    <wfw:comment>http://www.fail2fail.com/wfwcomment.php?cid=34</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://www.fail2fail.com/rss.php?version=2.0&amp;type=comments&amp;cid=34</wfw:commentRss>
    

    <author>nospam@example.com (Juri Hamburg)</author>
    <content:encoded>
    &lt;p class=&quot;whiteline&quot;&gt;Auch wenn sowas nach einigen Jahren Erfahrung nicht passieren sollte: ein Mal guckt man nicht in die Dateiliste eines Archivs vor dem Entpacken und schon hat man ein Verzeichnis zugemüllt. Heute speziell bei mir: unzip.
&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;Da das nun nicht das erste (und wohl auch nicht das letzte) Mal gewesen ist - ein schmutziger &quot;Einzeiler&quot; für die bash für das Entfernen der zuvor &lt;strong&gt;mit unzip&lt;/strong&gt; entpackten Dateien, damit ich beim nächsten mal nicht wieder Zeit verliere. Anzuwenden im selben Ordner, in dem die Dateien entpackt worden sind und in dem das Archiv liegt. &lt;/p&gt;&lt;pre&gt;&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;mkdir&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-p&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;tmp&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;trash; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;unzip&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-l&lt;/span&gt; ARCHIV.zip &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;tail&lt;/span&gt; -n+&lt;span style=&quot;color: #000000;&quot;&gt;4&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; \&lt;br /&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;head&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-n-2&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;tr&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-s&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot; &amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; \&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;while&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;read&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-r&lt;/span&gt; line; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;do&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #007800;&quot;&gt;$line&lt;/span&gt;&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;cut&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-d&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&#039; &#039;&lt;/span&gt; -f5; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;done&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; \&lt;br /&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;xargs&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-I&lt;/span&gt; moveme &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;mv&lt;/span&gt; moveme &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;tmp&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;trash;&lt;/div&gt;&lt;/pre&gt;&lt;p&gt;Der Skript wird leider alle beim Entpacken erstellte Ordner nicht löschen (war bei mir in diesem Fall nicht relevant). Da könnte einem hinterher noch folgendes behilflich sein:&lt;/p&gt;&lt;pre&gt;&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;find&lt;/span&gt; . &lt;span style=&quot;color: #660033;&quot;&gt;-depth&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-type&lt;/span&gt; d &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;xargs&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;rmdir&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;/&lt;/span&gt;dev&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;null&lt;/div&gt;&lt;/pre&gt;&lt;p&gt;Das soll im Arbeitsverzeichnis rekursiv alle leeren Ordner löschen. Nicht elegant, aber wer braucht schon leere Ordner? *hust*&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;Für das regexen der Ordnernamen aus der Archiv-Dateiliste war ich (noch) zu faul.&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;Achtung: getestet nur an einem meinen konkreten Fall, ohne Gewähr, etc.
&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;Update:&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;Lösung für das Mitnehmen von Ordnern wäre:&lt;/p&gt;&lt;pre&gt;&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;mkdir&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-p&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;tmp&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;trash; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;unzip&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-l&lt;/span&gt; ARCHIV.zip &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;tail&lt;/span&gt; -n+&lt;span style=&quot;color: #000000;&quot;&gt;4&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; \&lt;br /&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;head&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-n-2&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;tr&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-s&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot; &amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; \&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;while&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;read&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-r&lt;/span&gt; line; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;do&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #007800;&quot;&gt;$line&lt;/span&gt;&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;cut&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-d&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&#039; &#039;&lt;/span&gt; -f5; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;done&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;cut&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-d&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;/&#039;&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-f1&lt;/span&gt; \&lt;br /&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;xargs&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-I&lt;/span&gt; moveme &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;mv&lt;/span&gt; moveme &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;tmp&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;trash &lt;span style=&quot;color: #000000;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;dev&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;null;&lt;/div&gt;&lt;/pre&gt;&lt;p&gt;(Ungetestet). Hier besteht allerdings die Gefahr, dass man Ordner, die vor dem Entpacken des Archivs existierten, mitnimmt. &lt;/p&gt; 
    </content:encoded>

    <pubDate>Sat, 23 Oct 2010 01:28:14 +0200</pubDate>
    <guid isPermaLink="false">http://www.fail2fail.com/archives/34-guid.html</guid>
    <category>bash</category>
<category>linux</category>
<category>misc</category>
<category>unzip</category>
<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
</item>
<item>
    <title>Das beste Mac Feature</title>
    <link>http://www.fail2fail.com/archives/33-Das-beste-Mac-Feature.html</link>
    
    <comments>http://www.fail2fail.com/archives/33-Das-beste-Mac-Feature.html#comments</comments>
    <wfw:comment>http://www.fail2fail.com/wfwcomment.php?cid=33</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.fail2fail.com/rss.php?version=2.0&amp;type=comments&amp;cid=33</wfw:commentRss>
    

    <author>nospam@example.com (Juri Hamburg)</author>
    <content:encoded>
    &lt;p class=&quot;break&quot;&gt;Meine erste Mac-Erfahrung: Ich durfte/sollte mir im Rahmen einer Projektarbeit einen iMac  in OVP nach Hause nehmen. Von allen  Features hat mir am meisten der &lt;strong&gt;Geruch&lt;/strong&gt; gefallen. Gibt&#039;s das als Spray für meine alte Kisten?&lt;/p&gt; 
    </content:encoded>

    <pubDate>Fri, 22 Oct 2010 18:54:46 +0200</pubDate>
    <guid isPermaLink="false">http://www.fail2fail.com/archives/33-guid.html</guid>
    <category>mac</category>
<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
</item>
<item>
    <title>Restructured Text nach Mediawiki Markup konvertieren</title>
    <link>http://www.fail2fail.com/archives/32-Restructured-Text-nach-Mediawiki-Markup-konvertieren.html</link>
            <category>Software</category>
    
    <comments>http://www.fail2fail.com/archives/32-Restructured-Text-nach-Mediawiki-Markup-konvertieren.html#comments</comments>
    <wfw:comment>http://www.fail2fail.com/wfwcomment.php?cid=32</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.fail2fail.com/rss.php?version=2.0&amp;type=comments&amp;cid=32</wfw:commentRss>
    

    <author>nospam@example.com (Juri Hamburg)</author>
    <content:encoded>
    &lt;p class=&quot;whiteline&quot;&gt;Vor einigen Tagen wollte ich größere Menge von restructured text Dokumenten (&lt;a href=&quot;http://docutils.sourceforge.net/docs/user/rst/quickref.html&quot; title=&quot;restructured Text Quick Reference&quot;&gt;reST&lt;/a&gt;) nach Mediawiki Markup konvertieren. Eine Recherche ergab, dass es noch gar keine Werkzuege gibt, die das so machen, wie ich es haben wollte. Für sehr einfache reST Dokumente könnte sich &lt;a href=&quot;http://johnmacfarlane.net/pandoc/&quot; title=&quot;pandoc&quot;&gt;Pandoc&lt;/a&gt; eignen. In vielen Fällen bei meinen Dokumenten, hatte es keine ordentliche Ausgabe hingekriegt.
&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;Basierend auf &lt;a href=&quot;http://code.google.com/p/wikir/&quot; title=&quot;Wikir&quot;&gt;Wikir&lt;/a&gt; (reST zu &lt;a href=&quot;http://code.google.com/p/support/wiki/WikiSyntax&quot; title=&quot;Google Code Wiki Syntax&quot;&gt;GoogleCodeWiki&lt;/a&gt;) und docutils habe ich einen Python-Skript geschrieben, der die Konvertierung so macht, wie ich es haben möchte. Bei Bedarf kann der Skript nicht nur reST nach Mediawiki Markup überführen, sondern auch das Dokument in eine minimale XML-Struktur &quot;verpacken&quot;, so dass die Ergebnisse über die Import-Spezialseite importiert werden können. Der Code wird keinen Schönheits-Award gewinnen, seinen Zweck erfüllt er aber bei mir und, hoffentlich, kann es jemandem auf eine Weise behilflich sein.
&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;Der Skript steht &lt;a href=&quot;http://github.com/jhamb/rest2wiki&quot; title=&quot;rest2wiki&quot;&gt;auf Github zur Verfügung&lt;/a&gt;.
&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;Kurz der Stand der Dinge:&lt;/p&gt;&lt;ul&gt;
    &lt;li&gt;reST nach GoogleWiki kennt:&lt;/li&gt;
        &lt;/p&gt;&lt;ul&gt;&lt;li&gt;title&lt;/li&gt;
        &lt;li&gt;code block &lt;/li&gt;
        &lt;li&gt;strong + emphased text&lt;/li&gt;
        &lt;li&gt;bullet + enumeration lists&lt;/li&gt;
        &lt;li&gt;paragraph&lt;/li&gt;
        &lt;li&gt;references&lt;/li&gt;
    &lt;/ul&gt;&lt;p class=&quot;break&quot;&gt;    &lt;li&gt;reST nach Mediawiki kennt:&lt;/li&gt;&lt;/p&gt;&lt;ul&gt;
        &lt;li&gt;title&lt;/li&gt;
        &lt;li&gt;code block&lt;/li&gt;&lt;li&gt;inline literals
        &lt;/li&gt;&lt;li&gt;strong + emphased text&lt;/li&gt;
        &lt;li&gt;image&lt;/li&gt;
        &lt;li&gt;bullet + enumeration lists&lt;/li&gt;
        &lt;li&gt;definition lists&lt;/li&gt;
        &lt;li&gt;paragraph&lt;/li&gt;
        &lt;li&gt;comment&lt;/li&gt;
        &lt;li&gt;&lt;strong&gt;keine interne Links (todo)&lt;/strong&gt;&lt;/li&gt;
    &lt;/ul&gt;&lt;p class=&quot;break&quot;&gt;    &lt;li&gt;minimale XML-Struktur für Mediawiki-Import&lt;/li&gt;&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;&lt;/ul&gt;&lt;p&gt;Möglicherweise werde ich in der nächsten Zeit etwas verbessern, oder sogar, wenn ich Zeit finde, Mediawiki-Support im Wikir ordnungsgemäß einpflegen.
&lt;/p&gt;&lt;h3&gt;Anwendungsbeispiel&lt;/h3&gt;&lt;pre&gt;&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left;&quot;&gt;user&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;host $ &amp;#160; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;cd&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;path&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;to&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;directory_with_rest_documents&lt;br /&gt;user&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;host $ &amp;#160; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;mkdir&lt;/span&gt; ..&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;docs.mediawiki&lt;br /&gt;user&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;host $ &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;for&lt;/span&gt; i &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;in&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt;; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;do&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;processing &lt;span style=&quot;color: #007800;&quot;&gt;$i&lt;/span&gt;&amp;quot;&lt;/span&gt;; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;path&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;to&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;rest2wiki.py \&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;&lt;span style=&quot;color: #660033;&quot;&gt;-w&lt;/span&gt; mediawiki \&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;&lt;span style=&quot;color: #660033;&quot;&gt;-f&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #007800;&quot;&gt;$i&lt;/span&gt;&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt; ..&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;docs.mediawiki&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #007800;&quot;&gt;$i&lt;/span&gt;&amp;quot;&lt;/span&gt;.mediawiki; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;done&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;p&gt;Aufruf von &lt;tt&gt;rest2wiki.py -h&lt;/tt&gt; listet weitere mögliche Argumente auf.&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;Vorschläge und Patches sind sehr willkommen. &lt;img src=&quot;http://www.fail2fail.com/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;&lt;/p&gt; 
    </content:encoded>

    <pubDate>Tue, 21 Sep 2010 18:11:22 +0200</pubDate>
    <guid isPermaLink="false">http://www.fail2fail.com/archives/32-guid.html</guid>
    <category>docutils</category>
<category>google</category>
<category>mediawiki</category>
<category>python</category>
<category>rest</category>
<category>restructured text</category>
<category>software</category>
<category>wikir</category>
<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
</item>

</channel>
</rss>
