tWrote a new article - monochromatic - monochromatic blog: http://blog.z3bra.org
 (HTM) git clone git://z3bra.org/monochromatic
 (DIR) Log
 (DIR) Files
 (DIR) Refs
       ---
 (DIR) commit 15526701c0ac1f0628ad6f332217a4034feff274
 (DIR) parent fc4c9e9667bce24d3631f6cec8e24a54d05a41aa
 (HTM) Author: z3bra <willy@mailoo.org>
       Date:   Thu, 13 Mar 2014 01:14:17 +0100
       
       Wrote a new article
       
       Diffstat:
         A 2014/03/toolbox.html                |     456 +++++++++++++++++++++++++++++++
         M index.html                          |      19 +++++++++++++++++++
         M rss/feed.xml                        |      10 ++++++++++
       
       3 files changed, 485 insertions(+), 0 deletions(-)
       ---
 (DIR) diff --git a/2014/03/toolbox.html b/2014/03/toolbox.html
       t@@ -0,0 +1,456 @@
       +<!DOCTYPE html>
       +<html>
       +  <head>
       +    <meta charset='utf-8'/>
       +    <link rel='stylesheet' href='/css/monochrome.css'/>
       +    <link rel='stylesheet' href='/css/code.css'/>
       +    <link rel='stylesheet' href='/css/phone.css' media='screen and (max-width: 540px)'/>
       +    <title>z3bra.org - monochromatic blog</title>
       +  </head>
       +  <body>
       +    <header>
       +        <h1><a href='/'>Monochromatic</a></h1> <h2>&mdash; <a href='/about.html'>z3bra</a>, the stripes apart</h2>
       +    </header>
       +    <div id='wrapper'>
       +      <section>
       +        <h1>
       +          <a href='#'>Toolbox</a>
       +        </h1>
       +        <h2>
       +          &mdash; 12 March, 2014
       +        </h2>
       +        <article>
       +          <p>
       +            Please, allow me to start this one with a smart quote, to let you
       +            know what will follow:
       +          </p>
       +          <blockquote>
       +            <p>
       +              Show me what's the output of your '<code>ls /usr/bin</code>', and 
       +              I'll tell you who you are ...
       +            </p>
       +            &mdash; Nobody (because that's freakin' stupid)
       +          </blockquote>
       +          <p>
       +            That being said, we can move on. I'll keep this article updated in
       +            time, because it's <em>more</em> than an article. It's a list. A
       +            list of the tools I use (or have used maybe) daily, and that I think
       +            are worth mentionning. You'll find tools written by me, or by other.
       +            Shell scripts, or compiled program. Everything that I find 'nice'.
       +          </p>
       +
       +          <p>
       +            Those tools are (most of the time) not important or complex enough
       +            to get a dedicated post, so I'll just write a paragraph here about
       +            them. If you feel that one of them require a bigger description,
       +            email me and I'll consider writing an article about it.
       +          </p>
       +
       +          <p>
       +            Let's start with my current setup ! Every tool in this list is
       +            installed on my main computer (a desktop one). I'll avoid
       +            mentionning server administration tools, because that's too
       +            specific.
       +          </p>
       +        </article>
       +
       +        <h3>Computer</h3>
       +        <article>
       +          <ul>
       +            <li>CRUX 3.0</li>
       +            <li>AMD A10-5800k</li>
       +            <li>Nvidia GeForce GTx 650 Ti</li>
       +            <li>Roccat Kone Pure</li>
       +            <li>Razer Vespuala</li>
       +          </ul>
       +        </article>
       +
       +        <h3>Tool list</h3>
       +        <article>
       +          <ul>
       +            <li><a href="#2bwm">2bwm</a></li>
       +            <li><a href="#bar">bar</a></li>
       +            <li><a href="#dtach">dtach</a></li>
       +            <li><a href="#fcount">fcount</a></li>
       +            <li><a href="#hsetroot">hsetroot</a></li>
       +            <li><a href="#ii">ii</a></li>
       +            <li><a href="#instagram">instagram</a></li>
       +            <li><a href="#mcount">mcount</a></li>
       +            <li><a href="#meh">meh</a></li>
       +            <li><a href="#popup">popup</a></li>
       +            <li><a href="#prout">prout</a></li>
       +            <li><a href="#prtmk">prtmk</a></li>
       +            <li><a href="#ptii">ptii</a></li>
       +            <li><a href="#uplay">uplay</a></li>
       +            <li><a href="#vim">vim</a></li>
       +            <li><a href="#wendy">wendy</a></li>
       +          </ul>
       +
       +          <p>
       +            <strong>TLDR;</strong> dumbass, don't lurk on blogs if you can't
       +            read!
       +          </p>
       +        </article>
       +
       +        <h3 id="2bwm">2bwm</h3>
       +        <article>
       +          <p>
       +            <a href="http://git.z3bra.org/cgit.cgi/2bwm">LINK</a> &mdash;
       +            <a href="/img/2014-01-08-2bwm.jpg">SHOT</a>
       +          </p>
       +          <p>
       +            It means <q>Two borders window manager</q>. This is my WM of choice.
       +            It is a fork of <a href="http://hack.org/mc/hacks/mcwm/">mcwm</a>,
       +            but the author, Venam, added so many feature that it became a new
       +            tool.
       +          </p>
       +
       +          <p>
       +            2bwm is a floating WM. It means that your computer will never change
       +            the window geometry if you don't ask him (but tilling WM will).
       +          </p>
       +
       +          <p>
       +            With 2bwm, you can resize window horiz/vertically, or grow them
       +            keeping aspect ratio. You can move them in any direction, or gut
       +            them in the corners or in the middle, all that, just with your
       +            keyboard !
       +          </p>
       +
       +          <p>
       +            I personnally forked it myself to add a specific feature: window
       +            groups. It works kinda like traditionnal workspaces, except that you
       +            can show or hide them independently, allowing you to show multiple
       +            workspaces at the same time. See a showcase 
       +            <a href="http://raw.z3bra.org/vid/2bwm.webm">here</a>.
       +          </p>
       +        </article>
       +
       +        <h3 id="bar">bar</h3>
       +        <article>
       +          <p>
       +            <a href="http://git.z3bra.org/cgit.cgi/bar">LINK</a> &mdash;
       +            <a href="/img/2014-03-13-bar.jpg">SHOT</a>
       +          </p>
       +
       +          <p>
       +            Bar (or (b)ar (a)in't (r)ecursive) is a lightweight status bar
       +            application written on top of XCB. You can pipe text to it, and it
       +            will be displayed within the bar. You can also use escape sequences
       +            to add colored backgrounds, foregrounds or underlining.
       +          </p>
       +
       +          <p>
       +            It allow the use of <a href="http://git.z3bra.org/cgit.cgi/scripts/tree/bar/status.sh">complicated</a>
       +            scripts to get a tons of infos within that thin, lovely bar.
       +          </p>
       +
       +          <p>
       +            I forked it to add a little feature: change the width of the bar on
       +            startup, allowing to use bar as a notification <a href="#popup">popup</a>
       +          </p>
       +        </article>
       +
       +        <h3 id="dtach">dtach</h3>
       +        <article>
       +          <p>
       +            <a href="http://dtach.sourceforge.net/">LINK</a> &mdash;
       +            <a href="/img/2014-03-13-dtach.jpg">SHOT</a>
       +          </p>
       +
       +          <p>
       +            I often see newbies asking this question:
       +          </p>
       +          <blockquote>
       +            <p>
       +              newbie &mdash; How can I move one application from one terminal to another ?
       +            </p>
       +            <p>
       +              stranger1 &mdash; you need screen.<br/>
       +              stranger2 &mdash; tmux is better !<br/>
       +              stranger1 &mdash; How so ?<br/>
       +              stranger3 &mdash; It has vertical splits !<br/>
       +              stranger2 &mdash; It's scriptable<br/>
       +              newbie &mdash; how does it works ?<br/>
       +              stranger1 &mdash; There is a vsplit patch fro screen<br/>
       +              stranger3 &mdash; Yes but ...<br/>
       +              str...
       +            </p>
       +          </blockquote>
       +
       +          <p>
       +            The problem here, is that screen AND tmux are terminal MULTIPLEXER.
       +            Their main job is to give access to multiple terminal within on
       +            PHYSICAL terminal. The possibility to detach and reattach them is
       +            just a feature.
       +          </p>
       +          <p>
       +            But that feature was so good, that a small team wrote a tool with
       +            ONLY the ability to detach an application, and reattach it somewhere
       +            else. Here came dtach.
       +          </p>
       +          <p>
       +            The advantages of dtach are its small size, (not only the code,
       +            because it only depends on glibc), and that you don't have to
       +            remember a million commands. There is one only bind: <code>^\</code>
       +            to detach the process. You can also disable this key and use signals
       +            to detach it from elsewhere.
       +          </p>
       +          <p>
       +            I personnaly use it to reattach to my irssi session, as it's the
       +            only application I need on a remote server. You will also be able to
       +            send an application from one screen/tmux session to another. Isn't
       +            that cool ?
       +          </p>
       +        </article>
       +
       +        <h3 id="fcount">fcount</h3>
       +        <article>
       +          <p>
       +            <a href="http://git.z3bra.org/cgit.cgi/fcount">LINK</a>
       +          </p>
       +
       +          <p>
       +            That is a tool I made. It is REALLY DUMB, but totally usefull in a
       +            particular case.<br/>
       +          </p>
       +          <p>
       +            fcount counts the number of files within a directory. NOTHING.
       +            F**KING. MORE.<br/>
       +            It's basically a "<code>ls -rAa1 | wc -l</code>" within one process. 
       +          </p>
       +          <p>
       +            I agree that you can find stupid to use a program like that, but
       +            within a script that will be executed every second to display the
       +            number of unread mails in a status bar, it is usefull to gain some
       +            miliseconds.<br/> Take it or not, this is your choice.
       +          </p>
       +        </article>
       +
       +        <h3 id="hsetroot">hsetroot</h3>
       +        <article>
       +          <p>
       +            <a href="http://thegraveyard.org/hsetroot.php">LINK</a> (dead)
       +          </p>
       +
       +          <p>
       +            I like this one. This is a tool to display images on the root window
       +            (humans: understand "change wallpaper"). You can fit/expand/tile
       +            images, create gradients, add tint to images... Everything you could
       +            want to do with a wallpaper can be done with it. And it's light as
       +            I like ! Forget that crappy feh ! You can barely get rid of the
       +            .fehbg that pisses you off !
       +          </p>
       +        </article>
       +
       +
       +        <h3 id="ii">ii</h3>
       +        <article>
       +          <p>
       +            <a href="http://tools.suckless.org/ii/">LINK</a>
       +          </p>
       +
       +          <p>
       +            Okay, I don't use it <em>that</em> often.<br/>
       +            II stands for Irc It, and is a filesystem based irc client.
       +            Upon starting, ii will create a file hierarchy looking like this:
       +          </p>
       +          <pre><code>
       +$ tree irc/irc.oftc.net/
       +irc/
       +├── irc.oftc.net
       +│   ├── int
       +│   ├── out
       +│   └── #shblah
       +│       ├── int
       +│       └── out
       +└── irc.iotek.org
       +    ├── in
       +    ├── nickserv
       +    │   ├── in
       +    │   └── out
       +    ├── out
       +    └── #wizards
       +        ├── in
       +        └── out</code></pre>
       +
       +          <p>
       +            The first folder is the server, and the subfolders are the channels
       +            which you are connected to. The 'in' and 'out' files are named pipes
       +            that you can read from and write to to interact with
       +            servers/channels.<br/>
       +            Example:
       +          </p>
       +
       +          <pre><code> echo "Hi, people of shblah!" &gt; irc/irc.oftc.net/\#shblah/in</code></pre>
       +
       +          <p>
       +            Will effectively send a message to the channel "#shblah" on server
       +            "irc.oftc.net".
       +          </p>
       +
       +          <p>
       +            I agree that this is not the most practical client you've used, but
       +            it's a simple and good unix tool. I use it within a tiny script
       +            along with a tool of mine (<a href="#ptii">ptii</a>) to get a quick
       +            access to the IRC without having to fire up irssi with 4 server
       +            connection, 10 channel autojoins, and such..
       +          </p>
       +        </article>
       +
       +        <h3 id="instagram">instagram</h3>
       +        <article>
       +          <p>
       +            <a href="http://git.z3bra.org/cgit.cgi/scripts/tree/instagram">LINK</a>
       +          </p>
       +
       +          <p>
       +            My swiss-knife for screen shots. At first, I wrote it to be able to
       +            take a shot of only one of my two screens. It's now a script with a
       +          lot of features, like uploading, thumbnail creation, and such.
       +          </p>
       +          <p>
       +            It will also open a preview of the shot you just took, and put it in
       +            a predifined folder. You can write your own 'upload' function to
       +            upload the way you want
       +          </p>
       +        </article>
       +
       +        <h3 id="meh">meh</h3>
       +        <article>
       +          <p>
       +            <a href="http://www.johnhawthorn.com/meh/">LINK</a>
       +          </p>
       +
       +          <p>
       +            I've spit on feh before (see <a href="#hsetroot">hsetroot</a>. I
       +            have effectively some problems with it. Feh is impossible to use. it
       +            displays the images in full size, no matter what the window size
       +            is. And that's freaking annoying... I just want my image viewer to
       +            display an image at the maximum size for the window, and to resize
       +            when I change the window size.
       +          </p>
       +
       +          <p>
       +            That is what meh does. And (almost) nothing more ! Meh take a list
       +            of images as arguments, and fits them in its window. Meh can also
       +            read a list from stdin. You can then cycle through images using
       +            h,j,k,l,left,down,up,right.
       +          </p>
       +
       +          <p>
       +            When you press &lt;enter&gt;, meh outputs the current image name to
       +            stdout. It allows cool stuffs like <code>meh *.jpg | xargs rm</code>
       +            to delete the images upon pressing &lt;enter&gt;.
       +          </p>
       +        </article>
       +
       +        <h3 id="popup">popup</h3>
       +        <article>
       +          <p>
       +            <a href="http://git.z3bra.org/cgit.cgi/scripts/tree/popup">LINK</a>
       +          </p>
       +
       +          <p>
       +            This is just a simple script that uses my fork of
       +            <a href="#bar">bar</a> to display a small notification bar at the
       +            top left hand corner of your desktop.
       +          </p>
       +        </article>
       +
       +
       +        <h3 id="prout">prout</h3>
       +        <article>
       +          <p>
       +            <a href="http://git.z3bra.org/cgit.cgi/prout">LINK</a>
       +          </p>
       +          <p>
       +            Did you notice? If you want to send a document to the printer
       +            configured to /etc/client.conf using the <code>lp</code> command,
       +            you need (at least, on Archlinux) to install the full cups server!
       +            That's a shame, isn't it?
       +          </p>
       +
       +          <p>
       +            That's the reason why I wrote prout. The only dependency is libcups.
       +            This tool only sends a file given as argument to the default
       +            printer. Nothing else. You can't actually send options along with
       +            the document, but I'm not sure that I want to implement this
       +            feature...
       +          </p>
       +
       +          <p>
       +            Anyway, this is pretty neat to me! I hope you'll enjoy it.
       +          </p>
       +        </article>
       +
       +        <h3 id="ptii">ptii</h3>
       +        <article>
       +          <p>
       +            <a href="http://git.z3bra.org/cgit.cgi/ptii">LINK</a> &mdash;
       +            <a href="/img/2014-03-13-ptii.jpg">SHOT</a>
       +          </p>
       +
       +          <p>
       +            Here is an <a href="#ii">ii</a> helper. Just fire it up in the ii's
       +            directory, and you will be able to talk on multiple channels easily.
       +            Using simple commands like <code>/cn</code>, <code>/cp</code>,
       +            <code>/cl</code>, you will be able to list and switch between
       +            channels.
       +          </p>
       +
       +          <p>
       +            The interresting point of this tool is that it uses inotify to
       +            automatically add channels to your list when ii create the folders.
       +          </p>
       +        </article>
       +
       +        <h3 id="wendy">wendy</h3>
       +        <article>
       +          <p>
       +            <a href="http://git.z3bra.org/cgit.cgi/wendy">LINK</a> &mdash;
       +            <a href="/img/2014-03-13-wendy.jpg">SHOT</a>
       +          </p>
       +
       +          <p>
       +            Wendy makes my life better. I first wrote it as an exercise to learn
       +            inotify, but it turned out to be a good replacement to inotifywait.
       +          </p>
       +
       +          <p>
       +            Wendy let you watch a directory/file and execute a command when a
       +            watched event is received.  <br/>
       +            As an example is worth a thousand explications, there you go:
       +          </p>
       +
       +          <pre><code>
       +# watch mail directory for new mails and raise an alert
       +wendy -C ~/var/mail/INBOX/new -t 60 -e beep
       +
       +# automatic recompilation
       +wendy -M wendy.c -e make</code></pre>
       +          <p>
       +            Every inotify mask can be used, and they can be combined (eg, whatch
       +            creation AND modification).
       +          </p>
       +
       +          <p>
       +            I tried to make this tool the most simple possible, to extend the
       +            possibilities. Be creative!
       +          </p>
       +        </article>
       +
       +      </section>
       +    </div>
       +    <!-- footer {{{ -->
       +    <footer>
       +      <a href='http://www.acme.com/software/thttpd/'>thttpd</a> <!-- &hearts; -->//
       +      <a href='http://www.wtfpl.net/about/'>wtfpl</a> <!-- &copy; -->//
       +      <a href='mailto:willy@mailoo.org'>mail</a> <!-- &#9993; -->//
       +      <a href='http://z3bra.org'>root</a> <!-- &#9774; -->//
       +      <a href='http://blog.z3bra.org/rss/feed.xml'>rss</a> <!-- &#9733; -->
       +    </footer>
       +    <!-- }}} -->
       +  </body>
       +</html>
       +<!-- vim: set sw=2 et ai fdm=marker ft=html: -->
 (DIR) diff --git a/index.html b/index.html
       t@@ -35,6 +35,25 @@
                      0. You just DO WHAT THE FUCK YOU WANT TO.
                }}} -->
              <section>
       +        <!-- Toolbox{{{ -->
       +        <h1>
       +        <a href='/2014/03/toolbox.html'>Toolbox</a>
       +        </h1>
       +        <h2>
       +          &mdash; 13 March, 2014
       +        </h2>
       +        <article>
       +          <p>
       +            Yeah, yet another list of unix tools. Feel free to avoid it, but you
       +            probably miss some nice tools you've probable never heard of!<br/>
       +            I'll keep this list updated, so don't forget to check it from time
       +            to time.
       +          </p>
       +        </article>
       +        <!-- }}} -->
       +
       +        <br />
       +
                <!-- Images in terminal{{{ -->
                <h1>
                <a href='/2014/01/images-in-terminal.html'>Images in terminal</a>
 (DIR) diff --git a/rss/feed.xml b/rss/feed.xml
       t@@ -6,6 +6,16 @@
        <link>http://blog.z3bra.org</link>
        <item>
        <title>
       +Toolbox
       +</title>
       +<description>
       +Yeah, yet another list of unix tools. Feel free to avoid it, but you
       +I'll keep this list updated, so don't forget to check it from time
       +to time.
       +</description>
       +</item>
       +<item>
       +<title>
        Images in terminal
        </title>
        <description>