<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule">
<channel>
    <title>roothausen - computer</title>
    <link>http://blog.roothausen.de/</link>
    <description>Born to be different ...</description>
    <dc:language>en</dc:language>
    <generator>Serendipity 1.5.2 - http://www.s9y.org/</generator>
    <pubDate>Fri, 21 May 2010 03:01:04 GMT</pubDate>

    <image>
        <url>http://blog.roothausen.de/templates/default/img/s9y_banner_small.png</url>
        <title>RSS: roothausen - computer - Born to be different ...</title>
        <link>http://blog.roothausen.de/</link>
        <width>100</width>
        <height>21</height>
    </image>

<item>
    <title>Scala - A Scalable Language</title>
    <link>http://blog.roothausen.de/2010/05/21/scala-a-scalable-language/</link>
            <category>computer</category>
    
    <comments>http://blog.roothausen.de/2010/05/21/scala-a-scalable-language/#comments</comments>
    <wfw:comment>http://blog.roothausen.de/wfwcomment.php?cid=715</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.roothausen.de/rss.php?version=2.0&amp;type=comments&amp;cid=715</wfw:commentRss>
    

    <author>nospam@example.com (Sven Pfleiderer)</author>
    <content:encoded>
    &lt;p&gt;Da es aktuell aufgrund von Zeitmangel relativ still auf diesem Blog ist und ich aktuell den meisten Content auf &lt;a href=&quot;http://twitter.com/pfleidi&quot; title=&quot;pfleidi auf Twitter&quot;&gt;Twitter&lt;/a&gt; und bei &lt;a href=&quot;http://blog.radiotux.de&quot; title=&quot;RadioTux&quot;&gt;RadioTux&lt;/a&gt; produziere, wollte ich auch an dieser Stelle mal ein Lebenszeichen von mir geben und die Slides meiner letzten Präsentation über die &lt;a href=&quot;http://scala-lang.org&quot; title=&quot;Scala&quot;&gt;Programmiersprache Scala&lt;/a&gt; veröffentlichen.&lt;/p&gt;

&lt;div style=&quot;width:425px&quot; id=&quot;__ss_4190265&quot;&gt;&lt;strong style=&quot;display:block;margin:12px 0 4px&quot;&gt;&lt;a href=&quot;http://www.slideshare.net/pfleidi/presentation-4190265&quot; title=&quot;Scala - A Scalable Language&quot;&gt;Scala - A Scalable Language&lt;/a&gt;&lt;/strong&gt;&lt;!-- xhtml clean youtube --&gt;&lt;object type=&quot;application/x-shockwave-flash&quot; width=&quot;425&quot; height=&quot;355&quot; data=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=presentation-100520211825-phpapp02&amp;amp;stripped_title=presentation-4190265&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=presentation-100520211825-phpapp02&amp;amp;stripped_title=presentation-4190265&quot; /&gt;&lt;param name=&quot;movie&quot; value=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=presentation-100520211825-phpapp02&amp;amp;stripped_title=presentation-4190265&quot; /&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;/&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;/&gt;&lt;/object&gt;&lt;!-- /xhtml clean youtube --&gt;

&lt;!-- &lt;object id=&quot;__sse4190265&quot; width=&quot;425&quot; height=&quot;355&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=presentation-100520211825-phpapp02&amp;amp;stripped_title=presentation-4190265&quot; /&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;/&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;/&gt;&lt;embed name=&quot;__sse4190265&quot; src=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=presentation-100520211825-phpapp02&amp;stripped_title=presentation-4190265&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;425&quot; height=&quot;355&quot;&gt;&lt;/embed&gt;&lt;/object&gt; --&gt;

&lt;div style=&quot;padding:5px 0 12px&quot;&gt;View more &lt;a href=&quot;http://www.slideshare.net/&quot;&gt;presentations&lt;/a&gt; from &lt;a href=&quot;http://www.slideshare.net/pfleidi&quot;&gt;pfleidi&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Die Präsentation gibt es &lt;a href=&quot;http://blog.roothausen.de/uploads/presentations/scala-lang.pdf&quot; title=&quot;Scala Präsentation&quot;&gt;hier&lt;/a&gt; als PDF zum Download.&lt;/p&gt;

&lt;p&gt;Abschließend habe ich noch ein &lt;a href=&quot;http://gist.github.com/404917&quot;&gt;Beispielprogramm&lt;/a&gt; erstellt, das den Einsatz von Scala Traits als polymorphe Typen beschreibt:&lt;/p&gt;

&lt;script type=&quot;text/javascript&quot; src=&quot;http://gist.github.com/404917.js?file=TraitTest.scala&quot;&gt;&lt;/script&gt;
  
    </content:encoded>

    <pubDate>Fri, 21 May 2010 04:42:18 +0200</pubDate>
    <guid isPermaLink="false">http://blog.roothausen.de/2010/05/21/715/</guid>
    <category>code</category>
<category>computer</category>
<category>presentation</category>
<category>programming</category>
<category>scala</category>
<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
</item>
<item>
    <title>CPU-Frequency-Scaling Probleme</title>
    <link>http://blog.roothausen.de/2010/02/07/cpu-frequency-scaling-probleme/</link>
            <category>computer</category>
    
    <comments>http://blog.roothausen.de/2010/02/07/cpu-frequency-scaling-probleme/#comments</comments>
    <wfw:comment>http://blog.roothausen.de/wfwcomment.php?cid=714</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.roothausen.de/rss.php?version=2.0&amp;type=comments&amp;cid=714</wfw:commentRss>
    

    <author>nospam@example.com (Sven Pfleiderer)</author>
    <content:encoded>
    &lt;p&gt;Ich bin, &lt;a href=&quot;http://blog.roothausen.de/2007/03/08/das-neue-spielzeug/&quot;&gt;wie bereits bekannt sein sollte&lt;/a&gt;, seit knapp 3 Jahren Besitzer eines Thinpkpad T60. Leider hatte ich hiermit in der Letzten Zeit Probleme mit dem &lt;a href=&quot;http://wiki.archlinux.org/index.php/CPU_Frequency_Scaling&quot;&gt;CPU-Frequency-Scaling&lt;/a&gt;: Wenn man das Notebook über das Netzteil mit Strom versorgt hat und der Akku entfernt war, wurde die CPU dauerhaft auf ihre minimale Taktfrequenz herunter geregelt. Diesen Zustand hat auch das Tool &lt;strong&gt;cpufreq-info&lt;/strong&gt; bestätigt:&lt;/p&gt;

&lt;pre&gt;
cpufrequtils 006: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to cpufreq@vger.kernel.org, please.
analyzing CPU 0:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 0 1
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 10.0 us.
  hardware limits: 1000 MHz - 1.83 GHz
  available frequency steps: 1.83 GHz, 1.33 GHz, 1000 MHz
  available cpufreq governors: powersave, ondemand, performance
  current policy: &lt;strong&gt;frequency should be within 1000 MHz and 1000 MHz&lt;/strong&gt;
                  The governor &quot;ondemand&quot; may decide which speed to use
                  within this range.
  current CPU frequency is 1000 MHz (asserted by call to hardware).
&lt;/pre&gt;

&lt;p&gt;Nach einer kurzen Suche habe ich im Thinkwiki &lt;a href=&quot;http://www.thinkwiki.org/wiki/Problem_with_CPU_frequency_scaling&quot;&gt;eine passende Lösung gefunden&lt;/a&gt;: Das Anhängen des Parameters &quot;processor.ignore_ppc=1&quot; an die Kerneloptionen im Bootloader. Ein passender Eintrag sollte bei grub ungefähr so aussehen:&lt;/p&gt;

&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# (0) Arch Linux&lt;/span&gt;&lt;br /&gt;title &amp;#160;Arch Linux-ck&lt;br /&gt;root &amp;#160; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;hd0,&lt;span style=&quot;color: #000000;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;kernel &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;vmlinuz26-ck &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;weitere optionen&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt; processor.ignore_ppc=&lt;span style=&quot;color: #000000;&quot;&gt;1&lt;/span&gt;&lt;br /&gt;initrd &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;kernel26-ck.img&lt;br /&gt;&amp;#160;&lt;/div&gt;

&lt;p&gt;Nach dieser Änderung und reinem Neustart des Notebooks skaliert die CPU nun bei Last auch wieder sauber auf höhere Taktfrequenzen:&lt;/p&gt;

&lt;pre&gt;
analyzing CPU 0:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 0 1
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 10.0 us.
  hardware limits: 1000 MHz - 1.83 GHz
  available frequency steps: 1.83 GHz, 1.33 GHz, 1000 MHz
  available cpufreq governors: powersave, ondemand, performance
  &lt;strong&gt;current policy: frequency should be within 1000 MHz and 1.83 GHz.&lt;/strong&gt;
                  The governor &quot;ondemand&quot; may decide which speed to use
                  within this range.
  current CPU frequency is 1000 MHz (asserted by call to hardware).
&lt;/pre&gt;  
    </content:encoded>

    <pubDate>Sun, 07 Feb 2010 00:35:24 +0100</pubDate>
    <guid isPermaLink="false">http://blog.roothausen.de/2010/02/07/714/</guid>
    <category>computer</category>
<category>hardware</category>
<category>linux&amp;unix</category>
<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
</item>
<item>
    <title>Feedchecker Version 0.4</title>
    <link>http://blog.roothausen.de/2009/12/24/feedchecker-version-0.4/</link>
            <category>computer</category>
    
    <comments>http://blog.roothausen.de/2009/12/24/feedchecker-version-0.4/#comments</comments>
    <wfw:comment>http://blog.roothausen.de/wfwcomment.php?cid=712</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.roothausen.de/rss.php?version=2.0&amp;type=comments&amp;cid=712</wfw:commentRss>
    

    <author>nospam@example.com (Sven Pfleiderer)</author>
    <content:encoded>
    &lt;h1&gt;Änderungen&lt;/h1&gt;

&lt;p&gt;Nach Feedback auf den letzten Blogeintrag habe ich mich nochmal an das &lt;a href=&quot;http://github.com/pfleidi/feedchecker&quot; title=&quot;Feedchecker auf github&quot;&gt;Feedchecker Script&lt;/a&gt; gemacht und ein paar Änderungen eingepflegt:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ruby 1.8 Kompatibilität (da ich selbst auf Ruby 1.9 entwickle)&lt;/li&gt;
&lt;li&gt;Vereinfachtes Suchen der Urls durch &lt;a href=&quot;http://de.wikipedia.org/wiki/XPath&quot;&gt;XPath-Expression&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Konfigurierbare Anzahl der parallel abzuholenden Feeds&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;&lt;br /&gt;.&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;feedchecker.rb &lt;span style=&quot;color: #660033;&quot;&gt;-h&lt;/span&gt;&lt;br /&gt;This is a simple, script &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;which&lt;/span&gt; takes an opml &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;file&lt;/span&gt; and checks all contained feeds &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;for&lt;/span&gt;&lt;br /&gt;errors.&lt;br /&gt;&lt;br /&gt;&amp;#160;Usage:&lt;br /&gt;&lt;br /&gt;feedchecker.rb &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;options&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-i&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;&lt;/span&gt;filename&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;where &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;options&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt; are:&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; --input, &lt;span style=&quot;color: #660033;&quot;&gt;-i&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;&lt;/span&gt;s&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;: &amp;#160; Input opml &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;file&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; --timeout, &lt;span style=&quot;color: #660033;&quot;&gt;-t&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;&lt;/span&gt;i&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;: &amp;#160; Timeout interval &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;in&lt;/span&gt; seconds &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;default: &lt;span style=&quot;color: #000000;&quot;&gt;60&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; --age, &lt;span style=&quot;color: #660033;&quot;&gt;-a&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;&lt;/span&gt;i&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;: &amp;#160; Specify the minimum age &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;in&lt;/span&gt; days &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;default: &lt;span style=&quot;color: #000000;&quot;&gt;365&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&amp;#160; --fetchparallel, &lt;span style=&quot;color: #660033;&quot;&gt;-f&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;&lt;/span&gt;i&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;: &amp;#160; Specify the amount of feeds to fetch parallel &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;default: &lt;span style=&quot;color: #000000;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; --version, -v: &amp;#160; Print version and &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;exit&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;--help, -h: &amp;#160; Show this message&lt;br /&gt;&amp;#160;&lt;/div&gt;
&lt;p&gt;Mehr Details gibts in der &lt;a href=&quot;http://github.com/pfleidi/feedchecker/commits/master&quot;&gt;Commit-History auf github&lt;/a&gt;.&lt;/p&gt;

&lt;h1&gt;Geschwindigkeit&lt;/h1&gt;

&lt;p&gt;In meinen Tests verwende ich meine Liste mit ca. 160 Feeds. Einmal mit den Standardeinstellungen und einmal mit der Option, dass 10 Feeds parallel abgeholt werden.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Zuerst ein paar Vorbereitungen:&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;wget&lt;/span&gt; http:&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;//&lt;/span&gt;github.com&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;pfleidi&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;feedchecker&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;raw&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;master&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;feedchecker.rb&lt;br /&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;chmod&lt;/span&gt; +x feedchecker.rb&lt;br /&gt;&amp;#160;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Mit Standardeinstellungen:&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;time&lt;/span&gt; .&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;feedchecker.rb &lt;span style=&quot;color: #660033;&quot;&gt;-i&lt;/span&gt; feeds.opml&lt;br /&gt;...&lt;br /&gt;real&amp;#160; &amp;#160; 1m33.162s&lt;br /&gt;user&amp;#160; &amp;#160; 0m18.909s&lt;br /&gt;sys &amp;#160; &amp;#160; 0m1.296s&lt;br /&gt;&amp;#160;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Mit 10 Threads:&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;time&lt;/span&gt; .&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;feedchecker.rb &lt;span style=&quot;color: #660033;&quot;&gt;-i&lt;/span&gt; feeds.opml &lt;span style=&quot;color: #660033;&quot;&gt;-f&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;10&lt;/span&gt;&lt;br /&gt;...&lt;br /&gt;real&amp;#160; &amp;#160; 1m20.754s&lt;br /&gt;user&amp;#160; &amp;#160; 0m19.493s&lt;br /&gt;sys &amp;#160; &amp;#160; 0m1.340s&lt;br /&gt;&amp;#160;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Mit 10 Threads und aggressiveren Timeouts von 20 statt 60 Sekunden:&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;time&lt;/span&gt; .&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;feedchecker.rb &lt;span style=&quot;color: #660033;&quot;&gt;-i&lt;/span&gt; feeds.opml &lt;span style=&quot;color: #660033;&quot;&gt;-f&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;10&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-t&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;20&lt;/span&gt;&lt;br /&gt;...&lt;br /&gt;real&amp;#160; &amp;#160; 0m39.808s&lt;br /&gt;user&amp;#160; &amp;#160; 0m19.205s&lt;br /&gt;sys &amp;#160; &amp;#160; 0m1.472s&lt;br /&gt;&amp;#160;&lt;/div&gt;

&lt;p&gt;Viel Spaß damit und ein frohes Fest euch allen!&lt;/p&gt;  
    </content:encoded>

    <pubDate>Thu, 24 Dec 2009 16:09:10 +0100</pubDate>
    <guid isPermaLink="false">http://blog.roothausen.de/2009/12/24/712/</guid>
    <category>code</category>
<category>computer</category>
<category>opensource</category>
<category>rss</category>
<category>ruby</category>
<category>software</category>
<category>web</category>
<category>xml</category>
<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
</item>
<item>
    <title>Feeds ausmisten</title>
    <link>http://blog.roothausen.de/2009/12/19/feeds-ausmisten/</link>
            <category>computer</category>
    
    <comments>http://blog.roothausen.de/2009/12/19/feeds-ausmisten/#comments</comments>
    <wfw:comment>http://blog.roothausen.de/wfwcomment.php?cid=711</wfw:comment>

    <slash:comments>6</slash:comments>
    <wfw:commentRss>http://blog.roothausen.de/rss.php?version=2.0&amp;type=comments&amp;cid=711</wfw:commentRss>
    

    <author>nospam@example.com (Sven Pfleiderer)</author>
    <content:encoded>
    &lt;h1&gt;Was tun mit riesigen Feedlisten?&lt;/h1&gt;

&lt;p&gt;Es geht wahrscheinlich vielen so: Man sammelt im laufe der Jahre hunderte Feeds in seiner Liste ohne nun wirklich zu wissen welche noch aktuell sind und welche nicht. In der letzten Zeit hatte ich genau aus diesem Grund mal wieder das Bedürfnis meine RSS-Feeds auszumisten. Da ich ein fauler Mensch bin und eigentlich keine Lust habe hunderte von Feeds &quot;von Hand&quot; zu prüfen, habe ich ein kleines Tool geschrieben, das mir dabei hilft kaputte, nicht erreichbare oder verwaiste Feeds zu entdecken.&lt;/p&gt;

&lt;h1&gt;Das Tool&lt;/h1&gt;

&lt;p&gt;&lt;a href=&quot;http://github.com/pfleidi/feedchecker&quot; title=&quot;feedchecker auf github&quot;&gt;Das Tool &lt;/a&gt;wurde in ruby geschrieben, ist frei unter der GPLv2 verfügbar und hoert auf den nicht besonders kreativen Namen feedchecker. Um es zu benutzen ist das &lt;a href=&quot;http://trollop.rubyforge.org/&quot; title=&quot;Trollop&quot;&gt;Trollop-Gem&lt;/a&gt; sowie das &lt;a href=&quot;http://peach.rubyforge.org/&quot;&gt;Peach-Gem&lt;/a&gt; notwendig. Dieses lassen sich einfach mittels &quot;gem install trollop&quot; sowie &quot;gem install peach&quot; installieren.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; Unter Debian scheint das SSL-Plugin nicht mit der normalen Ruby-Installation mit installiert zu werden. Darum sollte es noch mittels &quot;aptitude install libopenssl-ruby&quot; nachinstalliert werden.&lt;/p&gt;

&lt;h1&gt;Verwedung&lt;/h1&gt;

&lt;p&gt;Da das Tool nicht viel kann, haellt sich die Komplexitaet der Optionen in Grenzen:&lt;/p&gt;

&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;&lt;br /&gt;&amp;#160;.&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;feedchecker.rb &lt;span style=&quot;color: #660033;&quot;&gt;--help&lt;/span&gt;&lt;br /&gt;This is a simple, script &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;which&lt;/span&gt; takes an opml &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;file&lt;/span&gt; and checks all contained feeds &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;for&lt;/span&gt;&lt;br /&gt;errors.&lt;br /&gt;&lt;br /&gt;&amp;#160;Usage:&lt;br /&gt;&lt;br /&gt;feedchecker.rb &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;options&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-i&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;&lt;/span&gt;filename&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;where &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;options&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt; are:&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; --input, &lt;span style=&quot;color: #660033;&quot;&gt;-i&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;&lt;/span&gt;s&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;: &amp;#160; Input opml &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;file&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; --timeout, &lt;span style=&quot;color: #660033;&quot;&gt;-t&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;&lt;/span&gt;i&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;: &amp;#160; Timeout interval &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;in&lt;/span&gt; seconds &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;default: &lt;span style=&quot;color: #000000;&quot;&gt;60&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; --age, &lt;span style=&quot;color: #660033;&quot;&gt;-a&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;&lt;/span&gt;i&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;: &amp;#160; Specify the minimum age &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;in&lt;/span&gt; days &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;default: &lt;span style=&quot;color: #000000;&quot;&gt;365&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&amp;#160; --fetchparallel, &lt;span style=&quot;color: #660033;&quot;&gt;-f&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;&lt;/span&gt;i&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;: &amp;#160; Specify the amount of feeds to fetch parallel &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;default: &lt;span style=&quot;color: #000000;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; --version, -v: &amp;#160; Print version and &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;exit&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;--help, -h: &amp;#160; Show this message&lt;br /&gt;&amp;#160;&lt;/div&gt;

&lt;p&gt;Mit einem Aufruf des Scripts lässt sich zumindest die Liste der zu prüfenden Feeds stark eingrenzen.&lt;/p&gt;

&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;&lt;br /&gt;feedchecker.rb &lt;span style=&quot;color: #660033;&quot;&gt;-i&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;tmp&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;rss.opml &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;br /&gt;http:&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;//&lt;/span&gt;atsutane.freethoughts.de&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;feed&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;atom feed isn&lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;t well formed and could&#039;&lt;/span&gt;t be parsed&lt;br /&gt;http:&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;//&lt;/span&gt;blog.b-o-f-h.net&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;index.php?&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;feeds&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;index.rss2 is out of date. Age: &lt;span style=&quot;color: #000000;&quot;&gt;388&lt;/span&gt; days without an update&lt;br /&gt;http:&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;//&lt;/span&gt;blog.choas.net&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;RSS age could not be checked&lt;br /&gt;http:&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;//&lt;/span&gt;blog.fefe.de&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;rss.xml?html age could not be checked&lt;br /&gt;http:&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;//&lt;/span&gt;blog.roothell.org&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;feeds&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;index.rss2 Connection timed out&lt;br /&gt;http:&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;//&lt;/span&gt;codebu.de&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;blog&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;?&lt;span style=&quot;color: #007800;&quot;&gt;feed&lt;/span&gt;=rss2 Redirect ... new URI: http:&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;//&lt;/span&gt;codebu.de&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;blog&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;feed&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;br /&gt;...&lt;br /&gt;&amp;#160;&lt;/div&gt;

&lt;p&gt;Eventuell hat ja ausser mir noch jemand eine Verwendung dafür. Falls ja ist dies mein Weihnachtsgeschenk an euch.&lt;/p&gt;  
    </content:encoded>

    <pubDate>Sat, 19 Dec 2009 01:16:35 +0100</pubDate>
    <guid isPermaLink="false">http://blog.roothausen.de/2009/12/19/711/</guid>
    <category>code</category>
<category>computer</category>
<category>feedreader</category>
<category>rss</category>
<category>ruby</category>
<category>software</category>
<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
</item>
<item>
    <title>Verkleinern von Bildern mit Ruby und Imagemagick</title>
    <link>http://blog.roothausen.de/2009/08/09/verkleinern-von-bildern-mit-ruby-und-imagemagick/</link>
            <category>computer</category>
    
    <comments>http://blog.roothausen.de/2009/08/09/verkleinern-von-bildern-mit-ruby-und-imagemagick/#comments</comments>
    <wfw:comment>http://blog.roothausen.de/wfwcomment.php?cid=707</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://blog.roothausen.de/rss.php?version=2.0&amp;type=comments&amp;cid=707</wfw:commentRss>
    

    <author>nospam@example.com (Sven Pfleiderer)</author>
    <content:encoded>
    &lt;p&gt;Vor kurzem hatte ich das Bedürfnis Bilder automatisiert, mit Hilfe eines Ruby-Scripts, zu verkleinern. Dieses Script sollte zudem ohne Änderungen sowohl auf Linux als auch auf Windows lauffähig sein.&lt;/p&gt;

&lt;p&gt;Fuer diese Aufgabe ist &lt;a href=&quot;http://www.imagemagick.org/&quot;&gt;Imagemagick&lt;/a&gt; natürlich ein super Werkzeug, da man es auch als Bibliothek von Ruby aus nutzen kann und auch für Windows verfuegbar ist. Unter Windows ist hierfür eine &lt;a href=&quot;http://rubyinstaller.rubyforge.org&quot;&gt;Installation von Ruby&lt;/a&gt;, sowie die &lt;a href=&quot;http://rmagick.rubyforge.org/install-faq.html#win&quot;&gt;Installation von Imagemagick und dem passenden RMagick Ruby-Gem&lt;/a&gt; notwendig. Unter Linux reicht es Imagamagick und Ruby mit dem Paketmanager seiner Wahl zu installieren und mittels &quot;gem install rmagick&quot; das Gem zu installieren.&lt;/p&gt;

&lt;p&gt;Der eigentliche Code gestaltet sich relativ simpel. Prinzipiell lässt sich ein Bild mit wenigen Anweisungen verkleinern:&lt;/p&gt;

&lt;div class=&quot;ruby geshi&quot; style=&quot;text-align: left&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color:#008000; font-style:italic;&quot;&gt;#!/usr/bin/env ruby&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color:#CC0066; font-weight:bold;&quot;&gt;require&lt;/span&gt; &lt;span style=&quot;color:#996600;&quot;&gt;&#039;rubygems&#039;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color:#CC0066; font-weight:bold;&quot;&gt;require&lt;/span&gt; &lt;span style=&quot;color:#996600;&quot;&gt;&#039;RMagick&#039;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color:#0066ff; font-weight:bold;&quot;&gt;@debug&lt;/span&gt; = &lt;span style=&quot;color:#0000FF; font-weight:bold;&quot;&gt;true&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color:#9966CC; font-weight:bold;&quot;&gt;def&lt;/span&gt; resize_image&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#40;&lt;/span&gt;file&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160;&lt;span style=&quot;color:#CC0066; font-weight:bold;&quot;&gt;puts&lt;/span&gt; &lt;span style=&quot;color:#996600;&quot;&gt;&amp;quot;let&#039;s resize #{file} ...&amp;quot;&lt;/span&gt; &lt;span style=&quot;color:#9966CC; font-weight:bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color:#0066ff; font-weight:bold;&quot;&gt;@debug&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160;img = &lt;span style=&quot;color:#6666ff; font-weight:bold;&quot;&gt;Magick::Image&lt;/span&gt;::read&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#40;&lt;/span&gt;file&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span style=&quot;color:#9900CC;&quot;&gt;first&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160;img.&lt;span style=&quot;color:#9900CC;&quot;&gt;resize_to_fit&lt;/span&gt;&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color:#006666;&quot;&gt;1024&lt;/span&gt;, &lt;span style=&quot;color:#006666;&quot;&gt;1024&lt;/span&gt;&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160;img.&lt;span style=&quot;color:#9900CC;&quot;&gt;write&lt;/span&gt;&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#40;&lt;/span&gt;file&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160;&lt;span style=&quot;color:#CC0066; font-weight:bold;&quot;&gt;puts&lt;/span&gt; &lt;span style=&quot;color:#996600;&quot;&gt;&amp;quot;resizing of #{file} successful&amp;quot;&lt;/span&gt; &lt;span style=&quot;color:#9966CC; font-weight:bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color:#0066ff; font-weight:bold;&quot;&gt;@debug&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color:#9966CC; font-weight:bold;&quot;&gt;end&lt;/span&gt;&lt;br /&gt;&amp;#160;&lt;/div&gt;

&lt;p&gt;Die Methode &lt;a href=&quot;http://www.imagemagick.org/RMagick/doc/image3.html#resize_to_fit&quot;&gt;resize_to_fit()&lt;/a&gt; sorgt hier für das Verkleinern auf bestimmte Maximalwerte in Länge und Breite. Weiteres erfährt man aus der &lt;a href=&quot;http://www.imagemagick.org/RMagick/doc/image3.html&quot;&gt;Doku&lt;/a&gt;&lt;/p&gt;.  
    </content:encoded>

    <pubDate>Sun, 09 Aug 2009 16:38:53 +0200</pubDate>
    <guid isPermaLink="false">http://blog.roothausen.de/2009/08/09/707/</guid>
    <category>code</category>
<category>computer</category>
<category>linux&amp;unix</category>
<category>programming</category>
<category>ruby</category>
<category>shortys</category>
<category>software</category>
<category>windows</category>
<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
</item>
<item>
    <title>Medianight 2009</title>
    <link>http://blog.roothausen.de/2009/07/01/medianight-2009/</link>
            <category>computer</category>
    
    <comments>http://blog.roothausen.de/2009/07/01/medianight-2009/#comments</comments>
    <wfw:comment>http://blog.roothausen.de/wfwcomment.php?cid=706</wfw:comment>

    <slash:comments>4</slash:comments>
    <wfw:commentRss>http://blog.roothausen.de/rss.php?version=2.0&amp;type=comments&amp;cid=706</wfw:commentRss>
    

    <author>nospam@example.com (Sven Pfleiderer)</author>
    <content:encoded>
    &lt;h1&gt;Medianight&lt;/h1&gt;

&lt;p&gt;Morgen, am Donnerstag den 02.07.2009 wird an meiner &lt;a href=&quot;http://www.hdm-stuttgart.de&quot; title=&quot;HdM Stuttgart&quot;&gt;Hochschule&lt;/a&gt; wieder die &lt;a href=&quot;http://www.hdm-stuttgart.de/medianight/&quot; title=&quot;Medianight&quot;&gt;Medianight&lt;/a&gt; stattfinden. Hier werden die Studenten ihre Projekte des letzten Semesters praesentieren. Ich werde dort unter anderem mit meinem eigenen Projekt am Start sein.&lt;/p&gt;

&lt;h2&gt;YAXIM&lt;/h2&gt;

&lt;p&gt;Wie schon zuvor gesagt, werde ich zusammen mit &lt;a href=&quot;http://hai-fai.de&quot; title=&quot;Chris sein Blog&quot;&gt;Chris&lt;/a&gt; unser Semesterprojekt, das den Namen YAXIM traegt, vorstellen. YAXIM steht fuer &quot;&lt;strong&gt;Y&lt;/strong&gt;et &lt;strong&gt;A&lt;/strong&gt;nother &lt;strong&gt;X&lt;/strong&gt;MPP &lt;strong&gt;I&lt;/strong&gt;nstant &lt;strong&gt;M&lt;/strong&gt;essenger&quot; und ist ein Jabberclient fuer die Android-Plattform. Als kleinen Vorgeschmack folgen hier noch unsere &lt;a href=&quot;http://blog.roothausen.de/uploads/presentations/yaxim.pdf&quot; title=&quot;Yaxim&quot;&gt;Folien&lt;/a&gt; und &lt;a href=&quot;http://blog.roothausen.de/upload/yaxim-final.mp4&quot; title=&quot;Yaxim Video&quot;&gt;das Video&lt;/a&gt; der heutigen Praesentation:&lt;/p&gt;

&lt;div&gt;
&lt;object type=&quot;application/x-shockwave-flash&quot; data=&quot;http://www.youtube.com/v/4O80xIpCEss&quot; height=&quot;350&quot; width=&quot;425&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/4O80xIpCEss&quot;/&gt;&lt;param name=&quot;wmode&quot; value=&quot;transparent&quot;/&gt;&lt;/object&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;object type=&quot;application/x-shockwave-flash&quot; data=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=master-090701141804-phpapp01&amp;amp;stripped_title=yaxim-yet-another-xmpp-instant-messenger&quot; width=&quot;425&quot; height=&quot;350&quot;&gt;
&lt;param name=&quot;src&quot; value=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=master-090701141804-phpapp01&amp;amp;stripped_title=yaxim-yet-another-xmpp-instant-messenger&quot; /&gt;&lt;/object&gt;
&lt;/div&gt;  
    </content:encoded>

    <pubDate>Wed, 01 Jul 2009 21:05:24 +0200</pubDate>
    <guid isPermaLink="false">http://blog.roothausen.de/2009/07/01/706/</guid>
    <category>android</category>
<category>code</category>
<category>computer</category>
<category>jabber</category>
<category>java</category>
<category>linux&amp;unix</category>
<category>opensource</category>
<category>presentation</category>
<category>programming</category>
<category>software</category>
<category>video</category>
<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
</item>
<item>
    <title>Slides: OpenWRT</title>
    <link>http://blog.roothausen.de/2009/06/04/slides-openwrt/</link>
            <category>computer</category>
            <category>misc</category>
    
    <comments>http://blog.roothausen.de/2009/06/04/slides-openwrt/#comments</comments>
    <wfw:comment>http://blog.roothausen.de/wfwcomment.php?cid=705</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.roothausen.de/rss.php?version=2.0&amp;type=comments&amp;cid=705</wfw:commentRss>
    

    <author>nospam@example.com (Sven Pfleiderer)</author>
    <content:encoded>
    &lt;p&gt;Fuer diejenigen, die es nicht auf den LinuxDay geschafft haben, moechte ich nun noch unsere Slides zum Thema OpenWRT veroeffentlichen:&lt;/p&gt;

&lt;object type=&quot;application/x-shockwave-flash&quot; data=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=openwrt-090604131345-phpapp01&amp;amp;rel=0&amp;amp;stripped_title=openwrt-1534283&quot; width=&quot;425&quot; height=&quot;350&quot;&gt;
&lt;param name=&quot;src&quot; value=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=openwrt-090604131345-phpapp01&amp;amp;rel=0&amp;amp;stripped_title=openwrt-1534283&quot; /&gt;&lt;/object&gt;

&lt;p&gt;&lt;a href=&quot;http://blog.roothausen.de/uploads/presentations/openWRT.pdf&quot; title=&quot;OpenWRT Slides&quot;&gt;Hier&lt;/a&gt; gibt es die Praesentation auch noch als PDF&lt;/p&gt;  
    </content:encoded>

    <pubDate>Thu, 04 Jun 2009 20:07:33 +0200</pubDate>
    <guid isPermaLink="false">http://blog.roothausen.de/2009/06/04/705/</guid>
    <category>computer</category>
<category>hardware</category>
<category>linux&amp;unix</category>
<category>misc</category>
<category>opensource</category>
<category>presentation</category>
<category>screenshot</category>
<category>tail -f /var/log/life</category>
<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
</item>
<item>
    <title>Android-SDK auf 64Bit Arch Linux</title>
    <link>http://blog.roothausen.de/2009/06/02/android-sdk-auf-64bit-arch-linux/</link>
            <category>computer</category>
    
    <comments>http://blog.roothausen.de/2009/06/02/android-sdk-auf-64bit-arch-linux/#comments</comments>
    <wfw:comment>http://blog.roothausen.de/wfwcomment.php?cid=704</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://blog.roothausen.de/rss.php?version=2.0&amp;type=comments&amp;cid=704</wfw:commentRss>
    

    <author>nospam@example.com (Sven Pfleiderer)</author>
    <content:encoded>
    &lt;p&gt;Wie bei manchen anderen Kleinigkeiten haben sich bei mir ein paar der Tools aus dem Android-SDK geweigert auf meinem 64Bit Arch Linux zu starten. Anscheinend fehlten ein paar Bibliotheken. Ich versuche hier mal zusammenfassend zu beschreiben, wie ich es zum laufen bekommen habe.&lt;/p&gt;

&lt;h1&gt;SDK installieren&lt;/h1&gt;

&lt;p&gt;Da das &lt;a href=&quot;http://aur.archlinux.org/packages.php?ID=13751&quot;&gt;PKGBUILD aus dem User-Repository&lt;/a&gt; zum einen keine Abhaengigkeiten enthaellt und zum anderen nicht aktuell ist, habe ich mich dazu entschlossen eine modifizierte Version zu verwenden:&lt;/p&gt;

&lt;h2&gt;PKGBUILD&lt;/h2&gt;

&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color: #007800;&quot;&gt;pkgname&lt;/span&gt;=android-sdk&lt;br /&gt;&lt;span style=&quot;color: #007800;&quot;&gt;pkgver&lt;/span&gt;=&lt;span style=&quot;color: #000000;&quot;&gt;1.5&lt;/span&gt;_r2&lt;br /&gt;&lt;span style=&quot;color: #007800;&quot;&gt;pkgrel&lt;/span&gt;=&lt;span style=&quot;color: #000000;&quot;&gt;1&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #007800;&quot;&gt;pkgdesc&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Google Android SDK&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #007800;&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;arch&lt;/span&gt;&lt;/span&gt;=&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;i686&#039;&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;x86_64&#039;&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #007800;&quot;&gt;url&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;http://code.google.com/android/&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #007800;&quot;&gt;license&lt;/span&gt;=&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;custom&#039;&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #007800;&quot;&gt;$CARCH&lt;/span&gt;&amp;quot;&lt;/span&gt; = &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;x86_64&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt;; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;then&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160;&lt;span style=&quot;color: #007800;&quot;&gt;depends&lt;/span&gt;=&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;jre&#039;&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;lib32-libstdc++5&#039;&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;lib32-libx11&#039;&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;lib32-ncurses&#039;&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;lib32-zlib&#039;&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;lib32-sdl&#039;&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;lib32-libxext&#039;&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;swt&#039;&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;else&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160;&lt;span style=&quot;color: #007800;&quot;&gt;depends&lt;/span&gt;=&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;jre&#039;&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;fi&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #007800;&quot;&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;source&lt;/span&gt;&lt;/span&gt;=&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;http:&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;//&lt;/span&gt;dl.google.com&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;android&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;android-sdk-linux_x86-&lt;span style=&quot;color: #007800;&quot;&gt;$pkgver&lt;/span&gt;.zip \&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; android.sh&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #007800;&quot;&gt;md5sums&lt;/span&gt;=&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;1d3c3d099e95a31c43a7b3e6ae307ed3&#039;&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;e7f23c39d02a3a280c746f7398bf5114&#039;&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;build&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;#160; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;mkdir&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-p&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$pkgdir&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;opt &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;amp; \&lt;br /&gt;&amp;#160; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;mkdir&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-p&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$pkgdir&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;etc&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;profile.d &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;amp; \&lt;br /&gt;&amp;#160; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;mv&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$srcdir&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;android-sdk-linux_x86-&lt;span style=&quot;color: #007800;&quot;&gt;$pkgver&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$pkgdir&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;opt&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;android-sdk &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;amp; \&lt;br /&gt;&amp;#160; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;cp&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$srcdir&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;android.sh &lt;span style=&quot;color: #007800;&quot;&gt;$pkgdir&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;etc&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;profile.d &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;amp; \&lt;br /&gt;&amp;#160; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;rm&lt;/span&gt; &amp;#160;&lt;span style=&quot;color: #007800;&quot;&gt;$pkgdir&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;opt&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;android-sdk&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;tools&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;lib&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;libswt&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;amp; \&lt;br /&gt;&amp;#160; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;cp&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;usr&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;lib&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;libswt-&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$pkgdir&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;opt&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;android-sdk&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;tools&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;lib &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;amp; \&lt;br /&gt;&amp;#160; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;cp&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;usr&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;share&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;java&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;swt.jar &lt;span style=&quot;color: #007800;&quot;&gt;$pkgdir&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;opt&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;android-sdk&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;tools&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;lib &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;amp; \&lt;br /&gt;&amp;#160; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;cd&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$pkgdir&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;opt&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;android-sdk &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;amp; \&lt;br /&gt;&amp;#160; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;find&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-type&lt;/span&gt; d &lt;span style=&quot;color: #660033;&quot;&gt;-exec&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;chmod&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;755&lt;/span&gt; \&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#123;&lt;/span&gt;\&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#125;&lt;/span&gt; \; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;amp; \&lt;br /&gt;&amp;#160; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;find&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-exec&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;chmod&lt;/span&gt; +r \&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#123;&lt;/span&gt;\&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#125;&lt;/span&gt; \; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;amp; \&lt;br /&gt;&amp;#160; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;chmod&lt;/span&gt; +x &lt;span style=&quot;color: #007800;&quot;&gt;$startdir&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;pkg&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;etc&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;profile.d&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;android.sh&lt;br /&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;#160;&lt;/div&gt;

&lt;p&gt;Wie man sieht, werden die *swt*-Komponenten des SDK durch native 64Bit Versionen ersetzt. Darum ist es auch notwendig zuvor das SWT-Paket zu installieren.&lt;/p&gt;

&lt;h2&gt;android.sh&lt;/h2&gt;

&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;#!/bin/sh&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;export&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;PATH&lt;/span&gt;=&lt;span style=&quot;color: #007800;&quot;&gt;$PATH&lt;/span&gt;:&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;opt&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;android-sdk&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;tools&lt;br /&gt;&amp;#160;&lt;/div&gt;

&lt;h2&gt;Installation&lt;/h2&gt;

&lt;p&gt;Das Erstellen und Installieren des Pakets kann nun wie gewohnt mit &lt;a href=&quot;http://wiki.archlinux.org/index.php/Makepkg&quot;&gt;makepkg&lt;/a&gt; vorgenommen werden. Mit diesem Setup sollten dann auch die Tools fuer Eclipse wieder wie gewohnt laufen.&lt;/p&gt;
  
    </content:encoded>

    <pubDate>Tue, 02 Jun 2009 19:40:41 +0200</pubDate>
    <guid isPermaLink="false">http://blog.roothausen.de/2009/06/02/704/</guid>
    <category>android</category>
<category>computer</category>
<category>java</category>
<category>programming</category>
<category>sdk</category>
<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
</item>
<item>
    <title>Slides: Design Patterns in Ruby</title>
    <link>http://blog.roothausen.de/2009/05/21/slides-design-patterns-in-ruby/</link>
            <category>computer</category>
            <category>misc</category>
    
    <comments>http://blog.roothausen.de/2009/05/21/slides-design-patterns-in-ruby/#comments</comments>
    <wfw:comment>http://blog.roothausen.de/wfwcomment.php?cid=703</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.roothausen.de/rss.php?version=2.0&amp;type=comments&amp;cid=703</wfw:commentRss>
    

    <author>nospam@example.com (Sven Pfleiderer)</author>
    <content:encoded>
    &lt;p&gt;Wie ich bereits gestern versprochen hatte, bekommt ihr nun hier die Slides meiner Praesentation ueber Design Patterns in Ruby:&lt;/p&gt;

&lt;object type=&quot;application/x-shockwave-flash&quot; data=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=slidesdesignpatterns-ruby-090521070926-phpapp02&amp;amp;stripped_title=designpatterns-in-ruby&quot; width=&quot;425&quot; height=&quot;350&quot;&gt;
&lt;param name=&quot;src&quot; value=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=slidesdesignpatterns-ruby-090521070926-phpapp02&amp;amp;stripped_title=designpatterns-in-ruby&quot; /&gt;&lt;/object&gt;

&lt;p&gt;&lt;a href=&quot;http://blog.roothausen.de/uploads/presentations/slides_designpatterns-ruby.pdf&quot;&gt;Hier&lt;/a&gt; gibt es das Ganze auch noch als PDF. Den SourceCode findet man &lt;a href=&quot;http://blog.roothausen.de/uploads/presentations/design_patterns_ruby.source.tar.gz&quot; target=&quot;_blank&quot;&gt;hier&lt;/a&gt;&lt;/p&gt;  
    </content:encoded>

    <pubDate>Thu, 21 May 2009 14:09:39 +0200</pubDate>
    <guid isPermaLink="false">http://blog.roothausen.de/2009/05/21/703/</guid>
    <category>code</category>
<category>computer</category>
<category>misc</category>
<category>presentation</category>
<category>programming</category>
<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
</item>
<item>
    <title>Camstick</title>
    <link>http://blog.roothausen.de/2009/04/22/camstick/</link>
            <category>computer</category>
            <category>misc</category>
            <category>zeitgeist</category>
    
    <comments>http://blog.roothausen.de/2009/04/22/camstick/#comments</comments>
    <wfw:comment>http://blog.roothausen.de/wfwcomment.php?cid=700</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.roothausen.de/rss.php?version=2.0&amp;type=comments&amp;cid=700</wfw:commentRss>
    

    <author>nospam@example.com (Sven Pfleiderer)</author>
    <content:encoded>
    &lt;p&gt;&lt;a href=&quot;http://camstick.eu/index.php&quot;&gt;Ein Kommilitone von mir&lt;/a&gt; hat heute die Ergebnisse seines letzten Semesterprojekts &lt;a href=&quot;http://camstick.eu/index.php?id=24&amp;amp;items=1&quot;&gt;oeffentlich gemacht&lt;/a&gt;. Darum moechte ich hier mal etwas Werbung fuer das coole Projekt machen:&lt;/p&gt;

&lt;blockquote&gt;camstick is a symbiosis of camera and joystick to symbolize you that you can not only use your webcam for simple video chats but for interacting with your computer using your webcam. Camstick is started as a project work of mine at the Stuttgart Media University. Now i want to share my result with you!&lt;/blockquote&gt;

&lt;div&gt;&lt;object type=&quot;application/x-shockwave-flash&quot; data=&quot;http://www.youtube.com/v/VwseEr9hBrM&quot; height=&quot;350&quot; width=&quot;425&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/VwseEr9hBrM&quot;/&gt;&lt;param name=&quot;wmode&quot; value=&quot;transparent&quot;/&gt;&lt;/object&gt;&lt;/div&gt;  
    </content:encoded>

    <pubDate>Wed, 22 Apr 2009 15:35:17 +0200</pubDate>
    <guid isPermaLink="false">http://blog.roothausen.de/2009/04/22/700/</guid>
    <category>computer</category>
<category>java</category>
<category>media</category>
<category>misc</category>
<category>software</category>
<category>webwide</category>
<category>zeitgeist</category>
<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
</item>
<item>
    <title>Newsbeuter 2.0</title>
    <link>http://blog.roothausen.de/2009/04/21/newsbeuter-2.0/</link>
            <category>computer</category>
            <category>web</category>
    
    <comments>http://blog.roothausen.de/2009/04/21/newsbeuter-2.0/#comments</comments>
    <wfw:comment>http://blog.roothausen.de/wfwcomment.php?cid=699</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.roothausen.de/rss.php?version=2.0&amp;type=comments&amp;cid=699</wfw:commentRss>
    

    <author>nospam@example.com (Sven Pfleiderer)</author>
    <content:encoded>
    &lt;p&gt;Nach langer Wartezeit wurde nun der von mir genutzte und fuer &lt;a href=&quot;http://archlinux.org&quot;&gt;Arch Linux&lt;/a&gt; gepflegte Feedreader &lt;a href=&quot;http://newsbeuter.org&quot;&gt;newsbeuter&lt;/a&gt; in der Version 2.0 &lt;a href=&quot;http://newsbeuter.org/download.html&quot;&gt;freigegeben&lt;/a&gt;. Die Liste der Neuerungen liesst sich bisher sehr gut:&lt;/p&gt;


&lt;ul&gt;
&lt;li&gt;	Added more flexible dialog handling&lt;/li&gt;
&lt;li&gt;	Improved position handling in article list (fixes #112; thanks to Isaac Good)&lt;/li&gt;
&lt;li&gt;	Fixed a lot of bugs (#102, #111, #117, #130, #131).&lt;/li&gt;
&lt;li&gt;	Added ability to specify a list of OPML URLs when using OPML as URL source.&lt;/li&gt;
&lt;li&gt;	Added config option &quot;keep-articles-days&quot; to optionally keep articles only for a limited number of days.&lt;/li&gt;
&lt;li&gt;	Added config option &quot;bookmark-interactive&quot; to indicate that the configured bookmarking command is interactive.&lt;/li&gt;
&lt;li&gt;	Don&#039;t display authentication information in URLs (fixes #121).&lt;/li&gt;
&lt;li&gt;	Replaced mrss with new RSS/Atom parser.&lt;/li&gt;
&lt;li&gt;	Added ability to search for text from the article view.&lt;/li&gt;
&lt;li&gt;	Added basic support for Yahoo Media RSS.&lt;/li&gt;
&lt;li&gt;	Made article view pager configurable.&lt;/li&gt;
&lt;li&gt;	Improved HTML rendering of links and underlined and bold text.&lt;/li&gt;
&lt;li&gt;	Added &quot;:source&quot; commandline command to (re)load configuration files.&lt;/li&gt;
&lt;li&gt;	Implemented &quot;pipe-to&quot; key to pipe articles to external commands.&lt;/li&gt;
&lt;li&gt;	Implemented backtick evaluation for configuration files.&lt;/li&gt;
&lt;li&gt;	Extended filter language with &quot;between&quot; operator.&lt;/li&gt;
&lt;li&gt;	Added &quot;age&quot; attribute for articles to filter them for relative age (in days).&lt;/li&gt;
&lt;li&gt;	Extended &quot;set&quot; commandline command to toggle boolean variables and reset configuration variables of all types to their default.&lt;/li&gt;
&lt;li&gt;	Added ability to configure local files as feeds.&lt;/li&gt;
&lt;li&gt;	Added a &quot;random-unread&quot; key to go to a random unread article.&lt;/li&gt;
&lt;li&gt;	When opening articles from a search result dialog, make search phrase stand out in article view.&lt;/li&gt;
&lt;li&gt;	Persist commandline and search history.&lt;/li&gt;
&lt;li&gt;	Implemented commandline completion.&lt;/li&gt;
&lt;li&gt;	Improved help dialog so that it now shows unbound functions.&lt;/li&gt;
&lt;li&gt;	Added ability to sort feed list and article list by interactively choosing the sort method.&lt;/li&gt;
&lt;li&gt;	Improved and extended conditional HTTP download handling.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Ich habe gerade die Arbeiten am PKGBUILD fuer Arch Linux fertig gestellt und dieses&lt;a href=&quot;http://aur.archlinux.org/packages.php?ID=9551&quot; title=&quot;Arch User Repository&quot;&gt; in AUR hochgeladen&lt;/a&gt;. Ich wuensche euch viel Spass damit!&lt;/p&gt;  
    </content:encoded>

    <pubDate>Tue, 21 Apr 2009 21:50:21 +0200</pubDate>
    <guid isPermaLink="false">http://blog.roothausen.de/2009/04/21/699/</guid>
    <category>computer</category>
<category>feedreader</category>
<category>linux&amp;unix</category>
<category>media</category>
<category>newsbeuter</category>
<category>opensource</category>
<category>web</category>
<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
</item>
<item>
    <title>Smack: XMPP fuer java</title>
    <link>http://blog.roothausen.de/2009/04/18/smack-xmpp-fuer-java/</link>
            <category>computer</category>
    
    <comments>http://blog.roothausen.de/2009/04/18/smack-xmpp-fuer-java/#comments</comments>
    <wfw:comment>http://blog.roothausen.de/wfwcomment.php?cid=698</wfw:comment>

    <slash:comments>6</slash:comments>
    <wfw:commentRss>http://blog.roothausen.de/rss.php?version=2.0&amp;type=comments&amp;cid=698</wfw:commentRss>
    

    <author>nospam@example.com (Sven Pfleiderer)</author>
    <content:encoded>
    &lt;p&gt;Da ich gerade an einem Projekt arbeite, dass XMPP auf Java verwendet, hab ich mir zu Testzwecken eine Klasse gebaut, die &lt;a href=&quot;http://www.igniterealtime.org/projects/smack/index.jsp&quot;&gt;Smack&lt;/a&gt; verwendet und ein paar Moeglichkeiten der API nutzt. Es ist unter anderem moeglich sich zu verbinden, das Roster auszulesen und empfangene Nachrichten anzuzeigen. Da mir bei der &lt;a href=&quot;http://www.igniterealtime.org/builds/smack/docs/latest/documentation/&quot;&gt;offiziellen Dokumentation&lt;/a&gt; Beispiele gefehlt haben, die man auf einen Rutsch kopieren und bearbeiten kann, moechte ich hier ein wirklich lauffaehiges Beispiel veroeffentlichen. Ich hoffe, damit kann jemand was anfangen:&lt;/p&gt;

&lt;div class=&quot;java geshi&quot; style=&quot;text-align: left&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;import&lt;/span&gt; &lt;span style=&quot;color: #006699;&quot;&gt;java.util.Collection&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;import&lt;/span&gt; &lt;span style=&quot;color: #006699;&quot;&gt;org.jivesoftware.smack.ConnectionConfiguration&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;import&lt;/span&gt; &lt;span style=&quot;color: #006699;&quot;&gt;org.jivesoftware.smack.PacketListener&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;import&lt;/span&gt; &lt;span style=&quot;color: #006699;&quot;&gt;org.jivesoftware.smack.Roster&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;import&lt;/span&gt; &lt;span style=&quot;color: #006699;&quot;&gt;org.jivesoftware.smack.RosterEntry&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;import&lt;/span&gt; &lt;span style=&quot;color: #006699;&quot;&gt;org.jivesoftware.smack.RosterListener&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;import&lt;/span&gt; &lt;span style=&quot;color: #006699;&quot;&gt;org.jivesoftware.smack.SASLAuthentication&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;import&lt;/span&gt; &lt;span style=&quot;color: #006699;&quot;&gt;org.jivesoftware.smack.XMPPConnection&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;import&lt;/span&gt; &lt;span style=&quot;color: #006699;&quot;&gt;org.jivesoftware.smack.XMPPException&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;import&lt;/span&gt; &lt;span style=&quot;color: #006699;&quot;&gt;org.jivesoftware.smack.filter.PacketTypeFilter&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;import&lt;/span&gt; &lt;span style=&quot;color: #006699;&quot;&gt;org.jivesoftware.smack.packet.Message&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;import&lt;/span&gt; &lt;span style=&quot;color: #006699;&quot;&gt;org.jivesoftware.smack.packet.Packet&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;import&lt;/span&gt; &lt;span style=&quot;color: #006699;&quot;&gt;org.jivesoftware.smack.packet.Presence&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;class&lt;/span&gt; SmackTester &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;private&lt;/span&gt; XMPPConnection conn&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;private&lt;/span&gt; &lt;a href=&quot;http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Astring+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky&quot;&gt;&lt;span style=&quot;color: #003399;&quot;&gt;String&lt;/span&gt;&lt;/a&gt; username&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;private&lt;/span&gt; &lt;a href=&quot;http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Astring+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky&quot;&gt;&lt;span style=&quot;color: #003399;&quot;&gt;String&lt;/span&gt;&lt;/a&gt; password&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;private&lt;/span&gt; &lt;a href=&quot;http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Astring+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky&quot;&gt;&lt;span style=&quot;color: #003399;&quot;&gt;String&lt;/span&gt;&lt;/a&gt; server&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;public&lt;/span&gt; SmackTester&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;// debug option&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; XMPPConnection.&lt;span style=&quot;color: #006633;&quot;&gt;DEBUG_ENABLED&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;false&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; username &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;einuser&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; password &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;einpasswort!&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; server &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;jabber.foo.bar&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; makeConn&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; doConnect&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; makeRoster&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; chatAction&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;// wait ... (I know that&#039;s pretty ugly)&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;while&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;conn.&lt;span style=&quot;color: #006633;&quot;&gt;isConnected&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;try&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;a href=&quot;http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Athread+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky&quot;&gt;&lt;span style=&quot;color: #003399;&quot;&gt;Thread&lt;/span&gt;&lt;/a&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;sleep&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;a href=&quot;http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Along+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky&quot;&gt;&lt;span style=&quot;color: #003399;&quot;&gt;Long&lt;/span&gt;&lt;/a&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;MAX_VALUE&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;catch&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;a href=&quot;http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Ainterruptedexception+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky&quot;&gt;&lt;span style=&quot;color: #003399;&quot;&gt;InterruptedException&lt;/span&gt;&lt;/a&gt; e&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; e.&lt;span style=&quot;color: #006633;&quot;&gt;printStackTrace&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;// nothing interesting here&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;static&lt;/span&gt; &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;void&lt;/span&gt; main&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;a href=&quot;http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Astring+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky&quot;&gt;&lt;span style=&quot;color: #003399;&quot;&gt;String&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt; args&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; SmackTester&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;private&lt;/span&gt; &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;void&lt;/span&gt; doConnect&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;// let&#039;s connect&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;try&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; conn.&lt;span style=&quot;color: #006633;&quot;&gt;connect&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; conn.&lt;span style=&quot;color: #006633;&quot;&gt;login&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;username, password, &lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;someRessource&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;catch&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;XMPPException e&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;a href=&quot;http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Asystem+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky&quot;&gt;&lt;span style=&quot;color: #003399;&quot;&gt;System&lt;/span&gt;&lt;/a&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;err&lt;/span&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;Login failed!&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; e.&lt;span style=&quot;color: #006633;&quot;&gt;printStackTrace&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;a href=&quot;http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Asystem+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky&quot;&gt;&lt;span style=&quot;color: #003399;&quot;&gt;System&lt;/span&gt;&lt;/a&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;exit&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;a href=&quot;http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Asystem+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky&quot;&gt;&lt;span style=&quot;color: #003399;&quot;&gt;System&lt;/span&gt;&lt;/a&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;out&lt;/span&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;Login succesful!&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;private&lt;/span&gt; &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;void&lt;/span&gt; makeConn&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ConnectionConfiguration config &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; ConnectionConfiguration&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;server,&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #cc66cc;&quot;&gt;5222&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;// pass some connection options&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; config.&lt;span style=&quot;color: #006633;&quot;&gt;setSASLAuthenticationEnabled&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; SASLAuthentication.&lt;span style=&quot;color: #006633;&quot;&gt;supportSASLMechanism&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;PLAIN&amp;quot;&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; conn &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; XMPPConnection&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;config&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;private&lt;/span&gt; Roster makeRoster&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; Roster roster &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; conn.&lt;span style=&quot;color: #006633;&quot;&gt;getRoster&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; Collection&lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;&lt;/span&gt;RosterEntry&lt;span style=&quot;color: #339933;&quot;&gt;&amp;gt;&lt;/span&gt; entries &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; roster.&lt;span style=&quot;color: #006633;&quot;&gt;getEntries&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;// print out all entries in roster&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;a href=&quot;http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Asystem+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky&quot;&gt;&lt;span style=&quot;color: #003399;&quot;&gt;System&lt;/span&gt;&lt;/a&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;out&lt;/span&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;---------- entries in roster -----------&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;for&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;RosterEntry entry &lt;span style=&quot;color: #339933;&quot;&gt;:&lt;/span&gt; entries&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;a href=&quot;http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Asystem+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky&quot;&gt;&lt;span style=&quot;color: #003399;&quot;&gt;System&lt;/span&gt;&lt;/a&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;out&lt;/span&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;entry&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;a href=&quot;http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Asystem+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky&quot;&gt;&lt;span style=&quot;color: #003399;&quot;&gt;System&lt;/span&gt;&lt;/a&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;out&lt;/span&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;---------- entries in roster -----------&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;// react to changes in roster&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; roster.&lt;span style=&quot;color: #006633;&quot;&gt;addRosterListener&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; RosterListener&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;// called methods ...&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;void&lt;/span&gt; entriesDeleted&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;Collection&lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;&lt;/span&gt;String&lt;span style=&quot;color: #339933;&quot;&gt;&amp;gt;&lt;/span&gt; addresses&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;// do stuff&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;void&lt;/span&gt; entriesUpdated&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;Collection&lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;&lt;/span&gt;String&lt;span style=&quot;color: #339933;&quot;&gt;&amp;gt;&lt;/span&gt; addresses&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;// do stuff&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;void&lt;/span&gt; presenceChanged&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;Presence presence&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;a href=&quot;http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Asystem+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky&quot;&gt;&lt;span style=&quot;color: #003399;&quot;&gt;System&lt;/span&gt;&lt;/a&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;out&lt;/span&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;Presence changed: &amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;+&lt;/span&gt; presence.&lt;span style=&quot;color: #006633;&quot;&gt;getFrom&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #339933;&quot;&gt;+&lt;/span&gt; &lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot; &amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;+&lt;/span&gt; presence&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;void&lt;/span&gt; entriesAdded&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;Collection&lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;&lt;/span&gt;String&lt;span style=&quot;color: #339933;&quot;&gt;&amp;gt;&lt;/span&gt; arg0&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;// do stuff&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;return&lt;/span&gt; roster&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;private&lt;/span&gt; &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;void&lt;/span&gt; chatAction&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; PacketTypeFilter filter &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; PacketTypeFilter&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;Message.&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; PacketListener myListener &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; PacketListener&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;void&lt;/span&gt; processPacket&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;Packet arg0&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;arg0 &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;instanceof&lt;/span&gt; Message&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; Message msg &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;Message&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; arg0&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;a href=&quot;http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Asystem+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky&quot;&gt;&lt;span style=&quot;color: #003399;&quot;&gt;System&lt;/span&gt;&lt;/a&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;out&lt;/span&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;Message: &amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;+&lt;/span&gt; msg.&lt;span style=&quot;color: #006633;&quot;&gt;getFrom&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;+&lt;/span&gt; &lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot; &amp;quot;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #339933;&quot;&gt;+&lt;/span&gt; msg.&lt;span style=&quot;color: #006633;&quot;&gt;getBody&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;// Register the listener.&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; conn.&lt;span style=&quot;color: #006633;&quot;&gt;addPacketListener&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;myListener, filter&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;private&lt;/span&gt; &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;void&lt;/span&gt; doDisconnect&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; conn.&lt;span style=&quot;color: #006633;&quot;&gt;disconnect&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;a href=&quot;http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Asystem+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky&quot;&gt;&lt;span style=&quot;color: #003399;&quot;&gt;System&lt;/span&gt;&lt;/a&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;out&lt;/span&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;Disconnected&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;#160;&lt;/div&gt;  
    </content:encoded>

    <pubDate>Sat, 18 Apr 2009 23:08:22 +0200</pubDate>
    <guid isPermaLink="false">http://blog.roothausen.de/2009/04/18/698/</guid>
    <category>computer</category>
<category>im</category>
<category>jabber</category>
<category>java</category>
<category>opensource</category>
<category>programming</category>
<category>software</category>
<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
</item>
<item>
    <title>LaTeX Template fuer Praesentationen</title>
    <link>http://blog.roothausen.de/2009/04/11/latex-template-fuer-praesentationen/</link>
            <category>computer</category>
            <category>misc</category>
    
    <comments>http://blog.roothausen.de/2009/04/11/latex-template-fuer-praesentationen/#comments</comments>
    <wfw:comment>http://blog.roothausen.de/wfwcomment.php?cid=694</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://blog.roothausen.de/rss.php?version=2.0&amp;type=comments&amp;cid=694</wfw:commentRss>
    

    <author>nospam@example.com (Sven Pfleiderer)</author>
    <content:encoded>
    &lt;p&gt;Nachdem ich es schon lange vor hatte, habe ich mich nun mal an &lt;a href=&quot;http://de.wikipedia.org/wiki/LaTeX&quot;&gt;LaTeX&lt;/a&gt; heran getraut und damit die ersten Texte formatiert. Als die Ergebnisse nach den ersten Gehversuchen schon sehr vielversprechend aussahen, habe ich zudem beschlossen meine naechsten Praesentationen ebenfalls in LaTeX zu schreiben. Auf der Suche nach einer Vorlage bin ich auf &lt;a href=&quot;http://www.mrunix.de/forums/showpost.php?s=0c56be857efa5bd1499ae597cd3cf73c&amp;amp;p=285259&amp;amp;postcount=4&quot;&gt;diesen Beitrag&lt;/a&gt; in einem Forum gestossen, der mir sehr geholfen hat:&lt;/p&gt;

&lt;div class=&quot;latex geshi&quot; style=&quot;text-align: left&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color: #800000; font-weight: normal;&quot;&gt;\documentclass&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #C08020; font-weight: normal;&quot;&gt;ngerman&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;]{&lt;/span&gt;&lt;span style=&quot;color: #2020C0; font-weight: normal;&quot;&gt;beamer&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #800000; font-weight: normal;&quot;&gt;\usepackage&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #2020C0; font-weight: normal;&quot;&gt;babel&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #800000; font-weight: normal;&quot;&gt;\usepackage&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #C08020; font-weight: normal;&quot;&gt;utf8&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;]{&lt;/span&gt;&lt;span style=&quot;color: #2020C0; font-weight: normal;&quot;&gt;inputenc&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #800000; font-weight: normal;&quot;&gt;\usepackage&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #C08020; font-weight: normal;&quot;&gt;T1&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;]{&lt;/span&gt;&lt;span style=&quot;color: #2020C0; font-weight: normal;&quot;&gt;fontenc&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #800000; font-weight: normal;&quot;&gt;\usepackage&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #2020C0; font-weight: normal;&quot;&gt;lmodern&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #800000; font-weight: normal;&quot;&gt;\usetheme&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #C08020; font-weight: normal;&quot;&gt;secheader&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;]{&lt;/span&gt;&lt;span style=&quot;color: #2020C0; font-weight: normal;&quot;&gt;Madrid&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #800000; font-weight: normal;&quot;&gt;\useinnertheme&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #2020C0; font-weight: normal;&quot;&gt;circles&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #800000; font-weight: normal;&quot;&gt;\setbeamercovered&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #2020C0; font-weight: normal;&quot;&gt;transparent&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #800000; font-weight: normal;&quot;&gt;\beamertemplatenavigationsymbolsempty&lt;/span&gt;&lt;br /&gt;&amp;#160;&lt;span style=&quot;color: #800000; font-weight: normal;&quot;&gt;\author&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #C08020; font-weight: normal;&quot;&gt;Tester&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;]{&lt;/span&gt;&lt;span style=&quot;color: #2020C0; font-weight: normal;&quot;&gt;Tester&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;}&lt;/span&gt;&lt;br /&gt;&amp;#160;&lt;span style=&quot;color: #800000; font-weight: normal;&quot;&gt;\title&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #C08020; font-weight: normal;&quot;&gt;Minimalbeispiel&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;]{&lt;/span&gt;&lt;span style=&quot;color: #2020C0; font-weight: normal;&quot;&gt;Minimalbeispiel ist immer BESSER&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #C00000; font-weight: normal;&quot;&gt;\begin&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #2020C0; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #0000D0; font-weight: normal;&quot;&gt;document&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #C00000; font-weight: normal;&quot;&gt;\begin&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #2020C0; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #0000D0; font-weight: normal;&quot;&gt;frame&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;}[&lt;/span&gt;&lt;span style=&quot;color: #C08020; font-weight: normal;&quot;&gt;plain&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;]&lt;/span&gt;&lt;br /&gt;&amp;#160;&lt;span style=&quot;color: #800000; font-weight: normal;&quot;&gt;\maketitle&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #C00000; font-weight: normal;&quot;&gt;\end&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #2020C0; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #0000D0; font-weight: normal;&quot;&gt;frame&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #C00000; font-weight: normal;&quot;&gt;\begin&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #2020C0; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #0000D0; font-weight: normal;&quot;&gt;frame&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;}&lt;/span&gt;&lt;br /&gt;&amp;#160;&lt;span style=&quot;color: #800000; font-weight: normal;&quot;&gt;\tableofcontents&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #C00000; font-weight: normal;&quot;&gt;\end&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #2020C0; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #0000D0; font-weight: normal;&quot;&gt;frame&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #800000; font-weight: normal;&quot;&gt;\setbeamertemplate&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #2020C0; font-weight: normal;&quot;&gt;headline&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;{&lt;/span&gt;&lt;br /&gt;&amp;#160; &lt;span style=&quot;color: #800000; font-weight: normal;&quot;&gt;\leavevmode&lt;/span&gt;&lt;span style=&quot;color: #2C922C; font-style: italic;&quot;&gt;%&lt;/span&gt;&lt;br /&gt;&amp;#160; &lt;span style=&quot;color: #800000; font-weight: normal;&quot;&gt;\hbox&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #2C922C; font-style: italic;&quot;&gt;%&lt;/span&gt;&lt;br /&gt;&amp;#160; &lt;span style=&quot;color: #C00000; font-weight: normal;&quot;&gt;\begin&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #2020C0; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #0000D0; font-weight: normal;&quot;&gt;beamercolorbox&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;}[&lt;/span&gt;&lt;span style=&quot;color: #C08020; font-weight: normal;&quot;&gt;wd=.5&lt;span style=&quot;color: #800000; font-weight: normal;&quot;&gt;\paperwidth&lt;/span&gt;,ht=2.25ex,dp=1ex,center&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;]{&lt;/span&gt;&lt;span style=&quot;color: #2020C0; font-weight: normal;&quot;&gt;section in head/foot&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #2C922C; font-style: italic;&quot;&gt;%&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #800000; font-weight: normal;&quot;&gt;\usebeamerfont&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #2020C0; font-weight: normal;&quot;&gt;author in head/foot&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #800000; font-weight: normal;&quot;&gt;\raggedleft&lt;/span&gt;&lt;span style=&quot;color: #800000; font-weight: normal;&quot;&gt;\thesection&lt;/span&gt;.~&lt;span style=&quot;color: #800000; font-weight: normal;&quot;&gt;\insertsection&lt;/span&gt;&lt;span style=&quot;color: #800000; font-weight: normal;&quot;&gt;\hspace&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #2020C0; font-weight: normal;&quot;&gt;2em&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #800000; font-weight: normal;&quot;&gt;\null&lt;/span&gt;&lt;br /&gt;&amp;#160; &lt;span style=&quot;color: #C00000; font-weight: normal;&quot;&gt;\end&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #2020C0; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #0000D0; font-weight: normal;&quot;&gt;beamercolorbox&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #2C922C; font-style: italic;&quot;&gt;%&lt;/span&gt;&lt;br /&gt;&amp;#160; &lt;span style=&quot;color: #C00000; font-weight: normal;&quot;&gt;\begin&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #2020C0; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #0000D0; font-weight: normal;&quot;&gt;beamercolorbox&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;}[&lt;/span&gt;&lt;span style=&quot;color: #C08020; font-weight: normal;&quot;&gt;wd=.5&lt;span style=&quot;color: #800000; font-weight: normal;&quot;&gt;\paperwidth&lt;/span&gt;,ht=2.25ex,dp=1ex,center&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;]{&lt;/span&gt;&lt;span style=&quot;color: #2020C0; font-weight: normal;&quot;&gt;subsection in head/foot&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #2C922C; font-style: italic;&quot;&gt;%&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #800000; font-weight: normal;&quot;&gt;\usebeamerfont&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #2020C0; font-weight: normal;&quot;&gt;author in head/foot&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #800000; font-weight: normal;&quot;&gt;\hspace&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #2020C0; font-weight: normal;&quot;&gt;2em&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #800000; font-weight: normal;&quot;&gt;\raggedright&lt;/span&gt;&lt;span style=&quot;color: #800000; font-weight: normal;&quot;&gt;\insertsubsection&lt;/span&gt;&lt;br /&gt;&amp;#160; &lt;span style=&quot;color: #C00000; font-weight: normal;&quot;&gt;\end&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #2020C0; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #0000D0; font-weight: normal;&quot;&gt;beamercolorbox&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;}}&lt;/span&gt;&lt;span style=&quot;color: #2C922C; font-style: italic;&quot;&gt;%&lt;/span&gt;&lt;br /&gt;&amp;#160; &lt;span style=&quot;color: #800000; font-weight: normal;&quot;&gt;\vskip&lt;/span&gt;0pt&lt;span style=&quot;color: #2C922C; font-style: italic;&quot;&gt;%&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #800000; font-weight: normal;&quot;&gt;\section&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #00008B; font-weight: bold;&quot;&gt;Test&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #800000; font-weight: normal;&quot;&gt;\subsection&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #00008B; font-weight: bold;&quot;&gt;Test unter&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #C00000; font-weight: normal;&quot;&gt;\begin&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #2020C0; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #0000D0; font-weight: normal;&quot;&gt;frame&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;}&lt;/span&gt;&lt;br /&gt;&amp;#160;&lt;span style=&quot;color: #800000; font-weight: normal;&quot;&gt;\frametitle&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #2020C0; font-weight: normal;&quot;&gt;Testfolie&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #C00000; font-weight: normal;&quot;&gt;\begin&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #2020C0; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #0000D0; font-weight: normal;&quot;&gt;itemize&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;}&lt;/span&gt;&lt;br /&gt;&amp;#160;&lt;span style=&quot;color: #800000; font-weight: normal;&quot;&gt;\item&lt;/span&gt; Eintrag&lt;br /&gt;&amp;#160;&lt;span style=&quot;color: #800000; font-weight: normal;&quot;&gt;\item&lt;/span&gt; Ende&lt;br /&gt;&lt;span style=&quot;color: #C00000; font-weight: normal;&quot;&gt;\end&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #2020C0; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #0000D0; font-weight: normal;&quot;&gt;itemize&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #C00000; font-weight: normal;&quot;&gt;\end&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #2020C0; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #0000D0; font-weight: normal;&quot;&gt;frame&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #800000; font-weight: normal;&quot;&gt;\section&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #00008B; font-weight: bold;&quot;&gt;noch ein Test&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #800000; font-weight: normal;&quot;&gt;\subsection&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #00008B; font-weight: bold;&quot;&gt;noch ein Test unter&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #C00000; font-weight: normal;&quot;&gt;\begin&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #2020C0; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #0000D0; font-weight: normal;&quot;&gt;frame&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;}&lt;/span&gt;&lt;br /&gt;&amp;#160;&lt;span style=&quot;color: #800000; font-weight: normal;&quot;&gt;\frametitle&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #2020C0; font-weight: normal;&quot;&gt;Testfolie&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #C00000; font-weight: normal;&quot;&gt;\begin&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #2020C0; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #0000D0; font-weight: normal;&quot;&gt;itemize&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;}&lt;/span&gt;&lt;br /&gt;&amp;#160;&lt;span style=&quot;color: #800000; font-weight: normal;&quot;&gt;\item&lt;/span&gt; Eintrag&lt;br /&gt;&amp;#160;&lt;span style=&quot;color: #800000; font-weight: normal;&quot;&gt;\item&lt;/span&gt; Ende&lt;br /&gt;&lt;span style=&quot;color: #C00000; font-weight: normal;&quot;&gt;\end&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #2020C0; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #0000D0; font-weight: normal;&quot;&gt;itemize&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #C00000; font-weight: normal;&quot;&gt;\end&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #2020C0; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #0000D0; font-weight: normal;&quot;&gt;frame&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #C00000; font-weight: normal;&quot;&gt;\end&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #2020C0; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #0000D0; font-weight: normal;&quot;&gt;document&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000D0; &quot;&gt;}&lt;/span&gt;&lt;br /&gt;&amp;#160;&lt;/div&gt;

&lt;p&gt;Wirft man diesen Code nun pdflatex vor die Fuesse, generiert dieses eine schoene Praesentation, die man sich &lt;a href=&quot;http://blog.roothausen.de/uploads/documents/test.pdf&quot; title=&quot;Aus Vorlage generiertes PDF&quot;&gt;hier&lt;/a&gt; ansehen kann.&lt;/p&gt;  
    </content:encoded>

    <pubDate>Sat, 11 Apr 2009 22:40:59 +0200</pubDate>
    <guid isPermaLink="false">http://blog.roothausen.de/2009/04/11/694/</guid>
    <category>code</category>
<category>computer</category>
<category>misc</category>
<category>opensource</category>
<category>presentation</category>
<category>shortys</category>
<category>software</category>
<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
</item>
<item>
    <title>Android SDK: Passwoerter in Preferences maskieren</title>
    <link>http://blog.roothausen.de/2009/04/10/android-sdk-passwoerter-in-preferences-maskieren/</link>
            <category>computer</category>
    
    <comments>http://blog.roothausen.de/2009/04/10/android-sdk-passwoerter-in-preferences-maskieren/#comments</comments>
    <wfw:comment>http://blog.roothausen.de/wfwcomment.php?cid=693</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.roothausen.de/rss.php?version=2.0&amp;type=comments&amp;cid=693</wfw:commentRss>
    

    <author>nospam@example.com (Sven Pfleiderer)</author>
    <content:encoded>
    &lt;p&gt;Ich sitze hier gerade in einer Hacksession bei &lt;a href=&quot;http://hai-fai.de&quot; title=&quot;Hai-Fai&quot;&gt;Chris&lt;/a&gt; und versuche einer Preference-Activity beizubringen, dass Passwoerter in einer &lt;a href=&quot;http://developer.android.com/reference/android/preference/EditTextPreference.html&quot;&gt;EditTextPreference&lt;/a&gt; maskiert werden. Nach etwas rumsuchen, bin ich auf die Loesung gestossen. Hier ein kleiner Prototyp:&lt;/p&gt;
&lt;div class=&quot;xml geshi&quot; style=&quot;text-align: left&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;EditTextPreference&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;android:key&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;password&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;android:title&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Ich bin ein Passwortfeld&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;android:summary&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Hier kannst du dein Passwort eingeben&amp;quot;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;android:dialogTitle&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Bitte Passwort eingeben!&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;android:singleLine&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;true&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;android:password&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;true&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;#160;&lt;/div&gt;

&lt;p&gt;Ich frage mich allerdings, warum man in der Dokumentation davon nichts findet ...&lt;/p&gt;  
    </content:encoded>

    <pubDate>Fri, 10 Apr 2009 20:45:43 +0200</pubDate>
    <guid isPermaLink="false">http://blog.roothausen.de/2009/04/10/693/</guid>
    <category>android</category>
<category>code</category>
<category>computer</category>
<category>google</category>
<category>gui</category>
<category>programming</category>
<category>sdk</category>
<category>software</category>
<category>xml</category>
<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
</item>
<item>
    <title>Android OTA-Upgrade erzwingen</title>
    <link>http://blog.roothausen.de/2009/04/01/android-ota-upgrade-erzwingen/</link>
            <category>computer</category>
    
    <comments>http://blog.roothausen.de/2009/04/01/android-ota-upgrade-erzwingen/#comments</comments>
    <wfw:comment>http://blog.roothausen.de/wfwcomment.php?cid=692</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://blog.roothausen.de/rss.php?version=2.0&amp;type=comments&amp;cid=692</wfw:commentRss>
    

    <author>nospam@example.com (Sven Pfleiderer)</author>
    <content:encoded>
    &lt;p&gt;Sollte jemand auf die Idee kommen eine alte Version von Android (z.B. den -RC7  Build in Europa) mal &quot;schnell&quot; auf den neusten Stand bringen zu wollen hier ein paar Schritte mit denen man auf neue Upgrades und den Status des Downloads pruefen kann:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Man besorgt sich das Programm AnyCut aus dem Market. Dazu sollte die Suchfunktion genutzt werden.&lt;/li&gt;
&lt;li&gt;Danach legt man mit Anycut eine Verknuepfung auf &quot;Activites/Device Info&quot; an&lt;/li&gt;
&lt;li&gt;Ist das erledigt, startet man die Verknuepfung auf dem Homescreen, scrollt bis ganz nach unten und drueckt &quot;Check for upgrade&quot;&lt;/li&gt;
&lt;li&gt;Dort kann man den Downloadstatus beobachten und bekommt die Meldung, dass ein Upgrade verfuegbar ist, sobald es herunter geladen wurde. Ich persoenlich haette ja zuerst gefragt und dann herunter geladen aber ... &lt;img src=&quot;http://blog.roothausen.de/templates/default/img/emoticons/wink.png&quot; alt=&quot;;-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Anmerkung: Ja ich hatte fast zwei Wochen lang ein G1 und bin momentan dabei mich in das SDK dafuer einzuarbeiten. Ja ich werde noch detaillierter darueber bloggen und nein ich besitze es nicht mehr, da es sich heute wieder auf den Weg zum Verkaeufer gemacht hat.&lt;/p&gt;  
    </content:encoded>

    <pubDate>Wed, 01 Apr 2009 18:38:47 +0200</pubDate>
    <guid isPermaLink="false">http://blog.roothausen.de/2009/04/01/692/</guid>
    <category>android</category>
<category>computer</category>
<category>google</category>
<category>shortys</category>
<category>software</category>
<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
</item>

</channel>
</rss>