<?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/"
   >
<channel>
    <title>nomeata’s mind shares - English</title>
    <link>https://www.joachim-breitner.de/blog/</link>
    <description>Joachim Breitners Denkblogade</description>
    <dc:language>en</dc:language>
    <admin:errorReportsTo rdf:resource="mailto:mail@joachim-breitner.de" />
    <generator>Serendipity 1.5 - http://www.s9y.org/</generator>
    
    <image>
        <url>http://joachim-breitner.de/avatars/avatar_128.png</url>
        <title>RSS: nomeata’s mind shares - English - Joachim Breitners Denkblogade</title>
        <link>https://www.joachim-breitner.de/blog/</link>
        <width>128</width>
        <height>128</height>
    </image>

<item>
    <title>Talking at CeBIT tomorrow</title>
    <link>https://www.joachim-breitner.de/blog/archives/384-Talking-at-CeBIT-tomorrow.html</link>
            <category>Digital World</category>
            <category>English</category>
    
    <comments>https://www.joachim-breitner.de/blog/archives/384-Talking-at-CeBIT-tomorrow.html#comments</comments>
    <wfw:comment>https://www.joachim-breitner.de/blog/wfwcomment.php?cid=384</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://www.joachim-breitner.de/blog/rss.php?version=2.0&amp;type=comments&amp;cid=384</wfw:commentRss>
    

    <author>mail@joachim-breitner.de (nomeata)</author>
    <content:encoded>
    &lt;p&gt;Today, I arrived at the &lt;a href=&quot;http://www.cebit.de/&quot;&gt;CeBIT&lt;/a&gt; conference in Hannover, and had a first look around. I find trade fairs like that quickly boring, and I was glad to meet some some other Debian folk and listen to some of the talks at the CeBIT Open Source Forum in hall 2, including &lt;a href=&quot;http://blog.schmehl.info/2010/03/02&quot;&gt;tolimar’s talk about Debian GNU/kFreeBSD&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;Tomorrow (Wednesday), I will talk at the same place at 13:45, explaining some basic stuff about patches and bug tracker. The target audience are users of Free Software who modify it for their private or company-wide use and would like to see their changes included in the official project. There will be a &lt;a href=&quot;http://www.techcast.com/events/cebit10/&quot;&gt;live stream&lt;/a&gt; of the talk, which I am officially holding as an employee of the &lt;a href=&quot;http://www.itomig.de/&quot;&gt;ITOMIG GmbH&lt;/a&gt;.&lt;br /&gt;&lt;/p&gt; 
    </content:encoded>

    <pubDate>Tue, 02 Mar 2010 21:02:29 +0100</pubDate>
    <guid isPermaLink="false">https://www.joachim-breitner.de/blog/archives/384-guid.html</guid>
    
</item>
<item>
    <title>Teeth fashion</title>
    <link>https://www.joachim-breitner.de/blog/archives/382-Teeth-fashion.html</link>
            <category>English</category>
    
    <comments>https://www.joachim-breitner.de/blog/archives/382-Teeth-fashion.html#comments</comments>
    <wfw:comment>https://www.joachim-breitner.de/blog/wfwcomment.php?cid=382</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>https://www.joachim-breitner.de/blog/rss.php?version=2.0&amp;type=comments&amp;cid=382</wfw:commentRss>
    

    <author>mail@joachim-breitner.de (nomeata)</author>
    <content:encoded>
    &lt;p&gt;Has anyone ever considered wearing his teeth consistent with the rest of ones cloths?&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;&lt;img src=&quot;http://www.joachim-breitner.de/various/teeth-fashion.jpg&quot; width=&quot;700&quot; height=&quot;942&quot;/&gt;&lt;/p&gt; 
    </content:encoded>

    <pubDate>Mon, 01 Mar 2010 12:49:11 +0100</pubDate>
    <guid isPermaLink="false">https://www.joachim-breitner.de/blog/archives/382-guid.html</guid>
    
</item>
<item>
    <title>Exploiting sharing in arbtt</title>
    <link>https://www.joachim-breitner.de/blog/archives/381-Exploiting-sharing-in-arbtt.html</link>
            <category>English</category>
            <category>Haskell</category>
    
    <comments>https://www.joachim-breitner.de/blog/archives/381-Exploiting-sharing-in-arbtt.html#comments</comments>
    <wfw:comment>https://www.joachim-breitner.de/blog/wfwcomment.php?cid=381</wfw:comment>

    <slash:comments>4</slash:comments>
    <wfw:commentRss>https://www.joachim-breitner.de/blog/rss.php?version=2.0&amp;type=comments&amp;cid=381</wfw:commentRss>
    

    <author>mail@joachim-breitner.de (nomeata)</author>
    <content:encoded>
    &lt;p&gt;My &lt;a href=&quot;http://www.joachim-breitner.de/projects#arbtt&quot;&gt;automatic rule-based time tracker&lt;/a&gt; (arbtt), which is written in Haskell, collects every minute a data sample consisting mainly of the list of currently open windows (window title and program name). Naturally, this log grows rather large. Since October of last year, I collected 70,000 samples. I already went &lt;a href=&quot;http://www.joachim-breitner.de/blog/archives/341-arbtt-goes-Binary.html&quot;&gt;from a text-based file format to a binary format&lt;/a&gt; using Data.Binary, which gave a big performance boost.&lt;br /&gt;&lt;/p&gt; 
&lt;p&gt;But by now, I was afraid that this is not enough. My log file is now 30MB large. Looking at the memory graph of gnome-panel, it is taking up more than half of my memory. When running arbtt-stats, the Haskell run time system reports 569 MB total memory in use and the command finishes after 28.5 seconds.&lt;/p&gt; 
&lt;p&gt;Naturally, the log file is highly redundant: Compressing it with bzip2 shrinks it to 1.6MB. But as I would like to preserve the ability to just append samples at the end, without having to read the file, I chose not just to add bzip2 or gzip compression. Rather, I am now exploiting a very obvious redundancy: Two adjacent samples usually list exactly the same windows, and a focus change only changes a flag. So now, when storing a string that is part of a sample, it will check if this string was already present in the previous sample and, in this case, just store the number of that string (one byte). Only if the string was not present it will write a zero byte and then the string. When reading the sample, the process is reversed.&lt;/p&gt; 
&lt;p&gt;This greatly reduces the file size: It is down to 6.2MB. It also improves the memory consumption, due to Haskell’s abilities with regard to sharing: When a reference to a string in a previous sample is read, then only one instance of this string is in memory, even if it occurs several times in the log. This brings the memory consumption down to 264 MB and the runtime to 17 seconds.&lt;/p&gt; 
&lt;p&gt;I released the changes as version 0.4.5.1 to &lt;a href=&quot;http://hackage.haskell.org/package/arbtt&quot;&gt;Hackage&lt;/a&gt;, &lt;a href=&quot;http://packages.debian.org/sid/arbtt&quot;&gt;Debian&lt;/a&gt; and as a &lt;a href=&quot;http://www.joachim-breitner.de/archive/arbtt/arbtt-setup-0.4.5.1.exe&quot;&gt;Windows installer&lt;/a&gt;. The log file is not automatically converted, but new samples will be written in the compressed format. If you want to convert your whole file, you have to stop arbtt-capture, run arbtt-recover, and then move the hopefully noticeable smaller &lt;a href=&quot;http://capture.log.recovered&quot;&gt;~/.arbtt/capture.log.recovered&lt;/a&gt;&amp;#160; to ~/.arbtt/capture.log.&lt;br /&gt;&lt;/p&gt; 
&lt;p&gt;The &lt;a href=&quot;http://darcs.nomeata.de/cgi-bin/darcsweb.cgi?r=arbtt;a=commitdiff;h=20100228205945-23c07-136eaf3cc7bd5c4e6f7b67f4d0cee1ac4433133e.gz&quot;&gt;required code changes&lt;/a&gt; were not too big. I somewhat isolated the relevant code in the &lt;a href=&quot;http://darcs.nomeata.de/arbtt/src/Data/Binary/StringRef.hs&quot;&gt;Data.Binary.StringRef&lt;/a&gt; module. Unfortunately, I have to use OverlappingInstances to be able to provide the special instance for String – is there a cleaner way (besides the trick used for the Show class)?&lt;br /&gt;&lt;/p&gt; 
    </content:encoded>

    <pubDate>Sun, 28 Feb 2010 23:04:48 +0100</pubDate>
    <guid isPermaLink="false">https://www.joachim-breitner.de/blog/archives/381-guid.html</guid>
    
</item>
<item>
    <title>Diploma Thesis Finished</title>
    <link>https://www.joachim-breitner.de/blog/archives/376-Diploma-Thesis-Finished.html</link>
            <category>English</category>
    
    <comments>https://www.joachim-breitner.de/blog/archives/376-Diploma-Thesis-Finished.html#comments</comments>
    <wfw:comment>https://www.joachim-breitner.de/blog/wfwcomment.php?cid=376</wfw:comment>

    <slash:comments>7</slash:comments>
    <wfw:commentRss>https://www.joachim-breitner.de/blog/rss.php?version=2.0&amp;type=comments&amp;cid=376</wfw:commentRss>
    

    <author>mail@joachim-breitner.de (nomeata)</author>
    <content:encoded>
    &lt;p&gt;Earlier today, I went to a local copy shop and had my diploma thesis printed. This afternoon, I will hand it in. The title is “&lt;a href=&quot;http://www.joachim-breitner.de/various/DA/LoopSubgroupDiplomaThesis.pdf&quot;&gt;Loop subgroups of F&lt;sub&gt;r&lt;/sub&gt; and the images of their stabilizer subgroups in GL&lt;sub&gt;r&lt;/sub&gt;(ℤ)&lt;/a&gt;” and discusses a group-theoretical result. I assume that very few readers care about the content of the thesis, but maybe some are interested in a few assorted LaTeX hints. I’m also publishing the &lt;a href=&quot;http://www.joachim-breitner.de/various/DA/LoopSubgroupDiplomaThesis.tex&quot;&gt;full TeX source code&lt;/a&gt;, maybe someone can make use of it.&lt;/p&gt; 
&lt;h3&gt;Less chatty varioref&lt;/h3&gt; 
&lt;p&gt;I’m using the &lt;a href=&quot;http://tug.ctan.org/cgi-bin/ctanPackageInformation.py?id=varioref&quot;&gt;&lt;tt&gt;varioref&lt;/tt&gt;&lt;/a&gt; package, in conjunction with the &lt;a href=&quot;http://tug.ctan.org/cgi-bin/ctanPackageInformation.py?id=cleveref&quot;&gt;&lt;tt&gt;cleveref&lt;/tt&gt;&lt;/a&gt; package. This provides a command &lt;tt&gt;\vref{fig:S3S4l}&lt;/tt&gt; which will expand to, for example, to “Figure 1 on page 11”. But if the referenced figure is actually on the current page, the next page, the previous page or the facing page (in two-side layouts), it will say so: “Figure 1 on this page.” &lt;/p&gt; 
&lt;p&gt;This is very nice, but I assume that the reader of my thesis is able to find Figure 1 when it is visible, i.e. on the current or facing page. One can remove the referencing texts with the commands &lt;tt&gt;\def\reftextfaceafter{}&lt;/tt&gt;, &lt;tt&gt;\def\reftextfacebefore{}&lt;/tt&gt; and &lt;tt&gt;\def\reftextcurrent{}&lt;/tt&gt;. But because &lt;tt&gt;varioref&lt;/tt&gt; puts a space between “Figure 1” and this text, we will get a superfluous space – even before punctuation.&lt;/p&gt; 
&lt;p&gt;The remedy is the command &lt;tt&gt;\unskip&lt;/tt&gt;, which removes this space again. So I use in my preamble:&lt;/p&gt; 
&lt;pre&gt;\def\reftextfaceafter {\unskip}%
\def\reftextfacebefore{\unskip}%
\def\reftextcurrent   {\unskip}%&lt;/pre&gt; 
&lt;h3&gt;Palatino and extra leading&lt;/h3&gt; 
&lt;p&gt;I chose the Palatino font for my thesis, using the &lt;a href=&quot;http://tug.ctan.org/cgi-bin/ctanPackageInformation.py?id=mathpazo&quot;&gt;&lt;tt&gt;mathpazo&lt;/tt&gt;&lt;/a&gt; package. Various sources (such as the &lt;a href=&quot;http://tug.ctan.org/cgi-bin/ctanPackageInformation.py?id=koma-script&quot;&gt;KOMA-Script&lt;/a&gt; manual) suggest to use 5% extra leading:&lt;/p&gt; 
&lt;pre&gt;\linespread{1.05}&lt;/pre&gt; 
&lt;h3&gt;Counting figures independently from chapters&lt;/h3&gt; 
&lt;p&gt;I don’t have too many figures and tables in my thesis, and I want them to be numbered simple 1, 2, ... By default, LaTeX would say 1.1, 1.2, 2.1, ... This can be fixed using the &lt;a href=&quot;http://tug.ctan.org/cgi-bin/ctanPackageInformation.py?id=remreset&quot;&gt;&lt;tt&gt;remreset&lt;/tt&gt;&lt;/a&gt; package and these commands:&lt;/p&gt; 
&lt;pre&gt;\makeatletter
\@removefromreset{figure}{chapter}
\renewcommand{\thefigure}{\arabic{figure}}
\@removefromreset{table}{chapter}
\renewcommand{\thetable}{\arabic{table}}
\makeatother&lt;/pre&gt; 
&lt;h3&gt;No widows and club lines&lt;/h3&gt; 
&lt;p&gt;LaTeX already avoids these, but I wanted to get rid of them completely. This can be done with:&lt;/p&gt; 
&lt;pre&gt;% Disable single lines at the start of a paragraph (Schusterjungen)
\clubpenalty = 10000
% Disable single lines at the end of a paragraph (Hurenkinder)
\widowpenalty = 10000 \displaywidowpenalty = 1000&lt;/pre&gt; 
&lt;h3&gt;Struck table lines&lt;/h3&gt; 
&lt;p&gt; I had to typeset tables with some lines struck, and I could not find a ready command for that. I used the following definition, based on the code for &lt;tt&gt;\hline&lt;/tt&gt;. Note that it probably does not adjust well to other font sizes and needs to be adjusted manually:&lt;/p&gt; 
&lt;pre&gt;\makeatletter
\def\stline{%
&amp;#160; \noalign{\vskip-.7em\vskip-\arrayrulewidth\hrule \@height \arrayrulewidth\vskip.7em}}
\makeatother&lt;/pre&gt; 
&lt;h3&gt;Title page in one-sided layout&lt;/h3&gt; 
&lt;p&gt;According to the KOMA manual, the title page as set by LaTeX is not meant to be the cover of a publication, and therefore has to be set with the margins of a right page – i.e. a larger right margin and a smaller left margin. But when printing cheaply, one often just put a transparent sheet on top of the print, so the title page &lt;em&gt;is&lt;/em&gt; the cover. You can convince KOMA that you are right by using&lt;/p&gt; 
&lt;pre&gt;\KOMAoptions{twoside=false}
\begin{titlepage}
...
\end{titlepage}
\KOMAoptions{twoside=true}&lt;/pre&gt; 
&lt;h3&gt;Not flushing the page for chapter heads&lt;/h3&gt; 
&lt;p&gt;LaTeX would put the list of algorithms on a new right page. I found this a waste of paper for my few algorithms, and preferred to put the list right after the table of contents. You can override the LaTeX behavior using:&lt;/p&gt; 
&lt;pre&gt;\tableofcontents
{
\let\cleardoublepage\relax&amp;#160; % book
\let\clearpage\relax&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; % report
\let\chapter\section
\listofalgorithms
}&lt;/pre&gt; 
&lt;p&gt;This code also reduces the size of the heading to that of a section. The same trick also works with &lt;tt&gt;\chapter&lt;/tt&gt;.&lt;/p&gt; 
&lt;h3&gt;Math in headings vs. PDF bookmarks&lt;/h3&gt; 
&lt;p&gt;LaTeX with the &lt;a href=&quot;http://tug.ctan.org/cgi-bin/ctanPackageInformation.py?id=hyperref&quot;&gt;&lt;tt&gt;hyperref&lt;/tt&gt;&lt;/a&gt; package creates nice PDF bookmarks from your chapter and section titles. Unfortunately, PDF bookmark names can only be plain strings, while the titles in the document might contain some math symbols. You can make both happy with &lt;tt&gt;\texorpdfstring&lt;/tt&gt;:&lt;/p&gt; 
&lt;pre&gt;\section{Stabilizer subgroups in \texorpdfstring{$\GL_r(\Z/2\Z)$}{GL\_r(Z/2Z)}}&lt;/pre&gt; 
&lt;h3&gt;Setting lines for the signature&lt;/h3&gt; 
&lt;p&gt;The diploma thesis contains a small note which I have to sign, saying that I created it on my own etc. Below that, I put two labeled lines for date and signature, using the tabbing environment:&lt;/p&gt; 
&lt;pre&gt;\begin{tabbing}
\rule{4cm}{.4pt}\hspace{1cm} \= \rule{7cm}{.4pt} \\
Ort, Datum \&amp;gt; Unterschrift
\end{tabbing}&lt;/pre&gt; 
    </content:encoded>

    <pubDate>Thu, 11 Feb 2010 14:11:19 +0100</pubDate>
    <guid isPermaLink="false">https://www.joachim-breitner.de/blog/archives/376-guid.html</guid>
    
</item>
<item>
    <title>If I were a caricaturist</title>
    <link>https://www.joachim-breitner.de/blog/archives/374-If-I-were-a-caricaturist.html</link>
            <category>English</category>
            <category>Politik</category>
    
    <comments>https://www.joachim-breitner.de/blog/archives/374-If-I-were-a-caricaturist.html#comments</comments>
    <wfw:comment>https://www.joachim-breitner.de/blog/wfwcomment.php?cid=374</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://www.joachim-breitner.de/blog/rss.php?version=2.0&amp;type=comments&amp;cid=374</wfw:commentRss>
    

    <author>mail@joachim-breitner.de (nomeata)</author>
    <content:encoded>
    &lt;p&gt;I’d draw a caricature involving a Toyota car, representing capitalism, with a stuck gas petal and Barack Obama trying to fix it. But as I cannot draw very well, especially recognizable people, I created this collage:&lt;/p&gt; 
&lt;div align=&quot;center&quot;&gt;&lt;img width=&quot;682&quot; height=&quot;549&quot; src=&quot;http://www.joachim-breitner.de/various/obama-toyota-callback.jpg&quot; /&gt;&lt;/div&gt; 
&lt;p&gt;The photo of Obama was created by &lt;a href=&quot;http://www.flickr.com/photos/bethcanphoto/2287026145/&quot;&gt;Beth Rankin&lt;/a&gt;.&lt;/p&gt; 
    </content:encoded>

    <pubDate>Sun, 07 Feb 2010 21:33:45 +0100</pubDate>
    <guid isPermaLink="false">https://www.joachim-breitner.de/blog/archives/374-guid.html</guid>
    
</item>
<item>
    <title>FontForge-Article in the German Linux-Magazin</title>
    <link>https://www.joachim-breitner.de/blog/archives/371-FontForge-Article-in-the-German-Linux-Magazin.html</link>
            <category>Digital World</category>
            <category>English</category>
    
    <comments>https://www.joachim-breitner.de/blog/archives/371-FontForge-Article-in-the-German-Linux-Magazin.html#comments</comments>
    <wfw:comment>https://www.joachim-breitner.de/blog/wfwcomment.php?cid=371</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://www.joachim-breitner.de/blog/rss.php?version=2.0&amp;type=comments&amp;cid=371</wfw:commentRss>
    

    <author>mail@joachim-breitner.de (nomeata)</author>
    <content:encoded>
    &lt;p&gt;Yesterday, I found the 3/10-issue of the German “&lt;a href=&quot;http://www.linux-magazin.de/Heft-Abo/Ausgaben/2010/03&quot;&gt;Linux-Magazin&lt;/a&gt;” in my mailbox. (I don’t dare to call it the March issue – they are a bit off schedule...) On page 62, you can find my 3½ page article about creating a symbol font with &lt;a href=&quot;http://fontforge.sourceforge.net/&quot;&gt;FontForge&lt;/a&gt;. I &lt;a href=&quot;http://www.joachim-breitner.de/blog/archives/310-My-very-first-font.html&quot;&gt;briefly covered the topic&lt;/a&gt; on my blog and later thought that it would made a nice article, even though I’m not an expert on this area. The article will be freely available in about three years.This is already my third publication, after my article on the &lt;a href=&quot;http://www.joachim-breitner.de/blog/archives/56-Like-XSS,-just-simpler-and-harder-to-prevent-The-Cross-Site-Auth-XSA-Attack.html&quot;&gt;Cross-Site-Authentication attack&lt;/a&gt; that was published &lt;a href=&quot;http://www.joachim-breitner.de/blog/archives/84-Erste-Schritte-im-Journalismus.html&quot;&gt;in the same magazine&lt;/a&gt; (circulation ~63.000) and in &lt;a href=&quot;http://www.joachim-breitner.de/blog/archives/108-International-Journalism-and-me.html&quot;&gt;its international counterpart&lt;/a&gt; in 2005 and my recent &lt;a href=&quot;http://www.joachim-breitner.de/blog/archives/354-Second-Post!.html&quot;&gt;article in the “freeX” magazine&lt;/a&gt; (circulation ~15.000). Looks like I’ll have to add a&amp;#160; “Publications” section to my website soon...&lt;/p&gt; 
    </content:encoded>

    <pubDate>Thu, 04 Feb 2010 22:50:11 +0100</pubDate>
    <guid isPermaLink="false">https://www.joachim-breitner.de/blog/archives/371-guid.html</guid>
    
</item>
<item>
    <title>pidgin-blinklight goes subliminal</title>
    <link>https://www.joachim-breitner.de/blog/archives/369-pidgin-blinklight-goes-subliminal.html</link>
            <category>Digital World</category>
            <category>English</category>
    
    <comments>https://www.joachim-breitner.de/blog/archives/369-pidgin-blinklight-goes-subliminal.html#comments</comments>
    <wfw:comment>https://www.joachim-breitner.de/blog/wfwcomment.php?cid=369</wfw:comment>

    <slash:comments>5</slash:comments>
    <wfw:commentRss>https://www.joachim-breitner.de/blog/rss.php?version=2.0&amp;type=comments&amp;cid=369</wfw:commentRss>
    

    <author>mail@joachim-breitner.de (nomeata)</author>
    <content:encoded>
    &lt;p&gt;A long while ago I wrote a plugin for gaim called gaim-thinklight that blinks ones ThinkPad ThinkLight when a new message arrives. By now it is called pidgin-blinklight and supports some other hardware as well, but has not changed since over a year. Today, I implemented a new feature, and I’m curious if it will actually work:&lt;/p&gt; 
&lt;p&gt;Until now, the blink pattern was hardcoded: ON, wait 150ms, OFF, wait 125ms, ON, wait 150ms, OFF. Since version 0.11, pidgin-blinklight will calculate these three delay times based on the contacts login name. So different contacts will have very slightly different blinking patterns. The idea is that, after a while, you start to recognize your frequent buddies already by the blinking. The wait times are from the range from 50ms to 250ms, I hope that range works well.&lt;br /&gt;&lt;/p&gt; 
&lt;p&gt;Users of &lt;a href=&quot;http://packages.debian.org/sid/pidgin-blinklight&quot;&gt;Debian unstable&lt;/a&gt; will get the new version automatically. If you want to compile pidgin-blinklight from source, you will have to grab it &lt;a href=&quot;http://ftp.de.debian.org/debian/pool/main/p/pidgin-blinklight/&quot;&gt;from the debian ftp server&lt;/a&gt;. The source is in the &lt;a href=&quot;http://darcs.nomeata.de/pidgin-blinklight.upstream/&quot;&gt;pidgin-blinklight Darcs repository&lt;/a&gt;.&lt;br /&gt;&lt;/p&gt; 
    </content:encoded>

    <pubDate>Sat, 30 Jan 2010 23:08:25 +0100</pubDate>
    <guid isPermaLink="false">https://www.joachim-breitner.de/blog/archives/369-guid.html</guid>
    
</item>
<item>
    <title>Serna XML editor uploaded to Debian</title>
    <link>https://www.joachim-breitner.de/blog/archives/366-Serna-XML-editor-uploaded-to-Debian.html</link>
            <category>Debian</category>
            <category>English</category>
    
    <comments>https://www.joachim-breitner.de/blog/archives/366-Serna-XML-editor-uploaded-to-Debian.html#comments</comments>
    <wfw:comment>https://www.joachim-breitner.de/blog/wfwcomment.php?cid=366</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>https://www.joachim-breitner.de/blog/rss.php?version=2.0&amp;type=comments&amp;cid=366</wfw:commentRss>
    

    <author>mail@joachim-breitner.de (nomeata)</author>
    <content:encoded>
    &lt;p&gt;The &lt;a href=&quot;http://www.syntext.com/products/serna-free/&quot;&gt;XML-Editor Serna&lt;/a&gt; by &lt;a href=&quot;http://www.syntext.com/&quot;&gt;Syntext&lt;/a&gt; has been published as Free Software a few months ago. This was very good news, because there was a lack of a good free XML editors with a good graphical view on DocBook documents, which I needed to recommend to users of &lt;a href=&quot;http://www.zpub.de/&quot;&gt;zpub&lt;/a&gt;. Therefore, I investigated packaging Serna for Debian. I had to &lt;a href=&quot;http://git.nomeata.de/?p=serna.git;a=tree;f=debian/patches;hb=refs/heads/master&quot;&gt;patch a few things&lt;/a&gt; to make it compile on and64 and to use components shipped by Debian where possible. Today, I could finally close the &lt;a href=&quot;http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=535828&quot;&gt;RFP bug&lt;/a&gt; filed by W. Martin Borgert, as the &lt;a href=&quot;http://packages.debian.org/sid/serna&quot;&gt;serna package&lt;/a&gt; was accepted by the ftp-masters. The &lt;a href=&quot;http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=566823&quot;&gt;first bug&lt;/a&gt; (SEGFAULT on startup on lenny) is already filed. I hope this is a good sign, as it shows that there is interest in the package.&lt;/p&gt; 
&lt;p&gt;For my packaging workflow, I used git-svn to import the upstream SVN branch into &lt;a href=&quot;http://git.nomeata.de/?p=serna.git&quot;&gt;a git repository&lt;/a&gt;. I then use &lt;a href=&quot;http://git-dpm.alioth.debian.org/&quot;&gt;git-dpm&lt;/a&gt; by Bernhard R. Link to manage my changes as patches in the new 3.0 (quilt) debian source package. I must say that I prefer this approach to git-buildpackage, as there is only one git branch to publish. I hope that Bernhard uploads git-dpm to Debian soon.&lt;/p&gt; 
&lt;p&gt;Serna is quite a big software project and uses stuff that I know little about (Qt, C++ with python interaction etc.). Also, the package currently bundles the &lt;a href=&quot;http://dita-ot.sourceforge.net/&quot;&gt;DITA-OT&lt;/a&gt; package, which should rather be packaged separately. Therefore, I’d be glad if co-maintainers would join the effort.&lt;br /&gt;&lt;/p&gt; 
    </content:encoded>

    <pubDate>Mon, 25 Jan 2010 12:28:33 +0100</pubDate>
    <guid isPermaLink="false">https://www.joachim-breitner.de/blog/archives/366-guid.html</guid>
    
</item>
<item>
    <title>DebConf mugshots view statistics</title>
    <link>https://www.joachim-breitner.de/blog/archives/363-DebConf-mugshots-view-statistics.html</link>
            <category>Debian</category>
            <category>English</category>
    
    <comments>https://www.joachim-breitner.de/blog/archives/363-DebConf-mugshots-view-statistics.html#comments</comments>
    <wfw:comment>https://www.joachim-breitner.de/blog/wfwcomment.php?cid=363</wfw:comment>

    <slash:comments>4</slash:comments>
    <wfw:commentRss>https://www.joachim-breitner.de/blog/rss.php?version=2.0&amp;type=comments&amp;cid=363</wfw:commentRss>
    

    <author>mail@joachim-breitner.de (nomeata)</author>
    <content:encoded>
    &lt;p&gt;In a comment to &lt;a href=&quot;https://www.joachim-breitner.de/blog/archives/360-screen-message-ported-to-Windows.html&quot;&gt;my previous blog post&lt;/a&gt;, I linked to the DebConf photo gallery page with the &lt;a href=&quot;https://gallery.debconf.org/v/debconf8/Mugshots/&quot;&gt;DebConf8 mugshots&lt;/a&gt;. &lt;a href=&quot;http://www.felixbrandt.de/blog/index.php?/archives/93-Unconventional-Image-Classification.html&quot;&gt;Felix Brandt&lt;/a&gt;, a friend of mine, noticed the per-picture view statistics there and plotted them, differentiating between male and female. He finds that the number of views on an image gives a fairly good indication of the sex (or gender?) of the person in question:&lt;/p&gt; 
&lt;div align=&quot;center&quot;&gt;&lt;a href=&quot;http://www.felixbrandt.de/blog/index.php?/archives/93-Unconventional-Image-Classification.html&quot;&gt;&lt;img border=&quot;0&quot; align=&quot;middle&quot; src=&quot;http://www.felixbrandt.de/~felix/blog/debconf8_mugshots_views.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt; 
&lt;p&gt;The most notable exception is the &lt;a href=&quot;https://gallery.debconf.org/v/debconf8/Mugshots/mugshots-dc8068.jpg.html&quot;&gt;image of bubulle&lt;/a&gt;. He does not even look feminine. Maybe it’s because he’s like a mother to us Debianers, always kind and always helpful? :-)&lt;/p&gt; 
&lt;p&gt;This observation fits my experience when I created a top-100-statistic of individual picture page views of &lt;a href=&quot;http://www.joachim-breitner.de/bilder/&quot;&gt;my personal gallery&lt;/a&gt;: I got a collection of pretty much all pictures of girls in bikinis, lying at some beach, across the various pages and years, and hardly any other picture. I won’t post these top-100 here, as I don’t want to additionally increase the effect...&lt;/p&gt; 
    </content:encoded>

    <pubDate>Sat, 09 Jan 2010 15:02:29 +0100</pubDate>
    <guid isPermaLink="false">https://www.joachim-breitner.de/blog/archives/363-guid.html</guid>
    
</item>
<item>
    <title>screen-message ported to Windows</title>
    <link>https://www.joachim-breitner.de/blog/archives/360-screen-message-ported-to-Windows.html</link>
            <category>Digital World</category>
            <category>English</category>
    
    <comments>https://www.joachim-breitner.de/blog/archives/360-screen-message-ported-to-Windows.html#comments</comments>
    <wfw:comment>https://www.joachim-breitner.de/blog/wfwcomment.php?cid=360</wfw:comment>

    <slash:comments>6</slash:comments>
    <wfw:commentRss>https://www.joachim-breitner.de/blog/rss.php?version=2.0&amp;type=comments&amp;cid=360</wfw:commentRss>
    

    <author>mail@joachim-breitner.de (nomeata)</author>
    <content:encoded>
    &lt;p&gt;Over the holidays I investigated how to cross-compile GTK applications for Windows, and managed to port screen-message. I also created an Inno Setup based installer for it that includes the necessary GTK DLLs. You can grab it from the &lt;a href=&quot;http://www.joachim-breitner.de/projects#screen-message&quot;&gt;screen-message homepage&lt;/a&gt;. The installer optionally binds screen-messages to the key combination Alt-Ctrl-S.&lt;br /&gt;&lt;/p&gt; 
&lt;p&gt;I would have published the binary much earlier if starting the application had not always given the error message
&lt;/p&gt; 
&lt;blockquote&gt;
The application failed to initialize properly (0xc000007b).  Click on OK to terminate the application.
&lt;/blockquote&gt;
&lt;p&gt;
on Windows, while it worked fine under WINE. It took me a while to find the cause, as there seems to be only &lt;a href=&quot;http://www.mail-archive.com/gtkmm-list@gnome.org/msg10153.html&quot;&gt;one mention&lt;/a&gt; of it in the internet: One must not use MinGW’s strip.exe utility on DLLs not created with MinGW, it seems.
&lt;/p&gt;

&lt;p&gt; &lt;/p&gt; 
&lt;p&gt;I added a “make installer” target to the Makefile to create the installer. If you are curious about how that works, have a look at &lt;a href=&quot;http://darcs.nomeata.de/screen-message.upstream&quot;&gt;the source&lt;/a&gt;.&lt;br /&gt;&lt;/p&gt; 
&lt;p&gt;&lt;br /&gt;&lt;/p&gt; 
    </content:encoded>

    <pubDate>Thu, 07 Jan 2010 13:35:31 +0100</pubDate>
    <guid isPermaLink="false">https://www.joachim-breitner.de/blog/archives/360-guid.html</guid>
    
</item>
<item>
    <title>Building arbtt for Windows</title>
    <link>https://www.joachim-breitner.de/blog/archives/358-Building-arbtt-for-Windows.html</link>
            <category>English</category>
            <category>Haskell</category>
    
    <comments>https://www.joachim-breitner.de/blog/archives/358-Building-arbtt-for-Windows.html#comments</comments>
    <wfw:comment>https://www.joachim-breitner.de/blog/wfwcomment.php?cid=358</wfw:comment>

    <slash:comments>6</slash:comments>
    <wfw:commentRss>https://www.joachim-breitner.de/blog/rss.php?version=2.0&amp;type=comments&amp;cid=358</wfw:commentRss>
    

    <author>mail@joachim-breitner.de (nomeata)</author>
    <content:encoded>
    &lt;p&gt;A friend of mine is interested in trying out the &lt;a href=&quot;http://www.joachim-breitner.de/projects#arbtt&quot;&gt;Automatic Rule Based Time-Tracker&lt;/a&gt; arbtt which I programmed. Unfortunately, he is using Windows and up to now, arbtt only worked on Linux. But as I wanted to check out Haskell’s cross-platform abilities for a while, this was a good opportunity to do so. I don’t have Windows installed myself (and did not plan to do so), so I did all this under &lt;a href=&quot;http://www.winehq.org/&quot;&gt;WINE&lt;/a&gt;, the Windows compatibility layer, which works very well: It takes only a few minutes to install the &lt;a href=&quot;http://hackage.haskell.org/platform/&quot;&gt;Haskell Platform&lt;/a&gt; for Windows and then I was able to run &lt;tt&gt;wine ghc --make&lt;/tt&gt; and &lt;tt&gt;cabal install&lt;/tt&gt;.&lt;/p&gt; 
&lt;p&gt;I played around with some simple programs and was surprised by these timings:&lt;/p&gt; 
&lt;pre&gt;$ rm *.o *.hi; ghc --make fourfours.hs ; time ./fourfours &amp;gt; /dev/null
[1 of 1] Compiling Main             ( fourfours.hs, fourfours.o )
Linking fourfours ...

real	0m1.909s
user	0m1.692s
sys	0m0.208s
$ rm *.o *.hi; wine ghc --make fourfours.hs ; time wine ./fourfours.exe &amp;gt; /dev/null
[1 of 1] Compiling Main             ( fourfours.hs, fourfours.o )
Linking fourfours.exe ...

real	0m1.631s
user	0m1.376s
sys	0m0.092s
&lt;/pre&gt; 
&lt;p&gt;So it is faster to run a compiled Haskell program on top of a compatibility layer than directly on Linux! The world is in order again, though, if optimization is enabled:&lt;/p&gt; 
&lt;pre&gt;$ rm *.o *.hi; ghc -O --make fourfours.hs ; time ./fourfours &amp;gt; /dev/null
[1 of 1] Compiling Main             ( fourfours.hs, fourfours.o )
Linking fourfours ...

real	0m0.981s
user	0m0.876s
sys	0m0.108s
$ rm *.o *.hi; wine ghc -O --make fourfours.hs ; time wine ./fourfours.exe &amp;gt; /dev/null
[1 of 1] Compiling Main             ( fourfours.hs, fourfours.o )
Linking fourfours.exe ...

real	0m1.270s
user	0m1.036s
sys	0m0.072s
&lt;/pre&gt; 
&lt;p&gt;Funny. Anyways, I wanted to port arbtt. The only platform-dependent part is the capture module that gathers the list of open Windows. The &lt;a href=&quot;http://hackage.haskell.org/package/Win32&quot;&gt;Win32&lt;/a&gt; package that comes with the Haskell Platform did not cover all the functions needed to do so, but creating additional function bindings is really easy with Haskell, as can be seen in the &lt;a href=&quot;http://darcs.nomeata.de/arbtt/src/Graphics/Win32/Window/Extra.hsc&quot;&gt;Graphics.Win32.Window.Extra&lt;/a&gt; module. I also replaced the locking code that prevents two instances of &lt;tt&gt;arbtt-capture&lt;/tt&gt; to run at the same time by equivalent code using Windows mutexes (module &lt;a href=&quot;http://darcs.nomeata.de/arbtt/src/System/Win32/Mutex.hsc&quot;&gt;System.Win32.Mutex&lt;/a&gt;). With these small changes and some CPP conditionals to make the code compile for either platform, the porting was done! Even accessing the files in &lt;tt&gt;~/.arbtt&lt;/tt&gt; works correctly on Windows, where it will look in the Application Data folder,  without changing the code, thanks to &lt;a href=&quot;http://hackage.haskell.org/packages/archive/directory/latest/doc/html/System-Directory.html#v%3AgetAppUserDataDirectory&quot;&gt;System.Directory.getAppUserDataDirectory&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;But Windows users won’t like compiling software on their own. They won’t even like installing software by copying various files to certain directories. Therefore, I also had to create a Windows Installer. I picked &lt;a href=&quot;http://www.jrsoftware.org/isinfo.php&quot;&gt;Inno Setup&lt;/a&gt;, because it’s Free Software and seems to be simpler than NSIS. The installer puts the compiled &lt;tt&gt;.exe&lt;/tt&gt; files, the example &lt;tt&gt;categorize.cfg&lt;/tt&gt; and the HTML documentation in the right spot, adds icons to the Start Menu (“Edit categorize.cfg”, which fires up wordpad, a link to the documentation and the uninstaller), puts &lt;tt&gt;arbtt-capture&lt;/tt&gt; in the Autorun folder, puts the path to &lt;tt&gt;arbtt-stats&lt;/tt&gt; in the &lt;tt&gt;PATH&lt;/tt&gt; variable and starts &lt;tt&gt;arbtt-capture&lt;/tt&gt; at the end (the last three points being optional). Of course it undoes all this when removing the program again. I integrated the call to the Inno Setup installer into the usual ./&lt;a href=&quot;http://darcs.nomeata.de/arbtt/Setup.hs&quot;&gt;Setup&lt;/a&gt; build process of Haskell packages. Some more details of how to create the Windows installer are mentioned in the &lt;a href=&quot;http://darcs.nomeata.de/arbtt/README&quot;&gt;README&lt;/a&gt; file.&lt;/p&gt; 
&lt;p&gt;Now all this does not magically add a graphical user interface to arbtt, so users will still have to work with &lt;tt&gt;arbtt-stats&lt;/tt&gt; on the command line – even on Windows. If this is not a problem for you then you can fetch the latest installer from &lt;a href=&quot;http://www.joachim-breitner.de/projects#arbtt&quot;&gt;the arbtt homepage&lt;/a&gt;. And if you happen to become a serious user of arbtt on Windows and want to help maintaining the Windows port, I’ll gladly share some responsibilities.&lt;/p&gt; 
&lt;p&gt;I’m very satisfied with the process and the result and I’m happy to
know that I can offer some of my programs also to Windows users in the
future.It is also a big plus for Haskell – with Python, shipping a program for Windows users is likely more difficult. The next step will be providing gtk-based graphical Haskell applications for Windows, including a nice installer that ideally includes all dependencies (gtk etc.).&lt;br /&gt;&lt;/p&gt; 
    </content:encoded>

    <pubDate>Fri, 25 Dec 2009 19:48:00 +0100</pubDate>
    <guid isPermaLink="false">https://www.joachim-breitner.de/blog/archives/358-guid.html</guid>
    
</item>
<item>
    <title>Packaged unicode-screensaver properly</title>
    <link>https://www.joachim-breitner.de/blog/archives/355-Packaged-unicode-screensaver-properly.html</link>
            <category>Digital World</category>
            <category>English</category>
    
    <comments>https://www.joachim-breitner.de/blog/archives/355-Packaged-unicode-screensaver-properly.html#comments</comments>
    <wfw:comment>https://www.joachim-breitner.de/blog/wfwcomment.php?cid=355</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>https://www.joachim-breitner.de/blog/rss.php?version=2.0&amp;type=comments&amp;cid=355</wfw:commentRss>
    

    <author>mail@joachim-breitner.de (nomeata)</author>
    <content:encoded>
    
&lt;p&gt;Three years ago, while I was in Ghana, I &lt;a href=&quot;https://www.joachim-breitner.de/blog/archives/204-Unicode-Hack.html&quot;&gt;wrote a small screensaver&lt;/a&gt; that displays a randomly picked unicode character full-screen. I like it because there is a huge bunch of very weird characters and signs in the unicode standard. It also prints the unicode codepoint and character name.&lt;/p&gt;
&lt;div align=&quot;center&quot;&gt;&lt;img width=&quot;651&quot; src=&quot;http://www.joachim-breitner.de/various/unicode-screensaver.png&quot; /&gt;&lt;/div&gt;&lt;p&gt;Now I finally got around to properly package it: Created a &lt;a href=&quot;http://www.joachim-breitner.de/projects#unicode-screensaver&quot;&gt;small homepage&lt;/a&gt;, a &lt;a href=&quot;http://www.joachim-breitner.de/archive/unicode-screensaver/&quot;&gt;source tarball&lt;/a&gt; with (hopefully) proper autotool files, all managed in a &lt;a href=&quot;http://git.nomeata.de/?p=unicode-screensaver.git&quot;&gt;git repository&lt;/a&gt; (also &lt;a href=&quot;http://gitorious.org/unicode-screensaver&quot;&gt;on gitorious&lt;/a&gt;), complete with manpage, README and other additional files. I’m also going to upload the package to Debian, so you can just do apt-get install &lt;a href=&quot;http://packages.debian.org/sid/unicode-screensaver&quot;&gt;unicode-screensaver&lt;/a&gt; as soon as it gets accepted.&lt;/p&gt;&lt;p&gt;It can probably not enter the official &lt;a href=&quot;http://www.jwz.org/xscreensaver/&quot;&gt;xscreensaver&lt;/a&gt; distribution as it adds dependencies on the fontconfig and freetype libraries.&lt;/p&gt; 
    </content:encoded>

    <pubDate>Wed, 09 Dec 2009 14:54:20 +0100</pubDate>
    <guid isPermaLink="false">https://www.joachim-breitner.de/blog/archives/355-guid.html</guid>
    
</item>
<item>
    <title>Second Post!</title>
    <link>https://www.joachim-breitner.de/blog/archives/354-Second-Post!.html</link>
            <category>Digital World</category>
            <category>English</category>
    
    <comments>https://www.joachim-breitner.de/blog/archives/354-Second-Post!.html#comments</comments>
    <wfw:comment>https://www.joachim-breitner.de/blog/wfwcomment.php?cid=354</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>https://www.joachim-breitner.de/blog/rss.php?version=2.0&amp;type=comments&amp;cid=354</wfw:commentRss>
    

    <author>mail@joachim-breitner.de (nomeata)</author>
    <content:encoded>
    
&lt;p&gt;Yesterday, the German magazine &lt;a href=&quot;http://www.cul.de/freex.html&quot;&gt;freeX&lt;/a&gt; published its December issue. It includes an three-page article about  &lt;a href=&quot;http://gitorious.org/vbox-sync&quot;&gt;vbox-sync&lt;/a&gt;, written by me, that is even mentioned on the cover page. After my article on the &lt;a href=&quot;http://www.joachim-breitner.de/blog/archives/56-Like-XSS,-just-simpler-and-harder-to-prevent-The-Cross-Site-Auth-XSA-Attack.html&quot;&gt;Cross-Site-Authentication attack&lt;/a&gt; that was published &lt;a href=&quot;http://www.joachim-breitner.de/blog/archives/84-Erste-Schritte-im-Journalismus.html&quot;&gt;in the German Linux-Magazin&lt;/a&gt; and the &lt;a href=&quot;http://www.joachim-breitner.de/blog/archives/108-International-Journalism-and-me.html&quot;&gt;international Linux Magazine&lt;/a&gt; in 2005, this is my second publication.&lt;/p&gt;&lt;p&gt;Vbox-sync is a tool to distribute VirtualBox images via apt-get that Phil Kern and I wrote as part of our work for &lt;a href=&quot;http://itomig.de/&quot;&gt;itomig.de&lt;/a&gt;, a German Free Software consulting company, and the &lt;a href=&quot;http://www.muenchen.de/limux&quot;&gt;LiMux&lt;/a&gt; project. I also held a &lt;a href=&quot;https://penta.debconf.org/dc9_schedule/events/476.en.html&quot;&gt;talk about it&lt;/a&gt; at the Debian Conference in Extremadura, Spain, in 2009.&lt;/p&gt; 
    </content:encoded>

    <pubDate>Thu, 03 Dec 2009 23:28:59 +0100</pubDate>
    <guid isPermaLink="false">https://www.joachim-breitner.de/blog/archives/354-guid.html</guid>
    
</item>
<item>
    <title>screen-message now in an online version</title>
    <link>https://www.joachim-breitner.de/blog/archives/353-screen-message-now-in-an-online-version.html</link>
            <category>Digital World</category>
            <category>English</category>
    
    <comments>https://www.joachim-breitner.de/blog/archives/353-screen-message-now-in-an-online-version.html#comments</comments>
    <wfw:comment>https://www.joachim-breitner.de/blog/wfwcomment.php?cid=353</wfw:comment>

    <slash:comments>15</slash:comments>
    <wfw:commentRss>https://www.joachim-breitner.de/blog/rss.php?version=2.0&amp;type=comments&amp;cid=353</wfw:commentRss>
    

    <author>mail@joachim-breitner.de (nomeata)</author>
    <content:encoded>
    
&lt;p&gt;Folllowing an idea by &lt;a href=&quot;http://twitter.com/kaihendry/statuses/5920995902&quot;&gt;Kai Hendry&lt;/a&gt;, I re-implemented my Linux application screen-message, which does nothing but display a piece of text that you enter as large as possible, in HTML. So whenever you are in need of screen-message, but don’t have it installed at the moment, put your browser into fullscreen mode, go to&lt;/p&gt;&lt;div align=&quot;center&quot; style=&quot;font-size: large;&quot;&gt;&lt;a href=&quot;http://sm.nomeata.de&quot;&gt;http://sm.nomeata.de/&lt;/a&gt;&lt;/div&gt;&lt;p&gt;and type away.&lt;/p/&gt;&lt;p&gt;I only tested it with the web browser &lt;a href=&quot;http://galeon.sourceforge.net/&quot;&gt;galeon&lt;/a&gt;, so I expect it to work with Firefox and related browsers. If it does not work with Internet Explorer, I can’t help it – but patches are welcome. The file is stored in the screen-message &lt;a href=&quot;http://darcs.net/&quot;&gt;Darcs&lt;/a&gt; repository at &lt;a href=&quot;http://darcs.nomeata.de/screen-message.upstream/&quot;&gt;http://darcs.nomeata.de/screen-message.upstream&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;PS: If anyone wants to donate a shorter domain for this, you are welcome. But I guess all good domains with “sm” in them are taken...&lt;/p &gt; 
    </content:encoded>

    <pubDate>Fri, 27 Nov 2009 17:52:06 +0100</pubDate>
    <guid isPermaLink="false">https://www.joachim-breitner.de/blog/archives/353-guid.html</guid>
    
</item>
<item>
    <title>arbtt now in Debian</title>
    <link>https://www.joachim-breitner.de/blog/archives/352-arbtt-now-in-Debian.html</link>
            <category>Digital World</category>
            <category>English</category>
    
    <comments>https://www.joachim-breitner.de/blog/archives/352-arbtt-now-in-Debian.html#comments</comments>
    <wfw:comment>https://www.joachim-breitner.de/blog/wfwcomment.php?cid=352</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>https://www.joachim-breitner.de/blog/rss.php?version=2.0&amp;type=comments&amp;cid=352</wfw:commentRss>
    

    <author>mail@joachim-breitner.de (nomeata)</author>
    <content:encoded>
    
&lt;p&gt;The &lt;a href=&quot;http://www.joachim-breitner.de/projects#arbtt&quot;&gt;Automatic Rule Based Time Tracker&lt;/a&gt; that I have created some weeks ago is now available in Debian unstable, so if if you were reluctant to use it because you did not want to figure out how to compile the Haskell code, you can just do apt-get install &lt;a href=&quot;http://packages.debian.org/sid/arbtt&quot;&gt;arbtt&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Although it’s such a young project, it already has a fork: Andreas Klöckner was very impatient with a feature request (sensible merging of logs from different hosts), so we went ahead and re-implemented arbtt in python, named &lt;a href=&quot;http://git.tiker.net/whatup.git&quot;&gt;whatup&lt;/a&gt;. Although I prefer contributions to arbtt, it shows that the principle of arbtt is useful. And I won’t be shy to copy nice ideas from him, as well :-)&lt;/p&gt; 
    </content:encoded>

    <pubDate>Mon, 23 Nov 2009 16:18:58 +0100</pubDate>
    <guid isPermaLink="false">https://www.joachim-breitner.de/blog/archives/352-guid.html</guid>
    
</item>

</channel>
</rss>