<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:planet="http://planet.intertwingly.net/" xmlns:indexing="urn:atom-extension:indexing" indexing:index="no"><access:restriction xmlns:access="http://www.bloglines.com/about/specs/fac-1.0" relationship="deny"/>
  <title>Planet Freitagsrunde</title>
  <updated>2012-02-08T13:45:31Z</updated>
  <generator uri="http://intertwingly.net/code/venus/">Venus</generator>
  <author>
    <name>Freitagsrunde</name>
    <email>webmaster@freitagsrunde.org</email>
  </author>
  <id>http://planet.freitagsrunde.org/atom.xml</id>
  <link href="http://planet.freitagsrunde.org/atom.xml" rel="self" type="application/atom+xml"/>
  <link href="http://planet.freitagsrunde.org/" rel="alternate"/>

  <entry xml:lang="de-de">
    <id>http://seba-geek.de/blog/18/RFC1149/</id>
    <link href="http://seba-geek.de/blog/18/RFC1149/" rel="alternate" type="text/html"/>
    <title>RFC1149</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Ich hab es endlich mal geschafft meine Versuche mitRFC1149 ("IP over Avian Carrier") zu beschreiben und auf diese Seite zu bringen. 
<br/>
<br/>Im Ganzen geht es um zwei RFC1149-Implementationen: <ul><li>vRFC1149 - IP über Twitter</li><li>IP über Quadrokopter mittels USB-Sticks</li></ul>
<br/>Es gibt Sourcecode (python), READMEs zu jedem Tunnel und die Hausaufgabe, in der nochmal genau beschrieben wird, wie das Ganze eigentlich funktioniert. Schaut es euch an unter <a href="http://seba-geek.de/stuff/rfc1149/">Zeug/Scripte --&gt; rfc1149</a>.
<br/>
<br/>Zu IP über Twitter habe ich am 31.1.2012 beim <a href="http://www.meetup.com/Berlin-Hack-and-Tell/events/43753752/">#8 Berlin Hack and Tell</a> einen 5-Minütigen Vortrag mit Demo von ICMP, HTTP und SSH über IP über Twitter gehalten. Wenn die Recordings fertig sind, wird das auch noch verlinkt werden.</div>
    </summary>
    <updated>2012-02-06T01:32:53Z</updated>
    <source>
      <id>http://seba-geek.de/blog/</id>
      <author>
        <name>Seba</name>
      </author>
      <link href="http://seba-geek.de/blog/" rel="alternate" type="text/html"/>
      <link href="http://seba-geek.de/feeds/blog/" rel="self" type="application/atom+xml"/>
      <subtitle>Sebas Blog</subtitle>
      <title>seba-geek.de</title>
      <updated>2012-02-08T13:45:27Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://theresa.someserver.de/blog/?p=12</id>
    <link href="http://theresa.someserver.de/blog/?p=12" rel="alternate" type="text/html"/>
    <title>Hallo Welt!</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Nun also doch: Ich blogge. Geplant ist, euch an dieser Stelle über meine Aktivitäten zu informieren, von Unternehmungen zu berichten und euch mit weiteren geistigen Ergüssen (auch Brain-Dumps genannt) zu unterhalten. Im Moment möchte ich nur kurz auf die Blogsoftware … <a href="http://theresa.someserver.de/blog/?p=12">Weiterlesen <span class="meta-nav">→</span></a></div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Nun also doch: Ich blogge.</p>
<p>Geplant ist, euch an dieser Stelle über meine Aktivitäten zu informieren, von Unternehmungen zu berichten und euch mit weiteren geistigen Ergüssen (auch Brain-Dumps genannt) zu unterhalten.</p>
<p>Im Moment möchte ich nur kurz auf die Blogsoftware eingehen.</p>
<p>Es ist also ein WordPress geworden, mal wieder. Ja, ich habe mir Alternativen angeschaut. Am liebsten wäre mir ja etwas mit Django gewesen, weil ich damit schon für unser Kassensystemprojekt <a href="http://k4ever.someserver.de">k4ever</a> gearbeitet habe und Python mir als Programmiersprache bisher am angenehmsten ist.</p>
<p><a href="https://github.com/montylounge/django-mingus">Django-Mingus</a> ist dahingehend ein sehr vielversprechendes Projekt, das mehrere Django-Applikationen integriert. Im <a href="http://blog.montylounge.com/">Blog des Entwicklers</a> befinden sich einige Artikel, die auf Mingus und weitere Django-/Pythonthemen eingehen. Machte also einen guten Eindruck. Allerdings stolperte ich über so einige Unklarheiten in der Dokumentation, sowie Fehler. Als es dann aufgesetzt war, überzeugte mich das Admininterface, in dem man die Artikel einstellt, leider nicht.<br/>
Tja, da siegte die Bequemlichkeit über die Präferenz der Programmiersprache.</p>
<p>Da WordPress mich netterweise Artikel exportieren lässt, bin ich nach wie vor flexibel, wenn mir eine attraktive Alternative begegnet.<br/>
Aber mal ehrlich, es hält doch erfahrungsgemäß nichts länger als ein Provisorium, nicht wahr…?</p></div>
    </content>
    <updated>2012-02-06T01:32:17Z</updated>
    <category term="meta"/>
    <author>
      <name>theri</name>
    </author>
    <source>
      <id>http://theresa.someserver.de/blog</id>
      <link href="http://theresa.someserver.de/blog/?feed=rss2" rel="self" type="application/atom+xml"/>
      <link href="http://theresa.someserver.de/blog" rel="alternate" type="text/html"/>
      <subtitle>An-, Drauf- und Einsichten meinerseits</subtitle>
      <title>Resas Ramblings</title>
      <updated>2012-02-06T07:49:54Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://www.cleeus.de/w/blog/2012/01/24/silence_and_joy.html</id>
    <link href="http://www.cleeus.de/w/blog/2012/01/24/silence_and_joy.html" rel="alternate" type="text/html"/>
    <title>silence and joy</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>This is a good one on TED:</p>
<p><a href="http://feedproxy.google.com/~r/TEDTalks_video/~5/5O5tm-8aROc/AJJacobs_2011P.mp4">A.J. Jacobs: How healthy living nearly killed me.</a></p></div>
    </summary>
    <updated>2012-01-24T20:50:00Z</updated>
    <author>
      <name>Kai Dietrich</name>
    </author>
    <source>
      <id>http://www.cleeus.de/w/</id>
      <link href="http://www.cleeus.de/w/" rel="alternate" type="text/html"/>
      <link href="http://www.cleeus.de/w/feeds/blog.xml" rel="self" type="application/rss+xml"/>
      <subtitle>My blog about stuff.</subtitle>
      <title>std::blog&lt;cleeus&gt;</title>
      <updated>2012-01-24T20:45:13Z</updated>
    </source>
  </entry>

  <entry xml:lang="de">
    <id>http://blog.tannek.de/archives/62-guid.html</id>
    <link href="http://blog.tannek.de/archives/62-Clipboard-als-Tastatureingabe.html" rel="alternate" type="text/html"/>
    <title xml:lang="de">Clipboard als Tastatureingabe</title>
    <content type="xhtml" xml:lang="de"><div xmlns="http://www.w3.org/1999/xhtml"><br/>
<p>Manche Tools oder Websiten benoetigen einen Text eingegeben per "keypress" von der Tastatur.</p><p>Um diesen dennoch einen kopierten Text unterzujubeln, hier ein kleines Script von mir:</p><pre>#!/usr/bin/python<br/>
import os<br/>
import virtkey<br/>
import time<br/>
<br/>
def presskey(keyName):<br/>
        vk.press_unicode(ord(keyName))<br/>
        vk.release_unicode(ord(keyName))<br/>
<br/>
vk=virtkey.virtkey()<br/>
<br/>
time.sleep(2)<br/>
<br/>
for c in os.popen('xsel').read():<br/>
        presskey(c)<br/>
</pre><p/><p>Ihr muesst dafuer die pakete python (evt. python-dev) und xsel installiert haben. Haf Vun!</p><br/></div>
    </content>
    <updated>2012-01-22T20:46:42Z</updated>
    <category term="Linux-Tools"/>
    <author>
      <name>Tannek</name>
      <email>nospam@example.com</email>
    </author>
    <source>
      <id>http://blog.tannek.de/</id>
      <logo>http://blog.tannek.de/templates/default/img/s9y_banner_small.png</logo>
      <link href="http://blog.tannek.de/" rel="alternate" type="text/html"/>
      <link href="http://blog.tannek.de/feeds/index.rss2" rel="self" type="application/rss+xml"/>
      <subtitle xml:lang="de">'baun, schrauben, wiegen und schmieden Platinen, Kabelsalat, programmieren Maschinen..</subtitle>
      <title xml:lang="de">Tanneks site of Life</title>
      <updated>2012-01-22T20:46:42Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://blog.hartwork.org/?p=1570</id>
    <link href="http://blog.hartwork.org/?p=1570" rel="alternate" type="text/html"/>
    <link href="http://creativecommons.org/licenses/by-nd/3.0/de/" rel="license"/>
    <title>Control over LaTeX page margins (or borders)</title>
    <summary>Until recently, page margins in LaTeX had more control over me than I had over them. I already heard that package geometry could be of use here, but quick hacks seemed more fun than going through the docs of that package. I had a closer look now and geometry turned out to be much more [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Until recently, page margins in LaTeX had more control over me than I had over them. I already heard that package <tt>geometry</tt> could be of use here, but quick hacks seemed more fun than going through the docs of that package.</p>
<p>I had a closer look now and <tt>geometry</tt> turned out to be much more convenient than I expected in the end.</p>
<p>The code that I experimented with can be reduced to this snippet:</p>
<pre>%% Demo by Sebastian Pipping &lt;sebastian@pipping.org&gt;
%% Released to the public domain
\documentclass[a4paper]{article}
<strong>\usepackage[hmargin=2cm,vmargin=1cm]{geometry}</strong>
\begin{document}
\rule{\textwidth}{\textheight}
\end{document}</pre>
<p>So I am abusing <tt>\rule</tt> here to draw a filled rectangle that spans the whole content area. I am asking for horizontal margins of 2cm width and vertical ones of 1cm height.</p>
<p>Strangely, the output I received did not match my expectations. Look how much bigger the left margin is than the right one.</p>
<p/><center><img src="http://blog.hartwork.org/__images/latex-geometry-broken.png"/></center><p/>
<p>It turns out that indentation of the first line of a paragraph is at work here. The insertion of <tt>\noindent</tt> solved that problem.</p>
<p/><center><img src="http://blog.hartwork.org/__images/latex-geometry-noindent.png"/></center><p/></div>
    </content>
    <updated>2012-01-22T01:04:12Z</updated>
    <category term="Frustration"/>
    <category term="LaTeX"/>
    <category term="Planet Freitagsrunde"/>
    <author>
      <name>sping</name>
    </author>
    <source>
      <id>http://blog.hartwork.org</id>
      <link href="http://blog.hartwork.org/?feed=rss2&amp;cat=47" rel="self" type="application/atom+xml"/>
      <link href="http://blog.hartwork.org" rel="alternate" type="text/html"/>
      <link href="http://creativecommons.org/licenses/by-nd/3.0/de/" rel="license"/>
      <subtitle>Free Software and Music</subtitle>
      <title>Hartwork Blog » Planet Freitagsrunde</title>
      <updated>2012-01-22T01:30:17Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://blog.hartwork.org/?p=1558</id>
    <link href="http://blog.hartwork.org/?p=1558" rel="alternate" type="text/html"/>
    <link href="http://creativecommons.org/licenses/by-nd/3.0/de/" rel="license"/>
    <title>Fwd: Microsoft confirms UEFI fears, locks down ARM devices</title>
    <summary>LWN.net brought my attention to this: Microsoft confirms UEFI fears, locks down ARM devices</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p><a href="https://lwn.net/Articles/475359/rss">LWN.net</a> brought my attention to this: <a href="http://www.softwarefreedom.org/blog/2012/jan/12/microsoft-confirms-UEFI-fears-locks-down-ARM/">Microsoft confirms UEFI fears, locks down ARM devices</a></p></div>
    </content>
    <updated>2012-01-13T19:35:18Z</updated>
    <category term="Frustration"/>
    <category term="Planet Freitagsrunde"/>
    <author>
      <name>sping</name>
    </author>
    <source>
      <id>http://blog.hartwork.org</id>
      <link href="http://blog.hartwork.org/?feed=rss2&amp;cat=47" rel="self" type="application/atom+xml"/>
      <link href="http://blog.hartwork.org" rel="alternate" type="text/html"/>
      <link href="http://creativecommons.org/licenses/by-nd/3.0/de/" rel="license"/>
      <subtitle>Free Software and Music</subtitle>
      <title>Hartwork Blog » Planet Freitagsrunde</title>
      <updated>2012-01-22T01:30:18Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://blog.hartwork.org/?p=1554</id>
    <link href="http://blog.hartwork.org/?p=1554" rel="alternate" type="text/html"/>
    <link href="http://creativecommons.org/licenses/by-nd/3.0/de/" rel="license"/>
    <title>(German) Fwd: FoeBuD enttarnt RFID-Chips in Kleidung</title>
    <summary>Dass man RFID-Chips in Kleidung einbauen kann, war mir klar, aber dass es wirklich gemacht wird, hat mich dann doch ziemlich vom Hocker geworfen: FoeBuD enttarnt RFID-Chips in Kleidung</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Dass man RFID-Chips in Kleidung einbauen <em>kann</em>, war mir klar, aber dass es wirklich gemacht wird, hat mich dann doch ziemlich vom Hocker geworfen:</p>
<p><a href="https://netzpolitik.org/2012/foebud-enttarnt-rfid-chips-in-kleidung/">FoeBuD enttarnt RFID-Chips in Kleidung</a></p></div>
    </content>
    <updated>2012-01-13T17:27:18Z</updated>
    <category term="Frustration"/>
    <category term="Planet Freitagsrunde"/>
    <author>
      <name>sping</name>
    </author>
    <source>
      <id>http://blog.hartwork.org</id>
      <link href="http://blog.hartwork.org/?feed=rss2&amp;cat=47" rel="self" type="application/atom+xml"/>
      <link href="http://blog.hartwork.org" rel="alternate" type="text/html"/>
      <link href="http://creativecommons.org/licenses/by-nd/3.0/de/" rel="license"/>
      <subtitle>Free Software and Music</subtitle>
      <title>Hartwork Blog » Planet Freitagsrunde</title>
      <updated>2012-01-22T01:30:19Z</updated>
    </source>
  </entry>

  <entry xml:lang="de">
    <id>http://blog.tannek.de/archives/61-guid.html</id>
    <link href="http://blog.tannek.de/archives/61-Kurzer-Ueberblick-ueber-die-guenstigsten-Backupspeichermedien.html" rel="alternate" type="text/html"/>
    <title xml:lang="de">Kurzer Ueberblick ueber die guenstigsten Backupspeichermedien</title>
    <content type="xhtml" xml:lang="de"><div xmlns="http://www.w3.org/1999/xhtml"><br/>
<p>Nachdem sich die Festplattenpreise stabilisiert haben auf gut das doppelte, hier ein Ueberblick mit Alternativen:<br/>
<br/>
</p><br/>
<table border="1" cellpadding="1" cellspacing="1" style="width: 100%;"><tbody><tr><td style="width: 33%;">Festplatte (2TB Samsung fuer 110Euro)</td><td style="width: 33%;">110 Euro / 2TB</td><td style="width: 33%;">55Euro/TB</td></tr><tr><td style="width: 33%;">DVD (50er Spindel fuer 8 Euro)</td><td style="width: 33%;">16cent / 4.4GB</td><td style="width: 33%;">36Euro/TB + 15Euro/DVD-Brenner</td></tr><tr><td style="width: 33%;">Blueray 25GB (10er Pack fuer 7 Euro)</td><td style="width: 33%;">70cent / 25GB</td><td style="width: 33%;">28Euro/TB + 65Euro/BR-Brenner</td></tr><tr><td style="width: 33%;">Bandlaufwerk (LTO-4-Band:800GB fuer 18Euro)</td><td style="width: 33%;">18Euro / 800GB</td><td style="width: 33%;">22Euro/TB + 1055Euro/Bandlaufwerk</td></tr></tbody></table><p><br/>
Das ganze geplotet:<br/>
</p><p/><div class="serendipity_imageComment_center" style="width: 850px;"><div class="serendipity_imageComment_img"><a class="serendipity_image_link" href="http://blog.tannek.de/uploads/Massenspeicher_Im_Vergleich.jpeg" target="_blank"><!-- s9ymdb:49 --><img class="serendipity_image_center" height="669" src="http://blog.tannek.de/uploads/Massenspeicher_Im_Vergleich.jpeg" width="850"/></a></div><div class="serendipity_imageComment_txt">Massenspeicher im Vergleich</div></div><p/><br/>
<br/></div>
    </content>
    <updated>2012-01-09T10:17:04Z</updated>
    <category term="Hardware"/>
    <author>
      <name>Tannek</name>
      <email>nospam@example.com</email>
    </author>
    <source>
      <id>http://blog.tannek.de/</id>
      <logo>http://blog.tannek.de/templates/default/img/s9y_banner_small.png</logo>
      <link href="http://blog.tannek.de/" rel="alternate" type="text/html"/>
      <link href="http://blog.tannek.de/feeds/index.rss2" rel="self" type="application/rss+xml"/>
      <subtitle xml:lang="de">'baun, schrauben, wiegen und schmieden Platinen, Kabelsalat, programmieren Maschinen..</subtitle>
      <title xml:lang="de">Tanneks site of Life</title>
      <updated>2012-01-22T20:46:42Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://blog.hartwork.org/?p=1536</id>
    <link href="http://blog.hartwork.org/?p=1536" rel="alternate" type="text/html"/>
    <link href="http://creativecommons.org/licenses/by-nd/3.0/de/" rel="license"/>
    <title>Hypthenation in LaTeX: why it kills + how to survive</title>
    <summary>Intro I recently got bitten by the hyphenation of LaTeX and learned a few things in return. I noticed that two other LaTeX users in my environment were running into similar hyphenation trouble or were about to start a bigger text document without sufficient knowledge of hyphenation. So I would like to summarize a few [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><h3>Intro</h3>
<p>I recently got bitten by the hyphenation of LaTeX and learned a few things in return. I noticed that two other LaTeX users in my environment were running into similar hyphenation trouble or were about to start a bigger text document without sufficient knowledge of hyphenation. So I would like to summarize a few essentials here.</p>
<h3>Why care about hyphenation?</h3>
<p>By default, LaTeX does hyphenation for you. If it gets things wrong the reader will attribute that error to you, not to LaTeX. Sometimes bad or wrong hyphenation even affects the layout of the page and makes text go into the margin area. Maybe a reader attributes <em>that</em> to LaTeX; however, it still doesn’t look very professional.</p>
<h3>Why hyphenation needs to be correct from the very start (and for every word)</h3>
<p>Imagine you work on a document 20+ pages long. You pass a snapshot of the document to someone to read, get some corrections back, start integrating corrections. If you modify content on page 10 there is a chance that hyphenations on pages<em> later</em> in the document change: it may happen the the set of hyphenated words before and after do not share a single word. What that means is that as long as you work on the document, places of hyphenation change. That means errors that no reviewer had a chance to see before. Ouch.</p>
<h3>Common pitfalls with hyphenation</h3>
<h4>Words containing hyphens, e.g “well-understood”</h4>
<p>If you use words that contain hyphens, e.g “well-understood”, LaTeX breaks these at the very place of the present hyphens <em>only</em>. It may even write the end into the margin area of the page, if it exceeds a certain length. The following example illustrates the issue.</p>
<p>Let’s look at a document made of the text</p>
<blockquote><p>Hyphenation is well-understood. Maybe not.</p></blockquote>
<p>six times. Without manual work you get output as shown in the following excerpt. Focus on the right border.<br/>
</p><center><img alt="" src="http://blog.hartwork.org/__images/hyphenation-before.png"/></center><br/>
If you look close, you can see that “well-understood” on the end of the first line goes beyond the text area. To solve the issue command <tt>\hyp</tt> of package <tt>hyphenat</tt> comes to the rescue.<p/>
<pre>\documentclass{article}
\usepackage{hyphenat}
\begin{document}
Hyphenation is well\hyp{}understood. Maybe not.
[..]
\end{document}</pre>
<p>This time the output respects the size of the text area. Again, focus on the right border.<br/>
</p><center><img alt="" src="http://blog.hartwork.org/__images/hyphenation-after.png"/></center><p/>
<h4>Mixing languages, e.g. English and German</h4>
<p>If you mix two or more languages within the same document you have to tell LaTeX which words belong to which language. (Once you get used to it, it’s bearable; there isn’t much of a way around it.) Otherwise you end up with things like German hyphenation applied to English words, i.e. wrong hyphenation.<br/>
In a case where the main text is written in language A it makes sense to mark selected words as language B.<br/>
To mark English words in an otherwise German document I use a simple self-made command <tt>\ENG</tt>:</p>
<pre>\usepackage{babel}
[..]
\newcommand{\ENG}[1]{\foreignlanguage{english}{#1}}</pre>
<p>An example use would be</p>
<pre>UnionFS ist ein \ENG{Stackabe file system}.</pre>
<p>Mapping that to other combinations is left to the reader <img alt=":-)" class="wp-smiley" src="http://blog.hartwork.org/wp-includes/images/smilies/icon_smile.gif"/> </p>
<h4>Debugging tool <tt>\showhyphens</tt></h4>
<p>The command <tt>\showhyphens</tt> can be used to query all the places where LaTeX dares to hyphenate a word (or compound word). The output however does not go into the actual document but to the shell and the log file. If you feed the following document to LaTeX</p>
<pre>\documentclass{article}
\usepackage{hyphenat}
\begin{document}
\showhyphens{well-defined}
\showhyphens{well\hyp{}defined}
Dummy
\end{document}</pre>
<p>you can spot this output on the shell:</p>
<pre>...
[] \OT1/cmr/m/n/10 well-defined
...
[] \OT1/cmr/m/n/10 well-de-fined
...</pre>
<p>In case you have a script extracting all used words from a LaTeX document for another view on spelling mistakes you could combine that with the results of <tt>\showhyphens</tt> to a make a single list with all words and their hyphenation for review.</p>
<h3>Futher reading and sources</h3>
<ul>
<li><a href="http://en.wikibooks.org/wiki/LaTeX/Formatting#Hyphenation">Wikibook LaTeX -&gt; LaTeX/Formatting -&gt; Hyphenation</a></li>
<li> <a href="http://www.reed.edu/cis/help/latex/language.html">Multilingual LaTeX with the Babel Package</a></li>
<li> <a href="http://www.golatex.de/viewtopic,p,23814.html#23814"><tt>\showhyphens</tt> #1</a></li>
<li> <a href="http://www.latex-community.org/forum/viewtopic.php?f=44&amp;t=12694#p48326"><tt>\showhyphens</tt> #2</a></li>
</ul>
<p> </p></div>
    </content>
    <updated>2012-01-02T14:56:20Z</updated>
    <category term="Frustration"/>
    <category term="LaTeX"/>
    <category term="Planet Freitagsrunde"/>
    <author>
      <name>sping</name>
    </author>
    <source>
      <id>http://blog.hartwork.org</id>
      <link href="http://blog.hartwork.org/?feed=rss2&amp;cat=47" rel="self" type="application/atom+xml"/>
      <link href="http://blog.hartwork.org" rel="alternate" type="text/html"/>
      <link href="http://creativecommons.org/licenses/by-nd/3.0/de/" rel="license"/>
      <subtitle>Free Software and Music</subtitle>
      <title>Hartwork Blog » Planet Freitagsrunde</title>
      <updated>2012-01-22T01:30:18Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://blog.hartwork.org/?p=1531</id>
    <link href="http://blog.hartwork.org/?p=1531" rel="alternate" type="text/html"/>
    <link href="http://creativecommons.org/licenses/by-nd/3.0/de/" rel="license"/>
    <title>Raining inside: rain as an ambient sound</title>
    <summary>I recently discovered that the sound of rain makes a great ambient sound for working. Unlike with real music I do not have to switch artists or albums every few hours and there are no foreign words injected into my thinking process so it’s easier for me to focus. Finding a good recording of rain [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>I recently discovered that the sound of rain makes a great ambient sound for working. Unlike with real music I do not have to switch artists or albums every few hours and there are no foreign words injected into my thinking process so it’s easier for me to focus.</p>
<p>Finding a good recording of rain can be a bit difficult. What I ended up using is these two <a href="http://creativecommons.org/licenses/by/3.0/">CC-BY</a>-licensed samples in loop at the <em>same time</em>:</p>
<ul>
<li><a href="http://www.freesound.org/people/mystiscool/sounds/7176/"><tt>rain.wav</tt> by mystiscool</a></li>
<li><a href="http://www.freesound.org/people/833-45/sounds/9413/"><tt>rain_on_car_roof.flac</tt> by 833-45</a></li>
</ul>
<p>The <a href="http://www.freesound.org/">Freesound website</a> makes that kind of playback possible without even involving sound editors. All you need is two tabs (or even one) kept open in a browser.</p></div>
    </content>
    <updated>2011-12-31T15:11:27Z</updated>
    <category term="Life"/>
    <category term="Planet Freitagsrunde"/>
    <author>
      <name>sping</name>
    </author>
    <source>
      <id>http://blog.hartwork.org</id>
      <link href="http://blog.hartwork.org/?feed=rss2&amp;cat=47" rel="self" type="application/atom+xml"/>
      <link href="http://blog.hartwork.org" rel="alternate" type="text/html"/>
      <link href="http://creativecommons.org/licenses/by-nd/3.0/de/" rel="license"/>
      <subtitle>Free Software and Music</subtitle>
      <title>Hartwork Blog » Planet Freitagsrunde</title>
      <updated>2012-01-22T01:30:19Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://www.cleeus.de/w/blog/2011/11/23/brainfood.html</id>
    <link href="http://www.cleeus.de/w/blog/2011/11/23/brainfood.html" rel="alternate" type="text/html"/>
    <title>brainfood</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Food for your brain:
<a href="http://news.ycombinator.com/">news.ycombinator.com</a></p>
<p>It's better than heise.de .</p></div>
    </summary>
    <updated>2011-11-23T07:50:00Z</updated>
    <author>
      <name>Kai Dietrich</name>
    </author>
    <source>
      <id>http://www.cleeus.de/w/</id>
      <link href="http://www.cleeus.de/w/" rel="alternate" type="text/html"/>
      <link href="http://www.cleeus.de/w/feeds/blog.xml" rel="self" type="application/rss+xml"/>
      <subtitle>My blog about stuff.</subtitle>
      <title>std::blog&lt;cleeus&gt;</title>
      <updated>2012-01-24T20:45:14Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://blog.hartwork.org/?p=1503</id>
    <link href="http://blog.hartwork.org/?p=1503" rel="alternate" type="text/html"/>
    <link href="http://creativecommons.org/licenses/by-nd/3.0/de/" rel="license"/>
    <title>Too many open files? Increasing the limit in C.</title>
    <summary>I ran into error 24 today: “Too many open files”. Ooops. The solution that I eventually went for is not among the first Google hits for “increase limit open files” so I felt like blogging about it here. There are two functions getrlimit and setrlimit that allow querying and modifying certain resource limits, e.g. the [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>I ran into error 24 today: “Too many open files”. Ooops.</p>
<p>The solution that I eventually went for is not among the first Google hits for <a href="https://encrypted.google.com/search?q=increase+limit+open+files">“increase limit open files”</a> so I felt like blogging about it here.</p>
<p>There are two functions <tt>getrlimit</tt> and <tt>setrlimit</tt> that allow querying and modifying certain resource limits, e.g. the maximum number of open files for a single process (and they do have a shared, detailed man page). For each of the resource limit types, there is a hard and a soft limit: the soft limit, is the one you run into. In my case the soft is 1024, the hard one is 4096. The cool things is: Any non-root process can increase the soft limit to the hard one. That’s my rescue.</p>
<p>Simplified, this is what I do:</p>
<pre>#include &lt;sys/time.h&gt;
#include &lt;sys/resource.h&gt;

...

struct rlimit open_file_limit;

/* Query current soft/hard value */
getrlimit(RLIMIT_NOFILE, &amp;open_file_limit);

/* Set soft limit to hard limit */
open_file_limit.rlim_cur = open_file_limit.rlim_max;
setrlimit(RLIMIT_NOFILE, &amp;open_file_limit);</pre>
<p>Works like a charm.</p></div>
    </content>
    <updated>2011-11-22T00:04:52Z</updated>
    <category term="Planet Freitagsrunde"/>
    <author>
      <name>sping</name>
    </author>
    <source>
      <id>http://blog.hartwork.org</id>
      <link href="http://blog.hartwork.org/?feed=rss2&amp;cat=47" rel="self" type="application/atom+xml"/>
      <link href="http://blog.hartwork.org" rel="alternate" type="text/html"/>
      <link href="http://creativecommons.org/licenses/by-nd/3.0/de/" rel="license"/>
      <subtitle>Free Software and Music</subtitle>
      <title>Hartwork Blog » Planet Freitagsrunde</title>
      <updated>2012-01-22T01:30:17Z</updated>
    </source>
  </entry>

  <entry xml:lang="en-US">
    <id>http://xn--hcker-gra.net/trac/blog/2011/11/18/ssl-certificate-trouble</id>
    <link href="http://xn--hcker-gra.net/trac/blog/2011/11/18/ssl-certificate-trouble" rel="alternate" type="text/html"/>
    <title>SSL Certificate Trouble</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>
If you should ever stumble upon this bug, consider yourself very lucky that I have found the solution to this already, because it took me _AGES_ to figure this out. No shit.
</p>
<p>
So here's the problem: We used a self signed certificate on on of our servers and curl and all tools relying on curl just couldn't connect to this server at all (with certificate validation). Despite the fact that the root certificate that signed the server certificate was happily in my keychain and marked as trusted.
</p>
<p>
The solution first: Turns out that the Keychain will eat certificates in many formats, specifically it supports DER and PEM. curl however can't use the DER certificate in the keychain and just reports it as missing. Exporting the certificate, converting it to PEM and then reimporting it (making sure to remove the DER version beforehand) fixed it.
</p>
<p>
I converted the file with this command
</p>
<pre class="wiki">openssl x509 -inform DER -in some.ser.ver.der -out some.serv.ver.pem
</pre><p>
Here's some of the error messages I got:
</p>
<pre class="wiki">% curl -I https://some.serv.ver -v
* About to connect() to some.serv.ver port 443 (#0)
*   Trying some.ip... connected
* Connected to some.ser.ver (some.ip) port 443 (#0)
* SSLv3, TLS handshake, Client hello (1):
* SSLv3, TLS handshake, Server hello (2):
* SSLv3, TLS handshake, CERT (11):
* SSLv3, TLS alert, Server hello (2):
* SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
* Closing connection #0
curl: (60) SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
More details here: http://curl.haxx.se/docs/sslcerts.html
curl performs SSL certificate verification by default, using a "bundle"
 of Certificate Authority (CA) public keys (CA certs). If the default
 bundle file isn't adequate, you can specify an alternate file
 using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
 the bundle, the certificate verification probably failed due to a
 problem with the certificate (it might be expired, or the name might
 not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
 the -k (or --insecure) option.
</pre><p>
If you hit this brick wall - hope this helps you too.
</p></div>
    </summary>
    <updated>2011-11-18T17:46:09Z</updated>
    <category term="fnord"/>
    <category term="software"/>
    <author>
      <name>dwt</name>
    </author>
    <source>
      <id>http://xn--hcker-gra.net/trac/blog</id>
      <logo>http://xn--hcker-gra.net/trac/chrome/common/trac_banner.png</logo>
      <link href="http://xn--hcker-gra.net/trac/blog" rel="alternate" type="text/html"/>
      <link href="http://xn--hcker-gra.net/trac/blog?num_posts=10&amp;format=rss" rel="self" type="application/rss+xml"/>
      <title>DWTs Heavy Industries - Blog</title>
      <updated>2012-02-08T13:45:16Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://www.cleeus.de/w/blog/2011/11/14/best_coffee_in_town.html</id>
    <link href="http://www.cleeus.de/w/blog/2011/11/14/best_coffee_in_town.html" rel="alternate" type="text/html"/>
    <title>Best coffee beans in town</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Tried a lot of different beans here in Berlin.
These are the best: "African Queen" by <a href="http://www.impala-coffee.com/">Impala Coffee</a></p>
<p>A house blend. Dark roasted, with a hint of caramel.</p>
<p>Get it fresh.</p></div>
    </summary>
    <updated>2011-11-14T08:00:00Z</updated>
    <author>
      <name>Kai Dietrich</name>
    </author>
    <source>
      <id>http://www.cleeus.de/w/</id>
      <link href="http://www.cleeus.de/w/" rel="alternate" type="text/html"/>
      <link href="http://www.cleeus.de/w/feeds/blog.xml" rel="self" type="application/rss+xml"/>
      <subtitle>My blog about stuff.</subtitle>
      <title>std::blog&lt;cleeus&gt;</title>
      <updated>2012-01-24T20:45:19Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://www.cleeus.de/w/blog/2011/11/11/moc_music_on_console.html</id>
    <link href="http://www.cleeus.de/w/blog/2011/11/11/moc_music_on_console.html" rel="alternate" type="text/html"/>
    <title>moc: music on the console</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>When I listen to music, I mostly use my atom-board home server as a player
and of course I want to control it from remote.
But I don't like those complicated networked sound architectures (mpd, pulseaudio, jack).
I just want to ssh on the box, put some music on the playlist and disconnect.</p>
<p>To do that, you obviously need a player that works from the command line.
So far I used <a href="http://herrie.info/">herrie</a>. It has done a great job and I still
like its simple interface.</p>
<p>But recently I wanted to upgrade from the onboard Intel HD audio to a solution
with optical out. As I will need the single PCI slot for a gigabit ethernet card,
I bought a USB soundcard, a "Creative SoundBlaster X-Fi 5.1 Sourround Pro USB".
It works pretty much out of the box, you just need to build snd-usb-audio module
into the kernel (3.0.4 that is).
Sadly it's a pretty stupid device: It has no hardware mixer.
So alsamixer won't give me a volume control bar, unless I set one up through
a complicated asound.conf soft mixer. But I don't really need that anyway.</p>
<p>So, back on topic, the new USB soundcard now is connected, but for some reason
herrie doesn't work well with it. Sound is horrible and stuttering.
Maybe I'll file a bug...</p>
<p>So it was time to look for other players. Gentoo has
<a href="http://packages.gentoo.org/package/media-sound/moc">media-sound/moc</a>.
Turns out it was a good idea to try something new. First of all, moc works
nicely with the USB soundcard. It might have something to do with the architecture.
<a href="http://moc.daper.net/">Moc</a> is multithreaded and has a seperate thread for the playback and for the user interface.</p>
<p>This is how <a href="http://moc.daper.net/">moc</a> looks on my console:
<img alt="moc music on console audio player screenshot" src="http://www.cleeus.de/w/media/postdata/moc-screenshot.png"/></p>
<p>Besides beeing a functional console music player, moc also has some cool features:</p>
<ul>
<li>can run in the background (without screen)</li>
<li>is themable</li>
<li>can seek pretty fast</li>
<li>has it's own soft mixer for volume</li>
<li>supports a good number of audio formats</li>
</ul>
<p>So if you are looking for a good console audio player, you can give it a try.</p></div>
    </summary>
    <updated>2011-11-11T17:03:00Z</updated>
    <author>
      <name>Kai Dietrich</name>
    </author>
    <source>
      <id>http://www.cleeus.de/w/</id>
      <link href="http://www.cleeus.de/w/" rel="alternate" type="text/html"/>
      <link href="http://www.cleeus.de/w/feeds/blog.xml" rel="self" type="application/rss+xml"/>
      <subtitle>My blog about stuff.</subtitle>
      <title>std::blog&lt;cleeus&gt;</title>
      <updated>2012-01-24T20:45:16Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://www.cleeus.de/w/blog/2011/11/11/failing_ram_in_the_debugger.html</id>
    <link href="http://www.cleeus.de/w/blog/2011/11/11/failing_ram_in_the_debugger.html" rel="alternate" type="text/html"/>
    <title>What failing RAM looks like in the debugger.</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Most native code / C++ software vendors nowadays have implemented coredumps
for their software. "coredump" is a term from computer history, when
main memory was <a href="http://en.wikipedia.org/wiki/Magnetic-core_memory">magnetic core memory</a>.
A coredump is the frozen and stored state of a process at the time of a CPU exception (aka crash).
It can be loaded in the debugger and analyzed (given you have the binary and the debugging symbols).
On Linux it must be enabled in the kernel and by the system administrator via rlimit.
On Windows, developers can use structured exception handling to catch a deadly
exception and execute some little piece of code which then calls a Windows API function
which creates a coredump.</p>
<p>When a crash in a production environment should happen, you then get a coredump stored on disk
and can receive that from you customer. While crashes should not happen at all, when they happen,
coredumps are extremely helpful.</p>
<p>Now recently I got a very special coredump on my desk.
Here is what happened (Intel assembly this time, as it's on Windows).</p>
<p>The exception handler has catched an exception:
"Unhandled exception at 0x57dff720 in SomeBinary.exe.dmp: 0xC0000005: Access violation."</p>
<p>Hmm, not much to see here, but the debugger put's us at the position of the crash:</p>
<div class="codehilite"><pre>.
.
.
004D4AFF  mov         edx,dword ptr [ecx]
004D4B01  push        eax
004D4B02  mov         eax,dword ptr [edx]
004D4B04  call        eax
-- baaammmm, crash here --
.
.
.
</pre></div>


<p>With registers:</p>
<div class="codehilite"><pre>EAX = 57DFF720 //indeed, thats what happened
ECX = 7843BD48
EDX = 7891F8D0
EIP = 004D4B06 //crash here
</pre></div>


<p>Hmm, what could that be? When something like that happens during development, you most
likely have used an old invalid pointer or committed a crime of pointer juggling.
When it happens during production, it's probably something terrible like
a heap corruption or a race condition which you didn't find during development.
The fact that there were something like a hundred
other threads open in this coredump, didn't make matters betters.
I feared for the worst.
So the first thing I did was to find the bigger picture of where exactly I am in the code.
The problem with production assembly code is, that it's optimized and has little to do
with the source code anymore. Especially C++ templates and inlining make reading assembly
hard, even if you have the sources.</p>
<p>From the debugger line it was clear that this is in the return section of a method call
when the compiler starts calling destructors. Something like this:</p>
<div class="codehilite"><pre><span class="kt">void</span> <span class="n">SomeClass</span><span class="o">::</span><span class="n">someMethod</span><span class="p">(...)</span> <span class="p">{</span>
  <span class="n">boost</span><span class="o">::</span><span class="n">intrusive_ptr</span><span class="o">&lt;</span><span class="n">SomeBaseClass</span><span class="o">&gt;</span> <span class="n">foo</span><span class="p">(</span><span class="k">new</span> <span class="n">SomeContreteClass</span><span class="p">());</span>
  <span class="p">.</span>
  <span class="p">.</span>
  <span class="p">.</span>
  <span class="c1">// -- crash here, right before the return --</span>
  <span class="k">return</span><span class="p">;</span>
<span class="p">}</span>
</pre></div>


<p>A little more assembler context made it clear, that the final <code>call</code> instruction
should have been the invocation of the virtual destructor from the SomeConcreteClass
object in the heap.
<code>foo</code> is an intrusively reference counted pointer on the dynamically allocated object.
Intrusively counting the reference means, that the object itself contains
the counter and carries it, even when it is degraded to just a raw pointer.
Because SomeConcreteClass was derived from SomeBaseClass and polymorphic, the
compiler needs to find out the correct destructor uppon destruction of
<code>foo</code>. With that knowledge I could start looking at the heap.
ECX seemed to contain the address of the object in the heap. Now I had a look
at the memory:</p>
<div class="codehilite"><pre><span class="nv">@ECX:</span>
<span class="mh">0x7843BD48</span> <span class="o">|</span> <span class="mo">00</span><span class="mi">82</span><span class="n">cf54</span> <span class="mo">00000001</span> <span class="o">...</span>
</pre></div>


<p>That looks like a vtable pointer followed by the refcount which was down to 1.
Maybe the vtable pointer was bad? So I followed the vtable pointer.</p>
<div class="codehilite"><pre><span class="mh">0x0082CF54</span> <span class="o">|</span> <span class="mo">004355</span><span class="n">b0</span> <span class="mo">0042</span><span class="n">c5d0</span> <span class="mo">0042</span><span class="n">c5e0</span> <span class="o">...</span>
</pre></div>


<p>Well, this doesn't help much, but the disassembly looked sane and the debugger had a symbol
for the address:</p>
<div class="codehilite"><pre>SomeConcreteClass::`vftable':
0082CF54  mov         al,55h //whatever, I don't care 
0082CF56  inc         ebx    //but it looks OK
0082CF57  add         al,dl
</pre></div>


<p>So why could that fail?</p>
<p>Just look what happend. The first <code>mov</code> instruction at <code>0x004D4AFF</code> is supposed
to load the address of the vtable into EDX which should be <code>0x0082cf54</code>.
But EDX has a totally different value (<code>0x7891F8D0</code>).</p>
<p>And that's the end of the story: the CPU must have failed on us.
I repeat: The CPU has failed.</p>
<p>Either through broken RAM (most likely) or something like a
<a href="http://en.wikipedia.org/wiki/AMD_Phenom">TLB</a>
<a href="http://www.theinquirer.net/inquirer/news/1049427/intel-denies-core-i7-tlb-bug">bug</a>.
I just loved finding that one ... and telling the customer to
fix his hardware :)</p></div>
    </summary>
    <updated>2011-11-11T07:00:00Z</updated>
    <author>
      <name>Kai Dietrich</name>
    </author>
    <source>
      <id>http://www.cleeus.de/w/</id>
      <link href="http://www.cleeus.de/w/" rel="alternate" type="text/html"/>
      <link href="http://www.cleeus.de/w/feeds/blog.xml" rel="self" type="application/rss+xml"/>
      <subtitle>My blog about stuff.</subtitle>
      <title>std::blog&lt;cleeus&gt;</title>
      <updated>2012-01-24T20:45:18Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://www.cleeus.de/w/blog/2011/11/03/pki_bug_of_the_day.html</id>
    <link href="http://www.cleeus.de/w/blog/2011/11/03/pki_bug_of_the_day.html" rel="alternate" type="text/html"/>
    <title>PKI bug of the day</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>You know, those web browsers with ssl support ... they have a reason why they basically
ignore any OCSP/CRL errors.</p>
<p>Today I stumbled uppon a root certificate of a not-so-small international CA.
Opinions differ, but generally CA roots should also be revokable and thus have an OCSP
responder configured. Said certificate is one of the better roots and thus
has a responder <code>https://ocsp.some-ca.com</code> set.</p>
<p>Now when you contact this responder something unexpected happens:</p>
<div class="codehilite"><pre>~ $ openssl s_client -host ocsp.some-ca.com -port 443
CONNECTED(00000003)
3125948630696:error:140770FC:SSL routines:\
  SSL23_GET_SERVER_HELLO:\
  unknown protocol:s23_clnt.c:683:

...
</pre></div>


<p>hmm ... something went wrong.
<code>tcpdump</code> + <code>wireshark</code> shed some light on the problem: SYN, SYN-ACK, ACK ... tcp up, that's good ... now we send the SSL Client Hello.
What we didn't expect was the reply from the server. A blatant (unencrypted):</p>
<div class="codehilite"><pre>HTTP/1.1 400 Bad Request
Server: Apache-Coyote/1.1
Transfer-Encoding: chunked
Date: Thu, 03 Nov 2011 17:45:54 GMT
Connection: close
</pre></div>


<p>Indeed, openssl is right: that doesn't look like an SSL handshake. It looks more like a
<a href="http://www.youtube.com/watch?v=IhJQp-q1Y1s">slap with a large trout</a>.</p></div>
    </summary>
    <updated>2011-11-03T17:45:00Z</updated>
    <author>
      <name>Kai Dietrich</name>
    </author>
    <source>
      <id>http://www.cleeus.de/w/</id>
      <link href="http://www.cleeus.de/w/" rel="alternate" type="text/html"/>
      <link href="http://www.cleeus.de/w/feeds/blog.xml" rel="self" type="application/rss+xml"/>
      <subtitle>My blog about stuff.</subtitle>
      <title>std::blog&lt;cleeus&gt;</title>
      <updated>2012-01-24T20:45:18Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-615963602135536947.post-4554428628980556716</id>
    <link href="http://superfluousandsparse.blogspot.com/feeds/4554428628980556716/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="http://www.blogger.com/comment.g?blogID=615963602135536947&amp;postID=4554428628980556716" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/615963602135536947/posts/default/4554428628980556716" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/615963602135536947/posts/default/4554428628980556716" rel="self" type="application/atom+xml"/>
    <link href="http://superfluousandsparse.blogspot.com/2011/10/u-pad-mikrofoneingan-als-line-in.html" rel="alternate" type="text/html"/>
    <title>U-Pad: Mikrofoneingan als Line-In</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Wer kennt das nicht, da hat man eine USB-Soundkarte gekauft, weil der Eingang des Notebooks zu nah an der Festplatte vorbei geführt wird (sic!) und dann kann man an der Soundkarte kein Linepegen anlegen.</p>

<p>Nun, für diesen Fall möchte man ein Dämpfungsglied bauen. Ohne zu sehr auf die Details einzugehen, was die Anpassung angeht, hier ein einfacher Schaltplan um ein Mikrofoneingang zu einem Line-In zu machen. </p>

<p>Obacht: Dies ist für XLR, also symmetrische Signale, gedacht. </p>

<pre>       ___ 7500
 o)---|___|-----o--------(o 
       R1       |                mit 2x7.5 und 1x150
LINE           | | 150     MIC   ergibt sich ein Teiler
 IN            |_| R3      OUT   verhältnis von 
       ___      |                15000:150 = 100:1 = -40dB
 o)---|___|-----o--------(o      Bitte 
       R2  7500                  Metallschichtwiderstände
                                 verwenden, die Rauschen nicht.

</pre>

<p>Für asymmetrische Signale sollte ein normaler Spannungsteiler funktionieren:</p>

<pre>         ___15000
 o)-----|___|----o-----(o
                 |
                | | 150
IN              |_|          OUT
                 |
 o)--------------o-----(o
</pre><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/615963602135536947-4554428628980556716?l=superfluousandsparse.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2011-10-30T18:40:21Z</updated>
    <published>2011-10-30T18:27:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="Elektronik"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="de"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="Tontechnik"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="Technik"/>
    <author>
      <name>Florian</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-615963602135536947</id>
      <category term="freitagsrunde"/>
      <category term="Tontechnik"/>
      <category term="Desktop"/>
      <category term="en"/>
      <category term="bugs"/>
      <category term="IT"/>
      <category term="leid"/>
      <category term="begeistert"/>
      <category term="service"/>
      <category term="uBoot"/>
      <category term="Elektronik"/>
      <category term="&#xFC;berfl&#xFC;ssiges"/>
      <category term="politik"/>
      <category term="Tipps"/>
      <category term="sound"/>
      <category term="eduroam"/>
      <category term="Telekom"/>
      <category term="zdf"/>
      <category term="amazon"/>
      <category term="freude"/>
      <category term="debian"/>
      <category term="Software"/>
      <category term="link"/>
      <category term="rant"/>
      <category term="hardware"/>
      <category term="Technik"/>
      <category term="apache"/>
      <category term="tu-berlin"/>
      <category term="gewalt"/>
      <category term="&#xC4;rger"/>
      <category term="security"/>
      <category term="lesenswert"/>
      <category term="DockStar"/>
      <category term="DHL"/>
      <category term="Gnome"/>
      <category term="Kaputt"/>
      <category term="frust"/>
      <category term="IT Linux leid de"/>
      <category term="unix"/>
      <category term="Linux"/>
      <category term="kernel"/>
      <category term="openwrt"/>
      <category term="server"/>
      <category term="zensur"/>
      <category term="tubit"/>
      <category term="de"/>
      <category term="fun"/>
      <category term="bilder"/>
      <category term="fail"/>
      <category term="KabelDeutschland"/>
      <category term="LaTeX"/>
      <category term="skurril"/>
      <category term="berlin"/>
      <author>
        <name>Florian</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://superfluousandsparse.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/615963602135536947/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://superfluousandsparse.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/615963602135536947/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle>...und noch ein kleines privates Weblog.</subtitle>
      <title>One more superfluous and sparse blog</title>
      <updated>2011-11-15T21:49:12Z</updated>
    </source>
  </entry>

  <entry xml:lang="de">
    <id>http://blog.tannek.de/archives/60-guid.html</id>
    <link href="http://blog.tannek.de/archives/60-Ubuntu-update-auf-11.10.html" rel="alternate" type="text/html"/>
    <title xml:lang="de">Ubuntu update auf 11.10</title>
    <content type="xhtml" xml:lang="de"><div xmlns="http://www.w3.org/1999/xhtml"><br/>
<p>Samstag nichts zu tun? Perfekt fuer ein update aufs neue Ubuntu! Ist doch sicherlich Idioten sicher... dacht ich mir.</p><p>Leider hatte der idiotensichere Aktualisierungsmanager vergessen, dass /boot volllaufen kann und war der Meinung, dass das updaten des initramfs so kritisch waere, dass er irgendwie versucht hat die Installation rueckgaenging <strong>sic</strong> zu machen bzw. dann einfach wegzusterben. Natuerlich hat er dabei mich mit paar Paketen zu wenig zurueck gelassen und komplett gnome mitgenommen beim sterben.  </p><p>Also: Neustart.. Hilft doch sonst immer!</p><p>Danach befand ich mich in einer <strike>schicken</strike> schlichten Unity-Oberflaeche, der aber die Symbole und die Windowdecoration (die kommt wohl von Compiz?) fehlten. Diese 'neue' Oberflaeche bedeutet aber mehr Klicken, weniger blinkende Applets und keine/schlechte Konfiguration.. da kann ich mir ja gleich Fluxbox installieren! Also geguckt wie ich das "gute, alte" gnome wiederbekommen:</p><pre>aptitude install gnome-session-fallback</pre><p>Danach alle Applets wieder zusammen gesucht, die ganze 3D-Optik reduziert und alle hotkeys wieder eingerichtet. Jetzt laeufts wieder.. aber ob ich das beim naechsten Ubuntu-update immernoch machen kann? Naja.. man wird sehen.</p><br/></div>
    </content>
    <updated>2011-10-29T18:16:05Z</updated>
    <category term="Linux-Tools"/>
    <author>
      <name>Tannek</name>
      <email>nospam@example.com</email>
    </author>
    <source>
      <id>http://blog.tannek.de/</id>
      <logo>http://blog.tannek.de/templates/default/img/s9y_banner_small.png</logo>
      <link href="http://blog.tannek.de/" rel="alternate" type="text/html"/>
      <link href="http://blog.tannek.de/feeds/index.rss2" rel="self" type="application/rss+xml"/>
      <subtitle xml:lang="de">'baun, schrauben, wiegen und schmieden Platinen, Kabelsalat, programmieren Maschinen..</subtitle>
      <title xml:lang="de">Tanneks site of Life</title>
      <updated>2012-01-22T20:46:42Z</updated>
    </source>
  </entry>

  <entry xml:lang="de-de">
    <id>http://seba-geek.de/blog/17/Mehr%20SSH%20Proxying/</id>
    <link href="http://seba-geek.de/blog/17/Mehr%20SSH%20Proxying/" rel="alternate" type="text/html"/>
    <title>Mehr SSH Proxying</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Inzwischen ist für mich das Tunneln über zwei (oder mehr) SSH-Hosts wesentlich alltäglicher geworden. Meine alte Lösung dafür (<a href="http://seba-geek.de/blog/14/SSH Proxying/">hier beschrieben</a>) hat aber zwei Nachteile. Einerseits braucht man auf dem Server, über den man springen will, sowohl eine Shell als auch Netcat, andererseits hat man bei vielen geschlossenen Verbindungen viele hängende Netcat-Prozesse.
<br/>
<br/>Inzwischen geht das ganze ein Stück einfacher: Irgendwo zwischen OpenSSH <span style="font-family: monospace; font-weight: bold;">v5.1</span> und <span style="font-family: monospace; font-weight: bold;">v5.5</span> wurde der "-W" Parameter eingeführt, mit dem SSH über die bestehende Verbindung eine TCP-Verbindung zu einem anzugebenden Host/Port Paar aufbaut. <span style="font-family: monospace; font-weight: bold;">ssh meinhost -W seba-geek.de:80</span> ist also äquivalent zu <span style="font-family: monospace; font-weight: bold;">ssh meinhost nc seba-geek.de 80</span> - bis auf,  dass der ganze Netcat-Overhead wegfällt. Hier also nochmal die überarbeitete Config aus dem vorhergegangenem Blogpost:
<br/>
<br/><div class="highlight"><pre><span class="lineno">1</span> Host gateway<br/><span class="lineno">2</span>     Hostname gateway.foo.bla<br/><span class="lineno">3</span>     IdentityFile ~/.ssh/gatewaysshkey<br/><span class="lineno">4</span> <br/><span class="lineno">5</span> Host internal<br/><span class="lineno">6</span>     Hostname internal<br/><span class="lineno">7</span>     ProxyCommand ssh gateway -W "%h:%p"<br/><span class="lineno">8</span>     IdentityFile ~/.ssh/internalsshkey<br/></pre></div>
<br/>Für Gelegenheiten, in denen man nicht extra Configs anlegen möchte, kann man auch folgendes (recht triviales) Script nehmen:
<br/><div class="highlight"><pre><span class="lineno"> 1</span> <span class="c1">#!/bin/bash</span><br/><span class="lineno"> 2</span> <br/><span class="lineno"> 3</span> <span class="k">if</span> <span class="p">[[</span> <span class="s">"$2"</span> <span class="o">==</span> <span class="s">""</span> <span class="p">]];</span> <span class="k">then</span><br/><span class="lineno"> 4</span> 	<span class="n">echo</span> <span class="s">"Usage: &lt;proxyhost&gt; &lt;ssh params&gt;"</span><br/><span class="lineno"> 5</span> 	<span class="nb">exit</span> <span class="mi">1</span><br/><span class="lineno"> 6</span> <span class="n">fi</span><br/><span class="lineno"> 7</span> <br/><span class="lineno"> 8</span> <span class="n">proxy</span><span class="o">=</span><span class="nv">$1</span><br/><span class="lineno"> 9</span> <span class="nb">shift</span><br/><span class="lineno">10</span> <span class="n">ssh</span> <span class="o">-</span><span class="n">o</span> <span class="n">ProxyCommand</span><span class="o">=</span><span class="s">"ssh $proxy -W %h:%p"</span> <span class="vg">$@</span><br/></pre></div>
<br/>Hat man nun zum Beisiel ein Netz, in dem man nur einen SSH-Server erreichen kann, baut man über diesen und danach sicherheitshalber über einen eigenen Server einen Socks-Proxy auf: <span style="font-family: monospace; font-weight: bold;">sshproxy host.intern someserver.de -D 7777</span></div>
    </summary>
    <updated>2011-10-26T16:40:33Z</updated>
    <source>
      <id>http://seba-geek.de/blog/</id>
      <author>
        <name>Seba</name>
      </author>
      <link href="http://seba-geek.de/blog/" rel="alternate" type="text/html"/>
      <link href="http://seba-geek.de/feeds/blog/" rel="self" type="application/atom+xml"/>
      <subtitle>Sebas Blog</subtitle>
      <title>seba-geek.de</title>
      <updated>2012-02-08T13:45:28Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://blog.hartwork.org/?p=1498</id>
    <link href="http://blog.hartwork.org/?p=1498" rel="alternate" type="text/html"/>
    <link href="http://creativecommons.org/licenses/by-nd/3.0/de/" rel="license"/>
    <title>Disabling terminal echo in Python</title>
    <summary>I recently wanted to disable echoing of the terminal in Python. When googling for that you quickly run into recommendations on getpass.getpass. Sadly, in my case of sort-of-non-blocking I/O it didn’t fit. It needed something to fit with this: def read_line(timeout, timeout_func): ready_to_read, _, _ = select.select([sys.stdin], [], [], timeout) if ready_to_read: return sys.stdin.readline().rstrip() else: [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>I recently wanted to disable echoing of the terminal in Python. When googling for that you quickly run into recommendations on <tt>getpass.getpass</tt>. Sadly, in my case of sort-of-non-blocking I/O it didn’t fit. It needed something to fit with this:</p>
<pre>def read_line(timeout, timeout_func):
	ready_to_read, _, _ = select.select([sys.stdin], [], [], timeout)
	if ready_to_read:
		return sys.stdin.readline().rstrip()
	else:
		timeout_func()
		return &amp;apos&amp;apos</pre>
<p>So I needed a way to <em>just</em> disable terminal echo. This is what I came up with:</p>
<pre>import termios

def enable_echo(fd, enabled):
       (iflag, oflag, cflag, lflag, ispeed, ospeed, cc) \
                     = termios.tcgetattr(fd)
       if enabled:
               lflag |= termios.ECHO
       else:
               lflag &amp;= ~termios.ECHO
       new_attr = [iflag, oflag, cflag, lflag, ispeed, ospeed, cc]
       termios.tcsetattr(fd, termios.TCSANOW, new_attr)</pre>
<p>Also, I added this code to restore the terminal on progam exit:</p>
<pre>import atexit
atexit.register(enable_echo, sys.stdin.fileno(), True)</pre></div>
    </content>
    <updated>2011-10-19T20:56:57Z</updated>
    <category term="Planet Freitagsrunde"/>
    <author>
      <name>sping</name>
    </author>
    <source>
      <id>http://blog.hartwork.org</id>
      <link href="http://blog.hartwork.org/?feed=rss2&amp;cat=47" rel="self" type="application/atom+xml"/>
      <link href="http://blog.hartwork.org" rel="alternate" type="text/html"/>
      <link href="http://creativecommons.org/licenses/by-nd/3.0/de/" rel="license"/>
      <subtitle>Free Software and Music</subtitle>
      <title>Hartwork Blog » Planet Freitagsrunde</title>
      <updated>2012-01-22T01:30:20Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://blog.hartwork.org/?p=1490</id>
    <link href="http://blog.hartwork.org/?p=1490" rel="alternate" type="text/html"/>
    <link href="http://creativecommons.org/licenses/by-nd/3.0/de/" rel="license"/>
    <title>Boy, good stuff!</title>
    <summary>It was the newsletter of Trinity Concerts that brought my attention to BOY a few days ago: a female-female duo making good mood music — quite fun to listen to. Sadly it seems the local concerts are sold out already. YouTube has quite a few videos on/of them though, both live and studio. Check them [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>It was the newsletter of <a href="http://www.trinitymusic.de/">Trinity Concerts</a> that brought my attention to <a href="http://www.listentoboy.com/">BOY</a> a few days ago: a female-female duo making good mood music — quite fun to listen to. Sadly it seems the local concerts are sold out already. YouTube has quite a few videos on/of them though, both live and studio. Check them out. Among my favourites are the two below: “Little numbers” (studio) on top and “Boris” (live) at the bottom. Enjoy.</p>
<p/>
<p/></div>
    </content>
    <updated>2011-10-11T04:26:15Z</updated>
    <category term="Music"/>
    <category term="Planet Freitagsrunde"/>
    <author>
      <name>sping</name>
    </author>
    <source>
      <id>http://blog.hartwork.org</id>
      <link href="http://blog.hartwork.org/?feed=rss2&amp;cat=47" rel="self" type="application/atom+xml"/>
      <link href="http://blog.hartwork.org" rel="alternate" type="text/html"/>
      <link href="http://creativecommons.org/licenses/by-nd/3.0/de/" rel="license"/>
      <subtitle>Free Software and Music</subtitle>
      <title>Hartwork Blog » Planet Freitagsrunde</title>
      <updated>2012-01-22T01:30:19Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://blog.hartwork.org/?p=1481</id>
    <link href="http://blog.hartwork.org/?p=1481" rel="alternate" type="text/html"/>
    <link href="http://creativecommons.org/licenses/by-nd/3.0/de/" rel="license"/>
    <title>A replacement for atoi (or atol)</title>
    <summary>The atoi function has a serious flaw: it “does not detect errors”, see man 3 atoi. Same with its siblings atol, atoll, atoq. Recently I played with different replacements for atol, the long-producing version of atoi: one based on strtol, the other on sscanf. The following is what I came up with. Replacement using strtol: [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>The <tt>atoi</tt> function has a serious flaw: it “does not detect errors”, see <tt>man 3 atoi</tt>. Same with its siblings atol, atoll, atoq.</p>
<p>Recently I played with different replacements for <tt>atol</tt>, the long-producing version of atoi: one based on <tt>strtol</tt>, the other on <tt>sscanf</tt>. The following is what I came up with.</p>
<p>Replacement using <tt>strtol</tt>:</p>
<pre>#include &lt;stdlib.h&gt;
int str_to_long__strtol(const char * text, long * output) {
	if (! text) return 0;
	char * end;
	long number = strtol(text, &amp;end, 10);
	if (end != text) {
		*output = number;
		return 1;
	}
	return 0;
}</pre>
<p>Replacement using <tt>sscanf</tt>:</p>
<pre>#include &lt;stdio.h&gt;
int str_to_long__sscanf(const char * text, long * output) {
	if (! text) return 0;
	long number;
	int count = sscanf(text, "%ld", &amp;number);
	if (count == 1) {
		*output = number;
		return 1;
	}
	return 0;
}</pre>
<p>Both of these two functions deliver behavior equivalent to <tt>atol</tt> on these inputs:</p>
<ul>
<li>“0002″</li>
<li>“2″</li>
<li>“2Hallo”</li>
<li>“+2″</li>
<li>“  2″</li>
</ul>
<p>However, they differ to <tt>atol</tt> in two aspects:</p>
<ul>
<li> No crash on input NULL</li>
<li> No success on input “”</li>
</ul>
<p>Please note that all of these functions happily turn “2Hallo” into integer 2 with no complaints.</p>
<p>The code above is public domain.</p></div>
    </content>
    <updated>2011-09-19T21:44:06Z</updated>
    <category term="Frustration"/>
    <category term="Planet Freitagsrunde"/>
    <author>
      <name>sping</name>
    </author>
    <source>
      <id>http://blog.hartwork.org</id>
      <link href="http://blog.hartwork.org/?feed=rss2&amp;cat=47" rel="self" type="application/atom+xml"/>
      <link href="http://blog.hartwork.org" rel="alternate" type="text/html"/>
      <link href="http://creativecommons.org/licenses/by-nd/3.0/de/" rel="license"/>
      <subtitle>Free Software and Music</subtitle>
      <title>Hartwork Blog » Planet Freitagsrunde</title>
      <updated>2012-01-22T01:30:18Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://blog.hartwork.org/?p=1466</id>
    <link href="http://blog.hartwork.org/?p=1466" rel="alternate" type="text/html"/>
    <link href="http://creativecommons.org/licenses/by-nd/3.0/de/" rel="license"/>
    <title>Customizing LaTeX beamer note pages</title>
    <summary>When you accompany beamer slides with notes (using the \note{...} command) and you make them shown (using \setbeameroption{show notes}) you gain extra note pages like this: When printing note pages alone, the header and preview makes sense. In my case with both slides and notes, it doesn’t. What I want is note pages that… contain [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>When you accompany beamer slides with notes (using the <tt>\note{...}</tt> command) and you make them shown (using <tt>\setbeameroption{show notes}</tt>) you gain extra note pages like this:</p>
<p/><center><img alt="" src="http://blog.hartwork.org/__images/note-pages-before-491x347.png"/></center><p/>
<p>When printing note pages alone, the header and preview makes sense. In my case with both slides and notes, it doesn’t. What I want is note pages that…</p>
<ul>
<li> contain no header, no preview, no date (which also increases space for note content)</li>
<li> do not increment page numbers</li>
<li> have proper spacing between paragraphs</li>
</ul>
<p>To put that into an image, I want this:</p>
<p/><center><a href="http://www.hartwork.org/presentations/c-kurs/c-kurs-pointers-pipping-print-notes-3.0.35.pdf"><img alt="" src="http://blog.hartwork.org/__images/note-pages-after-491x347.png"/></a></center><p/>
<p>To get there I came up with the following. First, to get rid of the header and preview I re-write the <em>note page</em> beamer template:</p>
<pre>\setbeamertemplate{note page}{%
  \insertnote%
}</pre>
<p>If you want to stay closer to the original, you can copy from the default code of that template, located at <tt>/usr/share/texmf-site/tex/latex/beamer/base/themes/outer/beamerouterthemedefault.sty</tt> in Gentoo Linux:</p>
<pre>\defbeamertemplate*{note page}{default}
{%
  [..]
  \vskip.25em
  \nointerlineskip
  \insertnote
}</pre>
<p>Second, to fix page numbers and spacing I wrote a wrapper around the <tt>\note{...}</tt> command using <tt>\renewcommand{\note}[1]{...}</tt>:</p>
<pre>\newlength{\parskipbackup}
\setlength{\parskipbackup}{\parskip}
\newlength{\parindentbackup}
\setlength{\parindentbackup}{\parindent}

\let\notebackup\note
\renewcommand{\note}[1]{\notebackup{%
	\mode&lt;handout&gt;{\addtocounter{page}{-1}}%
	\setlength{\parindent}{0ex}%
	\setlength{\parskip}{10pt}%
	\noindent%
	{\normalsize{}#1}%
	\setlength{\parskip}{\parskipbackup}%
	\setlength{\parindent}{\parindentbackup}%
}%
}</pre>
<p>If you have used <tt>\renewcommand</tt> before, this code should explain itself. If not, please <a href="mailto:sebastian@pipping.org">drop me a mail</a>. If you have ideas on improving above-mentioned approach, I’d be interested to hear from you, too.</p>
<p>The sources of the presentation are available here:</p>
<ul>
<li><a href="http://www.hartwork.org/presentations/c-kurs/c-kurs-pointers-pipping-3.0.35.tar.gz">.tar.gz download</a></li>
<li><a href="http://git.goodpoint.de/?p=c-kurs-pointers.git;a=summary">Gitweb</a></li>
</ul></div>
    </content>
    <updated>2011-09-19T15:39:01Z</updated>
    <category term="LaTeX"/>
    <category term="Planet Freitagsrunde"/>
    <author>
      <name>sping</name>
    </author>
    <source>
      <id>http://blog.hartwork.org</id>
      <link href="http://blog.hartwork.org/?feed=rss2&amp;cat=47" rel="self" type="application/atom+xml"/>
      <link href="http://blog.hartwork.org" rel="alternate" type="text/html"/>
      <link href="http://creativecommons.org/licenses/by-nd/3.0/de/" rel="license"/>
      <subtitle>Free Software and Music</subtitle>
      <title>Hartwork Blog » Planet Freitagsrunde</title>
      <updated>2012-01-22T01:30:21Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://www.cleeus.de/w/blog/2011/09/13/epetition_gegen_vorratsdatenspeicherung.html</id>
    <link href="http://www.cleeus.de/w/blog/2011/09/13/epetition_gegen_vorratsdatenspeicherung.html" rel="alternate" type="text/html"/>
    <title>Zeichne mit: Vorratsdatenspeicherung verbieten.</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Die Bundesregierung will mal wieder Vorratsdatenspeicherung, wir wollen es nicht.
Also gibt es eine Petition <a href="http://zeichnemit.de/">die man mitzeichnen kann</a>.
Wir müssen also mal wieder alle unser Login rauskramen und mitmachen.</p>
<p>Argumente dafür:</p>
<ul>
<li>Sie wissen eh schon auf welcher Seite du stehst.</li>
<li>Es ihnen nochmal zu sagen, kann schlimmstenfalls dazu führen, dass die Botschaft diesmal ankommt.</li>
<li>Ja, Petitionen bewirken formell eh nichts. Die Wirkung kann aber doch informell in den Köpfen der Abgeordneten eintreten.</li>
</ul>
<p>Also nochmal: Login rauskramen, <a href="http://zeichnemit.de/">mitzeichnen</a>.</p></div>
    </summary>
    <updated>2011-09-13T17:54:00Z</updated>
    <author>
      <name>Kai Dietrich</name>
    </author>
    <source>
      <id>http://www.cleeus.de/w/</id>
      <link href="http://www.cleeus.de/w/" rel="alternate" type="text/html"/>
      <link href="http://www.cleeus.de/w/feeds/blog.xml" rel="self" type="application/rss+xml"/>
      <subtitle>My blog about stuff.</subtitle>
      <title>std::blog&lt;cleeus&gt;</title>
      <updated>2012-01-24T20:45:17Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://blog.hartwork.org/?p=1463</id>
    <link href="http://blog.hartwork.org/?p=1463" rel="alternate" type="text/html"/>
    <link href="http://creativecommons.org/licenses/by-nd/3.0/de/" rel="license"/>
    <title>(German) Fwd: Razzia bei Pfarrer Lothar König</title>
    <summary>Die Razzia bei Pfarrer Lothar König</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p><a href="https://netzpolitik.org/2011/die-razzia-bei-pfarrer-lothar-konig/">Die Razzia bei Pfarrer Lothar König</a></p></div>
    </content>
    <updated>2011-09-11T12:09:48Z</updated>
    <category term="Frustration"/>
    <category term="Planet Freitagsrunde"/>
    <author>
      <name>sping</name>
    </author>
    <source>
      <id>http://blog.hartwork.org</id>
      <link href="http://blog.hartwork.org/?feed=rss2&amp;cat=47" rel="self" type="application/atom+xml"/>
      <link href="http://blog.hartwork.org" rel="alternate" type="text/html"/>
      <link href="http://creativecommons.org/licenses/by-nd/3.0/de/" rel="license"/>
      <subtitle>Free Software and Music</subtitle>
      <title>Hartwork Blog » Planet Freitagsrunde</title>
      <updated>2012-01-22T01:15:25Z</updated>
    </source>
  </entry>

  <entry xml:lang="de">
    <id>http://blog.tannek.de/archives/59-guid.html</id>
    <link href="http://blog.tannek.de/archives/59-Commander-unter-Linux.html" rel="alternate" type="text/html"/>
    <title xml:lang="de">Commander unter Linux</title>
    <content type="xhtml" xml:lang="de"><div xmlns="http://www.w3.org/1999/xhtml"><br/>
<p>Nachdem ich schon die Hoffnung auf einen File-Commander fuer Linux, der so ist wie der TotalCommander unter Windows/Android *hint*, abgeschrieben hatte, habe ich mich letzte Woche irgendwann doch nochmal dazu verleiten lassen genauer zu suchen und auszuprobieren.</p><p><u>Liste der getesteten Programme:</u></p><ol><li>Total Commander (mit wine)</li><li>Gnome Commander</li><li>mc (MidnightCommander)</li><li>bsc (BSCommander)</li><li>gentoo</li><li>Krusader</li></ol><br/>
 <br/><a href="http://blog.tannek.de/archives/59-Commander-unter-Linux.html#extended">"Commander unter Linux" vollständig lesen</a></div>
    </content>
    <updated>2011-09-09T13:59:00Z</updated>
    <category term="Linux-Tools"/>
    <author>
      <name>Tannek</name>
      <email>nospam@example.com</email>
    </author>
    <source>
      <id>http://blog.tannek.de/</id>
      <logo>http://blog.tannek.de/templates/default/img/s9y_banner_small.png</logo>
      <link href="http://blog.tannek.de/" rel="alternate" type="text/html"/>
      <link href="http://blog.tannek.de/feeds/index.rss2" rel="self" type="application/rss+xml"/>
      <subtitle xml:lang="de">'baun, schrauben, wiegen und schmieden Platinen, Kabelsalat, programmieren Maschinen..</subtitle>
      <title xml:lang="de">Tanneks site of Life</title>
      <updated>2012-01-22T20:46:42Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://blog.hartwork.org/?p=1448</id>
    <link href="http://blog.hartwork.org/?p=1448" rel="alternate" type="text/html"/>
    <link href="http://creativecommons.org/licenses/by-nd/3.0/de/" rel="license"/>
    <title>Fwd: The Male Privilege Checklist</title>
    <summary>I remember when I first came across that list: “Shit, it’s that bad? Ouch”. It certainly changed my view. I just stumbled over the list again and remembered I wanted to blog about it. I bet as a male you’ll probably find some points you didn’t think of: The Male Privilege Checklist Comments closed on [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>I remember when I first came across that list: “Shit, it’s that bad? Ouch”. It certainly changed my view. I just stumbled over the list again and remembered I wanted to blog about it.</p>
<p>I bet as a male you’ll probably find some points you didn’t think of:<br/>
<strong><a href="http://www.amptoons.com/blog/the-male-privilege-checklist/">The Male Privilege Checklist</a></strong></p>
<p>Comments closed on purpose.</p></div>
    </content>
    <updated>2011-09-07T23:42:29Z</updated>
    <category term="Frustration"/>
    <category term="Planet Freitagsrunde"/>
    <author>
      <name>sping</name>
    </author>
    <source>
      <id>http://blog.hartwork.org</id>
      <link href="http://blog.hartwork.org/?feed=rss2&amp;cat=47" rel="self" type="application/atom+xml"/>
      <link href="http://blog.hartwork.org" rel="alternate" type="text/html"/>
      <link href="http://creativecommons.org/licenses/by-nd/3.0/de/" rel="license"/>
      <subtitle>Free Software and Music</subtitle>
      <title>Hartwork Blog » Planet Freitagsrunde</title>
      <updated>2012-01-13T17:30:38Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://blog.hartwork.org/?p=1442</id>
    <link href="http://blog.hartwork.org/?p=1442" rel="alternate" type="text/html"/>
    <link href="http://creativecommons.org/licenses/by-nd/3.0/de/" rel="license"/>
    <title>Fwd: Sarah Kaminsky: My father the forger</title>
    <summary>Sarah Kaminsky: My father the forger</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p><a href="http://www.ted.com/talks/sarah_kaminsky.html">Sarah Kaminsky: My father the forger</a></p>
<p/><center><a href="http://www.ted.com/talks/sarah_kaminsky.html"><img src="http://blog.hartwork.org/__images/sarah_kaminsky.png"/></a></center><p/></div>
    </content>
    <updated>2011-09-07T20:18:32Z</updated>
    <category term="Planet Freitagsrunde"/>
    <category term="Talks"/>
    <category term="TED talks"/>
    <author>
      <name>sping</name>
    </author>
    <source>
      <id>http://blog.hartwork.org</id>
      <link href="http://blog.hartwork.org/?feed=rss2&amp;cat=47" rel="self" type="application/atom+xml"/>
      <link href="http://blog.hartwork.org" rel="alternate" type="text/html"/>
      <link href="http://creativecommons.org/licenses/by-nd/3.0/de/" rel="license"/>
      <subtitle>Free Software and Music</subtitle>
      <title>Hartwork Blog » Planet Freitagsrunde</title>
      <updated>2012-01-07T21:15:30Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://blog.hartwork.org/?p=1438</id>
    <link href="http://blog.hartwork.org/?p=1438" rel="alternate" type="text/html"/>
    <link href="http://creativecommons.org/licenses/by-nd/3.0/de/" rel="license"/>
    <title>Fwd: Git User’s Survey 2011</title>
    <summary>“[I]t will help the Git community a lot to understand your needs, what you like about Git, and of course what you don’t like about it.” (quoted from here) Git User’s Survey 2011</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><blockquote><p>“[I]t will help the Git community a lot to understand your needs, what you like about Git, and of course what you don’t like about it.” (quoted from <a href="https://git.wiki.kernel.org/index.php/GitSurvey2011">here</a>)</p></blockquote>
<p><strong><a href="http://tinyurl.com/GitSurvey2011">Git User’s Survey 2011</a></strong></p></div>
    </content>
    <updated>2011-09-07T18:37:46Z</updated>
    <category term="Git"/>
    <category term="Planet Freitagsrunde"/>
    <category term="Planet Gentoo"/>
    <author>
      <name>sping</name>
    </author>
    <source>
      <id>http://blog.hartwork.org</id>
      <link href="http://blog.hartwork.org/?feed=rss2&amp;cat=47" rel="self" type="application/atom+xml"/>
      <link href="http://blog.hartwork.org" rel="alternate" type="text/html"/>
      <link href="http://creativecommons.org/licenses/by-nd/3.0/de/" rel="license"/>
      <subtitle>Free Software and Music</subtitle>
      <title>Hartwork Blog » Planet Freitagsrunde</title>
      <updated>2011-12-31T15:45:24Z</updated>
    </source>
  </entry>
</feed>

