<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet href="/blog/templates/default/atom.css" type="text/css" ?>

<feed 
   xmlns="http://www.w3.org/2005/Atom"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/">
    <link href="http://www.jowisoftware.de/blog/feeds/atom.xml" rel="self" title="JoWiSoftware.de" type="application/atom+xml" />
    <link href="http://www.jowisoftware.de/blog/"                        rel="alternate"    title="JoWiSoftware.de" type="text/html" />
    <link href="http://www.jowisoftware.de/blog/rss.php?version=2.0"     rel="alternate"    title="JoWiSoftware.de" type="application/rss+xml" />
    <title type="html">JoWiSoftware.de</title>
    <subtitle type="html">getting.Things.done();</subtitle>
    
    <id>http://www.jowisoftware.de/blog/</id>
    <updated>2012-02-21T10:03:24Z</updated>
    <generator uri="http://www.s9y.org/" version="1.5.3-2">Serendipity 1.5.3-2 - http://www.s9y.org/</generator>
    <dc:language>en</dc:language>

    <entry>
        <link href="http://www.jowisoftware.de/blog/archives/38-A-Scala-example-Reverse-Polish-Notation.html" rel="alternate" title="A Scala example: Reverse Polish Notation" />
        <author>
            <name>Jochen Wierum</name>
                    </author>
    
        <published>2012-02-08T10:47:00Z</published>
        <updated>2012-02-21T10:03:24Z</updated>
        <wfw:comment>http://www.jowisoftware.de/blog/wfwcomment.php?cid=38</wfw:comment>
    
        <wfw:commentRss>http://www.jowisoftware.de/blog/rss.php?version=atom1.0&amp;type=comments&amp;cid=38</wfw:commentRss>
    
            <category scheme="http://www.jowisoftware.de/blog/categories/7-English" label="English" term="English" />
            <category scheme="http://www.jowisoftware.de/blog/categories/17-Programmieren" label="Programmieren" term="Programmieren" />
            <category scheme="http://www.jowisoftware.de/blog/categories/25-Scala" label="Scala" term="Scala" />
    
        <id>http://www.jowisoftware.de/blog/archives/38-guid.html</id>
        <title type="html">A Scala example: Reverse Polish Notation</title>
        <content type="xhtml" xml:base="http://www.jowisoftware.de/blog/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>
	As you may already have heared, I am a big fan of Scala. I was asked to provide a few examples. I would not say that I am an expert, so I start with a really simple example.</p>
<p>
	Let&#39;s write a really simple <a href="http://en.wikipedia.org/wiki/Reverse_Polish_notation">RPN</a> calculator which reads a term from STDIN and prints out the result. The simple thing about RPN is that we only need a stack to calculate the result. So we start with this a class that includes the stack.</p>
 <br /><a href="http://www.jowisoftware.de/blog/archives/38-A-Scala-example-Reverse-Polish-Notation.html#extended">Continue reading "A Scala example: Reverse Polish Notation"</a>
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.jowisoftware.de/blog/archives/37-Buecherempfehlungen-Grundlagen.html" rel="alternate" title="Bücherempfehlungen: Grundlagen" />
        <author>
            <name>Jochen Wierum</name>
                    </author>
    
        <published>2011-11-27T18:17:00Z</published>
        <updated>2011-11-27T18:18:20Z</updated>
        <wfw:comment>http://www.jowisoftware.de/blog/wfwcomment.php?cid=37</wfw:comment>
    
        <wfw:commentRss>http://www.jowisoftware.de/blog/rss.php?version=atom1.0&amp;type=comments&amp;cid=37</wfw:commentRss>
    
            <category scheme="http://www.jowisoftware.de/blog/categories/24-Buch" label="Buch" term="Buch" />
            <category scheme="http://www.jowisoftware.de/blog/categories/14-Clean-Code" label="Clean Code" term="Clean Code" />
            <category scheme="http://www.jowisoftware.de/blog/categories/2-Java" label="Java" term="Java" />
            <category scheme="http://www.jowisoftware.de/blog/categories/26-Patterns" label="Patterns" term="Patterns" />
            <category scheme="http://www.jowisoftware.de/blog/categories/17-Programmieren" label="Programmieren" term="Programmieren" />
            <category scheme="http://www.jowisoftware.de/blog/categories/27-Refactorings" label="Refactorings" term="Refactorings" />
            <category scheme="http://www.jowisoftware.de/blog/categories/15-Studium" label="Studium" term="Studium" />
    
        <id>http://www.jowisoftware.de/blog/archives/37-guid.html</id>
        <title type="html">Bücherempfehlungen: Grundlagen</title>
        <content type="xhtml" xml:base="http://www.jowisoftware.de/blog/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>
	Programmieren macht Spa&szlig;. Doch was, wenn man den Spa&szlig; mit anderen Teilen will? Und wie sorgt man daf&uuml;r, dass der Spa&szlig; auch dann anh&auml;lt, wenn man l&auml;nger an einem Projekt arbeitet? Ein paar Grundlagen und eine gemeinsame Sprache helfen dabei. Hier m&ouml;chte ich ein paar B&uuml;cher vorstellen, die dies zu ihrem Thema machen.</p>
 <br /><a href="http://www.jowisoftware.de/blog/archives/37-Buecherempfehlungen-Grundlagen.html#extended">Continue reading "Bücherempfehlungen: Grundlagen"</a>
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.jowisoftware.de/blog/archives/32-Buecherempfehlungen-Funktionale-Programmierung.html" rel="alternate" title="Bücherempfehlungen: Funktionale Programmierung" />
        <author>
            <name>Jochen Wierum</name>
                    </author>
    
        <published>2011-11-20T10:49:00Z</published>
        <updated>2011-11-20T13:28:07Z</updated>
        <wfw:comment>http://www.jowisoftware.de/blog/wfwcomment.php?cid=32</wfw:comment>
    
        <wfw:commentRss>http://www.jowisoftware.de/blog/rss.php?version=atom1.0&amp;type=comments&amp;cid=32</wfw:commentRss>
    
            <category scheme="http://www.jowisoftware.de/blog/categories/24-Buch" label="Buch" term="Buch" />
            <category scheme="http://www.jowisoftware.de/blog/categories/2-Java" label="Java" term="Java" />
            <category scheme="http://www.jowisoftware.de/blog/categories/5-Perl" label="Perl" term="Perl" />
            <category scheme="http://www.jowisoftware.de/blog/categories/17-Programmieren" label="Programmieren" term="Programmieren" />
            <category scheme="http://www.jowisoftware.de/blog/categories/25-Scala" label="Scala" term="Scala" />
    
        <id>http://www.jowisoftware.de/blog/archives/32-guid.html</id>
        <title type="html">Bücherempfehlungen: Funktionale Programmierung</title>
        <content type="xhtml" xml:base="http://www.jowisoftware.de/blog/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>Es gibt diverse Arten von Programmiersprachen. Heute wird viel von imperativen Programmiersprachen gebrauch gemacht. Sie sagen, welche Schritte etwas getan werden soll. Ein typischer Vertreter dieser Kategorie ist zum Beispiel Java (obwohl auch hier langsam Funktionale Elemente Einzug halten). Ein anderer, seit 1930 in der Mathematik bekannter Ansatz konzentriert sich nicht so sehr auf eine Schrittweise Anleitung, sondern darauf, wie die Funktionen kombiniert werden k&ouml;nnen, sodass neue Funktionalit&auml;t entsteht. Ein h&auml;ufig zitiertes, wenn auch l&auml;ngliches Paper mit dem Titel &quot;<a href="http://www.cse.chalmers.se/~rjmh/Papers/whyfp.html">Why Functional Programming Matters</a>&quot; von John Hughes stellt die Vorteile sehr sch&ouml;n zusammen.</p>
<p>Ein paar typische funktionale Elemente wirken sehr praktisch. Hier ein Beispiel zur Quadrierung alle Elemente einer Liste in Java:</p>
<div class="java source">
<ol>
    <li class="li1">
    <div class="de1"><span class="kw4">int</span><span class="br0">[</span><span class="br0">]</span> squared<span class="br0">(</span><span class="kw4">int</span><span class="br0">[</span><span class="br0">]</span> list<span class="br0">)</span> <span class="br0">{</span></div>
    </li>
    <li class="li2">
    <div class="de2">&#160; &#160; <span class="kw4">int</span><span class="br0">[</span><span class="br0">]</span> result <span class="sy0">=</span> <span class="kw1">new</span> <span class="kw4">int</span><span class="br0">[</span>list.<span class="me1">length</span><span class="br0">]</span><span class="sy0">;</span></div>
    </li>
    <li class="li1">
    <div class="de1">&#160; &#160; <span class="kw1">for</span> <span class="br0">(</span><span class="kw4">int</span> i <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span> i <span class="sy0">&lt;</span> list.<span class="me1">length</span><span class="sy0">;</span> <span class="sy0">++</span>i<span class="br0">)</span> <span class="br0">{</span></div>
    </li>
    <li class="li2">
    <div class="de2">&#160; &#160; &#160; &#160; result<span class="br0">[</span>i<span class="br0">]</span> <span class="sy0">=</span> list<span class="br0">[</span>i<span class="br0">]</span> <span class="sy0">*</span> list<span class="br0">[</span>i<span class="br0">]</span><span class="sy0">;</span></div>
    </li>
    <li class="li1">
    <div class="de1">&#160; &#160; <span class="br0">}</span></div>
    </li>
    <li class="li2">
    <div class="de2">&#160; &#160; <span class="kw1">return</span> result<span class="sy0">;</span></div>
    </li>
    <li class="li1">
    <div class="de1"><span class="br0">}</span></div>
    </li>
</ol>
</div>
<p>&#160;In Scala geht dies in einer Zeile:</p>
<div class="scala source">
<ol>
    <li class="li1">
    <div class="de1"><span class="kw1">def</span> squared<span class="br0">(</span>list<span class="sy0">:</span>List<span class="br0">[</span>Int<span class="br0">]</span><span class="br0">)</span> <span class="sy0">=</span> list.<span class="me1">map</span><span class="br0">(</span><span class="br0">(</span>x<span class="br0">)</span> <span class="sy0">=&gt;</span> x <span class="sy0">*</span> x<span class="br0">)</span></div>
    </li>
</ol>
</div>
<p>Die Map-Funktion &uuml;bernimmt als Parameter eine weitere Funktion. Diese nimmt einen Parameter x entgegen, und gibt x * x als Resultat zur&uuml;ck. &quot;Map&quot; ist hier eine Funktion h&ouml;herer Ordnung. Dass sind solche Funktionen, die als Parameter weitere Funktionen entgegennehmen. Viele andere Probleme werden rekursiv ausformuliert.</p>
<p>Ich m&ouml;chte nicht behaupten, dass Funktionale Programmierung ein Allheilmittel ist. Insbesondere ist es eine nicht zu verachtende Umgew&ouml;hnung. Allerdings halten die Konzepte erneut Einzug in die Programmierung (sei es Javascript, Ruby, die .NET-Welt, oder eben Java), und es kann nicht schaden, zumindest ein paar Ideen zu kennen.</p>
<p>Doch wie f&auml;ngt man an? Ich m&ouml;chte an dieser Stelle ein paar B&uuml;cher vorstellen, die vor allem die Vorz&uuml;ge einer Mischung der Konzepte in den Vordergrund stellen, und so den Einstieg erleichtern. Sinnvoll sind diese B&uuml;cher in erster Linie f&uuml;r Leute, die schon Erfahrung im Programmieren haben.</p> <br /><a href="http://www.jowisoftware.de/blog/archives/32-Buecherempfehlungen-Funktionale-Programmierung.html#extended">Continue reading "Bücherempfehlungen: Funktionale Programmierung"</a>
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.jowisoftware.de/blog/archives/31-Buecherempfehlungen-TDD.html" rel="alternate" title="Bücherempfehlungen: TDD" />
        <author>
            <name>Jochen Wierum</name>
                    </author>
    
        <published>2011-11-12T10:00:26Z</published>
        <updated>2011-11-20T13:29:42Z</updated>
        <wfw:comment>http://www.jowisoftware.de/blog/wfwcomment.php?cid=31</wfw:comment>
    
        <wfw:commentRss>http://www.jowisoftware.de/blog/rss.php?version=atom1.0&amp;type=comments&amp;cid=31</wfw:commentRss>
    
            <category scheme="http://www.jowisoftware.de/blog/categories/24-Buch" label="Buch" term="Buch" />
            <category scheme="http://www.jowisoftware.de/blog/categories/14-Clean-Code" label="Clean Code" term="Clean Code" />
            <category scheme="http://www.jowisoftware.de/blog/categories/17-Programmieren" label="Programmieren" term="Programmieren" />
            <category scheme="http://www.jowisoftware.de/blog/categories/15-Studium" label="Studium" term="Studium" />
    
        <id>http://www.jowisoftware.de/blog/archives/31-guid.html</id>
        <title type="html">Bücherempfehlungen: TDD</title>
        <content type="xhtml" xml:base="http://www.jowisoftware.de/blog/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>Ich lese relativ viel, und wollte die Gelegenheit einfach mal nutzen, um ein paar B&uuml;cher vorzustellen, die mir pers&ouml;nlich gut gefielen. Den Anfang machen heute drei B&uuml;cher zum Thema Tests.</p>
<p>Tests sind bei der Entwicklung von Software unerl&auml;sslich. So  selbstverst&auml;ndlich, wie dieser Satz klingen mag, ist dieser Grundsatz  aber nicht immer eingehalten - und das nicht ohne Grund. Tests finden  auf vielen verschiedenen Ebenen statt. Die unterste Ebene sind der Tests  sind Unit-Tests. Diese Testen einzelne Funktionalit&auml;ten. Beim  Testgetriebenen Ansatz werden die Tests geschrieben, bevor die  Funktionalit&auml;t entsteht. Das Resultat ist eine sehr hohe Testabdeckung  und ein gutes Sicherheitsnetz f&uuml;r sp&auml;tere Refactoring-Ma&szlig;nahmen. TDD  wirkt sich aber auch auf das Design der Anwendung aus: die Klassen sind  loser gekoppelt, die Abh&auml;ngigkeiten sind durchdachter.</p> <br /><a href="http://www.jowisoftware.de/blog/archives/31-Buecherempfehlungen-TDD.html#extended">Continue reading "Bücherempfehlungen: TDD"</a>
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.jowisoftware.de/blog/archives/30-Automatisierte-Spam-Mails.html" rel="alternate" title="Automatisierte Spam-Mails" />
        <author>
            <name>Jochen Wierum</name>
                    </author>
    
        <published>2011-10-09T08:03:00Z</published>
        <updated>2011-10-09T08:05:04Z</updated>
        <wfw:comment>http://www.jowisoftware.de/blog/wfwcomment.php?cid=30</wfw:comment>
    
        <wfw:commentRss>http://www.jowisoftware.de/blog/rss.php?version=atom1.0&amp;type=comments&amp;cid=30</wfw:commentRss>
    
            <category scheme="http://www.jowisoftware.de/blog/categories/20-Fun" label="Fun" term="Fun" />
            <category scheme="http://www.jowisoftware.de/blog/categories/1-Smalltalk" label="Smalltalk" term="Smalltalk" />
    
        <id>http://www.jowisoftware.de/blog/archives/30-guid.html</id>
        <title type="html">Automatisierte Spam-Mails</title>
        <content type="xhtml" xml:base="http://www.jowisoftware.de/blog/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>Folgende Spam-Mail erreichte mich diese Tage (sie ist nat&uuml;rlich nicht von wer-kennt-wen)... Die Quizfrage des Tages: wer schreibt hier wem?</p>
<p>Ich tippe ja auf &quot;Lieben Gru&szlig; &lt;?php random_female_name() ?&gt;&quot;</p>
<p>&#160;</p>
<pre>
Betreff: Eine Nachricht von Dagmar wartet auf

Wer kennt wen

*Eine Nachricht von Yvonne! *

Hallo Peter,

Mein Name ist Jessica ich bin 29 Jahre alt und suche Neue Freunde &uuml;ber
das World Wide Web.

Ich w&uuml;rde mich sehr freuen wenn du &uuml;ber meine Seite mit mir Kontakt
aufnehmen w&uuml;rdest.

[URL entfernt]

Sie finden mich sofort hinter der Registrierung im Oberen Sektor.

Lieben Gru&szlig; Anna!


wer-kennt-wen f&uuml;hrt Eure Freunde, Bekannte und Verwandten im richtigen
Leben auch virtuell zusammen. wer-kennt-wen ist kostenlos.

[...]
</pre> 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.jowisoftware.de/blog/archives/29-Tiny-solution-for-automated-backups-duply.html" rel="alternate" title="Tiny solution for automated backups: duply" />
        <author>
            <name>Jochen Wierum</name>
                    </author>
    
        <published>2011-10-03T11:07:00Z</published>
        <updated>2011-10-03T11:20:46Z</updated>
        <wfw:comment>http://www.jowisoftware.de/blog/wfwcomment.php?cid=29</wfw:comment>
    
        <wfw:commentRss>http://www.jowisoftware.de/blog/rss.php?version=atom1.0&amp;type=comments&amp;cid=29</wfw:commentRss>
    
            <category scheme="http://www.jowisoftware.de/blog/categories/23-Backups" label="Backups" term="Backups" />
            <category scheme="http://www.jowisoftware.de/blog/categories/7-English" label="English" term="English" />
            <category scheme="http://www.jowisoftware.de/blog/categories/3-Linux" label="Linux" term="Linux" />
    
        <id>http://www.jowisoftware.de/blog/archives/29-guid.html</id>
        <title type="html">Tiny solution for automated backups: duply</title>
        <content type="xhtml" xml:base="http://www.jowisoftware.de/blog/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>There are many backup solutions out there. Many of them are free and each one is great in its own way. One very pouplar solution is <a href="http://backuppc.sourceforge.net/">BackupPC</a>. But sometimes these solutions are to complex. Imagine the following scenario: you have exactly one tiny server and an FTP storage, and you want to do incremental backups every night via cron. It sounds like a problem for rsync. But since FTP and rsync don't work together that well, here is another solution: duply.</p> <br /><a href="http://www.jowisoftware.de/blog/archives/29-Tiny-solution-for-automated-backups-duply.html#extended">Continue reading "Tiny solution for automated backups: duply"</a>
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.jowisoftware.de/blog/archives/28-FrOSCon-6.html" rel="alternate" title="FrOSCon 6" />
        <author>
            <name>Jochen Wierum</name>
                    </author>
    
        <published>2011-08-14T10:08:43Z</published>
        <updated>2011-08-14T10:22:36Z</updated>
        <wfw:comment>http://www.jowisoftware.de/blog/wfwcomment.php?cid=28</wfw:comment>
    
        <wfw:commentRss>http://www.jowisoftware.de/blog/rss.php?version=atom1.0&amp;type=comments&amp;cid=28</wfw:commentRss>
    
            <category scheme="http://www.jowisoftware.de/blog/categories/3-Linux" label="Linux" term="Linux" />
            <category scheme="http://www.jowisoftware.de/blog/categories/17-Programmieren" label="Programmieren" term="Programmieren" />
            <category scheme="http://www.jowisoftware.de/blog/categories/1-Smalltalk" label="Smalltalk" term="Smalltalk" />
            <category scheme="http://www.jowisoftware.de/blog/categories/15-Studium" label="Studium" term="Studium" />
    
        <id>http://www.jowisoftware.de/blog/archives/28-guid.html</id>
        <title type="html">FrOSCon 6</title>
        <content type="xhtml" xml:base="http://www.jowisoftware.de/blog/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>Gef&uuml;hlt vergeht die Zeit immer schneller (stellt sich die Frage, ob es konvergiert&#160;<img alt="" src="http://www.jowisoftware.de/blog/smileys/wink_smile.gif" />). Jedenfalls ist seit der letzten Werbung f&uuml;r die letzte FrOSCon schon wieder ein Jahr vergangen und die <a href="http://www.froscon.de">FrOSCon 6</a> steht vor der T&uuml;r. An der Struktur der Konferenz hat sich wenig ge&auml;ndert: <a href="http://www.froscon.de/aussteller/projekte.html">Zahlreiche Aussteller</a>, die mit und f&uuml;r Open Source arbeiten, diverse parallele <a href="http://programm.froscon.org/2011/">Tracks</a> mit interessanten Themen, separaten Kinder-und Jugendtracks, einem Social Event am Samstag Abend, eine Keysigning-Party und so weiter....</p>
<p>Die Keynotes werden von Simon Phipps (ForgeRock) und Michael &quot;Monty&quot; Widenius (Autor von MySQL) gehalten.</p>
<p>Ich w&uuml;rde mich freuen, das eine oder andere Gesicht dort wieder zu sehen!</p>
<p>&#160;</p>
<p>Die Konferenz kostet f&uuml;r Samstag und Sonntag 5 &euro;.</p>
<p><a href="http://www.froscon.de/besucher.html">Interesse</a>?<br />
Hochschule Bonn-Rhein-Sieg<br />
Grantham-Allee 20<br />
53757 Sankt Augustin</p> 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.jowisoftware.de/blog/archives/27-Template-fuer-BachelorMasther-Thesis.html" rel="alternate" title="Template für Bachelor/Masther-Thesis" />
        <author>
            <name>Jochen Wierum</name>
                    </author>
    
        <published>2011-06-23T09:02:46Z</published>
        <updated>2011-12-07T09:10:05Z</updated>
        <wfw:comment>http://www.jowisoftware.de/blog/wfwcomment.php?cid=27</wfw:comment>
    
        <wfw:commentRss>http://www.jowisoftware.de/blog/rss.php?version=atom1.0&amp;type=comments&amp;cid=27</wfw:commentRss>
    
            <category scheme="http://www.jowisoftware.de/blog/categories/22-LaTeX" label="LaTeX" term="LaTeX" />
            <category scheme="http://www.jowisoftware.de/blog/categories/15-Studium" label="Studium" term="Studium" />
    
        <id>http://www.jowisoftware.de/blog/archives/27-guid.html</id>
        <title type="html">Template für Bachelor/Masther-Thesis</title>
        <content type="xhtml" xml:base="http://www.jowisoftware.de/blog/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>
	Ich wurde in der letzten Zeit h&auml;ufiger nach meiner Bachelor-Thesis gefragt.Ich kann (und werde :-) ) sie nicht herausgeben. Ich habe aber mal ein minimales Template extrahiert, sodass man zumindest ein LaTeX-Sklett hat, auf dem man eine eigene Arbeit aufbauen kann.</p>
<p>
	Ich habe die Arbeit mit make gesetzt. Au&szlig;erdem habe ich gnuplot und graphviz verwendet. Die entsprechende Funktionalit&auml;t ist noch vorhanden. Es lassen sich sowohl dvi-Dateien, als auch pdf-Dateien generieren, wobei das Make-File nur letzteres tut. DVI-Dateien sind im Zusammenspiel mit <a href="http://texlipse.sourceforge.net/">TeXlipse</a> sehr interessant: hier kann man <a href="http://texlipse.sourceforge.net/manual/build.html#sourcelink">per Doppelklick auf eine Zeile direkt in den Quellcode springen</a>.</p>
<p>
	Ein paar Zeilen Beispielcode sind enthalten. Viel Spa&szlig;!</p>
<ul>
	<li>
		<a href="http://www.jowisoftware.de/blog/uploads/latex/thesis-template-src.zip">Sourcecode</a></li>
	<li>
		<a href="http://www.jowisoftware.de/blog/uploads/latex/thesis-template.pdf">Beispieldokument (PDF)</a></li>
</ul>
<p>
	Der Code darf beliebig verwendet werden, der Autor erhebt keinerlei Anspr&uuml;che, kann aber auch nicht f&uuml;r eventuelle Sch&auml;den verantwortlich gemacht werden.</p>
 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.jowisoftware.de/blog/archives/26-Creating-runnable-wars-with-Maven-and-Jetty.html" rel="alternate" title="Creating runnable wars with Maven (and Jetty)" />
        <author>
            <name>Jochen Wierum</name>
                    </author>
    
        <published>2011-02-13T10:43:18Z</published>
        <updated>2011-08-29T16:25:33Z</updated>
        <wfw:comment>http://www.jowisoftware.de/blog/wfwcomment.php?cid=26</wfw:comment>
    
        <wfw:commentRss>http://www.jowisoftware.de/blog/rss.php?version=atom1.0&amp;type=comments&amp;cid=26</wfw:commentRss>
    
            <category scheme="http://www.jowisoftware.de/blog/categories/7-English" label="English" term="English" />
            <category scheme="http://www.jowisoftware.de/blog/categories/2-Java" label="Java" term="Java" />
            <category scheme="http://www.jowisoftware.de/blog/categories/17-Programmieren" label="Programmieren" term="Programmieren" />
    
        <id>http://www.jowisoftware.de/blog/archives/26-guid.html</id>
        <title type="html">Creating runnable wars with Maven (and Jetty)</title>
        <content type="xhtml" xml:base="http://www.jowisoftware.de/blog/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>Hudson is a really great tool if you work with source code in a team with more than two persons. One thing in hudson always fascinated me: the fact, that Hudson is runnable just by typing</p>
<p><kbd>java -jar hudson.war</kbd></p>
<p>I do not know if it really has practical relevance, but I searched a way to create such a jar only with Maven and Jetty.</p> <br /><a href="http://www.jowisoftware.de/blog/archives/26-Creating-runnable-wars-with-Maven-and-Jetty.html#extended">Continue reading "Creating runnable wars with Maven (and Jetty)"</a>
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.jowisoftware.de/blog/archives/25-Nachtrag-zu-WICD-und-OpenVPN.html" rel="alternate" title="Nachtrag zu WICD und OpenVPN" />
        <author>
            <name>Jochen Wierum</name>
                    </author>
    
        <published>2011-01-10T08:03:00Z</published>
        <updated>2010-12-31T11:03:53Z</updated>
        <wfw:comment>http://www.jowisoftware.de/blog/wfwcomment.php?cid=25</wfw:comment>
    
        <wfw:commentRss>http://www.jowisoftware.de/blog/rss.php?version=atom1.0&amp;type=comments&amp;cid=25</wfw:commentRss>
    
            <category scheme="http://www.jowisoftware.de/blog/categories/6-Bash" label="Bash" term="Bash" />
            <category scheme="http://www.jowisoftware.de/blog/categories/3-Linux" label="Linux" term="Linux" />
            <category scheme="http://www.jowisoftware.de/blog/categories/15-Studium" label="Studium" term="Studium" />
    
        <id>http://www.jowisoftware.de/blog/archives/25-guid.html</id>
        <title type="html">Nachtrag zu WICD und OpenVPN</title>
        <content type="xhtml" xml:base="http://www.jowisoftware.de/blog/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>In diesem Artikel habe ich eine M&ouml;glichkeit vorgestellt, WICD mit OpenVPN zu verbinden. Unter Umst&auml;nden scheint WICD allerdings die f&uuml;r eine Verbindung hinterlegten Scripte zu ignorieren. In diesem Fall hilft es, in /etc/wicd/scripts globale Scripts zu hinterlegen. Diese werden in jedem Fall ausgef&uuml;hrt. Allerdings muss das Script selbst pr&uuml;fen, ob die Verbindung (<em>$1</em>) und die SSID (<em>$2</em>) passt, da sonst bei jeder Verbindung OpenVPN gestartet werden w&uuml;rde.<br />
<br />
Dazu ist es am sinnvollsten, drei Scripte anzulegen. Die ersten beiden sind identisch und unter <tt>/etc/wicd/scripts/predisconnect/openvpn</tt> bzw. <tt>/etc/wicd/scripts/postdisconnect/openvpn</tt> zu finden:</p>
<div class="bash source">
<ol>
    <li class="li1">
    <div class="de1"><span class="co0">#!/bin/sh</span></div>
    </li>
    <li class="li2">
    <div class="de2">&#160;</div>
    </li>
    <li class="li1">
    <div class="de1"><span class="kw1">if</span> <span class="br0">[</span> <span class="st0">&quot;$1&quot;</span> = <span class="st_h">'wireless'</span> <span class="br0">]</span> <span class="sy0">&amp;&amp;</span> <span class="br0">[</span> <span class="st0">&quot;$2&quot;</span> = <span class="st_h">'WLANFB02'</span> <span class="br0">]</span>; <span class="kw1">then</span></div>
    </li>
    <li class="li2">
    <div class="de2">&#160; &#160; &#160; &#160; <span class="kw3">exec</span> <span class="sy0">/</span>usr<span class="sy0">/</span>local<span class="sy0">/</span>bin<span class="sy0">/</span>fhvpn stop</div>
    </li>
    <li class="li1">
    <div class="de1"><span class="kw1">fi</span></div>
    </li>
</ol>
</div>
<p>Die SSID muss hier entsprechend angepasst werden.<br />
Das letzte Script startet OpenVPN und ist unter <tt>/etc/wicd/scripts/postconnect/openvpn</tt> zu finden:</p>
<div class="bash source">
<ol>
    <li class="li1">
    <div class="de1"><span class="co0">#!/bin/sh</span></div>
    </li>
    <li class="li2">
    <div class="de2">&#160;</div>
    </li>
    <li class="li1">
    <div class="de1"><span class="kw1">if</span> <span class="br0">[</span> <span class="st0">&quot;$1&quot;</span> = <span class="st_h">'wireless'</span> <span class="br0">]</span> <span class="sy0">&amp;&amp;</span> <span class="br0">[</span> <span class="st0">&quot;$2&quot;</span> = <span class="st_h">'WLANFB02'</span> <span class="br0">]</span>; <span class="kw1">then</span></div>
    </li>
    <li class="li2">
    <div class="de2">&#160; &#160; &#160; &#160; <span class="kw3">exec</span> <span class="sy0">/</span>usr<span class="sy0">/</span>local<span class="sy0">/</span>bin<span class="sy0">/</span>fhvpn start</div>
    </li>
    <li class="li1">
    <div class="de1"><span class="kw1">fi</span></div>
    </li>
</ol>
</div>
<p>Viel Spa&szlig;!</p> 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.jowisoftware.de/blog/archives/24-External-authentication-without-double-login-in-tt-rss.html" rel="alternate" title="External authentication without double-login in tt-rss" />
        <author>
            <name>Jochen Wierum</name>
                    </author>
    
        <published>2010-12-30T13:46:01Z</published>
        <updated>2010-12-31T10:11:39Z</updated>
        <wfw:comment>http://www.jowisoftware.de/blog/wfwcomment.php?cid=24</wfw:comment>
    
        <wfw:commentRss>http://www.jowisoftware.de/blog/rss.php?version=atom1.0&amp;type=comments&amp;cid=24</wfw:commentRss>
    
            <category scheme="http://www.jowisoftware.de/blog/categories/7-English" label="English" term="English" />
            <category scheme="http://www.jowisoftware.de/blog/categories/21-Mobil" label="Mobil" term="Mobil" />
            <category scheme="http://www.jowisoftware.de/blog/categories/18-PHP" label="PHP" term="PHP" />
    
        <id>http://www.jowisoftware.de/blog/archives/24-guid.html</id>
        <title type="html">External authentication without double-login in tt-rss</title>
        <content type="xhtml" xml:base="http://www.jowisoftware.de/blog/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>I already wrote about <a href="http://tt-rss.org">tiny tiny RSS (tt-rss)</a> <a href="http://jowisoftware.de/blog/archives/18-Using-Tiny-Tiny-RSS-with-Opera-Mobile-updated.html">in this article</a>.</p>
<p>So far, the login-mechanism of tt-rss was used. However, tt-rss also allows to use authentication mechanisms of an webserver, which allowes the usage of htAccess and htUser-Files.</p> <br /><a href="http://www.jowisoftware.de/blog/archives/24-External-authentication-without-double-login-in-tt-rss.html#extended">Continue reading "External authentication without double-login in tt-rss"</a>
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.jowisoftware.de/blog/archives/23-Winter-in-Koeln.html" rel="alternate" title="Winter in Köln" />
        <author>
            <name>Jochen Wierum</name>
                    </author>
    
        <published>2010-12-05T14:26:41Z</published>
        <updated>2010-12-05T14:26:41Z</updated>
        <wfw:comment>http://www.jowisoftware.de/blog/wfwcomment.php?cid=23</wfw:comment>
    
        <wfw:commentRss>http://www.jowisoftware.de/blog/rss.php?version=atom1.0&amp;type=comments&amp;cid=23</wfw:commentRss>
    
            <category scheme="http://www.jowisoftware.de/blog/categories/16-Bilder" label="Bilder" term="Bilder" />
            <category scheme="http://www.jowisoftware.de/blog/categories/1-Smalltalk" label="Smalltalk" term="Smalltalk" />
    
        <id>http://www.jowisoftware.de/blog/archives/23-guid.html</id>
        <title type="html">Winter in Köln</title>
        <content type="xhtml" xml:base="http://www.jowisoftware.de/blog/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>Kaum zu glauben, aber wahr: Winter in K&ouml;ln.</p>
<p>Im Laufe der Woche gelang mir folgender Schnappschuss:</p>
<p><a href="http://www.jowisoftware.de/blog/uploads/fotos/winter.jpg"><img width="110" height="83" src="http://www.jowisoftware.de/blog/uploads/fotos/winter.serendipityThumb.jpg" alt="" /></a></p> 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.jowisoftware.de/blog/archives/22-Einen-schoenen-ersten-Advent!.html" rel="alternate" title="Einen schönen ersten Advent!" />
        <author>
            <name>Jochen Wierum</name>
                    </author>
    
        <published>2010-11-28T10:56:45Z</published>
        <updated>2010-11-28T10:56:45Z</updated>
        <wfw:comment>http://www.jowisoftware.de/blog/wfwcomment.php?cid=22</wfw:comment>
    
        <wfw:commentRss>http://www.jowisoftware.de/blog/rss.php?version=atom1.0&amp;type=comments&amp;cid=22</wfw:commentRss>
    
            <category scheme="http://www.jowisoftware.de/blog/categories/1-Smalltalk" label="Smalltalk" term="Smalltalk" />
    
        <id>http://www.jowisoftware.de/blog/archives/22-guid.html</id>
        <title type="html">Einen schönen ersten Advent!</title>
        <content type="xhtml" xml:base="http://www.jowisoftware.de/blog/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>Eigentlich halte ich mich mit meiner Meinung im Internet &uuml;ber die Welt ja meistens zur&uuml;ck... Heute ist der erste Advent. Der Beginn einer Zeit, die eigentlich von Vorfreude auf Weihnachten gepr&auml;gt sein sollte. Eine Zeit der Ruhe und Besinnlichkeit. Gerade geht der November zuende. Der November, der d&uuml;sterste Monat des Jahres, mit Allerheiligen, dem Bu&szlig;- und Bettag und dem Totensonntag. Schon seit Anfang November werde ich stattdessen mit &quot;Frohes Fest!&quot; begr&uuml;&szlig;t - ein riesiges Schild. Jeden Morgen.</p>
<p>Und jeden morgen frage ich mich: muss das sein? Was bedeutet Weihnachten? Was bedeutet Advent? Was bedeutet es f&uuml;r uns, und f&uuml;r den Besitzer des Schildes?</p>
<p>Ich habe kein Problem damit, wenn jemandem das ganze zu viel oder egal ist. Aber wer in der ganzen Veranstaltung nur noch eine M&ouml;glichkeit sieht, Geld zu verdienen,  Hektik provoziert und damit auch diejenigen hineinzieht, die das ganze anders sehen... f&uuml;r den entgleitet mir langsam das Verst&auml;ndnis. Sind wir wirklich <a href="http://www.youtube.com/watch?v=zPiObc1ntVU">so</a> geworden? K&ouml;nnen wir nicht mehr Ruhen? Oder Trauern? Schade!</p>
<p>Ich w&uuml;nsche uns eine besinnliche Adventszeit!</p> 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.jowisoftware.de/blog/archives/21-OpenVPN-Dienst-bequem-aus-der-Konsole-steuern.html" rel="alternate" title="OpenVPN Dienst bequem aus der Konsole steuern" />
        <author>
            <name>Jochen Wierum</name>
                    </author>
    
        <published>2010-10-24T15:43:41Z</published>
        <updated>2010-10-24T15:43:41Z</updated>
        <wfw:comment>http://www.jowisoftware.de/blog/wfwcomment.php?cid=21</wfw:comment>
    
        <wfw:commentRss>http://www.jowisoftware.de/blog/rss.php?version=atom1.0&amp;type=comments&amp;cid=21</wfw:commentRss>
    
            <category scheme="http://www.jowisoftware.de/blog/categories/6-Bash" label="Bash" term="Bash" />
            <category scheme="http://www.jowisoftware.de/blog/categories/3-Linux" label="Linux" term="Linux" />
            <category scheme="http://www.jowisoftware.de/blog/categories/17-Programmieren" label="Programmieren" term="Programmieren" />
            <category scheme="http://www.jowisoftware.de/blog/categories/15-Studium" label="Studium" term="Studium" />
    
        <id>http://www.jowisoftware.de/blog/archives/21-guid.html</id>
        <title type="html">OpenVPN Dienst bequem aus der Konsole steuern</title>
        <content type="xhtml" xml:base="http://www.jowisoftware.de/blog/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>An meiner <a href="http://www.h-brs.de">Hochschule</a> wird OpenVPN eingesetzt um die W-Lan Verbindungen effektiv zu verschl&uuml;sseln. Da ich relativ viel in Linux unterwegs bin, und OpenVPN in diversen Window-Managern (i3, XFCE, KDE) und auf der Konsole nutze, suchte ich eine M&ouml;glichkeit, um OpenVPN bequem und sicher starten und stoppen zu k&ouml;nnen.</p> <br /><a href="http://www.jowisoftware.de/blog/archives/21-OpenVPN-Dienst-bequem-aus-der-Konsole-steuern.html#extended">Continue reading "OpenVPN Dienst bequem aus der Konsole steuern"</a>
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.jowisoftware.de/blog/archives/20-Syncing-Horde-with-cellphones-and-fixing-a-connection-error-Problem.html" rel="alternate" title="Syncing Horde with cellphones - and fixing a &quot;connection error&quot; Problem" />
        <author>
            <name>Jochen Wierum</name>
                    </author>
    
        <published>2010-10-17T15:35:00Z</published>
        <updated>2011-07-30T16:26:10Z</updated>
        <wfw:comment>http://www.jowisoftware.de/blog/wfwcomment.php?cid=20</wfw:comment>
    
        <wfw:commentRss>http://www.jowisoftware.de/blog/rss.php?version=atom1.0&amp;type=comments&amp;cid=20</wfw:commentRss>
    
            <category scheme="http://www.jowisoftware.de/blog/categories/7-English" label="English" term="English" />
            <category scheme="http://www.jowisoftware.de/blog/categories/9-Mails" label="Mails" term="Mails" />
            <category scheme="http://www.jowisoftware.de/blog/categories/21-Mobil" label="Mobil" term="Mobil" />
    
        <id>http://www.jowisoftware.de/blog/archives/20-guid.html</id>
        <title type="html">Syncing Horde with cellphones - and fixing a &quot;connection error&quot; Problem</title>
        <content type="xhtml" xml:base="http://www.jowisoftware.de/blog/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>The Horde framework is a great tool if you need a collaboration suite which is accessible from all over the world. In newer versions, Horde provides an rpc service which can be used to sync calendar-entries, contacts and notes.<br />
<br />
I use a Nokia 5230 with an Symbian S60 5. Edition. It gives me the opportunity to sync my contacts, calendar and notes via SyncML. Wouldn't it be great to sync these with horde, so you have always the same calendar, even if you're offline?<br />
<br />
Basically, all you have to setup is this:</p>
<ul>
    <li>open Menu &gt; Settings &gt; Connectivity &gt; Data transfer &gt; Sync (Men&uuml; &gt; Einstellungen &gt; Verbindungen &gt; Datentransfer &gt; Sync in German)</li>
    <li>add a new sync profile with</li>
    <li>name: Horde</li>
    <li>version: 1.1</li>
    <li>channel: Internet</li>
    <li>connection: default</li>
    <li>server address: https://path/to/horde/rpc.php</li>
    <li>port: 443</li>
    <li>username: your horde login name</li>
    <li>password: your horde login password</li>
    <li>contact database: contacts</li>
    <li>calendar database: calendar</li>
    <li>notes database: notes</li>
    <li>(keep the default values for the rest)</li>
</ul>
<p>Well, I would not blog about it, if it worked in the first try. My Phone said &quot;<em>connection error</em>&quot; (&quot;<em>Verbindungsfehler</em>&quot; in German). I google'd a few hours and found out only one important note: If you create a directory /tmp/sync, then horde will log some debug-output there. Horde did, and as far as I understood the files, they looked okay.</p>
<p>It was rather an accident that I found out what the problem was. It seems, by cellphone can't decompress HTML-Streams. In the horde administration, select &quot;configuration&quot; and open the &quot;<em>Horde (horde)</em>&quot; settings. Make sure that in the &quot;<em>general</em>&quot;-Tab in the &quot;<em>PHP Settings</em>&quot; section there is <em>no tick at $conf[compress_page</em><em>]</em>. After I removed the settings, my cellphone was happy. And me too <img alt="" src="http://www.jowisoftware.de/blog/smileys/wink_smile.gif" /></p> 
            </div>
        </content>
        
    </entry>

</feed>
