<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:admin="http://webns.net/mvcb/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
<channel>
    <title>256bit.org Blog</title>
    <link>http://blog.256bit.org/</link>
    <description>Yet another blog in the web</description>
    <dc:language>en</dc:language>
    <admin:errorReportsTo rdf:resource="mailto:" />
    <generator>Serendipity 1.4.1 - http://www.s9y.org/</generator>
    
    <image>
        <url>http://blog.256bit.org/templates/bulletproof/img/s9y_banner_small.png</url>
        <title>RSS: 256bit.org Blog - Yet another blog in the web</title>
        <link>http://blog.256bit.org/</link>
        <width>100</width>
        <height>21</height>
    </image>

<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/256bitorgBlog" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
    <title>Er hat dafür gestimmt.</title>
    <link>http://feedproxy.google.com/~r/256bitorgBlog/~3/u4zeznD9ico/582-Er-hat-dafuer-gestimmt..html</link>
            <category>misc</category>
    
    <comments>http://blog.256bit.org/archives/582-Er-hat-dafuer-gestimmt..html#comments</comments>
    <wfw:comment>http://blog.256bit.org/wfwcomment.php?cid=582</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://blog.256bit.org/rss.php?version=2.0&amp;type=comments&amp;cid=582</wfw:commentRss>
    

    <author>cb@256bit.org (chrisbra)</author>
    <content:encoded><![CDATA[
    <a href="http://blog.256bit.org/exit.php?url_id=2697&amp;entry_id=582" title="http://www.andreas-steppuhn.de/"  onmouseover="window.status='http://www.andreas-steppuhn.de/';return true;" onmouseout="window.status='';return true;"  class="bb-url">Er</a> hat natürlich für das <a href="http://blog.256bit.org/exit.php?url_id=2698&amp;entry_id=582" title="http://de.wikipedia.org/wiki/Zugangserschwerungsgesetz"  onmouseover="window.status='http://de.wikipedia.org/wiki/Zugangserschwerungsgesetz';return true;" onmouseout="window.status='';return true;"  class="bb-url">Zugangserschwerungsgesetz</a> <a href="http://blog.256bit.org/exit.php?url_id=2699&amp;entry_id=582" title="http://www.abgeordnetenwatch.de/internet_sperren-636-180----abst_ja.html"  onmouseover="window.status='http://www.abgeordnetenwatch.de/internet_sperren-636-180----abst_ja.html';return true;" onmouseout="window.status='';return true;"  class="bb-url">gestimmt</a>.<br />
<br />
Ich hab ihm mal eine Mail geschrieben, was ich davon halte. Mal sehen, ob er auch mit <a href="http://blog.256bit.org/exit.php?url_id=2700&amp;entry_id=582" title="http://www.dobschat.de/2009/06/20/mail-an-elke-ferner-mdb/"  onmouseover="window.status='http://www.dobschat.de/2009/06/20/mail-an-elke-ferner-mdb/';return true;" onmouseout="window.status='';return true;"  class="bb-url">Textbausteinen</a> wirft (siehe auch <a href="http://blog.256bit.org/exit.php?url_id=2701&amp;entry_id=582" title="http://netzpolitik.org/2009/ich-hatte-eine-idee-frau-krogmann-hatte-nur-textbausteine/"  onmouseover="window.status='http://netzpolitik.org/2009/ich-hatte-eine-idee-frau-krogmann-hatte-nur-textbausteine/';return true;" onmouseout="window.status='';return true;"  class="bb-url">hier</a>) und sich mit <a href="http://blog.256bit.org/exit.php?url_id=2702&amp;entry_id=582" title="http://www.lawblog.de/index.php/archives/2009/06/20/lobotomierte-volltrottel/"  onmouseover="window.status='http://www.lawblog.de/index.php/archives/2009/06/20/lobotomierte-volltrottel/';return true;" onmouseout="window.status='';return true;"  class="bb-url">hanebüchenen Unsinn rausredet</a>. Ich halte diesen krassen Ton ("lobotomierte Volltrottel") im Übrigen für völlig überflüssig und der Sach nicht dienlich. Damit disqualifiziert man sich nämlich für jegliche sachliche Kritik.<br />
<br />
Ach, war ja klar, sobald die Infrarstruktur steht, werden Begehrlichkeiten geweckt. Diesmal <a href="http://blog.256bit.org/exit.php?url_id=2703&amp;entry_id=582" title="http://www.heise.de/newsticker/CDU-Politiker-prueft-Websperren-fuer-Gewaltspiele-ernsthaft--/meldung/140763"  onmouseover="window.status='http://www.heise.de/newsticker/CDU-Politiker-prueft-Websperren-fuer-Gewaltspiele-ernsthaft--/meldung/140763';return true;" onmouseout="window.status='';return true;"  class="bb-url">Thomas Strobl (CDU) möchte Killerspiele wegzensieren</a>.  
    <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/256bitorgBlog?a=u4zeznD9ico:b4BupQqpEx8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/256bitorgBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/256bitorgBlog/~4/u4zeznD9ico" height="1" width="1"/>]]></content:encoded>

    <pubDate>Mon, 22 Jun 2009 22:48:01 +0200</pubDate>
    <guid isPermaLink="false">http://blog.256bit.org/archives/582-guid.html</guid>
    
<feedburner:origLink>http://blog.256bit.org/archives/582-Er-hat-dafuer-gestimmt..html</feedburner:origLink></item>
<item>
    <title>Gratulation</title>
    <link>http://feedproxy.google.com/~r/256bitorgBlog/~3/ZreTaxyLqGA/581-Gratulation.html</link>
            <category>misc</category>
    
    <comments>http://blog.256bit.org/archives/581-Gratulation.html#comments</comments>
    <wfw:comment>http://blog.256bit.org/wfwcomment.php?cid=581</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.256bit.org/rss.php?version=2.0&amp;type=comments&amp;cid=581</wfw:commentRss>
    

    <author>cb@256bit.org (chrisbra)</author>
    <content:encoded><![CDATA[
    Ich gratuliere der SPD dazu, das sich sich vor den populistischen Karren der CDU haben spannen lassen und so erfolgreich Artikel 5, Absatz 1 des Grundgesetzes ("Eine Zensur findet nicht statt.") ausgehöhlt haben.<br />
<br />
Ein Bild sagt ja mehr als tausend Worte, daher hier in Bildform, warum das Gesetz schlecht ist:<br />
<br />
<a class='serendipity_image_link' href="http://blog.256bit.org/exit.php?url_id=2693&amp;entry_id=581" title="http://www.mediengestalter.cc/2009/06/17/allgemein/zensursula-aus-designersicht/"  onmouseover="window.status='http://www.mediengestalter.cc/2009/06/17/allgemein/zensursula-aus-designersicht/';return true;" onmouseout="window.status='';return true;"><!-- s9ymdb:245 --><img class="serendipity_image_center" width="755" height="485" style="border: 0px; padding-left: 5px; padding-right: 5px;" src="http://blog.256bit.org/uploads/zensursula1.jpg" alt=""  /></a><br />
<br />
Links:<br />
<a href="http://blog.256bit.org/exit.php?url_id=2694&amp;entry_id=581" title="http://netzpolitik.org/2009/hintergrundtext-kinderpornographie-internet-sperren/"  onmouseover="window.status='http://netzpolitik.org/2009/hintergrundtext-kinderpornographie-internet-sperren/';return true;" onmouseout="window.status='';return true;"  class="bb-url">Hintergrundtext: Kinderpornographie Internet Sperren</a><br />
<a href="http://blog.256bit.org/exit.php?url_id=2695&amp;entry_id=581" title="http://www.thomasmoehle.de/zensur/index.php/FAQ"  onmouseover="window.status='http://www.thomasmoehle.de/zensur/index.php/FAQ';return true;" onmouseout="window.status='';return true;"  class="bb-url">Fragen und Antworten zum Thema (AK Zensur)</a><br />
<a href="http://blog.256bit.org/exit.php?url_id=2696&amp;entry_id=581" title="http://netzpolitik.org/2009/kommentierte-zensursula-linkliste/"  onmouseover="window.status='http://netzpolitik.org/2009/kommentierte-zensursula-linkliste/';return true;" onmouseout="window.status='';return true;"  class="bb-url">Linkliste von Netzpolitik zum Thema</a> (auch die anderen Artikel zum Thema sind lesenswert). 
    <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/256bitorgBlog?a=ZreTaxyLqGA:xkpY1jbuZSM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/256bitorgBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/256bitorgBlog/~4/ZreTaxyLqGA" height="1" width="1"/>]]></content:encoded>

    <pubDate>Sat, 20 Jun 2009 15:02:44 +0200</pubDate>
    <guid isPermaLink="false">http://blog.256bit.org/archives/581-guid.html</guid>
    
<feedburner:origLink>http://blog.256bit.org/archives/581-Gratulation.html</feedburner:origLink></item>
<item>
    <title>Auf dem Sachsen-Anhalt Tag</title>
    <link>http://feedproxy.google.com/~r/256bitorgBlog/~3/HvmfcYuqOAg/580-Auf-dem-Sachsen-Anhalt-Tag.html</link>
            <category>Fotos</category>
    
    <comments>http://blog.256bit.org/archives/580-Auf-dem-Sachsen-Anhalt-Tag.html#comments</comments>
    <wfw:comment>http://blog.256bit.org/wfwcomment.php?cid=580</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.256bit.org/rss.php?version=2.0&amp;type=comments&amp;cid=580</wfw:commentRss>
    

    <author>cb@256bit.org (chrisbra)</author>
    <content:encoded><![CDATA[
    Am Wochenende wurde der <a href="http://blog.256bit.org/exit.php?url_id=2686&amp;entry_id=580" title="http://www.sachsen-anhalt-tag-2009.de/"  onmouseover="window.status='http://www.sachsen-anhalt-tag-2009.de/';return true;" onmouseout="window.status='';return true;"  class="bb-url">13. Sachsen-Anhalt Tag in Thale</a> veranstaltet. Für eine kleine Stadt wie Thale mit 15.000 Einwohnern ist solch ein Fest, beim wohl 200.000 Besucher gekommen sind, natürlich eine Herausforderung. <br />
<br />
Dort habe ich die folgende Entdeckung gemacht und konnte endlich mal wieder mit meiner Kamera ein paar schöne Fotos schießen. Es waren nämlich eine paar Leute einer Falknerei da, und die hatten ihre Vögel dabei und man konnte die Tiere sogar streicheln. Dabei gelangen mir u.a. diese Schnappschüße:<br />
<br />
<a class='serendipity_image_link' href='http://blog.256bit.org/uploads/falke4.jpg'><!-- s9ymdb:243 --><img class="serendipity_image_left" width="110" height="73" style="float: left; border: 0px; padding-left: 5px; padding-right: 5px;" src="http://blog.256bit.org/uploads/falke4.serendipityThumb.jpg" alt=""  /></a><a class='serendipity_image_link' href='http://blog.256bit.org/uploads/falke1.JPG'><!-- s9ymdb:240 --><img class="serendipity_image_left" width="110" height="73" style="float: left; border: 0px; padding-left: 5px; padding-right: 5px;" src="http://blog.256bit.org/uploads/falke1.serendipityThumb.JPG" alt=""  /></a><a class='serendipity_image_link' href='http://blog.256bit.org/uploads/falke2.jpg'><!-- s9ymdb:241 --><img class="serendipity_image_left" width="110" height="73" style="float: left; border: 0px; padding-left: 5px; padding-right: 5px;" src="http://blog.256bit.org/uploads/falke2.serendipityThumb.jpg" alt=""  /></a><a class='serendipity_image_link' href='http://blog.256bit.org/uploads/falke3.jpg'><!-- s9ymdb:242 --><img class="serendipity_image_left" width="110" height="73" style="float: left; border: 0px; padding-left: 5px; padding-right: 5px;" src="http://blog.256bit.org/uploads/falke3.serendipityThumb.jpg" alt=""  /></a><br />
<br />
<br />
<br />
<br />
Der Rest war auch schön (wenn auch das Gedränge nervte) und endlich mal was los <img src="http://blog.256bit.org/templates/default/img/emoticons/wink.png" alt=";-)" style="display: inline; vertical-align: bottom;" class="emoticon" /><br />
<strong>Update: </strong>Mehr Bilder von den Greifvögeln (der Falkner sagte es wären Falken, aber auf fotocommunity verbesserte man mich zu Habicht bzw. ein Bussard) <a href="http://blog.256bit.org/exit.php?url_id=2691&amp;entry_id=580" title="https://gallery.256bit.org/v/chrisbra/Tiere/Voegel/"  onmouseover="window.status='https://gallery.256bit.org/v/chrisbra/Tiere/Voegel/';return true;" onmouseout="window.status='';return true;"  class="bb-url">hier</a> 
    <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/256bitorgBlog?a=HvmfcYuqOAg:gLjCVQ6-vvs:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/256bitorgBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/256bitorgBlog/~4/HvmfcYuqOAg" height="1" width="1"/>]]></content:encoded>

    <pubDate>Mon, 15 Jun 2009 20:43:31 +0200</pubDate>
    <guid isPermaLink="false">http://blog.256bit.org/archives/580-guid.html</guid>
    
<feedburner:origLink>http://blog.256bit.org/archives/580-Auf-dem-Sachsen-Anhalt-Tag.html</feedburner:origLink></item>
<item>
    <title>Depeche Mode in Leipzig</title>
    <link>http://feedproxy.google.com/~r/256bitorgBlog/~3/yVLw2ga8MPU/579-Depeche-Mode-in-Leipzig.html</link>
            <category>Music</category>
    
    <comments>http://blog.256bit.org/archives/579-Depeche-Mode-in-Leipzig.html#comments</comments>
    <wfw:comment>http://blog.256bit.org/wfwcomment.php?cid=579</wfw:comment>

    <slash:comments>9</slash:comments>
    <wfw:commentRss>http://blog.256bit.org/rss.php?version=2.0&amp;type=comments&amp;cid=579</wfw:commentRss>
    

    <author>cb@256bit.org (chrisbra)</author>
    <content:encoded><![CDATA[
    Geil kann man glaub ich wirklich sagen, wenn man das Glück hatte und zusammen mit ca: 40.000 Menschen Depeche Mode im Zentralstadion in Leipzig sehen durfte. Glücklicherweise, wurde dieses Konzert nicht auch abgesagt und wurde so zum Auftakt der Tour in Deutschland. <br />
<br />
Das Stadion voller Fans und ein rockender Dave Gahan, der zwar alt aussah aber immernoch Stimmung verbreiten kann machten diesen Abend zu einem der besten Abende seit langem. Schade, dass nach 2 Stunden alles wieder vorbei war. Ich könnte gleich wieder hin <img src="http://blog.256bit.org/templates/default/img/emoticons/wink.png" alt=";-)" style="display: inline; vertical-align: bottom;" class="emoticon" /><br />
<br />
Ach ich sehe gerade, es gibt noch <a href="http://blog.256bit.org/exit.php?url_id=2682&amp;entry_id=579" title="http://www.depechemode.de/news/2009/06/10/weitere-zusatzkonzerte-in-berlin-und-erfurt-1824/"  onmouseover="window.status='http://www.depechemode.de/news/2009/06/10/weitere-zusatzkonzerte-in-berlin-und-erfurt-1824/';return true;" onmouseout="window.status='';return true;">Zusatzkonzerte</a>.<br />
<br />
Ich brauch jetzt das neue Album...<br />
<br />
Links:<br />
<a href="http://blog.256bit.org/exit.php?url_id=2683&amp;entry_id=579" title="http://www.spiegel.de/video/video-1006587.html"  onmouseover="window.status='http://www.spiegel.de/video/video-1006587.html';return true;" onmouseout="window.status='';return true;">Video auf Spiegel Online</a>,die <a href="http://blog.256bit.org/exit.php?url_id=2684&amp;entry_id=579" title="http://www.faz.net/s/RubE219BC35AB30426197C224F193F54B1B/Doc~EB2AA1930FD86401181508DA22950EA6B~ATpl~Ecommon~Scontent.html"  onmouseover="window.status='http://www.faz.net/s/RubE219BC35AB30426197C224F193F54B1B/Doc~EB2AA1930FD86401181508DA22950EA6B~ATpl~Ecommon~Scontent.html';return true;" onmouseout="window.status='';return true;">FAZ</a>, <br />
<a href="http://blog.256bit.org/exit.php?url_id=2685&amp;entry_id=579" title="http://www.depechemode.de/news/2009/06/08/depeche-mode-geben-in-leipzig-ihr-erstes-deutschland-konzert-1785/"  onmouseover="window.status='http://www.depechemode.de/news/2009/06/08/depeche-mode-geben-in-leipzig-ihr-erstes-deutschland-konzert-1785/';return true;" onmouseout="window.status='';return true;">Konzertberichte auf DepecheMode.de</a> 
    <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/256bitorgBlog?a=yVLw2ga8MPU:fXhEdtTzxxI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/256bitorgBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/256bitorgBlog/~4/yVLw2ga8MPU" height="1" width="1"/>]]></content:encoded>

    <pubDate>Thu, 11 Jun 2009 20:41:00 +0200</pubDate>
    <guid isPermaLink="false">http://blog.256bit.org/archives/579-guid.html</guid>
    
<feedburner:origLink>http://blog.256bit.org/archives/579-Depeche-Mode-in-Leipzig.html</feedburner:origLink></item>
<item>
    <title>SSHFS und globaler Namespace</title>
    <link>http://feedproxy.google.com/~r/256bitorgBlog/~3/YEVRbY6lpyo/578-SSHFS-und-globaler-Namespace.html</link>
            <category>Admin</category>
            <category>Nerd</category>
            <category>opensource</category>
            <category>Software</category>
    
    <comments>http://blog.256bit.org/archives/578-SSHFS-und-globaler-Namespace.html#comments</comments>
    <wfw:comment>http://blog.256bit.org/wfwcomment.php?cid=578</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.256bit.org/rss.php?version=2.0&amp;type=comments&amp;cid=578</wfw:commentRss>
    

    <author>ms@256bit.org (mschoechlin)</author>
    <content:encoded><![CDATA[
    <p>Ich springe bei der Arbeit auf einer Menge von Kisten rum und bearbeite dabei eine Menge Files - nichts besonderes wenn man Systeme administriert bzw. Software entwickelt. In letzter Zeit nutze ich vermehrt SSHFS. Das ist sehr praktisch, da man so die Tools (z.B. svn, vim, ctags, ...) die man auf seiner Workstation konfiguriert und installiert hat nutzen kann sofern man netzwerktechnisch in der Lage ist, eine SSH-Verbindung aufzubauen.</p> <br />
<p>Prinzipiell geht das so:<br /></p> <br />
<pre>aptitude install sshfs
mkdir /home/mschoechlin/mnt/256bit.org/
sshfs -o idmap=user mschoechlin@256bit.org:/ /home/mschoechlin/mnt/256bit.org/
cat /home/mschoechlin/mnt/256bit.org/etc/fstab</pre> <br />
<p>Mit dem Tool &quot;afuse&quot; geht das noch bequemer - nebenbei bekommt man einen globalen Filesystemnamespace:<br /></p> <br />
<pre>aptitude install afuse sshfs
mkdir ~/sshfs
afuse -o mount_template="sshfs -o idmap=user %r:/ %m" -o unmount_template="fusermount -u -z %m" ~/sshfs/
cd ~/sshfs
cat user@host/etc/fstab
cat host/etc/fstab
killall afuse</pre> <br />
<p> </p> <br />
<p>Sobald man also mit &quot;cd&quot; in das Verzeichnis &quot;~/sshfs/&lt;user&gt;@&lt;hostname&gt;&quot; wechselt springt der &quot;afuse&quot; Automounter an und mountet das System via &quot;sshfs&quot;. Dabei wird die UserId, über welche man sich angemeldet hat, immer auf die lokale gemapped. Die Verwendung des SSH-Agent/SSH-Keys ist hier ganz nützlich - andernfalls poppt ein Passwortdialog auf.<br /></p> 
    <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/256bitorgBlog?a=YEVRbY6lpyo:pWsbByI0pX4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/256bitorgBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/256bitorgBlog/~4/YEVRbY6lpyo" height="1" width="1"/>]]></content:encoded>

    <pubDate>Wed, 27 May 2009 07:19:22 +0200</pubDate>
    <guid isPermaLink="false">http://blog.256bit.org/archives/578-guid.html</guid>
    
<feedburner:origLink>http://blog.256bit.org/archives/578-SSHFS-und-globaler-Namespace.html</feedburner:origLink></item>
<item>
    <title>Regelmäßige Lektüre</title>
    <link>http://feedproxy.google.com/~r/256bitorgBlog/~3/KjvxXUI_Ygg/577-Regelmaessige-Lektuere.html</link>
            <category>Admin</category>
            <category>Nerd</category>
            <category>opensource</category>
    
    <comments>http://blog.256bit.org/archives/577-Regelmaessige-Lektuere.html#comments</comments>
    <wfw:comment>http://blog.256bit.org/wfwcomment.php?cid=577</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://blog.256bit.org/rss.php?version=2.0&amp;type=comments&amp;cid=577</wfw:commentRss>
    

    <author>ms@256bit.org (mschoechlin)</author>
    <content:encoded><![CDATA[
    <p>Hier meine regelmäßige Blog Lektüre:<br />(via <a href="http://blog.256bit.org/exit.php?url_id=2643&amp;entry_id=577" title="http://akregator.kde.org/index.php"  onmouseover="window.status='http://akregator.kde.org/index.php';return true;" onmouseout="window.status='';return true;">Akregator</a> RSS Feedreader - das spart Zeit) <br />
<a href="http://blog.256bit.org/exit.php?url_id=2644&amp;entry_id=577" title="http://www.prolinux.de/"  onmouseover="window.status='http://www.prolinux.de/';return true;" onmouseout="window.status='';return true;"><br /></a></p> <br />
<ul><br />
<li><a href="http://blog.256bit.org/exit.php?url_id=2644&amp;entry_id=577" title="http://www.prolinux.de/"  onmouseover="window.status='http://www.prolinux.de/';return true;" onmouseout="window.status='';return true;">Pro-Linux</a></li><br />
<li><a href="http://blog.256bit.org/exit.php?url_id=2645&amp;entry_id=577" title="http://kerneltrap.org/"  onmouseover="window.status='http://kerneltrap.org/';return true;" onmouseout="window.status='';return true;">Kerneltrap </a><br /></li> <br />
<li><a href="http://blog.256bit.org/exit.php?url_id=2646&amp;entry_id=577" title="http://twitter.com/mschoechlin"  onmouseover="window.status='http://twitter.com/mschoechlin';return true;" onmouseout="window.status='';return true;">Twitter<br /></a></li> <br />
<li><a href="http://blog.256bit.org/exit.php?url_id=2647&amp;entry_id=577" title="http://www.commandlinefu.com/commands/browse"  onmouseover="window.status='http://www.commandlinefu.com/commands/browse';return true;" onmouseout="window.status='';return true;">Command-line Fu &lt; The best UNIX commands on the web</a></li> <br />
<li><a href="http://blog.256bit.org/exit.php?url_id=2648&amp;entry_id=577" title="http://symlink.ch/"  onmouseover="window.status='http://symlink.ch/';return true;" onmouseout="window.status='';return true;">symlink.ch: Wissen Vernetzt - deutsche News für die Welt</a></li> <br />
<li><a href="http://blog.256bit.org/exit.php?url_id=2649&amp;entry_id=577" title="http://linux.slashdot.org/"  onmouseover="window.status='http://linux.slashdot.org/';return true;" onmouseout="window.status='';return true;">Slashdot: News for nerds, stuff that matters</a> <a href="http://blog.256bit.org/exit.php?url_id=2645&amp;entry_id=577" title="http://kerneltrap.org/"  onmouseover="window.status='http://kerneltrap.org/';return true;" onmouseout="window.status='';return true;">KernelTrap</a></li> <br />
<li><a href="http://blog.256bit.org/exit.php?url_id=2651&amp;entry_id=577" title="http://www.heise.de/open/news/"  onmouseover="window.status='http://www.heise.de/open/news/';return true;" onmouseout="window.status='';return true;">heise open - 7-Tage-News</a></li> <br />
<li><a href="http://blog.256bit.org/exit.php?url_id=2652&amp;entry_id=577" title="http://freshmeat.net/"  onmouseover="window.status='http://freshmeat.net/';return true;" onmouseout="window.status='';return true;">freshmeat.net: Welcome to freshmeat.net</a></li> <br />
<li><a href="http://blog.256bit.org/exit.php?url_id=2653&amp;entry_id=577" title="http://mainframe.typepad.com/"  onmouseover="window.status='http://mainframe.typepad.com/';return true;" onmouseout="window.status='';return true;">Mainframe</a> <a href="http://blog.256bit.org/exit.php?url_id=2654&amp;entry_id=577" title="http://www.mainframezone.com/bobthomas/"  onmouseover="window.status='http://www.mainframezone.com/bobthomas/';return true;" onmouseout="window.status='';return true;">MainframeZone with Bob Thomas</a></li> <br />
<li><a href="http://blog.256bit.org/exit.php?url_id=2655&amp;entry_id=577" title="http://blog.koehntopp.de/"  onmouseover="window.status='http://blog.koehntopp.de/';return true;" onmouseout="window.status='';return true;">Die wunderbare Welt von Isotopp</a></li> <br />
<li><a href="http://blog.256bit.org/exit.php?url_id=2656&amp;entry_id=577" title="http://www.ende-der-vernunft.org/"  onmouseover="window.status='http://www.ende-der-vernunft.org/';return true;" onmouseout="window.status='';return true;">EDV - Ende der Vernunft</a> <a href="http://blog.256bit.org/exit.php?url_id=2657&amp;entry_id=577" title="http://planet.netfilter.org/"  onmouseover="window.status='http://planet.netfilter.org/';return true;" onmouseout="window.status='';return true;">Planet Netfilter</a></li> <br />
<li><a href="http://blog.256bit.org/exit.php?url_id=2658&amp;entry_id=577" title="http://planetkde.org/"  onmouseover="window.status='http://planetkde.org/';return true;" onmouseout="window.status='';return true;">Planet KDE</a> <a href="http://blog.256bit.org/exit.php?url_id=2659&amp;entry_id=577" title="http://royal.pingdom.com/"  onmouseover="window.status='http://royal.pingdom.com/';return true;" onmouseout="window.status='';return true;">Royal Pingdom</a> <a href="http://blog.256bit.org/exit.php?url_id=2676&amp;entry_id=577" title="http://torvalds-family.blogspot.com/"  onmouseover="window.status='http://torvalds-family.blogspot.com/';return true;" onmouseout="window.status='';return true;">Linus' blog</a></li> <br />
<li><a href="http://blog.256bit.org/exit.php?url_id=2661&amp;entry_id=577" title="http://maedchenmannschaft.net/"  onmouseover="window.status='http://maedchenmannschaft.net/';return true;" onmouseout="window.status='';return true;">Maedchenmannschaft</a></li> <br />
<li><a href="http://blog.256bit.org/exit.php?url_id=2677&amp;entry_id=577" title="http://mjg59.livejournal.com/"  onmouseover="window.status='http://mjg59.livejournal.com/';return true;" onmouseout="window.status='';return true;">Matthew Garrett's Journal</a></li> <br />
<li><a href="http://blog.256bit.org/exit.php?url_id=2663&amp;entry_id=577" title="http://blog.fefe.de/"  onmouseover="window.status='http://blog.fefe.de/';return true;" onmouseout="window.status='';return true;">Fefes Blog</a> <a href="http://blog.256bit.org/exit.php?url_id=2664&amp;entry_id=577" title="https://secure.wikileaks.org/wiki/Wikileaks"  onmouseover="window.status='https://secure.wikileaks.org/wiki/Wikileaks';return true;" onmouseout="window.status='';return true;">Wikileaks - Wikileaks</a></li> <br />
<li><a href="http://blog.256bit.org/exit.php?url_id=2665&amp;entry_id=577" title="http://www.mantissa.com/blog"  onmouseover="window.status='http://www.mantissa.com/blog';return true;" onmouseout="window.status='';return true;">Blogs | Mantissa Corporation</a></li> <br />
<li><a href="http://blog.256bit.org/exit.php?url_id=2666&amp;entry_id=577" title="http://geekandpoke.typepad.com/"  onmouseover="window.status='http://geekandpoke.typepad.com/';return true;" onmouseout="window.status='';return true;">Geek And Poke</a> <a href="http://blog.256bit.org/exit.php?url_id=2667&amp;entry_id=577" title="http://www.linux.com/"  onmouseover="window.status='http://www.linux.com/';return true;" onmouseout="window.status='';return true;"></a></li> <br />
<li><a href="http://blog.256bit.org/exit.php?url_id=2667&amp;entry_id=577" title="http://www.linux.com/"  onmouseover="window.status='http://www.linux.com/';return true;" onmouseout="window.status='';return true;">Welcome to Linux.com</a><br /></li> <br />
</ul>Usenet/Mailinglisten:<br />(sporadisch via <a href="http://blog.256bit.org/exit.php?url_id=2668&amp;entry_id=577" title="http://slrn.sourceforge.net/"  onmouseover="window.status='http://slrn.sourceforge.net/';return true;" onmouseout="window.status='';return true;">SLRN</a> und <a href="http://blog.256bit.org/exit.php?url_id=2669&amp;entry_id=577" title="http://www.mutt.org/"  onmouseover="window.status='http://www.mutt.org/';return true;" onmouseout="window.status='';return true;">Mutt</a>)<br /> <br />
<ul> <br />
<li><a href="http://blog.256bit.org/exit.php?url_id=2678&amp;entry_id=577" title="http://www.bacula.org/en/?page=maillists"  onmouseover="window.status='http://www.bacula.org/en/?page=maillists';return true;" onmouseout="window.status='';return true;">bacula-devel</a></li> <br />
<li><a href="http://blog.256bit.org/exit.php?url_id=2678&amp;entry_id=577" title="http://www.bacula.org/en/?page=maillists"  onmouseover="window.status='http://www.bacula.org/en/?page=maillists';return true;" onmouseout="window.status='';return true;"></a><a href="http://blog.256bit.org/exit.php?url=aHR0cDovL3ZnZXIua2VybmVsLm9yZy92Z2VyLWxpc3RzLmh0bWwjbGludXgtYnRyZnM=&amp;entry_id=577" title="http://vger.kernel.org/vger-lists.html#linux-btrfs"  onmouseover="window.status='http://vger.kernel.org/vger-lists.html#linux-btrfs';return true;" onmouseout="window.status='';return true;">linux-btrfs</a></li> <br />
<li><a href="http://blog.256bit.org/exit.php?url_id=2672&amp;entry_id=577" title="http://www.vm.ibm.com/techinfo/listserv.html#TOC_0.1"  onmouseover="window.status='http://www.vm.ibm.com/techinfo/listserv.html#TOC_0.1';return true;" onmouseout="window.status='';return true;">ibmvm</a></li> <br />
<li><a href="http://blog.256bit.org/exit.php?url_id=2672&amp;entry_id=577" title="http://www.vm.ibm.com/techinfo/listserv.html#TOC_0.1"  onmouseover="window.status='http://www.vm.ibm.com/techinfo/listserv.html#TOC_0.1';return true;" onmouseout="window.status='';return true;"></a><a href="http://blog.256bit.org/exit.php?url=aHR0cDovL3d3dy5jY2NzLmRlL3dpa2kvYmluL3ZpZXcvTWFpbi9NYWlsaW5nTGlzdGU=&amp;entry_id=577" title="http://www.cccs.de/wiki/bin/view/Main/MailingListe"  onmouseover="window.status='http://www.cccs.de/wiki/bin/view/Main/MailingListe';return true;" onmouseout="window.status='';return true;">ixs_public_cccs.de</a></li> <br />
<li><a href="http://blog.256bit.org/exit.php?url_id=2674&amp;entry_id=577" title="http://vger.kernel.org/vger-lists.html#linux-s390"  onmouseover="window.status='http://vger.kernel.org/vger-lists.html#linux-s390';return true;" onmouseout="window.status='';return true;">linux-s390</a></li> <br />
<li><a href="http://blog.256bit.org/exit.php?url_id=2675&amp;entry_id=577" title="http://www.lsoft.com/scripts/wl.exe?SL1=LINUX-390&amp;amp;H=VM.MARIST.EDU"  onmouseover="window.status='http://www.lsoft.com/scripts/wl.exe?SL1=LINUX-390&amp;amp;H=VM.MARIST.EDU';return true;" onmouseout="window.status='';return true;">linux-390</a></li> <br />
<li>de.comp.lang.python</li> <br />
<li>comp.databases.ibm-db2</li> <br />
<li>comp.lang.python</li> <br />
<li>de.comm.internet.infrastruktur<br /></li> <br />
</ul> <br />
<ul> </ul>  <br />
<p>Mit den richtigen Werkzeugen wird auch diese etwas längliche Liste beherrschbar - meist lese ich morgens in der ersten halben Stunde des Tages <img src="http://blog.256bit.org/templates/default/img/emoticons/smile.png" alt=":-)" style="display: inline; vertical-align: bottom;" class="emoticon" /><br />Was lest ihr so ? </p> 
    <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/256bitorgBlog?a=KjvxXUI_Ygg:NQ_ay9kotPI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/256bitorgBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/256bitorgBlog/~4/KjvxXUI_Ygg" height="1" width="1"/>]]></content:encoded>

    <pubDate>Mon, 18 May 2009 21:58:06 +0200</pubDate>
    <guid isPermaLink="false">http://blog.256bit.org/archives/577-guid.html</guid>
    
<feedburner:origLink>http://blog.256bit.org/archives/577-Regelmaessige-Lektuere.html</feedburner:origLink></item>
<item>
    <title>Eine kleine Einführung in sed, Teil 2</title>
    <link>http://feedproxy.google.com/~r/256bitorgBlog/~3/knbOPUdwfN8/576-Eine-kleine-Einfuehrung-in-sed,-Teil-2.html</link>
            <category>Tipps And Tricks</category>
    
    <comments>http://blog.256bit.org/archives/576-Eine-kleine-Einfuehrung-in-sed,-Teil-2.html#comments</comments>
    <wfw:comment>http://blog.256bit.org/wfwcomment.php?cid=576</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://blog.256bit.org/rss.php?version=2.0&amp;type=comments&amp;cid=576</wfw:commentRss>
    

    <author>cb@256bit.org (chrisbra)</author>
    <content:encoded><![CDATA[
    In <a href="http://blog.256bit.org/exit.php?url=aHR0cDovL2Jsb2cuMjU2Yml0Lm9yZy9hcmNoaXZlcy81NjUtRWluZS1rbGVpbmUtRWluZnVlaHJ1bmctaW4tc2VkLC1UZWlsLTEuaHRtbA==&amp;entry_id=576" title="http://blog.256bit.org/archives/565-Eine-kleine-Einfuehrung-in-sed,-Teil-1.html"  onmouseover="window.status='http://blog.256bit.org/archives/565-Eine-kleine-Einfuehrung-in-sed,-Teil-1.html';return true;" onmouseout="window.status='';return true;"  class="bb-url">Teil 1 habe ich kurz eine Einführung zur sed beschrieben</a>. Heute folgt nun ein Überblick über Adressen und Kommandos und das Substitute Kommando erkläre ich genauer. Beim nächsten Mal erkläre ich dann andere Kommandos nähre, sowie ein paar Beispiele (z.B. die [http://sed.sourceforge.net/sed1line.txt]sed1liners[/url], oder andere Scripte, die mir in letzter Zeit begegnet sind). Ich denke, damit habe ich dann alles zu sed erklärt.<br />
<br />
Wie ich im ersten Teil bereits beschrieben habe, arbeitet man bei sed meist mit Mustern, die bestimmte Teile definieren, an denen Änderungen vorgenommen werden sollen. Diese Muster werden typischerweise durch reguläre Ausdrücke definiert. GNU Sed unterstützt dabei einfache reguläre Ausdrücke (basic regular expressions) bzw. mit dem Schalter -r erweiterte reguläre Ausdrücke (extended regular expressions, z.B. was egrep benutzt). Die wichtigsten Regeln mal kurz erklärt:<br />
<br />
^       Anfang der Zeile<br />
$       Ende der Zeile<br />
.       irgendein Zeichen<br />
[...]   irgendein Zeichen welches innerhalb der eckigen Klammer angegeben ist.<br />
        [a-z] passt auf alle Kleinbuchstaben des Alphabets, [abc] entweder auf<br />
	a oder auf b oder auf c<br />
[^...]  irgendein Zeichen welches nicht innerhalb der eckigen Klammer angegeben<br />
        ist. [^a-z] passt auf alle Zeichen, die keine Kleinbuchstaben sind.<br />
\(\)    Klammerung (bei erweiterten regulären Ausdrücken ohne Backslash, also ().<br />
        Damit kann man sich Ausdrücke merken und später auf sie referenzieren<br />
	mit den Variablen \1 bis \10 D.h. man kann auf maximal 10 verschiedene<br />
	Zeichenketten referenzieren, mehr geht nicht. Dabei zählt immer die<br />
	Reihenfolge der öffnenden Klammer. <br />
	(\(a\)b\1 passt auf "aba" aber nicht auf "abba")<br />
*       Ein sogenannter Quantifier. Der vorherige Ausdruck kann 0 bis beliebig<br />
        oft auftreten, dabei wird ein längerer passender Ausdruck bevorzugt <br />
	(sogenannte Greediness, "Gier"). <br />
	a* passt also auf "", a, aa, aaa, und so weiter, bei einer Zeichenkette<br />
	von baah, wird es aber immer auf aa passen.<br />
\?      Der vorherige Ausdruck passt genau 0 der 1 Mal (erweiterte reguläre<br />
        Ausdrücke: ?)<br />
\+      passt auf den vorherigen Ausdruck 1 mal oder mehr. Längere Treffer <br />
        werden dabei bevorzugt. (Bei erweiterten regulären Ausdrücken +).<br />
\{n\}   passt auf den vorherigen Ausdruck genau n-Mal. (erweiterte reguläre<br />
        Ausdrücke: {n})<br />
\{n,\}  passt auf den vorherigen Ausdruck n oder mehrmals. (erweiterte reguläre<br />
        Ausdrücke: {n,})<br />
\{n,m\} passt auf den vorherigen Ausdruck n oder m Mal (m>n). Längere Treffer<br />
        werden bevorzugt. (erweiterte reguläre Ausdrücke: {n,m})<br />
\{,m\}  passt auf den vorherigen Ausdruck maximal m Mal. Längere Treffer werden<br />
        bevorzugt. (erweiterte reguläre Ausdrücke: {,m}).<br />
\|      Entweder der vorherige Ausdruck oder der nachfolgende Ausdruck.<br />
        (bei erweiterten regulären Ausdrücken |). a\|b passt auf a oder auf b.<br />
\n      passt auf einen Zeilenumbruch¹ (siehe auch Anmerkung).<br />
\$      passt auf ein $-Zeichen (denn $ steht ja für das Ende der Zeile).<br />
        So kann man mit dem Backslash nachstehende Zeichen maskieren. \* passt<br />
	auf einen *, und so weiter...<br />
<br />
Das ist soweit das Wichtigste zu den regulären Ausdrücken, die von Sed unterstüzt werden. Die Syntax ist nicht so schwer, man muß sich nur merken, welche der vielen Dialekte der regulären Ausdrücke sed beherrscht. Des weiteren unterstüzt sed <a href="http://blog.256bit.org/exit.php?url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9SZWd1bGFyX2V4cHJlc3Npb24jUE9TSVhfY2hhcmFjdGVyX2NsYXNzZXM=&amp;entry_id=576" title="http://en.wikipedia.org/wiki/Regular_expression#POSIX_character_classes"  onmouseover="window.status='http://en.wikipedia.org/wiki/Regular_expression#POSIX_character_classes';return true;" onmouseout="window.status='';return true;"  class="bb-url">Posix Character Classes</a>, d.h. das Muster [[:lower:]] passt auf alle Kleinbuchstaben und [[:upper:]] auf alle Großbuchstaben. Außerdem beherrscht sed noch Patterns, die mit einem Backslash anfangen. '\w' passt zum Beispiel auf ein "Word"-Character, als Character-Klasse ausgedrückt: [A-Za-z0-9_], '\W' passt auf ein Non-Word-Character und somit der Umdrehung von '\w' (also [^a-zA-Z0-9_].). Weitere \-Muster werden unterstüzt, ich verweise dafür mal auf das <a href="http://blog.256bit.org/exit.php?url=aHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL3NlZC9tYW51YWwvaHRtbF9ub2RlL0VzY2FwZXMuaHRtbCNFc2NhcGVz&amp;entry_id=576" title="http://www.gnu.org/software/sed/manual/html_node/Escapes.html#Escapes"  onmouseover="window.status='http://www.gnu.org/software/sed/manual/html_node/Escapes.html#Escapes';return true;" onmouseout="window.status='';return true;"  class="bb-url">Manual bzw. die Info-Seiten</a>.<br />
<br />
¹Des weiteren sollte man beachten, dass sed seinen Input zeilenorientiert liest. D.h. normalerweise wird ein Pattern mit einem '\n' für einen Zeilenumbruch nicht passen. Man kann darum arbeiten, aber man sollte das im Hinterkopf behalten, wenn man '\n' benutzt.<br />
<br />
So fortgeschrittene Sachen wie "look-ahead", "look-behind", non-greedy Matches oder non-capturing Groups der Perl-kompatiblen regulären Ausdrücke beherrscht sed leider nicht. (<a href="http://blog.256bit.org/exit.php?url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Db21wYXJpc29uX29mX3JlZ3VsYXJfZXhwcmVzc2lvbl9lbmdpbmVz&amp;entry_id=576" title="http://en.wikipedia.org/wiki/Comparison_of_regular_expression_engines"  onmouseover="window.status='http://en.wikipedia.org/wiki/Comparison_of_regular_expression_engines';return true;" onmouseout="window.status='';return true;"  class="bb-url">Eine gute Übersicht über die vorhandenen Möglichkeiten gibt die Wikipedia</a>.)<br />
<br />
Diese Ausdrücke definieren nun, wo etwas gemacht wird. Wenn man die Zeilennummer weiß, kann man aber auch diese benutzen. Zusätzlich erlaubt es GNU Sed noch Schrittfolgen zu definieren. Also zum Beispiel von Zeile 1 ausgehend, jede zweite (also 1,3,5,7...). 1~2 passt genau auf dieses Muster, während 0~2 jede gerade Zeile ausgibt. Verallgemeinert gesagt x~y, wobei x die Startzeile angibt und y die Schrittfolge. $ als Zeilennummer passt dagegen immer auf die letzte Zeile.<br />
<br />
Nun haben wir ganz kurz die Adressmöglichkeiten besprochen. Nun möchte man normalerweise auch was machen. Dafür versteht sed sogenannte Kommandos. Diese Kommandos verstehen normalerweise alle 2-Adressen (nämlich eine Start- und eine Ende-Adresse), eine Adresse<br />
Nun haben wir ganz kurz die Adressmöglichkeiten besprochen. Nun möchte man normalerweise auch was machen. Dafür versteht sed sogenannte Kommandos. Diese Kommandos verstehen entweder keine Adressen (z.B. Sprungangaben und Kommentare), Eine oder keine Adressangaben oder 2 Adressen (nämlich Start- und Ende-Adresse).<br />
<br />
Die folgenden Kommandos kennt dabei Gnu Sed:<br />
<br />
'#'      Kennzeichnet einen Kommentar<br />
's/x/y/' ersetze x durch y<br />
':'      definiert eine Sprungmarke<br />
'='      Gib die Zeilennummer aus.<br />
'a\<br />
Text'    Hängt "Text" als neue Zeile an<br />
'i\<br />
Text'    Fügt "Text" in die aktuelle Zeile ein<br />
'c\<br />
Text'    Ersetze die aktuelle Zeile durch "Text"<br />
q        Beende<br />
r foobar hängt den Inhalt der Datei foobar hinter die aktuelle Zeile ein.<br />
R foobar Fügt eine Zeile der Datei foobar hinter die aktuelle Zeile ein.<br />
b foobar springe zur Sprungmarke foobar<br />
'p'      Print (ausgeben des Treffers)<br />
t foobar springe zur Sprungmarke foobar, wenn vorher das letzte s-Kommando <br />
         erfolgreich war<br />
t foobar springe zur Sprungmarke foobar, wenn vorher das letzte s-Kommando <br />
         nicht erfolgreich war<br />
d        lösche aktuell eingelesene Zeile und fang von vorne an<br />
n        lese nächste Zeile ein<br />
N        lese nächste Zeile ein und hänge an die aktuelle Zeile an.<br />
w foobar Schreibe aktuellen Inhalt in Datei foobar<br />
W foobar Schreibe nur erste Zeile des aktuellen Inputs in Datei (später mehr dazu).<br />
'y/a/b/' Ersetze a durch b (funktioniert so ähnlich wie tr).<br />
         Mit y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/ werden alle<br />
	 Kleinbuchstaben durch die Großbuchstaben ersetzt.<br />
!        Führe nachfolgendes Kommando für alle Zeilen außer der aktuellen aus.<br />
         (Negation)<br />
<br />
Normalerweise liest Sed den Input (bis zum Zeilenende \n) in den sogenannten "Pattern Space" und führt die Kommandos im Pattern Space aus und gibt anschließend die Änderungen aus. Daneben gibt es noch einen extra Puffer, den sogenannten Hold Space. In ihm kann man Daten zwischenspeichern und später wieder verwenden. Dafür gibt es die folgenden Kommandos.<br />
<br />
<br />
D        Lösche bis zum ersten Zeilenumbruch im Pattern Space und fang von vorne<br />
         an<br />
x        Tausche die Inhalte des Pattern Spaces und Hold Spaces aus.<br />
h        Kopiere Pattern Space in den Hold Space Puffer<br />
H        Hänge Pattern Space an den Hold Space Puffer an<br />
g        Kopiere Hold Space Puffer in den Pattern Space<br />
g        Hänge Hold Space Puffer an den Pattern Space an<br />
<br />
Der Aufbau eines Kommandos ist dabei folgender: <Adresse1>,<Adresse2>{Kommando1; Kommando2; Kommando3; ...KommandoN}. Man kann also einen Bereich definieren, in dem die nachfolgenden Kommandos ausgeführt werden. Wenn man nur 1 Kommando ausführen will, kann man die Klammerung auch weglassen. Der Backslash / kennzeichnet dabei einen regulären Ausdruck. Werden alle Adressen weggelassen bezieht sich das Kommando immer auf den kompletten Input (also von Zeile 1 bis zur letzten Zeile).<br />
<br />
sed -n '3p' gibt Zeile 3 und nur Zeile 3 aus. sed -n '3,5p' gibt alles von Zeile 3 bis 5 aus (inklusive). (Normalerweise wird bei Sed der Input immer auch ausgegeben, mit -n unterdrückt man das und nur wenn man es explizit verlangt (Kommando p) wird etwas ausgegeben).<br />
<br />
Das einfachste Kommando ist das '#' Allein für sich macht das gar nichts und gibt einfach alles aus:<br />
<div class="bash geshi" style="text-align: left"><br /><br />
sed '#' foobar<br /><br />
Der Fuchs ist rot und rot sind auch Äpfel.<br /><br />
&#160;</div><br />
Das gleiche erreicht man auch mit dem "Kommando" ; welches eigentlich verschiedene Kommandos trennt. In diesem Fall führt es ein "Null" Kommando aus und gibt daher alles aus, was es einliest:<br />
<div class="bash geshi" style="text-align: left"><br /><br />
sed ';' foobar<br /><br />
Der Fuchs ist rot und rot sind auch Äpfel.<br /><br />
&#160;</div><br />
<br />
Das verbreiteste Kommando ist sicherlich das s-Kommando. Damit kann man nach einem Muster suchen und dieses durch ein anderes Ersetzen. <br />
Zum Beispiel ersetzt sed 's/rot/grün/' foobar die Zeichenfolge "rot" durch "grün" in der Datei foobar.<br />
<br />
<div class="bash geshi" style="text-align: left"><br /><br />
sed 's/rot/grün/' foobar<br /><br />
Der Fuchs ist grün und rot sind auch Äpfel.<br /><br />
&#160;</div><br />
<br />
Naja, aber eigentlich ist der Fuchs ja rot und Äpfel sind grün. Daher kann man dem s-Kommando noch zusätzliche Flags mitgeben. Das bekannteste Flag ist das 'g'. Damit werden alle gefundenen Muster ersetzt:<br />
<br />
<div class="bash geshi" style="text-align: left"><br /><br />
sed 's/rot/grün/g' foobar<br /><br />
Der Fuchs ist grün und grün sind auch Äpfel.<br /><br />
&#160;</div><br />
<br />
Man kann aber auch nur bestimmte Muster ersetzen, zum Beispiel nur das 2. Muster:<br />
<div class="bash geshi" style="text-align: left"><br /><br />
sed 's/rot/grün/2' foobar<br /><br />
Der Fuchs ist rot und grün sind auch Äpfel.<br /><br />
&#160;</div><br />
<br />
Wenn kein Flag angegeben wird, wird impliziert die 1 angenommen (also das erste gefundene Muster wird ersetzt).<br />
<br />
Ein weiteres Flag ist das i. Hierbei wird das Muster case-insensitiv gesucht, d.h. Klein-/Großbuchstaben spielen keine Rolle. Es ist auch möglich mehrere Flags zu kombinieren:<br />
<div class="bash geshi" style="text-align: left"><br /><br />
sed 's/ROT/blau/ig' foobar<br /><br />
Der Fuchs ist blau und blau sind auch Äpfel.<br /><br />
&#160;</div><br />
<br />
Manchmal möchte man aber auch Pfadangaben ersetzen. Blöd nur, dass der Slash / normalerweise das Muster vom Ersetzungstext trennt. Möchte man nun z.B. <br />
/usr/local/share/foobar durch /usr/share/foobar ersetzen, müßte man sowas nutzen:<br />
<br />
<div class="bash geshi" style="text-align: left"><br /><br />
sed 's/\/usr\/local\/share\/foobar/\/usr\/share\/foobar/g script<br /><br />
&#160;</div><br />
<br />
Daher erlaubt es sed, irgendeinen anderen Delimiter zu nutzen, z.B. die Pipe |:<br />
<div class="bash geshi" style="text-align: left"><br /><br />
sed 's|/usr/local/share/foobar|/usr/share/foobar|g script<br /><br />
&#160;</div><br />
<br />
oder den Unterstrich _<br />
<div class="bash geshi" style="text-align: left"><br /><br />
sed 's_/usr/local/share/foobar_/usr/share/foobar_g script<br /><br />
&#160;</div><br />
<br />
oder irgend ein anderes Zeichen, was nicht im Muster vorkommt.<br />
<br />
Manchmal möchte man auch das gefundene Pattern im Ersetzungsteil wieder verwenden. Wenn man zum Beispiel eine Anweisung in einer Konfigurationsdatei auskommentieren möchte, die mit "foobar" anfängt kann man das so machen:<br />
<br />
<div class="bash geshi" style="text-align: left"><br /><br />
sed 's/^\(foobar\)/#\1/' config<br /><br />
#foobar wichtig!<br /><br />
&#160;</div><br />
<br />
Oder man benutzt einfach den Replacement Character &, der für das Muster steht, das gefunden wurde:<br />
<div class="bash geshi" style="text-align: left"><br /><br />
sed 's/^\(foobar\)/#&amp;/' config<br /><br />
#foobar wichtig!<br /><br />
&#160;</div><br />
Vereinfachen kann man das noch so:<br />
<div class="bash geshi" style="text-align: left"><br /><br />
sed '/^foobar/s/^/#/' config<br /><br />
#foobar wichtig!<br /><br />
&#160;</div><br />
Hier benutzen wir den regulären Ausdruck /^foobar/ als Adresse und nur Zeilen, die auf dieses Muster passen, werden ersetzt. Vereinfacht ersetzen wir das Zeichen '^' (das für den Zeilenanfang steht) durch ein '#' und fügen somit eine Raute am Anfang der Zeile ein.<br />
<br />
Man kann noch mehr mit regulären Ausdrücken machen. Zum Beispiel alle Großbuchstaben durch ihre Kleinbuchstaben ersetzen:<br />
<div class="bash geshi" style="text-align: left"><br /><br />
ls /home/ | sed 's/[[:lower:]]/\U&amp;/g'<br /><br />
CB<br /><br />
CHRISBRA<br /><br />
FTP<br /><br />
&#160;</div><br />
Sed sucht nach der Posix-Klasse von Kleinbuchstaben und ersetzt diese durch die entsprechenden Großbuchstaben. Das \U steht für Uppercase und wandelt alle Zeichen in die passenden Großbuchstaben um. Man beachte die Nutzung von &amp; um das gefundene Muster wiederzuverwenden. Ohne das Flag 'g' wäre übrigens nur der erste Buchstabe groß geschrieben worden. Das gleiche kann man übrigens mit dem Kommando y/ erreichen:<br />
<div class="bash geshi" style="text-align: left"><br /><br />
ls /home/ | sed 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'<br /><br />
CB<br /><br />
CHRISBRA<br /><br />
FTP<br /><br />
&#160;</div><br />
Das ist etwas umständlich, denn das y-Kommando scheint keine Characterklassen anzunehmen, sondern man muß explizit alle Zeichen hinschreiben.<br />
<br />
Das war das Wichtigste zum Substitute Kommando. Der nächste Teil kommt bestimmt <img src="http://blog.256bit.org/templates/default/img/emoticons/wink.png" alt=";-)" style="display: inline; vertical-align: bottom;" class="emoticon" /> 
    <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/256bitorgBlog?a=knbOPUdwfN8:QSrY037rMjk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/256bitorgBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/256bitorgBlog/~4/knbOPUdwfN8" height="1" width="1"/>]]></content:encoded>

    <pubDate>Fri, 08 May 2009 08:00:00 +0200</pubDate>
    <guid isPermaLink="false">http://blog.256bit.org/archives/576-guid.html</guid>
    
<feedburner:origLink>http://blog.256bit.org/archives/576-Eine-kleine-Einfuehrung-in-sed,-Teil-2.html</feedburner:origLink></item>
<item>
    <title>Regexes bei Informatica</title>
    <link>http://feedproxy.google.com/~r/256bitorgBlog/~3/kTTtCK0e16k/575-Regexes-bei-Informatica.html</link>
            <category>Tipps And Tricks</category>
    
    <comments>http://blog.256bit.org/archives/575-Regexes-bei-Informatica.html#comments</comments>
    <wfw:comment>http://blog.256bit.org/wfwcomment.php?cid=575</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.256bit.org/rss.php?version=2.0&amp;type=comments&amp;cid=575</wfw:commentRss>
    

    <author>cb@256bit.org (chrisbra)</author>
    <content:encoded><![CDATA[
    He, darauf habe ich so lange gewartet. Informatica 8 unterstüzt endlich reguläre Ausdrücke. Das kann die Arbeit sehr vereinfachen. Das ist echt mal praktisch. Fehlt nur noch bei Oracle. Das kanns erst ab Version 10 und ich muß hier immernoch Version 9 benutzen. 
    <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/256bitorgBlog?a=kTTtCK0e16k:trz9ndRi7lY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/256bitorgBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/256bitorgBlog/~4/kTTtCK0e16k" height="1" width="1"/>]]></content:encoded>

    <pubDate>Thu, 07 May 2009 20:28:45 +0200</pubDate>
    <guid isPermaLink="false">http://blog.256bit.org/archives/575-guid.html</guid>
    
<feedburner:origLink>http://blog.256bit.org/archives/575-Regexes-bei-Informatica.html</feedburner:origLink></item>
<item>
    <title>Die ultimative Lösung für die Internetzensierer</title>
    <link>http://feedproxy.google.com/~r/256bitorgBlog/~3/qd6IMO7wCjQ/574-Die-ultimative-Loesung-fuer-die-Internetzensierer.html</link>
            <category>Internet</category>
    
    <comments>http://blog.256bit.org/archives/574-Die-ultimative-Loesung-fuer-die-Internetzensierer.html#comments</comments>
    <wfw:comment>http://blog.256bit.org/wfwcomment.php?cid=574</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://blog.256bit.org/rss.php?version=2.0&amp;type=comments&amp;cid=574</wfw:commentRss>
    

    <author>cb@256bit.org (chrisbra)</author>
    <content:encoded><![CDATA[
    Die ultimative Lösung für die Internetzensierer! <a href="http://blog.256bit.org/exit.php?url_id=2642&amp;entry_id=574" title="http://www.politiker-stopp.de/index.html"  onmouseover="window.status='http://www.politiker-stopp.de/index.html';return true;" onmouseout="window.status='';return true;"  class="bb-url">Politiker-stopp.de</a> Jetzt wird zurück zensiert!!!!1 
    <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/256bitorgBlog?a=qd6IMO7wCjQ:jAviGZIGm7w:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/256bitorgBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/256bitorgBlog/~4/qd6IMO7wCjQ" height="1" width="1"/>]]></content:encoded>

    <pubDate>Mon, 04 May 2009 20:35:28 +0200</pubDate>
    <guid isPermaLink="false">http://blog.256bit.org/archives/574-guid.html</guid>
    
<feedburner:origLink>http://blog.256bit.org/archives/574-Die-ultimative-Loesung-fuer-die-Internetzensierer.html</feedburner:origLink></item>
<item>
    <title>Fetchmail SSL-Fingerprint erneuern</title>
    <link>http://feedproxy.google.com/~r/256bitorgBlog/~3/zBJ4thJEodY/573-Fetchmail-SSL-Fingerprint-erneuern.html</link>
            <category>Tipps And Tricks</category>
    
    <comments>http://blog.256bit.org/archives/573-Fetchmail-SSL-Fingerprint-erneuern.html#comments</comments>
    <wfw:comment>http://blog.256bit.org/wfwcomment.php?cid=573</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://blog.256bit.org/rss.php?version=2.0&amp;type=comments&amp;cid=573</wfw:commentRss>
    

    <author>cb@256bit.org (chrisbra)</author>
    <content:encoded><![CDATA[
    Gmx hat mal wieder sein SSL-Zertifikat erneuert. Man sieht das schön in den Logs von fetchmail:<br />
<div class="bb-code-title">CODE:</div><div class="bb-code">fetchmail&#58;&#160;pop.gmx.net&#160;fingerprints&#160;do&#160;not&#160;match!<br />
13589&#58;error&#58;14090086&#58;SSL&#160;routines&#58;SSL3_GET_SERVER_CERTIFICATE&#58;certificate&#160;verify&#160;failed&#58;s3_clnt.c&#58;951&#58;<br />
fetchmail&#58;&#160;SSL&#160;connection&#160;failed.<br />
fetchmail&#58;&#160;socket&#160;error&#160;while&#160;fetching&#160;from&#160;...@gmx.de@pop.gmx.net<br />
fetchmail&#58;&#160;Query&#160;status=2&#160;&#40;SOCKET&#41;</div><br />
<br />
Man muß dazu sagen, dass ich fetchmail mit der folgenden Konfiguration aufrufe:<br />
<div class="bb-code-title">CODE:</div><div class="bb-code">poll&#160;pop.gmx.net&#160;proto&#160;POP3&#160;timeout&#160;30&#160;uidl<br />
&#160;&#160;user&#160;"user@gmx.de"&#160;password&#160;"passwort"&#160;is&#160;"user"&#160;ssl<br />
&#160;&#160;sslproto&#160;tls1&#160;sslcertpath&#160;/etc/ssl/certs&#160;sslfingerprint<br />
&#160;&#160;"BA&#58;03&#58;AC&#58;50&#58;A9&#58;A0&#58;C7&#58;AF&#58;1E&#58;79&#58;3A&#58;B7&#58;C0&#58;E7&#58;19&#58;5E"&#160;sslcertck&#160;keep</div><br />
<br />
(Nein, das Passwort ist nicht passwort und die E-Mail Adresse ist auch nicht user@gmx.de <img src="http://blog.256bit.org/templates/default/img/emoticons/wink.png" alt=";-)" style="display: inline; vertical-align: bottom;" class="emoticon" />)<br />
In dieser Konfiguration überprüft fetchmail den angegebenen SSL Fingerprint (Option sslfingerprint) gegen den Fingerprint des Zertifikats, dass der Server angibt und wenn der Fingerprint nicht stimmt, dann gibt es eben obige Fehlermeldung. Zusätzlich wird mit der Option sslcertck überprüft, ob das Zertifikat (direkt oder indirekt) vertrauenswürdig ist. GMX verwendet zum Beispiel ein Zertifikat das von <a href="http://blog.256bit.org/exit.php?url_id=2640&amp;entry_id=573" title="http://de.wikipedia.org/wiki/Thawte"  onmouseover="window.status='http://de.wikipedia.org/wiki/Thawte';return true;" onmouseout="window.status='';return true;"  class="bb-url">Thawte</a> ausgestellt ist. Wenn man das Paket ca-certificates installiert, bekommt man unter anderem das Thawte Root-Zertifikat installiert und das System betrachtet diese Zertifikate als vertrauenswürdig. Der generische, manuelle Weg diese Zertifikate zu erhalten ist für Thawte <a href="http://blog.256bit.org/exit.php?url_id=2641&amp;entry_id=573" title="http://groups.google.com/group/de.comm.software.mailserver/msg/8a1667c658ac337c"  onmouseover="window.status='http://groups.google.com/group/de.comm.software.mailserver/msg/8a1667c658ac337c';return true;" onmouseout="window.status='';return true;"  class="bb-url">hier</a> beschrieben.<br />
<br />
Zurück zu der obigen Fehlermeldung. Die sieht verdächtig nach einem erneuerten Zertifikat aus. Glücklicherweise kann man das recht einfach prüfen und damit ich mir die passenden Optionen nicht jedesmal aus der Manpage raussuchen muß, hier die Schrittfolge in Kurzform:<br />
<div class="bb-code-title">CODE:</div><div class="bb-code">chrisbra@256bit&#58;~$&#160;openssl&#160;s_client&#160;-connect&#160;pop.gmx.net&#58;995&#160;-tls1&#160;&#60;/dev/null&#160;&#160;2&#62;/dev/null&#160;&#160;&#160;|sed&#160;-n&#160;/BEGIN/,/END/p&#160;&#160;|&#160;openssl&#160;x509&#160;-dates&#160;-fingerprint&#160;-md5&#160;&#160;-noout<br />
notBefore=Apr&#160;27&#160;08&#58;51&#58;09&#160;2009&#160;GMT<br />
notAfter=May&#160;10&#160;07&#58;06&#58;14&#160;2010&#160;GMT<br />
MD5&#160;Fingerprint=92&#58;C8&#58;49&#58;13&#58;3A&#58;55&#58;D6&#58;57&#58;37&#58;5F&#58;0F&#58;12&#58;83&#58;39&#58;CE&#58;06</div><br />
<br />
In Langform: Zunächst bauen wir uns eine verschlüsselte Verbindung zu pop.gmx.net auf. Da sieht man z.B. welches Zertifikat der Server dem Client präsentiert. Dieses Zertifikat kann man sich dann auch in Textform ausgeben lassen (openssl x509 -text <datei>) oder wie hier nur die wichtigsten Daten anzeigen. Das sind hier Gültigkeitszeitraum und der md5-Fingerprint. (Denn fetchmail erwartet einen md5-Fingerprint bei der Option sslfingerprint. Wie man sieht, gab es heute morgen ein neues Zertifikat und dessen Fingerprint muß nun fetchmail bekannt gemacht werden. Also neuen Fingerprint in die .fetchmailrc eingetragen und schon funktioniert die verschlüsselte Kommunikation wieder:<br />
<br />
<div class="bb-code-title">CODE:</div><div class="bb-code">fetchmail&#160;--verbose&#160;pop.gmx.net<br />
fetchmail&#58;&#160;6.3.9-rc2&#160;fragt&#160;pop.gmx.net&#160;ab&#160;&#40;Protokoll&#160;POP3&#41;&#160;um&#160;Mo&#160;27&#160;Apr&#160;2009&#160;21&#58;43&#58;53&#160;CEST&#58;&#160;Abfrage&#160;gestartet<br />
Versuche,&#160;mit&#160;213.165.64.22/995&#160;zu&#160;verbinden...verbunden.<br />
fetchmail&#58;&#160;Herausgeber-Organisation&#58;&#160;Thawte&#160;Consulting&#160;cc<br />
fetchmail&#58;&#160;Herausgeber-CommonName&#58;&#160;Thawte&#160;Premium&#160;Server&#160;CA<br />
fetchmail&#58;&#160;Server-CommonName&#58;&#160;pop.gmx.net<br />
fetchmail&#58;&#160;pop.gmx.net-Schlüssel-Fingerabdruck&#58;&#160;92&#58;C8&#58;49&#58;13&#58;3A&#58;55&#58;D6&#58;57&#58;37&#58;5F&#58;0F&#58;12&#58;83&#58;39&#58;CE&#58;06<br />
fetchmail&#58;&#160;pop.gmx.net-Fingerabdrücke&#160;stimmen&#160;überein.<br />
fetchmail&#58;&#160;POP3&#60;&#160;+OK&#160;GMX&#160;POP3&#160;StreamProxy&#160;ready<br />
fetchmail&#58;&#160;POP3&#62;&#160;CAPA<br />
fetchmail&#58;&#160;POP3&#60;&#160;+OK<br />
fetchmail&#58;&#160;POP3&#60;&#160;STLS<br />
....</div><br />
<br />
Ach ja, und spätestens am 10. Mai 2010 wird es wieder ein neues Zertifikat geben. 
    <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/256bitorgBlog?a=zBJ4thJEodY:unyVRC_9ppY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/256bitorgBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/256bitorgBlog/~4/zBJ4thJEodY" height="1" width="1"/>]]></content:encoded>

    <pubDate>Mon, 27 Apr 2009 21:05:50 +0200</pubDate>
    <guid isPermaLink="false">http://blog.256bit.org/archives/573-guid.html</guid>
    
<feedburner:origLink>http://blog.256bit.org/archives/573-Fetchmail-SSL-Fingerprint-erneuern.html</feedburner:origLink></item>
<item>
    <title>Debugging mit Informatica Powercenter 8</title>
    <link>http://feedproxy.google.com/~r/256bitorgBlog/~3/l6bjTaPJ2iw/572-Debugging-mit-Informatica-Powercenter-8.html</link>
            <category>Software</category>
    
    <comments>http://blog.256bit.org/archives/572-Debugging-mit-Informatica-Powercenter-8.html#comments</comments>
    <wfw:comment>http://blog.256bit.org/wfwcomment.php?cid=572</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.256bit.org/rss.php?version=2.0&amp;type=comments&amp;cid=572</wfw:commentRss>
    

    <author>cb@256bit.org (chrisbra)</author>
    <content:encoded><![CDATA[
    Ich muß mal kurz einen kleinen Rant loswerden.<br />
<br />
In den letzten 2 Wochen habe ich 2 komplexere Probleme in 2 Flows untersucht. Das Killerfeature was dabei immer genannt wird ist der eingebaute Debugger. Damit kann man einem Datensatz zusehen, wie die Transformationslogik angewandt wird. So richtig schön grafisch und mit Breakpoints. Zumindest theoretisch. Praktischerweise funktioniert das Teil nämlich nicht verläßlich, zumindest, wenn in der Mappinglogik ein Outer-Join enthalten ist. Dann beendet sich der Debugger nämlich einfach ohne ersichtlichen Grund. Wenn man Glück hat, kann man wenigstens noch durch einen Teil der Logik durchsteppen. Was hab ich geflucht, aufgrund dieses Bugs, der schon mindestens seit Version 7 drin ist.<br />
<br />
Man kann in diesem Fall also nicht mit dem Debugger debuggen. Was macht man? Richtig, wie früher in der guten alten Zeit() das Loglevel hochdrehen auf "Verbose Data" (damit loggt Informatica praktisch für jede Transformation den eingehenden und ausgehenden Datensatz) und dann Logfiles lesen. Lustigerweise hat Informatica mit Version 8 auf eine Art binäres Logfile umgestellt. Man kann diese Dinger nicht mehr anständig mit einem stinknormalen Editor oder Pager lesen, sondern muß den eingebauten Logfile Viewer nutzen. Der ist schon umständlich genug zu nutzen, nur leider ist das Teil auch nicht mal richtig stabil. Während ich also das Loglevel auf Verbose Data hochdrehte und mit ein paar Testdatensatz den ganzen Flow nochmal laufen lies, stellte ich fest, dass das Logfile auf enorme 2 GB angewachsen war. Und das mit nur einer Handvoll Testdatensätze. Aber wartet, es kommt noch besser: Als ich versuchte, das Logfile mit dem eingebauten Logfileviewer zu öffen, ist mit der Viewer gnadenlos abgestürzt. Also Loglevel wieder runtergedreht auf Normal und nur bei vereinzelten Transformationen "Verbose Data" angeschaltet. Danach war das Logfile immer noch mehrere Hundert MB groß, doch zumindest konnte man es betrachten.<br />
<br />
Ich glaube jedes Problem hat ca: 1 Arbeitstag gekostet, bis ich den Fehler gefunden hatte. Da gibt es noch Verbesserungspotential. 
    <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/256bitorgBlog?a=l6bjTaPJ2iw:YRpBXI4996M:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/256bitorgBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/256bitorgBlog/~4/l6bjTaPJ2iw" height="1" width="1"/>]]></content:encoded>

    <pubDate>Mon, 27 Apr 2009 18:09:04 +0200</pubDate>
    <guid isPermaLink="false">http://blog.256bit.org/archives/572-guid.html</guid>
    
<feedburner:origLink>http://blog.256bit.org/archives/572-Debugging-mit-Informatica-Powercenter-8.html</feedburner:origLink></item>
<item>
    <title>Cognos</title>
    <link>http://feedproxy.google.com/~r/256bitorgBlog/~3/TtN_twVinl8/571-Cognos.html</link>
            <category>misc</category>
    
    <comments>http://blog.256bit.org/archives/571-Cognos.html#comments</comments>
    <wfw:comment>http://blog.256bit.org/wfwcomment.php?cid=571</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.256bit.org/rss.php?version=2.0&amp;type=comments&amp;cid=571</wfw:commentRss>
    

    <author>cb@256bit.org (chrisbra)</author>
    <content:encoded><![CDATA[
    Nun betätige ich mich seit ca: 1 Monat verstärkt mit <a href="http://blog.256bit.org/exit.php?url_id=2638&amp;entry_id=571" title="http://de.wikipedia.org/wiki/Business_Intelligence"  onmouseover="window.status='http://de.wikipedia.org/wiki/Business_Intelligence';return true;" onmouseout="window.status='';return true;"  class="bb-url">Business-Intelligence</a>, genauer mit <a href="http://blog.256bit.org/exit.php?url_id=2639&amp;entry_id=571" title="http://de.wikipedia.org/wiki/Cognos"  onmouseover="window.status='http://de.wikipedia.org/wiki/Cognos';return true;" onmouseout="window.status='';return true;"  class="bb-url">Cognos</a> Report Studio und Framework Manager.<br />
<br />
Das ist schon eine interessante Web 2.0 Anwendung. Aber was mich am meisten erstaunt: es gibt soviele Möglichkeiten irgendwo einen Parameter zu setzen, dass man oft nur durch probieren zum gewünschten Ergebnis kommt. Und selbst bei vermeintlich leichten Berichten ist man oft viel länger mit dem Erstellen des Berichts beschäftigt, als erwartet.<br />
<br />
Und man kann soviel Zeit mit Kleinigkeiten verschwenden, man glaubt es kaum.<br />
<br />
Erstaunlicherweise ist das Migrations- und Deploymentkonzept anscheinend nicht sonderlich ausgereift. Für eine professionelle Web Anwendung, die nicht erst seit gestern dabei ist, schon seltsam. Ich bin mal gespannt, wie sich das Produkt durch die Übernahme von IBM weiter entwickelt. <br />
<br />
 
    <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/256bitorgBlog?a=TtN_twVinl8:hWPABJ1ObPk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/256bitorgBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/256bitorgBlog/~4/TtN_twVinl8" height="1" width="1"/>]]></content:encoded>

    <pubDate>Sat, 25 Apr 2009 21:22:05 +0200</pubDate>
    <guid isPermaLink="false">http://blog.256bit.org/archives/571-guid.html</guid>
    
<feedburner:origLink>http://blog.256bit.org/archives/571-Cognos.html</feedburner:origLink></item>
<item>
    <title>Luftballons in der Oberleitung</title>
    <link>http://feedproxy.google.com/~r/256bitorgBlog/~3/s8hCNxdNjng/570-Luftballons-in-der-Oberleitung.html</link>
            <category>Die Bahn</category>
    
    <comments>http://blog.256bit.org/archives/570-Luftballons-in-der-Oberleitung.html#comments</comments>
    <wfw:comment>http://blog.256bit.org/wfwcomment.php?cid=570</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.256bit.org/rss.php?version=2.0&amp;type=comments&amp;cid=570</wfw:commentRss>
    

    <author>cb@256bit.org (chrisbra)</author>
    <content:encoded><![CDATA[
    Heute mal wieder aus der Kategorie die schönsten Bahndurchsagen.<br />
<br />
Der Zug schleicht mal wieder durch Frankfurt. Man ist solches ja durchaus mal gewohnt, aber diesmal gab es auch die passende Ansage dazu. Da knattert die Ansage los:<br />
<blockquote><br />
"Sehr geehrte Fahrgäste, wenn Sie jetzt auf der rechten Seite aus dem Fenster schauen, sehen Sie auch gleich ein Fahrzeug der Bahn. Die Kollegen dort sind mit der Behebung einer Störung beschäftigt. Grund der Störung sind Luftballons in der Oberleitung. Sie haben richtig gehört, Luftballons in der Oberleitung sind der Grund, dass wir so langsam fahren müssen, denn einerseits möchten wir nicht die Kollegen gefährden und andererseits könnten wir bei höheren Geschwindigkeiten einen Kurzschluß auslösen.<br />
<br />
Für die Unannehmlichkeiten bitte ich um Entschuldigung."<br />
</blockquote><br />
<br />
Manchmal finde ich das Bahnunterhaltungsprogramm echt angenehm. Fehlte nur noch, dass uns der Sprecher die Sehenswürdigkeiten von Frankfurt erklärt.<br />
 
    <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/256bitorgBlog?a=s8hCNxdNjng:ScfFOH2MnNQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/256bitorgBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/256bitorgBlog/~4/s8hCNxdNjng" height="1" width="1"/>]]></content:encoded>

    <pubDate>Fri, 24 Apr 2009 15:20:00 +0200</pubDate>
    <guid isPermaLink="false">http://blog.256bit.org/archives/570-guid.html</guid>
    
<feedburner:origLink>http://blog.256bit.org/archives/570-Luftballons-in-der-Oberleitung.html</feedburner:origLink></item>
<item>
    <title>Restore eines Backups</title>
    <link>http://feedproxy.google.com/~r/256bitorgBlog/~3/-hhgD_1yAYk/569-Restore-eines-Backups.html</link>
            <category>Windows</category>
    
    <comments>http://blog.256bit.org/archives/569-Restore-eines-Backups.html#comments</comments>
    <wfw:comment>http://blog.256bit.org/wfwcomment.php?cid=569</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.256bit.org/rss.php?version=2.0&amp;type=comments&amp;cid=569</wfw:commentRss>
    

    <author>cb@256bit.org (chrisbra)</author>
    <content:encoded><![CDATA[
    Nun hab ich seit mehr als 2 Jahren meine Backup-Lösung auf Basis von <a href="http://blog.256bit.org/exit.php?url_id=2636&amp;entry_id=569" title="http://blog.256bit.org/archives/312-Verschluesselte-Backups-auf-Windows-Maschinen-mittels-TrueCrypt-und-rsnapshot.html"  onmouseover="window.status='http://blog.256bit.org/archives/312-Verschluesselte-Backups-auf-Windows-Maschinen-mittels-TrueCrypt-und-rsnapshot.html';return true;" onmouseout="window.status='';return true;"  class="bb-url">rsnapshot und Truecrypt im Einsatz</a>.<br />
<br />
Diese Woche hatte ich sozusagen den Ernstfall. Ich wollte meine Daten auf eine neue Maschine syncen. Nachdem ich mittels Truecrypt die Partition entschlüsselt hatte brach das Kopieren immer mit einem "Acces Denied" Fehler ab.<br />
<br />
Zunächst dachte, das wären Anzeichen für den baldigen bevorstehenden Tod meiner Festplatte. Leicht beunruhigt ließ ich einen Dateisystemcheck laufen, der aber keine Ergebnisse brachte. Testweise an mein altes Arbeitsgerät angeschlossen und siehe da, alles funktioniert wie zuvor. Das machte mich stutzig und nach kurzem Nachdenken kam ich auch auf die Lösung: Das Backup erfolgt aus mehreren Gründen auf ein NTFS-Dateisystem (u.a. Unterstüzung für Dateien größer > 4 GB, nicht so starke Fragmentierung und eben auch Zugriffsberechtigungen). Und da haben wir auch schon das Problem: die <a href="http://blog.256bit.org/exit.php?url_id=2637&amp;entry_id=569" title="http://de.wikipedia.org/wiki/Access_Control_List"  onmouseover="window.status='http://de.wikipedia.org/wiki/Access_Control_List';return true;" onmouseout="window.status='';return true;"  class="bb-url">ACLs</a>, denn der Inhaber/Owner der Dateien war auf dem neuen System ein anderer (obwohl der Username jedesmal der selbe war).<br />
<br />
Leider brachte Google zum Ändern nur die Hinweise: rechter Mausklick auf Datei, Menüpunkt Properties und dann im Reiter Security kann man die Berechtigungen anpassen. Nur, auf dem neuen System gab es den Menüpunkt nicht. Den gibt es nämlich nur, wenn man "Use Simple File Sharing (Recommended)" <strong>nicht</strong> angehakt hat (Explorer, Menü Tools->Folder Options, Reiter View, letzter Punkt). Nach dem ich den Haken entfernt hatte, gab es auch den Reiter Security in den Eigenschaften einer Datei.<br />
<br />
Also in die Eigenschaften der Ordner gegangen, Reiter Security, den Advanced Knopf ausgewählt und nun einmal im Reiter Permissions dem neuen Benutzer explizit alle Rechte geben und zusätzlich im Reiter den Owner auf den neuen alten Nutzer gesetzt und nicht vergessen das Häkchen "Replace permission entries on all child objects." bei Permissions anhaken und im Reiter Owner das Häkchen "Replace Owner on subcontainers and objects" anhaken. Damit die Änderungen auch in allen Unterobjekten übernommen werden.<br />
<br />
Danach ok anklicken und Windows rattert über die komplette Backup Platte und ändert alles wie gewünscht. 
    <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/256bitorgBlog?a=-hhgD_1yAYk:FdTJP0Prgh4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/256bitorgBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/256bitorgBlog/~4/-hhgD_1yAYk" height="1" width="1"/>]]></content:encoded>

    <pubDate>Fri, 24 Apr 2009 07:54:44 +0200</pubDate>
    <guid isPermaLink="false">http://blog.256bit.org/archives/569-guid.html</guid>
    
<feedburner:origLink>http://blog.256bit.org/archives/569-Restore-eines-Backups.html</feedburner:origLink></item>
<item>
    <title>IBM/Mantissa bringt x86 Paravirtualisierung für zSeries</title>
    <link>http://feedproxy.google.com/~r/256bitorgBlog/~3/VIXZuKRLxuc/563-IBMMantissa-bringt-x86-Paravirtualisierung-fuer-zSeries.html</link>
    
    <comments>http://blog.256bit.org/archives/563-IBMMantissa-bringt-x86-Paravirtualisierung-fuer-zSeries.html#comments</comments>
    <wfw:comment>http://blog.256bit.org/wfwcomment.php?cid=563</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.256bit.org/rss.php?version=2.0&amp;type=comments&amp;cid=563</wfw:commentRss>
    

    <author>ms@256bit.org (mschoechlin)</author>
    <content:encoded><![CDATA[
    <p><br />
Ende Februar haben sich viele Hosties die Augen gerieben als sie z.B. folgenden Blogeintrag gelesen haben:<br /> <a href="http://blog.256bit.org/exit.php?url_id=2597&amp;entry_id=563" title="http://mainframe.typepad.com/blog/2009/02/late-february-2009-mainframe-potpourri.html"  onmouseover="window.status='http://mainframe.typepad.com/blog/2009/02/late-february-2009-mainframe-potpourri.html';return true;" onmouseout="window.status='';return true;" class="moz-txt-link-freetext">http://mainframe.typepad.com/blog/2009/02/late-february-2009-mainframe-potpourri.html</a><br /> <br /><br />
Punkt 4 beschreibt dabei folgendes:<br /> <em>Mantissa Corporation will show how you can run unmodified X86<br />
software on System z under z/VM, including X86-based Linux and<br />
Microsoft Windows operating systems, middleware, and applications.<br />
(Yes, you read that correctly. Ain't virtualization nifty? Maybe IBM<br />
should call mainframes &quot;System u,&quot; for universal.) Mark your calendars<br />
and ask lots of good questions at </em><a href="http://blog.256bit.org/exit.php?url_id=2598&amp;entry_id=563" title="http://www.share.org/"  onmouseover="window.status='http://www.share.org/';return true;" onmouseout="window.status='';return true;"><em>SHARE</em></a><em>: Mantissa's </em><a href="http://blog.256bit.org/exit.php?url_id=2599&amp;entry_id=563" title="http://www.mantissa.com/SHARE-conference"  onmouseover="window.status='http://www.mantissa.com/SHARE-conference';return true;" onmouseout="window.status='';return true;"><em>unveiling starts at 8:00 a.m. Texas time on March 6</em></a>.<br /> <br /><br />
Nun ist die SHARE um - und die&#160; <a href="http://blog.256bit.org/exit.php?url_id=2600&amp;entry_id=563" title="http://linuxvm.org/Present/#share112"  onmouseover="window.status='http://linuxvm.org/Present/#share112';return true;" onmouseout="window.status='';return true;">Vortragsslides</a> lassen weitere Details erahnen: <a href="http://blog.256bit.org/exit.php?url_id=2601&amp;entry_id=563" title="http://ew.share.org/proceedingmod/abstract.cfm?abstract_id=19229"  onmouseover="window.status='http://ew.share.org/proceedingmod/abstract.cfm?abstract_id=19229';return true;" onmouseout="window.status='';return true;">http://ew.share.org/proceedingmod/abstract.cfm?abstract_id=19229</a> (<a href="http://blog.256bit.org/exit.php?url_id=2602&amp;entry_id=563" title="http://ew.share.org/client_files/callpapers/attach/SHARE_in_Austin/S9162GD131037.pdf"  onmouseover="window.status='http://ew.share.org/client_files/callpapers/attach/SHARE_in_Austin/S9162GD131037.pdf';return true;" onmouseout="window.status='';return true;">PDF</a>)</p> <br />
<p><strong>UPDATE: Hier gibt es <a href="http://blog.256bit.org/exit.php?url_id=2634&amp;entry_id=563" title="http://www.mantissa.com/blog"  onmouseover="window.status='http://www.mantissa.com/blog';return true;" onmouseout="window.status='';return true;">ein Blog zu den aktuellen Entwicklungen von z/Vos</a></strong></p> <br />
<p><strong>UPDATE2: Ein Video mit einer <a href="http://blog.256bit.org/exit.php?url_id=2635&amp;entry_id=563" title="http://www.mantissa.com/zVos-development-demos"  onmouseover="window.status='http://www.mantissa.com/zVos-development-demos';return true;" onmouseout="window.status='';return true;">z/Vos Demo gibt es auch </a></strong><br /></p> 
    <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/256bitorgBlog?a=VIXZuKRLxuc:z4Vnfc01gkQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/256bitorgBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/256bitorgBlog/~4/VIXZuKRLxuc" height="1" width="1"/>]]></content:encoded>

    <pubDate>Wed, 22 Apr 2009 06:31:00 +0200</pubDate>
    <guid isPermaLink="false">http://blog.256bit.org/archives/563-guid.html</guid>
    
<feedburner:origLink>http://blog.256bit.org/archives/563-IBMMantissa-bringt-x86-Paravirtualisierung-fuer-zSeries.html</feedburner:origLink></item>

</channel>
</rss>
