<?xml version="1.0" encoding="iso-8859-1"?>
<?xml-stylesheet type="text/xsl" href="/static/rss.xsl"?>
<!-- name="generator" content="blosxom/2.1.2+dev" -->
<rss version="2.0"
     xmlns:dc="http://purl.org/dc/elements/1.1/"
     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
     xmlns:cc="http://web.resource.org/cc/"
     xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
     xmlns:admin="http://webns.net/mvcb/"
     xmlns:wfw="http://wellformedweb.org/CommentAPI/" >
  <channel>
    <!-- RSS required -->
    <title>Blogging is futile   </title>
    <!-- <link>http://noone.org/blog</link> -->
    <description>Yet another Blosxom weblog from someone who promised himself to never start blogging - since blogging is futile.</description>

    <!-- RSS optional -->
    <pubDate>Wed, 19 Jun 2013 12:28:30 +0200</pubDate>
    <lastBuildDate>Wed, 19 Jun 2013 12:28:30 +0200</lastBuildDate>
    <copyright>&amp;copy; 2005-2008 by Axel Beckert. Content licensed under the Creative Commons NC SA 2.0 DE License. Some rights reserved.</copyright>
    <language>en</language>
    <managingEditor>abe+blog@deuxchevaux.org (Axel Beckert)</managingEditor>
    <webMaster>abe+blog@deuxchevaux.org (Axel Beckert)</webMaster>
    <generator>blosxom/2.1.2+dev</generator>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <ttl>42</ttl>
    <image>
        <url>http://noone.org/static/XTaran1.3t.png</url>
        <title>Hackergotchi: Axel "XTaran" Beckert</title>
        <link>http://noone.org/blog</link>
        <width>102</width>
        <height>104</height>
    </image>

    <!-- Dublin Core -->
<!--
    <dc:publisher>Axel Beckert (abe+blog@deuxchevaux.org)</dc:publisher>
    <dc:rights>&copy; 2005-2008 by Axel Beckert. Content licensed under the Creative Commons NC SA 2.0 DE License. Some rights reserved.</dc:rights>
    <dc:language>de</dc:language>
    <dc:language>en</dc:language>
    <dc:title>Blogging is futile   </dc:title>
    <dc:subject>Rants and brain dumps about Debian, the Web, old Hardware, old Citroëns and the daily life of an ETHZ system administrator</dc:subject>
    <dc:description>Yet another Blosxom weblog from someone who promised himself to never start blogging - since blogging is futile.</dc:description>
-->

    <!-- Others -->
    <admin:generatorAgent rdf:resource="http://blosxom.sourceforge.net/" />
    <admin:errorReportsTo rdf:resource="mailto:abe+blog@deuxchevaux.org" />
    <cc:license rdf:resource="http://creativecommons.org/licenses/by-nc-sa/2.0/de/">http://creativecommons.org/licenses/by-nc-sa/2.0/de/</cc:license>

  <item>
    <title>New web browsers in Wheezy</title>
    <slash:department></slash:department>
    <slash:section>English &amp;raquo; Computer &amp;raquo; Debian</slash:section>
    <link>http://noone.org/blog/English/Computer/Debian/New%2520web%2520browsers%2520in%2520Wheezy.html</link>
    <guid isPermaLink="true">http://noone.org/blog/English/Computer/Debian/New%2520web%2520browsers%2520in%2520Wheezy.html</guid>
    <pubDate>Thu, 02 May 2013 16:14:21 +0200</pubDate>
    <author>abe+blog@deuxchevaux.org (Axel Beckert)</author>
    <description>
Since there is so much nice new stuff in &lt;a href=&quot;http://www.debian.org/News/weekly/2010/11/#6&quot; class=&quot;ext&quot;&gt;Debian Wheezy&lt;/a&gt;, I have to
split up my contributions to Mika&amp;#8217;s &lt;a class=&quot;ext&quot;
href=&quot;http://lists.debian.org/debian-devel/2013/04/msg00870.html&quot;
&gt;#newinwheezy game&lt;/a&gt; on &lt;a href=&quot;http://planet.debian.org/&quot; class=&quot;uni&quot;&gt;Planet Debian&lt;/a&gt;.

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

Here&amp;#8217;s the next bunch, this time web browsers:

&lt;/p&gt;&lt;dl compact=&quot;compact&quot;&gt;

&lt;a href=&quot;http://screenshots.debian.net/package/dillo&quot;&gt;&lt;img
src=&quot;http://screenshots.debian.net/thumbnail-with-version/dillo/3.0.2-2&quot;
align=&quot;right&quot; alt=&quot;Dillo Screenshot&quot; border=&quot;0&quot;/&gt;&lt;/a&gt;

&lt;dt&gt;&lt;a class=&quot;ext&quot; href=&quot;http://packages.debian.org/dillo&quot;&gt;dillo&lt;/a&gt;&lt;/dt&gt;

&lt;dd&gt;The FLTK-based lightweight &lt;acronym title=&quot;Graphical User Interface&quot;&gt;GUI&lt;/acronym&gt; web browser &lt;a class=&quot;ext&quot;
href=&quot;http://www.dillo.org/&quot; &gt;Dillo&lt;/a&gt; comes with its own rendering
engine (no JavaScript, incomplete &lt;acronym title=&quot;Cascading Stylesheets&quot;&gt;CSS&lt;/acronym&gt; support) was already in &lt;a href=&quot;http://www.debian.org/&quot; class=&quot;ext&quot;&gt;Debian&lt;/a&gt;
before, but was removed before the release of &lt;a href=&quot;http://www.debian.org/releases/squeeze/&quot; class=&quot;ext&quot;&gt;Debian Squeeze&lt;/a&gt;, because
&lt;a href=&quot;http://www.dillo.org/&quot; class=&quot;ext&quot;&gt;Dillo&lt;/a&gt; 2 relied on FLTK 2.x which had an unclear license
situation back then and never made it into Debian. In the meanwhile
Dillo 3 relies on FLTK 1.3 as FLTK upstream abandoned the 2.0 branch and
continued development on the 1.3 branch. So I brought Dillo back into Debian
with its 3.0.x release.&lt;/dd&gt;

&lt;br clear=&quot;right&quot; /&gt;&lt;a
href=&quot;http://screenshots.debian.net/package/netsurf&quot;&gt;&lt;img
src=&quot;http://screenshots.debian.net/thumbnail-with-version/netsurf/2.9-2&quot;
align=&quot;right&quot; alt=&quot;Netsurf Screenshot&quot; border=&quot;0&quot;/&gt;&lt;/a&gt;

&lt;dt&gt;&lt;a class=&quot;ext&quot; href=&quot;http://packages.debian.org/netsurf&quot;&gt;netsurf&lt;/a&gt;&lt;/dt&gt;

&lt;dd&gt;The RiscOS-originating lightweight &lt;acronym title=&quot;Graphical User Interface&quot;&gt;GUI&lt;/acronym&gt; web browser &lt;a
href=&quot;http://www.netsurf-browser.org/&quot; class=&quot;ext&quot; &gt;Netsurf&lt;/a&gt; was
already in Debian, too, but didn&amp;#8217;t make it into Debian Squeeze as it
needed the Lemon parser generator (part of the SQLite source) to build
back then and a change in Lemon caused &lt;a href=&quot;http://www.netsurf-browser.org/&quot; class=&quot;ext&quot;&gt;Netsurf&lt;/a&gt; to no more build
properly in the wrong moment. Netsurf supports &lt;acronym title=&quot;Cascading Stylesheets&quot;&gt;CSS&lt;/acronym&gt; 2.1, but has no
JavaScript support either. I&amp;#8217;d consider its rendering engine more
complete than Dillo&amp;#8217;s.&lt;/dd&gt;

&lt;br clear=&quot;right&quot; /&gt;&lt;a
href=&quot;http://screenshots.debian.net/package/xxxterm&quot;&gt;&lt;img
src=&quot;http://screenshots.debian.net/thumbnail-with-version/xxxterm/1:1.11.3-1&quot;
align=&quot;right&quot; alt=&quot;XXXTerm Screenshot&quot; border=&quot;0&quot;/&gt;&lt;/a&gt;

&lt;dt&gt;&lt;a class=&quot;ext&quot; href=&quot;http://packages.debian.org/surf&quot;&gt;surf&lt;/a&gt; and &lt;a class=&quot;ext&quot; href=&quot;http://packages.debian.org/xxxterm&quot;&gt;xxxterm&lt;/a&gt;&lt;/dt&gt;

&lt;dd&gt;&lt;a href=&quot;http://surf.suckless.org/&quot; class=&quot;ext&quot; &gt;Surf&lt;/a&gt; and &lt;a
href=&quot;https://opensource.conformal.com/wiki/XXXTerm&quot; class=&quot;ext&quot;
&gt;XXXTerm&lt;/a&gt; are both simple and minimalistic &lt;a href=&quot;http://www.webkit.org/&quot; class=&quot;ext&quot;&gt;webkit&lt;/a&gt;-based browsers.
Surf is easy to embed in other applications and XXXTerm features
vi-like keybindings for heavy keyboard users.&lt;/dd&gt;

&lt;/dl&gt;&lt;p&gt;

To be continued&amp;#8230; ;-)</description>
    <comments>http://noone.org/blog/English/Computer/Debian/New%2520web%2520browsers%2520in%2520Wheezy.futile#comments</comments>
    <slash:comments>0</slash:comments>
    <dc:language>en</dc:language>
    <category domain="http://noone.org/blog/tags/Debian">Debian</category>
<category domain="http://noone.org/blog/tags/dillo">dillo</category>
<category domain="http://noone.org/blog/tags/netsurf">netsurf</category>
<category domain="http://noone.org/blog/tags/newinwheezy">newinwheezy</category>
<category domain="http://noone.org/blog/tags/surf">surf</category>
<category domain="http://noone.org/blog/tags/webbrowser">webbrowser</category>
<category domain="http://noone.org/blog/tags/Wheezy">Wheezy</category>
<category domain="http://noone.org/blog/tags/xxxterm">xxxterm</category>

  </item>
  <item>
    <title>New SSH-related stuff in Wheezy</title>
    <slash:department></slash:department>
    <slash:section>English &amp;raquo; Computer &amp;raquo; Debian</slash:section>
    <link>http://noone.org/blog/English/Computer/Debian/New%2520SSH%2520stuff%2520in%2520Wheezy.html</link>
    <guid isPermaLink="true">http://noone.org/blog/English/Computer/Debian/New%2520SSH%2520stuff%2520in%2520Wheezy.html</guid>
    <pubDate>Thu, 02 May 2013 15:28:22 +0200</pubDate>
    <author>abe+blog@deuxchevaux.org (Axel Beckert)</author>
    <description>
Mika had the nice idea of doing a &lt;a class=&quot;ext&quot;
href=&quot;http://lists.debian.org/debian-devel/2013/04/msg00870.html&quot;
&gt;#newinwheezy game&lt;/a&gt; on &lt;a href=&quot;http://planet.debian.org/&quot; class=&quot;uni&quot;&gt;Planet Debian&lt;/a&gt;, so let&amp;#8217;s join:

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

There are (at least) two new &lt;acronym title=&quot;Secure Shell&quot;&gt;SSH&lt;/acronym&gt; related tools new in &lt;a href=&quot;http://www.debian.org/News/weekly/2010/11/#6&quot; class=&quot;ext&quot;&gt;Debian Wheezy&lt;/a&gt;:

&lt;/p&gt;&lt;dl compact=&quot;compact&quot;&gt;

&lt;dt&gt;&lt;a class=&quot;ext&quot; href=&quot;http://packages.debian.org/mosh&quot;&gt;mosh&lt;/a&gt;&lt;/dt&gt;

&lt;dd&gt;is the &amp;#8220;mobile shell&amp;#8221;, an UDP based remote shell terminal which
works better than &lt;acronym title=&quot;Secure Shell&quot;&gt;SSH&lt;/acronym&gt; in case of lag, packet loss or other forms of
bad connection. &lt;a
href=&quot;http://noone.org/blog/English/Computer/Mobile/Remote%20Shells.futile&quot;
&gt;I wrote about mosh in more detail about a year ago&lt;/a&gt;. mosh is also
available for &lt;a href=&quot;http://www.debian.org/releases/squeeze/&quot; class=&quot;ext&quot;&gt;Debian Squeeze&lt;/a&gt; via squeeze-&lt;a href=&quot;http://www.backports.org/&quot; class=&quot;ext&quot;&gt;backports&lt;/a&gt;.&lt;/dd&gt;

&lt;dt&gt;&lt;a class=&quot;ext&quot; href=&quot;http://packages.debian.org/sshuttle&quot;&gt;sshuttle&lt;/a&gt;&lt;/dt&gt;

&lt;dd&gt;is somewhere between port-forwarding and VPN. It allows forward
arbitrary TCP connections over an &lt;acronym title=&quot;Secure Shell&quot;&gt;SSH&lt;/acronym&gt; connection without the need to
configure individual port forwardings. It does not need root access on
the server-side either. &lt;a
href=&quot;http://noone.org/blog/English/Computer/Mobile/Tunneling.futile&quot;
&gt;I wrote about sshuttle in more detail about a year ago.&lt;/a&gt;&lt;/dd&gt;

&lt;/dl&gt;&lt;p&gt;

To be continued&amp;#8230; ;-)</description>
    <comments>http://noone.org/blog/English/Computer/Debian/New%2520SSH%2520stuff%2520in%2520Wheezy.futile#comments</comments>
    <slash:comments>0</slash:comments>
    <dc:language>en</dc:language>
    <category domain="http://noone.org/blog/tags/Debian">Debian</category>
<category domain="http://noone.org/blog/tags/mika">mika</category>
<category domain="http://noone.org/blog/tags/mosh">mosh</category>
<category domain="http://noone.org/blog/tags/newinwheezy">newinwheezy</category>
<category domain="http://noone.org/blog/tags/Planet%20Debian">Planet Debian</category>
<category domain="http://noone.org/blog/tags/SSH">SSH</category>
<category domain="http://noone.org/blog/tags/sshuttle">sshuttle</category>
<category domain="http://noone.org/blog/tags/Wheezy">Wheezy</category>

  </item>
  <item>
    <title>Rendering Markdown, Asciidoc and Friends automatically while Editing</title>
    <slash:department>also-small-tools-can-make-people-happy</slash:department>
    <slash:section>English &amp;raquo; Computer &amp;raquo; Web</slash:section>
    <link>http://noone.org/blog/English/Computer/Web/Rendering%2520Markdown%252C%2520Asciidoc%2520and%2520Friends%2520automatically%2520while%2520Editing.html</link>
    <guid isPermaLink="true">http://noone.org/blog/English/Computer/Web/Rendering%2520Markdown%252C%2520Asciidoc%2520and%2520Friends%2520automatically%2520while%2520Editing.html</guid>
    <pubDate>Sun, 10 Mar 2013 15:41:58 +0100</pubDate>
    <author>abe+blog@deuxchevaux.org (Axel Beckert)</author>
    <description>
Partially because of &lt;a href=&quot;http://daringfireball.net/projects/markdown/&quot; class=&quot;ext&quot;&gt;Markdown&lt;/a&gt; being &lt;a href=&quot;http://github.com/&quot; class=&quot;ext&quot;&gt;Github&lt;/a&gt;&amp;#8217;s markup format of choice,
I enjoy writing documents in simple markup formats more and more.

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

There&amp;#8217;s though one common annoyance with these formats compared to
writing plain &lt;acronym title=&quot;Hypertext Markup Language&quot;&gt;HTML&lt;/acronym&gt;&amp;#8230;

&lt;/p&gt;&lt;h4&gt;The Annoyance&lt;/h4&gt;&lt;p&gt;

They need to be rendered (i.e. more or less compiled) before you can
view your outpourings rendered, e.g. in the web browser. So the
workflow usually is:

&lt;/p&gt;&lt;ol&gt;

&lt;li&gt;Saving the current file in your favourite editor&lt;/li&gt;
&lt;li&gt;Switch to terminal with commandline&lt;/li&gt;
&lt;li&gt;Cursor up, Enter&lt;/li&gt;
&lt;li&gt;Switch to your favourite web browser&lt;/li&gt;
&lt;li&gt;Hit the reload button&lt;/li&gt;

&lt;/ol&gt;&lt;h4&gt;Using a Specialized Editor with Live Preview&lt;/h4&gt;&lt;p&gt;

One choice would be to use a specific editor with live rendering. The
one I know in &lt;a href=&quot;http://www.debian.org/&quot; class=&quot;ext&quot;&gt;Debian&lt;/a&gt; (from &lt;a href=&quot;http://www.debian.org/News/weekly/2010/11/#6&quot; class=&quot;ext&quot;&gt;Wheezy&lt;/a&gt; on) is &lt;a class=&quot;ext&quot;
href=&quot;http://sourceforge.net/p/retext/home/ReText/&quot; &gt;ReText&lt;/a&gt;
(Debian package &lt;a class=&quot;ext&quot; href=&quot;http://packages.debian.org/retext&quot;&gt;retext&lt;/a&gt;). It supports Markdown and
&lt;a href=&quot;http://docutils.sourceforge.net/rst.html&quot; class=&quot;ext&quot;&gt;reStructuredText&lt;/a&gt;.

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

But as with most simple &lt;acronym title=&quot;Graphical User Interface&quot;&gt;GUI&lt;/acronym&gt; editors, I miss there many of the advanced
editing commands possible with &lt;a href=&quot;http://www.emacswiki.org/&quot; class=&quot;ext&quot;&gt;Emacs&lt;/a&gt;.

&lt;/p&gt;&lt;h4&gt;Using Emacs&amp;#8217; Markdown Mode&lt;/h4&gt;&lt;p&gt;

Then there is the &lt;a class=&quot;ext&quot;
href=&quot;http://www.emacswiki.org/emacs/MarkdownMode&quot; &gt;Markdown Mode&lt;/a&gt;
for Emacs (part of Debian&amp;#8217;s &lt;a class=&quot;ext&quot; href=&quot;http://packages.debian.org/emacs-goodies-el&quot;&gt;emacs-goodies-el&lt;/a&gt; package), where
you can get a &amp;#8220;preview&amp;#8221; by pressing &lt;code&gt;C-c C-c p&lt;/code&gt;. But for
some reason this takes several seconds, opens a new buffer
&lt;em&gt;and&lt;/em&gt; window with the rendered &lt;acronym title=&quot;Hypertext Markup Language&quot;&gt;HTML&lt;/acronym&gt; code and then starts
(hardcoded) &lt;a href=&quot;http://www.mozilla.org/products/firefox/&quot; class=&quot;ext&quot;&gt;Firefox&lt;/a&gt; (which is not &lt;a href=&quot;http://conkeror.org/&quot;
class=&quot;uni&quot; &gt;my preferred web browser&lt;/a&gt;). And if you do that a
second time without closing Firefox first, it won&amp;#8217;t just reload the
file but will open a new tab. You might think that just hitting reload
should suffice. But no, the new tab has a different file name, so
reload doesn&amp;#8217;t help. Additionally it may not use &lt;a class=&quot;ext&quot;
href=&quot;http://www.johnmacfarlane.net/pandoc/&quot; &gt;my preferred Markdown
implementation&lt;/a&gt;. Meh.

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

Well, I probably could fix all those issues with Markdown Mode, it&amp;#8217;s
only Emacs Lisp. Heck, the called command is even configurable. But
fixing at least four issues to fix one workflow annoyance? Maybe some
other time, but not as long there are other nice choices&amp;#8230;

&lt;/p&gt;&lt;h4&gt;Using inotifywait to Render on Write&lt;/h4&gt;&lt;p&gt;

So everytime you save the currently edited file, you immediately want
to rerender the same &lt;acronym title=&quot;Hypertext Markup Language&quot;&gt;HTML&lt;/acronym&gt; file from it. This can be easily automated
by using &lt;a href=&quot;https://en.wikipedia.org/wiki/Inotify&quot; class=&quot;wiki&quot;
&gt;Linux&amp;#8217; inotify kernel subsystem&lt;/a&gt; which notices changes to the
filesystem, and reports those to applications which ask for it.

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

One such tool is &lt;code&gt;inotifywait&lt;/code&gt; which can either output all
or just specific events, or just exit if the first requested event
occurs. With the latter it&amp;#8217;s easy to write a while loop on the
commandline which regenerates a file after every write access. I use
either &lt;a href=&quot;http://www.johnmacfarlane.net/pandoc/&quot; class=&quot;ext&quot;&gt;Pandoc&lt;/a&gt; or &lt;a href=&quot;http://asciidoc.org/&quot; class=&quot;ext&quot;&gt;Asciidoc&lt;/a&gt; for that since both generate full &lt;acronym title=&quot;Hypertext Markup Language&quot;&gt;HTML&lt;/acronym&gt; pages
including header and footer, but you can use that also with Markdown
to render just the &lt;acronym title=&quot;Hypertext Markup Language&quot;&gt;HTML&lt;/acronym&gt; body. Most browsers render it correctly
anyway:

&lt;/p&gt;&lt;pre&gt;
while inotifywait -q -e modify index.md; do pandoc -s -f markdown -t html -o index.html index.md; done
while inotifywait -q -e modify index.txt; do asciidoc index.txt; done
while inotifywait -q -e modify index.md; do markdown index.md &gt; index.html; done
&lt;/pre&gt;&lt;p&gt;

This solution is even editor- and build-system-agnostic (But not
operating-system-agnostic.)

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

inotifywait is part of &lt;a
href=&quot;https://github.com/rvoicilas/inotify-tools/wiki&quot; class=&quot;ext&quot;
&gt;inotify-tools&lt;/a&gt;, a useful set of commandline tools to interface
with inotify. They&amp;#8217;re packaged in Debian as &lt;a class=&quot;ext&quot; href=&quot;http://packages.debian.org/inotify-tools&quot;&gt;inotify-tools&lt;/a&gt;,
too.

&lt;/p&gt;&lt;h4&gt;Using mdpress for Markdown plus &lt;a href=&quot;http://bartaz.github.com/impress.js/&quot; class=&quot;ext&quot;&gt;Impress.js&lt;/a&gt; based Slides&lt;/h4&gt;&lt;p&gt;

The &lt;a href=&quot;http://www.ruby-lang.org/en/&quot; class=&quot;ext&quot;&gt;ruby&lt;/a&gt;-written &lt;a href=&quot;http://documentup.com/egonschiele/mdpress/&quot;
class=&quot;ext&quot; &gt;mdpress&lt;/a&gt; is a special case of the previous case. It&amp;#8217;s
a commandline tool to convert Markdown into Impress.js based slide
shows and it has an option named &lt;code&gt;--automatic&lt;/code&gt; which causes
it to keep running and automatically update the presentation as soon
as changes are made to the Markdown file.

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

mdpress is not yet in Debian, but &lt;a class=&quot;ext&quot;
href=&quot;http://bugs.debian.org/692864&quot; &gt;there&amp;#8217;s an &lt;acronym title=&quot;intend to package&quot;&gt;ITP&lt;/acronym&gt; for it&lt;/a&gt; and
Impress.js itself recently entered Debian as &lt;a class=&quot;ext&quot; href=&quot;http://packages.debian.org/libjs-impress&quot;&gt;libjs-impress&lt;/a&gt;.
Nevertheless, two dependencies (&lt;a
href=&quot;http://bugs.debian.org/693819&quot; class=&quot;ext&quot; &gt;highlight.js,
&lt;acronym title=&quot;intend to package&quot;&gt;ITP&lt;/acronym&gt;&amp;#8216;ed&lt;/a&gt;, &lt;a class=&quot;ext&quot; href=&quot;http://bugs.debian.org/623914&quot;
&gt;ruby-launchy, &lt;acronym title=&quot;intend to package&quot;&gt;ITP&lt;/acronym&gt;&amp;#8216;ed&lt;/a&gt;) are still missing in Debian.</description>
    <comments>http://noone.org/blog/English/Computer/Web/Rendering%2520Markdown%252C%2520Asciidoc%2520and%2520Friends%2520automatically%2520while%2520Editing.futile#comments</comments>
    <slash:comments>4</slash:comments>
    <dc:language>en</dc:language>
    <category domain="http://noone.org/blog/tags/Asciidoc">Asciidoc</category>
<category domain="http://noone.org/blog/tags/Emacs">Emacs</category>
<category domain="http://noone.org/blog/tags/emacs%2Dgoodies%2Del">emacs-goodies-el</category>
<category domain="http://noone.org/blog/tags/GitHub">GitHub</category>
<category domain="http://noone.org/blog/tags/HTML">HTML</category>
<category domain="http://noone.org/blog/tags/Impress.js">Impress.js</category>
<category domain="http://noone.org/blog/tags/inotify">inotify</category>
<category domain="http://noone.org/blog/tags/inotify%2Dtools">inotify-tools</category>
<category domain="http://noone.org/blog/tags/inotifywait">inotifywait</category>
<category domain="http://noone.org/blog/tags/ITP">ITP</category>
<category domain="http://noone.org/blog/tags/Major%2DMode">Major-Mode</category>
<category domain="http://noone.org/blog/tags/Markdown">Markdown</category>
<category domain="http://noone.org/blog/tags/mdpress">mdpress</category>
<category domain="http://noone.org/blog/tags/oneliner">oneliner</category>
<category domain="http://noone.org/blog/tags/Pandoc">Pandoc</category>
<category domain="http://noone.org/blog/tags/reST">reST</category>
<category domain="http://noone.org/blog/tags/ReText">ReText</category>
<category domain="http://noone.org/blog/tags/Ruby">Ruby</category>
<category domain="http://noone.org/blog/tags/slides">slides</category>
<category domain="http://noone.org/blog/tags/Wheezy">Wheezy</category>

  </item>
  <item>
    <title>Up to date Aptitude Documentation Online</title>
    <slash:department>Preliminiary-Edition</slash:department>
    <slash:section>English &amp;raquo; Computer &amp;raquo; Debian</slash:section>
    <link>http://noone.org/blog/English/Computer/Debian/Aptitude%2520Documentation%2520Online.html</link>
    <guid isPermaLink="true">http://noone.org/blog/English/Computer/Debian/Aptitude%2520Documentation%2520Online.html</guid>
    <pubDate>Sun, 10 Mar 2013 12:51:26 +0100</pubDate>
    <author>abe+blog@deuxchevaux.org (Axel Beckert)</author>
    <description>
&lt;a href=&quot;http://aptitude.alioth.debian.org/&quot; class=&quot;ext&quot;&gt;Aptitude&lt;/a&gt; ships &lt;a class=&quot;ext&quot;
href=&quot;http://packages.debian.org/search?keywords=aptitude-doc&quot;
&gt;documentation in 7 languages as &lt;acronym title=&quot;Hypertext Markup Language&quot;&gt;HTML&lt;/acronym&gt; files&lt;/a&gt;. However the latest
version available online was &lt;a class=&quot;ext&quot;
href=&quot;http://www.algebraicthunk.net/~dburrows/projects/aptitude/doc/en/&quot;
&gt;0.4.11.2 from 2008&lt;/a&gt; and hosted on the server by the previous, now
unfortunately inactive Aptitude maintainer, and only &lt;a class=&quot;ext&quot;
href=&quot;http://www.algebraicthunk.net/~dburrows/projects/aptitude/doc/&quot;
&gt;covered 5 languages&lt;/a&gt;.

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

This lack of up to date online documentation even caused &lt;a
class=&quot;ext&quot; href=&quot;http://media.fossclub.de/aptitude/html/en/&quot;
&gt;others&lt;/a&gt; to put more up to date versions online. Nevertheless they
age, too, and the one I&amp;#8217;m aware is not up to date for &lt;a href=&quot;http://www.debian.org/News/weekly/2010/11/#6&quot; class=&quot;ext&quot;&gt;Wheezy&lt;/a&gt;.

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

So the idea was born to keep an up to date version online on &lt;a
href=&quot;http://aptitude.alioth.debian.org/&quot; class=&quot;ext&quot; &gt;Aptitude&amp;#8217;s
Alioth webspace&lt;/a&gt; (which currently redirects to a subdirectory of
the previous maintainer&amp;#8217;s personal website). But unfortunately &lt;a
class=&quot;ext&quot;
href=&quot;https://alioth.debian.org/tracker/index.php?func=detail&amp;amp;aid=314032&amp;amp;group_id=1&amp;amp;atid=200001&quot;
&gt;we, the current Aptitude Team, are still lacking administrative
rights on Aptitude&amp;#8217;s Alioth project&lt;/a&gt;, which would be necessary to
assign new team members who could work on that.

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

As an intermediate step, there&amp;#8217;s now a (currently ;-) up to date &lt;a class=&quot;uni&quot;
href=&quot;http://people.debian.org/~abe/aptitude/&quot; &gt;Aptitude User&amp;#8217;s
Manual&lt;/a&gt; online in &lt;a href=&quot;http://people.debian.org/~abe/aptitude/&quot;
class=&quot;uni&quot; &gt;all 7 languages&lt;/a&gt; at

&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;big&gt;

&lt;a href=&quot;http://people.debian.org/~abe/aptitude/&quot; class=&quot;uni&quot;
&gt;http://people.debian.org/~abe/aptitude/&lt;/a&gt;

&lt;/big&gt;&lt;/p&gt;&lt;p&gt;

and English at

&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;big&gt;

&lt;a href=&quot;http://people.debian.org/~abe/aptitude/en/&quot; class=&quot;uni&quot;
&gt;http://people.debian.org/~abe/aptitude/en/&lt;/a&gt;

&lt;/big&gt;&lt;/p&gt;&lt;p&gt;

As this location could also suffer from the same &lt;acronym title=&quot;Missing in Action&quot;&gt;MIA&lt;/acronym&gt; issues as any
other &amp;#8220;personal&amp;#8221; copy, the plan is to move this to somewhere under &lt;a
href=&quot;http://aptitude.alioth.debian.org/&quot; class=&quot;ext&quot;
&gt;http://aptitude.alioth.debian.org/&lt;/a&gt; as soon as we have full access
to &lt;a href=&quot;http://alioth.debian.org/projects/aptitude/&quot; class=&quot;ext&quot;
&gt;Aptitude&amp;#8217;s Alioth project&lt;/a&gt;.

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

Our plans for then are:

&lt;/p&gt;&lt;ul&gt;

&lt;li&gt;Redirects from &lt;a href=&quot;http://people.debian.org/~abe/aptitude/&quot;
class=&quot;uni&quot; &gt;http://people.debian.org/~abe/aptitude/&lt;/a&gt; to e.g. &lt;a
href=&quot;http://aptitude.alioth.debian.org/&quot; class=&quot;ext&quot;
&gt;http://aptitude.alioth.debian.org/&lt;/a&gt;doc/, so that all your links to
or bookmarks of &lt;a href=&quot;http://people.debian.org/~abe/aptitude/&quot;
class=&quot;uni&quot; &gt;http://people.debian.org/~abe/aptitude/&lt;/a&gt; are still
valid. (This unfortunately won&amp;#8217;t work for jump marks to specific
sections, just per file, i.e. chapter.)&lt;/li&gt;

&lt;li&gt;Set up a cron-job, which keeps the documentation in sync with the
version of Aptitude in Unstable (and maybe also with Aptitude in
Stable).&lt;/li&gt;

&lt;/ul&gt;&lt;p&gt;

P.S.: Anyone interested in doing a German translation of the Aptitude
User&amp;#8217;s Manual? &lt;a class=&quot;ext&quot;
href=&quot;http://anonscm.debian.org/gitweb/?p=aptitude/aptitude.git;a=tree;f=doc/en;hb=HEAD&quot;
&gt;Sources&lt;/a&gt; are in DocBook, i.e. &lt;acronym title=&quot;Extensible Markup Language&quot;&gt;XML&lt;/acronym&gt;, and available via &lt;a href=&quot;http://git-scm.com/&quot; class=&quot;ext&quot;&gt;Git&lt;/a&gt;.</description>
    <comments>http://noone.org/blog/English/Computer/Debian/Aptitude%2520Documentation%2520Online.futile#comments</comments>
    <slash:comments>2</slash:comments>
    <dc:language>en</dc:language>
    <category domain="http://noone.org/blog/tags/Alioth">Alioth</category>
<category domain="http://noone.org/blog/tags/aptitude">aptitude</category>
<category domain="http://noone.org/blog/tags/Debian">Debian</category>
<category domain="http://noone.org/blog/tags/documentation">documentation</category>
<category domain="http://noone.org/blog/tags/link">link</category>
<category domain="http://noone.org/blog/tags/online">online</category>

  </item>
  <item>
    <title>Suggestions for the GNOME Team</title>
    <slash:department>trying-to-stay-constructive</slash:department>
    <slash:section>English &amp;raquo; Computer &amp;raquo; X</slash:section>
    <link>http://noone.org/blog/English/Computer/X/Suggestions%2520for%2520the%2520GNOME%2520Team.html</link>
    <guid isPermaLink="true">http://noone.org/blog/English/Computer/X/Suggestions%2520for%2520the%2520GNOME%2520Team.html</guid>
    <pubDate>Wed, 21 Nov 2012 23:01:02 +0100</pubDate>
    <author>abe+blog@deuxchevaux.org (Axel Beckert)</author>
    <description>
Thanks to &lt;a class=&quot;ext&quot;
href=&quot;http://www.vitavonni.de/blog/201211/2012112101-phoronix-gnome-user-survey.html&quot;
&gt;Erich Schubert&amp;#8217;s blog posting&lt;/a&gt; on &lt;a href=&quot;http://planet.debian.org/&quot; class=&quot;uni&quot;&gt;Planet Debian&lt;/a&gt; I became aware of
the &lt;a class=&quot;ext&quot;
href=&quot;http://www.phoronix.com/scan.php?page=news_item&amp;px=MTIyOTQ&quot;
&gt;2012 &lt;acronym title=&quot;GNU Network Object Model Environment&quot;&gt;GNOME&lt;/acronym&gt; User Survey&lt;/a&gt; at Phoronix.

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

Like &lt;a
href=&quot;http://noone.org/blog/English/Computer/Web/Browsers/Galeon%2C%20GNOME%20and%20all%20the%20rest.futile&quot;
&gt;back in 2006&lt;/a&gt; I still use some &lt;a href=&quot;http://www.gnome.org/&quot; class=&quot;ext&quot;&gt;&lt;acronym title=&quot;GNU Network Object Model Environment&quot;&gt;GNOME&lt;/acronym&gt;&lt;/a&gt; applications, so I do
consider myself as &amp;#8220;&lt;acronym title=&quot;GNU Network Object Model Environment&quot;&gt;GNOME&lt;/acronym&gt; user&amp;#8221; in the widest sense and hence I filled
out that survey. Additionally I have to live with &lt;acronym title=&quot;GNU Network Object Model Environment&quot;&gt;GNOME&lt;/acronym&gt; 3 as a system
administrator of workstations, and that&amp;#8217;s some kind of usage, too. ;-)

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

The last question in the survey was &lt;q
src=&quot;http://www.phoronix.com/scan.php?page=gnome_2012_survey&quot; &gt;Do you
have any comments or suggestions for the &lt;acronym title=&quot;GNU Network Object Model Environment&quot;&gt;GNOME&lt;/acronym&gt; team?&lt;/q&gt; &amp;mdash; Sure
I have. And since I tried to give constructive feedback instead of
&lt;em&gt;only&lt;/em&gt; ranting, here&amp;#8217;s my answer to that question as I
submitted it in the survey, too, just spiced up with some hyperlinks
and highlighting:

&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;

&lt;strong&gt;Don&amp;#8217;t try to change the users.&lt;/strong&gt; Give the users more
possibilities to change &lt;acronym title=&quot;GNU Network Object Model Environment&quot;&gt;GNOME&lt;/acronym&gt; if they don&amp;#8217;t agree with your own
preferences and decisions. (The trend to castrate the user was already
starting with &lt;acronym title=&quot;GNU Network Object Model Environment&quot;&gt;GNOME&lt;/acronym&gt; 2 and &lt;acronym title=&quot;GNU Network Object Model Environment&quot;&gt;GNOME&lt;/acronym&gt; 3 made that worse &lt;acronym title=&quot;in my humble opinion&quot;&gt;IMHO&lt;/acronym&gt;.)

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

If you really think that you need less configurability because some
non-power-users are confused or challenged by too many choices, then
please &lt;strong&gt;give the other users at least the chance to enable more
configuration options&lt;/strong&gt;. A very good example in that hindsight
was &lt;a href=&quot;http://kazehakase.sourceforge.jp/&quot; class=&quot;ext&quot;&gt;Kazehakase&lt;/a&gt; (&lt;acronym title=&quot;Rest in Peace&quot;&gt;RIP&lt;/acronym&gt;) who offered several user interfaces (novice,
intermediate and power user or such). The popular text-mode
web browser &lt;a href=&quot;http://lynx.browser.org/&quot; class=&quot;ext&quot;&gt;Lynx&lt;/a&gt; does the same, too, &lt;abbr title=&quot;by the way&quot;&gt;btw&lt;/abbr&gt;.

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

&lt;acronym title=&quot;GNU Network Object Model Environment&quot;&gt;GNOME&lt;/acronym&gt; lost me mostly with the change to &lt;acronym title=&quot;GNU Network Object Model Environment&quot;&gt;GNOME&lt;/acronym&gt; 2. &lt;a
href=&quot;http://noone.org/blog?-tags=Galeon,GNOME,Rant&amp;amp;-conj=and&quot;
&gt;The switch from Galeon 1.2 to 1.3/2.0 was horrible&lt;/a&gt; and the later
switch to &lt;a href=&quot;http://www.gnome.org/projects/epiphany/&quot; class=&quot;ext&quot;&gt;Epiphany&lt;/a&gt; made things even worse on the browser side. My
short trip to &lt;acronym title=&quot;GNU Network Object Model Environment&quot;&gt;GNOME&lt;/acronym&gt; as desktop environment ended with moving back to
&lt;a href=&quot;http://www.fvwm.org/&quot; class=&quot;ext&quot;&gt;FVWM&lt;/a&gt; (configurable without tons of clicking, especially after moving
to some other computer) and for the browser I moved on to Kazehakase
back then. Nowadays &lt;a
href=&quot;https://github.com/xtaran/ratpoison-desktop#readme&quot; &gt;I&amp;#8217;m living
very well&lt;/a&gt; with &lt;a href=&quot;http://awesome.naquadah.org/&quot; class=&quot;ext&quot;
&gt;Awesome&lt;/a&gt; and &lt;a href=&quot;http://www.nongnu.org/ratpoison/&quot; class=&quot;ext&quot;&gt;Ratpoison&lt;/a&gt; as window managers, &lt;a href=&quot;http://conkeror.mozdev.org/&quot; class=&quot;ext&quot;&gt;Conkeror&lt;/a&gt; as web browser
(which are all very configurable) and a few selected &lt;acronym title=&quot;GNU Network Object Model Environment&quot;&gt;GNOME&lt;/acronym&gt;
applications like &lt;a href=&quot;http://liferea.sourceforge.net/&quot; class=&quot;ext&quot;&gt;Liferea&lt;/a&gt; (luckily still quite configurable despite I
miss Gecko&amp;#8217;s &lt;code&gt;about:config&lt;/code&gt; since the switch to &lt;a href=&quot;http://www.webkit.org/&quot; class=&quot;ext&quot;&gt;WebKit&lt;/a&gt;),
GUCharmap and &lt;a href=&quot;http://www.gnome.org/projects/gnumeric/&quot; class=&quot;ext&quot;&gt;Gnumeric&lt;/a&gt;.

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

For people switching from Windows I nowadays recommend &lt;a href=&quot;http://www.xfce.org/&quot; class=&quot;ext&quot;&gt;XFCE&lt;/a&gt; or maybe
&lt;a href=&quot;http://www.lxde.org/&quot; class=&quot;ext&quot;&gt;LXDE&lt;/a&gt; on low-end computers. I likely would recommend &lt;acronym title=&quot;GNU Network Object Model Environment&quot;&gt;GNOME&lt;/acronym&gt; 2, too, if
it still would exist. With regards to &lt;a href=&quot;http://mate-desktop.org/&quot; class=&quot;ext&quot;&gt;MATE&lt;/a&gt; I&amp;#8217;m skeptical about its
persistance and future, but I&amp;#8217;m glad it exists as it solves a lot of
problems and brings in just a few new ones. &lt;a href=&quot;http://cinnamon.linuxmint.com/&quot; class=&quot;ext&quot;&gt;Cinnamon&lt;/a&gt; as well as
&lt;a href=&quot;http://solusos.com/&quot; class=&quot;ext&quot;&gt;SolusOS&lt;/a&gt; are based on the current &lt;acronym title=&quot;GNU Network Object Model Environment&quot;&gt;GNOME&lt;/acronym&gt; libraries and are very likely
the more persistent projects, but also very likely have the very same
multi-head issues we&amp;#8217;re all barfing about at work with &lt;a href=&quot;http://www.ubuntu.com/&quot; class=&quot;ext&quot;&gt;Ubuntu&lt;/a&gt; Precise.
(Heck, am I glad that I use Awesome at work, too, and all four screens
work perfectly as they did with FVWM before.)

&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;

Thanks to Dirk Deimeke for his (German written) &lt;a class=&quot;ext&quot;
href=&quot;http://www.deimeke.net/dirk/blog/?/archives/3146-Linkdump-Kalenderwoche-462012-....html&quot;
&gt;pointer&lt;/a&gt; to Marcus Moeller&amp;#8217;s &lt;a class=&quot;ext&quot;
href=&quot;http://www.bitblokes.de/2012/07/solusos-der-neue-stern-am-distributionshimmel/&quot;
&gt;interview with Ikey Doherty&lt;/a&gt; (in German, too) about his
&lt;a href=&quot;http://www.debian.org/&quot; class=&quot;ext&quot;&gt;Debian&lt;/a&gt;-/&lt;acronym title=&quot;GNU Network Object Model Environment&quot;&gt;GNOME&lt;/acronym&gt;-based distribution SolusOS.</description>
    <comments>http://noone.org/blog/English/Computer/X/Suggestions%2520for%2520the%2520GNOME%2520Team.futile#comments</comments>
    <slash:comments>1</slash:comments>
    <dc:language>en</dc:language>
    <category domain="http://noone.org/blog/tags/awesome">awesome</category>
<category domain="http://noone.org/blog/tags/Cinnamon">Cinnamon</category>
<category domain="http://noone.org/blog/tags/Debian">Debian</category>
<category domain="http://noone.org/blog/tags/Desktop">Desktop</category>
<category domain="http://noone.org/blog/tags/Epiphany">Epiphany</category>
<category domain="http://noone.org/blog/tags/FVWM">FVWM</category>
<category domain="http://noone.org/blog/tags/Galeon">Galeon</category>
<category domain="http://noone.org/blog/tags/GNOME">GNOME</category>
<category domain="http://noone.org/blog/tags/Gnumeric">Gnumeric</category>
<category domain="http://noone.org/blog/tags/GUCharmap">GUCharmap</category>
<category domain="http://noone.org/blog/tags/Kazehakase">Kazehakase</category>
<category domain="http://noone.org/blog/tags/Liferea">Liferea</category>
<category domain="http://noone.org/blog/tags/LXDE">LXDE</category>
<category domain="http://noone.org/blog/tags/MATE">MATE</category>
<category domain="http://noone.org/blog/tags/Other%20Blogs">Other Blogs</category>
<category domain="http://noone.org/blog/tags/Phoronix">Phoronix</category>
<category domain="http://noone.org/blog/tags/Planet%20Debian">Planet Debian</category>
<category domain="http://noone.org/blog/tags/Precise">Precise</category>
<category domain="http://noone.org/blog/tags/Rant">Rant</category>
<category domain="http://noone.org/blog/tags/ratpoison">ratpoison</category>
<category domain="http://noone.org/blog/tags/SolusOS">SolusOS</category>
<category domain="http://noone.org/blog/tags/survey">survey</category>
<category domain="http://noone.org/blog/tags/Ubuntu">Ubuntu</category>
<category domain="http://noone.org/blog/tags/XFCE">XFCE</category>

  </item>
  <item>
    <title>zutils: zcat and friends on Steroids</title>
    <slash:department>DWIM-again</slash:department>
    <slash:section>English &amp;raquo; Computer &amp;raquo; Debian &amp;raquo; CoolTools</slash:section>
    <link>http://noone.org/blog/English/Computer/Debian/CoolTools/zutils.html</link>
    <guid isPermaLink="true">http://noone.org/blog/English/Computer/Debian/CoolTools/zutils.html</guid>
    <pubDate>Wed, 21 Nov 2012 01:18:11 +0100</pubDate>
    <author>abe+blog@deuxchevaux.org (Axel Beckert)</author>
    <description>
I recently wrote about &lt;a
href=&quot;http://noone.org/blog/English/Computer/Debian/CoolTools/atool-unp-dtrx.futile&quot;
&gt;tools to handle archives conveniently&lt;/a&gt;. If you just have to handle
compressed text files, there are some widely known shortcut commands
to mimic common commands on files compressed with a specific
compression format.

&lt;/p&gt;&lt;div align=&quot;center&quot;&gt;&lt;table border=&quot;1&quot; cellpadding=&quot;3&quot; cellspacing=0&quot;&gt;

&lt;tr&gt;&lt;th&gt;&amp;nbsp;&lt;/th&gt; &lt;th&gt;gzip&lt;/th&gt;   &lt;th&gt;bzip2&lt;/th&gt;   &lt;th&gt;lzma&lt;/th&gt;    &lt;th&gt;xz&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;cat&lt;/th&gt;    &lt;td&gt;zcat&lt;/td&gt;   &lt;td&gt;bzcat&lt;/td&gt;   &lt;td&gt;lzcat&lt;/td&gt;   &lt;td&gt;xzcat&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;cmp&lt;/th&gt;    &lt;td&gt;zcmp&lt;/td&gt;   &lt;td&gt;bzcmp&lt;/td&gt;   &lt;td&gt;lzcmp&lt;/td&gt;   &lt;td&gt;xzcmp&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;diff&lt;/th&gt;   &lt;td&gt;zdiff&lt;/td&gt;  &lt;td&gt;bzdiff&lt;/td&gt;  &lt;td&gt;lzdiff&lt;/td&gt;  &lt;td&gt;xzdiff&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;grep&lt;/th&gt;   &lt;td&gt;zgrep&lt;/td&gt;  &lt;td&gt;bzgrep&lt;/td&gt;  &lt;td&gt;lzgrep&lt;/td&gt;  &lt;td&gt;xzgrep&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;egrep&lt;/th&gt;  &lt;td&gt;zegrep&lt;/td&gt; &lt;td&gt;bzegrep&lt;/td&gt; &lt;td&gt;lzegrep&lt;/td&gt; &lt;td&gt;xzegrep&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;fgrep&lt;/th&gt;  &lt;td&gt;zfgrep&lt;/td&gt; &lt;td&gt;bzfgrep&lt;/td&gt; &lt;td&gt;lzfgrep&lt;/td&gt; &lt;td&gt;xzfgrep&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;more&lt;/th&gt;   &lt;td&gt;zmore&lt;/td&gt;  &lt;td&gt;bzmore&lt;/td&gt;  &lt;td&gt;lzmore&lt;/td&gt;  &lt;td&gt;xzmore&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;less&lt;/th&gt;   &lt;td&gt;zless&lt;/td&gt;  &lt;td&gt;bzless&lt;/td&gt;  &lt;td&gt;lzless&lt;/td&gt;  &lt;td&gt;xzless&lt;/td&gt;&lt;/tr&gt;

&lt;/table&gt;&lt;/div&gt;&lt;p&gt;&lt;small&gt;

In &lt;a href=&quot;http://www.debian.org/&quot; class=&quot;ext&quot;&gt;Debian&lt;/a&gt; and derivatives, those tools are part of the according
package for that compression utility, i.e. the &lt;code&gt;zcat&lt;/code&gt;
command is part of the &lt;a class=&quot;ext&quot; href=&quot;http://packages.debian.org/gzip&quot;&gt;gzip&lt;/a&gt; package and the
&lt;code&gt;xzfgrep&lt;/code&gt; command is part of the &lt;a class=&quot;ext&quot; href=&quot;http://packages.debian.org/xz-utils&quot;&gt;xz-utils&lt;/a&gt; package.

&lt;/small&gt;&lt;/p&gt;&lt;p&gt;

But despite this matrix is quite easy to remember, the situation has a
few drawbacks:

&lt;/p&gt;&lt;ul&gt;

&lt;li&gt;Those tools can only handle the format they&amp;#8217;re written for (which
&lt;abbr title=&quot;by the way&quot;&gt;btw&lt;/abbr&gt;. means that all xz-tools can also handle
&lt;code&gt;lzma&lt;/code&gt;-compressed files as &lt;code&gt;lzma&lt;/code&gt; is
&lt;code&gt;xz&lt;/code&gt;&amp;#8217;s predecessor)&lt;/li&gt;

&lt;li&gt;&lt;code&gt;zcat&lt;/code&gt; and the other cat variants can&amp;#8217;t even recognize
non-compressed files and throw an error instead of just showing their
contents.&lt;/li&gt;

&lt;li&gt;I always tend to think that &lt;code&gt;lzcat&lt;/code&gt; and friends are for
&lt;code&gt;lzip&lt;/code&gt;-based compression as &lt;code&gt;xzcat&lt;/code&gt; can handle
&lt;code&gt;lzma&lt;/code&gt;-compressed files anyway.&lt;/li&gt;

&lt;/ul&gt;&lt;p&gt;

This is where the &lt;a href=&quot;http://www.nongnu.org/zutils/zutils.html&quot;
class=&quot;ext&quot; &gt;zutils&lt;/a&gt; project comes in: zutils provides the
functionality of most of these utilities, too, but with one big
difference: You don&amp;#8217;t have to remember, think about or type which
compression method has been used for your data, just use
&lt;code&gt;zcat&lt;/code&gt;, &lt;code&gt;zcmp&lt;/code&gt;, &lt;code&gt;zdiff&lt;/code&gt;,
&lt;code&gt;zgrep&lt;/code&gt;, &lt;code&gt;zegrep&lt;/code&gt;, or &lt;code&gt;zfgrep&lt;/code&gt; and it
works &amp;mdash; independently of what compression method has been used
&amp;mdash; if any &amp;mdash; or if there are different compression types
mixed in the parameters to the same command:

&lt;/p&gt;&lt;pre&gt;
$ zfgrep foobar bla.txt fnord.gz hurz.xz quux.lz bar.lzma
&lt;/pre&gt;&lt;p&gt;

Especially if you use &lt;a class=&quot;ext&quot; href=&quot;http://packages.debian.org/logrotate&quot;&gt;logrotate&lt;/a&gt; and let
&lt;code&gt;logrotate&lt;/code&gt; compress old logs, it&amp;#8217;s very comfortable that
one command suffices to concatenate all the available logfiles,
including the current uncompressed one:

&lt;/p&gt;&lt;pre&gt;
$ zcat /var/log/syslog* | &amp;hellip;
&lt;/pre&gt;&lt;p&gt;

Additionally, zutils&amp;#8217; versions of these tools also support
&lt;code&gt;lzip&lt;/code&gt;-compressed files.

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

The &lt;a class=&quot;ext&quot; href=&quot;http://packages.debian.org/zutils&quot;&gt;zutils&lt;/a&gt; package is available in Debian starting with
&lt;a href=&quot;http://www.debian.org/News/weekly/2010/11/#6&quot; class=&quot;ext&quot;&gt;Wheezy&lt;/a&gt; and in &lt;a href=&quot;http://www.ubuntu.com/&quot; class=&quot;ext&quot;&gt;Ubuntu&lt;/a&gt; since Oneiric. When being installed, it replaces
the original &lt;code&gt;z*&lt;/code&gt; utilities from the &lt;a class=&quot;ext&quot; href=&quot;http://packages.debian.org/gzip&quot;&gt;gzip&lt;/a&gt; package
by &lt;a class=&quot;ext&quot;
href=&quot;http://www.debian.org/doc/debian-policy/ap-pkg-diversions.html&quot;
&gt;diverting&lt;/a&gt; them away.

&lt;p&gt;

The only drawback so far is that there &lt;em&gt;neither&lt;/em&gt; a
&lt;code&gt;zless&lt;/code&gt; &lt;em&gt;nor&lt;/em&gt; a &lt;code&gt;zmore&lt;/code&gt; utility from the
zutils project, so &lt;code&gt;zless bla.txt fnord.gz hurz.xz quux.lz
bar.lzma&lt;/code&gt; will &lt;em&gt;not&lt;/em&gt; work as expected even after
installing &lt;a class=&quot;ext&quot; href=&quot;http://packages.debian.org/zutils&quot;&gt;zutils&lt;/a&gt; as it is still the one from the &lt;a class=&quot;ext&quot; href=&quot;http://packages.debian.org/gzip&quot;&gt;gzip&lt;/a&gt; package and hence it will show you just the first two files in
plain text, but &lt;em&gt;not&lt;/em&gt; the remaining ones.</description>
    <comments>http://noone.org/blog/English/Computer/Debian/CoolTools/zutils.futile#comments</comments>
    <slash:comments>2</slash:comments>
    <dc:language>en</dc:language>
    <category domain="http://noone.org/blog/tags/bzip2">bzip2</category>
<category domain="http://noone.org/blog/tags/Debian">Debian</category>
<category domain="http://noone.org/blog/tags/DWIM">DWIM</category>
<category domain="http://noone.org/blog/tags/gzip">gzip</category>
<category domain="http://noone.org/blog/tags/logrotate">logrotate</category>
<category domain="http://noone.org/blog/tags/lzip">lzip</category>
<category domain="http://noone.org/blog/tags/lzma">lzma</category>
<category domain="http://noone.org/blog/tags/UUUT">UUUT</category>
<category domain="http://noone.org/blog/tags/xz">xz</category>
<category domain="http://noone.org/blog/tags/zcat">zcat</category>
<category domain="http://noone.org/blog/tags/zcmp">zcmp</category>
<category domain="http://noone.org/blog/tags/zdiff">zdiff</category>
<category domain="http://noone.org/blog/tags/zgrep">zgrep</category>
<category domain="http://noone.org/blog/tags/ztest">ztest</category>
<category domain="http://noone.org/blog/tags/zutils">zutils</category>

  </item>
  <item>
    <title>deepgrep: grep nested archives with one command</title>
    <slash:department>grep-revisited</slash:department>
    <slash:section>English &amp;raquo; Computer &amp;raquo; Debian &amp;raquo; CoolTools</slash:section>
    <link>http://noone.org/blog/English/Computer/Debian/CoolTools/deepgrep.html</link>
    <guid isPermaLink="true">http://noone.org/blog/English/Computer/Debian/CoolTools/deepgrep.html</guid>
    <pubDate>Sat, 17 Nov 2012 02:00:12 +0100</pubDate>
    <author>abe+blog@deuxchevaux.org (Axel Beckert)</author>
    <description>
Several months ago, I wrote about &lt;a
href=&quot;http://noone.org/blog/English/Computer/Shell/grep%20everything.html&quot;
&gt;grep everything&lt;/a&gt; and listed grep-like tools which can grep through
compressed files or specific data formats. The &lt;a href=&quot;http://en.wikipedia.org/wiki/Weblog&quot; class=&quot;wiki&quot; title=&quot;What is a blog/weblog?&quot;&gt;blog&lt;/a&gt; posting sparked
several magazine articles and talks by &lt;a href=&quot;http://www.efho.de/&quot;
class=&quot;ext&quot; &gt;Frank Hofmann&lt;/a&gt; and me.

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

Frank recently noticed that we though missed one more or less mighty
tool so far. We missed it, because it&amp;#8217;s mostly unknown, undocumented
and hidden behind a package name which doesn&amp;#8217;t suggest a real
recursive &amp;#8220;grep everything&amp;#8221;:

&lt;/p&gt;&lt;h4&gt;deepgrep&lt;/h4&gt;&lt;p&gt;

&lt;code&gt;deepgrep&lt;/code&gt; is part of the &lt;a href=&quot;http://www.debian.org/&quot; class=&quot;ext&quot;&gt;Debian&lt;/a&gt; package &lt;a class=&quot;ext&quot; href=&quot;http://packages.debian.org/strigi-utils&quot;&gt;strigi-utils&lt;/a&gt;, a package which contains utilities related to the
&lt;a href=&quot;http://www.kde.org/&quot; class=&quot;ext&quot;&gt;&lt;acronym title=&quot;K(lickibunti ;-) Desktop Environment; Kolorful Diskfilling Environment (Ulrich Schwarz)&quot;&gt;KDE&lt;/acronym&gt;&lt;/a&gt; desktop search &lt;a href=&quot;http://strigi.sf.net/&quot; class=&quot;ext&quot;
&gt;Strigi&lt;/a&gt;.

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

&lt;code&gt;deepgrep&lt;/code&gt; especially eases the searching through tar
balls, even nested ones, but can also search through zip files and
&lt;a href=&quot;http://www.openoffice.org/&quot; class=&quot;ext&quot;&gt;OpenOffice.org&lt;/a&gt;/&lt;a href=&quot;http://www.libreoffice.org/&quot; class=&quot;ext&quot;&gt;LibreOffice&lt;/a&gt; documents (which are actually zip files).

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

&lt;code&gt;deepgrep&lt;/code&gt; seems to support at least the following archive
and compression formats:

&lt;/p&gt;&lt;ul&gt;

	&lt;li&gt;tar&lt;/li&gt;
	&lt;li&gt;ar, and hence deb&lt;/li&gt;
	&lt;li&gt;rpm (but not cpio)&lt;/li&gt;
	&lt;li&gt;gzip/gz&lt;/li&gt;
	&lt;li&gt;bzip2/bz2&lt;/li&gt;
	&lt;li&gt;zip, and hence jar/war and OpenOffice.org/LibreOffice
	documents&lt;/li&gt;
	&lt;li&gt;MIME messages (i.e. files attached to e-mails)

&lt;/ul&gt;&lt;p&gt;

A search in an archive which is deeply nested looks like this:

&lt;/p&gt;&lt;pre&gt;
$ deepgrep bar foo.ar
foo.ar/foo.tar/foo.tar.gz/foo.zip/foo.tar.bz2/foo.txt.gz/foo.txt:foobar
foo.ar/foo.tar/foo.tar.gz/foo.zip/foo.tar.bz2/foo.txt.gz/foo.txt:bar
&lt;/pre&gt;&lt;p&gt;

&lt;code&gt;deepgrep&lt;/code&gt; though neither seems to support any LZMA based
compression (lzma, xz, lzip, 7z), nor does it support lzop, rzip,
compress (.Z suffix), cab, cpio, xar, or rar.

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

Further current drawbacks of &lt;code&gt;deepgrep&lt;/code&gt;:

&lt;/p&gt;&lt;ul&gt;

	&lt;li&gt;Nearly no commandline options, especially none of the
	common grep options&lt;/li&gt;
	&lt;li&gt;No man-page or other documentation&lt;/li&gt;
	&lt;li&gt;Exit code not related to search results, you have to check
	the output to see if something has been found&lt;/li&gt;

&lt;/ul&gt;

&lt;h4&gt;deepfind&lt;/h4&gt;

&lt;p&gt;

If you just need the file names of the files in nested archives, the
package also contains the tool &lt;code&gt;deepfind&lt;/code&gt; which does
nothing else than to list all files and directories in a given set of
archives or directories:

&lt;/p&gt;&lt;pre&gt;
$ deepfind foo.ar
foo.ar
foo.ar/foo.tar
foo.ar/foo.tar/foo.tar.gz
foo.ar/foo.tar/foo.tar.gz/foo.zip
foo.ar/foo.tar/foo.tar.gz/foo.zip/foo.tar.bz2
foo.ar/foo.tar/foo.tar.gz/foo.zip/foo.tar.bz2/foo.txt.gz
foo.ar/foo.tar/foo.tar.gz/foo.zip/foo.tar.bz2/foo.txt.gz/foo.txt
&lt;/pre&gt;&lt;p&gt;

As with &lt;code&gt;deepgrep&lt;/code&gt;, &lt;code&gt;deepfind&lt;/code&gt; does not
implement any common options of it&amp;#8217;s normal sister tool
&lt;code&gt;find&lt;/code&gt;.

&lt;/p&gt;&lt;p&gt;&lt;small&gt;

[The following part has been added on 17-Nov-2012]

&lt;/small&gt;&lt;p&gt;

As with deepgrep, it also doesn&amp;#8217;t seem to support any of the more
modern or more exotic compression formats, i.e. it fails on modern
debian binary packages which use xz compression on the data part:

&lt;/p&gt;&lt;pre&gt;
deepfind xulrunner-18.0_18.0\~a2+20121109042012-1_amd64.deb
xulrunner-18.0_18.0~a2+20121109042012-1_amd64.deb
xulrunner-18.0_18.0~a2+20121109042012-1_amd64.deb/debian-binary
xulrunner-18.0_18.0~a2+20121109042012-1_amd64.deb/control.tar.gz
xulrunner-18.0_18.0~a2+20121109042012-1_amd64.deb/control.tar.gz/triggers
xulrunner-18.0_18.0~a2+20121109042012-1_amd64.deb/control.tar.gz/preinst
xulrunner-18.0_18.0~a2+20121109042012-1_amd64.deb/control.tar.gz/md5sums
xulrunner-18.0_18.0~a2+20121109042012-1_amd64.deb/control.tar.gz/postinst
xulrunner-18.0_18.0~a2+20121109042012-1_amd64.deb/control.tar.gz/control
xulrunner-18.0_18.0~a2+20121109042012-1_amd64.deb/data.tar.xz
&lt;/pre&gt;&lt;p&gt;&lt;small&gt;

[End of part added at 17-Nov-2012]

&lt;/small&gt;&lt;/p&gt;&lt;h4&gt;Dependencies&lt;/h4&gt;&lt;p&gt;

The package &lt;a class=&quot;ext&quot; href=&quot;http://packages.debian.org/strigi-utils&quot;&gt;strigi-utils&lt;/a&gt; doesn&amp;#8217;t pull in the complete Strigi
framework (i.e. no daemon), just a few libraries (libstreams,
libstreamanalyzer, and libclucene). On &lt;a href=&quot;http://www.debian.org/News/weekly/2010/11/#6&quot; class=&quot;ext&quot;&gt;Wheezy&lt;/a&gt; it also pulls in some
audio/video decoding libraries which may make some server
administrators less happy.

&lt;/p&gt;&lt;h4&gt;Conclusion&lt;/h4&gt;&lt;p&gt;

Both tools are quite limited to some basic use cases, but can be worth
a fortune if you have to work with nested archives. Nevertheless the claim in the
Debian package description of &lt;a class=&quot;ext&quot; href=&quot;http://packages.debian.org/strigi-utils&quot;&gt;strigi-utils&lt;/a&gt; that they&amp;#8217;re
&amp;#8220;enhanced&amp;#8221; versions of their well known counterparts is &lt;acronym title=&quot;in my humble opinion&quot;&gt;IMHO&lt;/acronym&gt;
disproportionate.

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

Most of the missing features and documentation can be explained by the
primary purpose of these tools: Being backend for desktop searches. I
guess, there wasn&amp;#8217;t much need for proper commandline usage yet. Until
now. ;-)

&lt;/p&gt;&lt;h4&gt;42.zip&lt;/h4&gt;&lt;p&gt;

And yes, I was curious enough to let &lt;code&gt;deepfind&lt;/code&gt; have a look
at &lt;a href=&quot;http://www.securityfocus.com/bid/3027/exploit/&quot;
class=&quot;ext&quot; &gt;42.zip&lt;/a&gt; (the one from SecurityFocus, unzip seems not
able to unpack 42.zip from &lt;a href=&quot;http://www.unforgettable.dk/&quot;
class=&quot;ext&quot; &gt;unforgettable.dk&lt;/a&gt; due a missing version compatibility)
and since it just traverses the archive sequentially, it has no
problem with that, needing just about 5 &lt;acronym title=&quot;Megabyte&quot;&gt;MB&lt;/acronym&gt; of &lt;acronym title=&quot;Random Access Memory&quot;&gt;RAM&lt;/acronym&gt; and a lot of time:

&lt;/p&gt;&lt;pre&gt;
[&amp;hellip;]
42.zip/lib f.zip/book f.zip/chapter f.zip/doc f.zip/page e.zip
42.zip/lib f.zip/book f.zip/chapter f.zip/doc f.zip/page e.zip/0.dll
42.zip/lib f.zip/book f.zip/chapter f.zip/doc f.zip/page f.zip
42.zip/lib f.zip/book f.zip/chapter f.zip/doc f.zip/page f.zip/0.dll
deepfind 42.zip  11644.12s user 303.89s system 97% cpu 3:24:02.46 total
&lt;/pre&gt;&lt;p&gt;

I though won&amp;#8217;t try &lt;code&gt;deepgrep&lt;/code&gt; on 42.zip. ;-)</description>
    <comments>http://noone.org/blog/English/Computer/Debian/CoolTools/deepgrep.futile#comments</comments>
    <slash:comments>0</slash:comments>
    <dc:language>en</dc:language>
    <category domain="http://noone.org/blog/tags/42.zip">42.zip</category>
<category domain="http://noone.org/blog/tags/ar">ar</category>
<category domain="http://noone.org/blog/tags/bzip2">bzip2</category>
<category domain="http://noone.org/blog/tags/CLI">CLI</category>
<category domain="http://noone.org/blog/tags/CLucene">CLucene</category>
<category domain="http://noone.org/blog/tags/deb">deb</category>
<category domain="http://noone.org/blog/tags/deepfind">deepfind</category>
<category domain="http://noone.org/blog/tags/deepgrep">deepgrep</category>
<category domain="http://noone.org/blog/tags/efho">efho</category>
<category domain="http://noone.org/blog/tags/find">find</category>
<category domain="http://noone.org/blog/tags/grep">grep</category>
<category domain="http://noone.org/blog/tags/gzip">gzip</category>
<category domain="http://noone.org/blog/tags/jar">jar</category>
<category domain="http://noone.org/blog/tags/KDE">KDE</category>
<category domain="http://noone.org/blog/tags/LibreOffice">LibreOffice</category>
<category domain="http://noone.org/blog/tags/Lucene">Lucene</category>
<category domain="http://noone.org/blog/tags/odt">odt</category>
<category domain="http://noone.org/blog/tags/OpenOffice.org">OpenOffice.org</category>
<category domain="http://noone.org/blog/tags/Rant">Rant</category>
<category domain="http://noone.org/blog/tags/rpm">rpm</category>
<category domain="http://noone.org/blog/tags/strigi">strigi</category>
<category domain="http://noone.org/blog/tags/tar">tar</category>
<category domain="http://noone.org/blog/tags/UUUT">UUUT</category>
<category domain="http://noone.org/blog/tags/war">war</category>
<category domain="http://noone.org/blog/tags/zip">zip</category>

  </item>
    <link>http://noone.org/blog/English/Computer/Debian/CoolTools</link>
  </channel>
</rss>
