<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Daniel Murygin</title>
	<atom:link href="http://murygin.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://murygin.wordpress.com</link>
	<description>Software braucht Kreativität</description>
	<pubDate>Tue, 24 Jun 2008 11:12:15 +0000</pubDate>
	<generator>http://wordpress.org/?v=MU</generator>
	<language>de</language>
			<item>
		<title>Its Your Phone</title>
		<link>http://murygin.wordpress.com/2008/03/26/its-your-phone/</link>
		<comments>http://murygin.wordpress.com/2008/03/26/its-your-phone/#comments</comments>
		<pubDate>Tue, 25 Mar 2008 23:06:55 +0000</pubDate>
		<dc:creator>murygin</dc:creator>
		
		<category><![CDATA[Android]]></category>

		<category><![CDATA[Google]]></category>

		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://murygin.wordpress.com/?p=48</guid>
		<description><![CDATA[
Today i submitted my application Its Your Phone for the Android Developer Challenge. Its Your Phone sends data from a mobile phone to a server. The server saves data in a database. Therefore Its Your Phone consist of two parts: a client for Android which sends data and a server which receives and persists data.
Read [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><img src="http://code.google.com/android/goodies/wallpaper/android-wallpaper5_thumbnail.jpg" alt="Android" align="texttop" hspace="5" vspace="5" /></p>
<p>Today i submitted my application <b>Its Your Phone</b> for the <a href="http://code.google.com/android/adc.html">Android Developer Challenge</a>. Its Your Phone sends data from a mobile phone to a server. The server saves data in a database. Therefore Its Your Phone consist of two parts: a client for Android which sends data and a server which receives and persists data.</p>
<p><a href="http://murygin.wordpress.com/its-your-phone/">Read more&#8230;</a></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/murygin.wordpress.com/48/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/murygin.wordpress.com/48/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/murygin.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/murygin.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/murygin.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/murygin.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/murygin.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/murygin.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/murygin.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/murygin.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/murygin.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/murygin.wordpress.com/48/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=murygin.wordpress.com&blog=1115167&post=48&subd=murygin&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://murygin.wordpress.com/2008/03/26/its-your-phone/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/murygin-128.jpg" medium="image">
			<media:title type="html">murygin</media:title>
		</media:content>

		<media:content url="http://code.google.com/android/goodies/wallpaper/android-wallpaper5_thumbnail.jpg" medium="image">
			<media:title type="html">Android</media:title>
		</media:content>
	</item>
		<item>
		<title>BEA WebLogic Server 10.0 läuft nicht mit Java 6</title>
		<link>http://murygin.wordpress.com/2008/01/11/bea-weblogic-server-100-lauft-nicht-mit-java-6/</link>
		<comments>http://murygin.wordpress.com/2008/01/11/bea-weblogic-server-100-lauft-nicht-mit-java-6/#comments</comments>
		<pubDate>Fri, 11 Jan 2008 09:41:39 +0000</pubDate>
		<dc:creator>murygin</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[java 6]]></category>

		<category><![CDATA[weblogic]]></category>

		<guid isPermaLink="false">http://murygin.wordpress.com/2008/01/11/bea-weblogic-server-100-lauft-nicht-mit-java-6/</guid>
		<description><![CDATA[Obwohl wir seit Jahren erfolgreich JBoss einsetzen muss ich für einen neuen Kunden WebLogic von BEA testen. Der Kunde nutzt die aktuelle Version 10.0. Vorsicht: WebLogic 10.0 (veröffentlicht am 10.04.07) läuft nicht mit Java 6 (veröffentlicht am 11.12.06).  Hm, das alleine ist zumindest merkwürdig. Neue Java Versionen sind in der Regel abwärtskompatibel. So läuft [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Obwohl wir seit Jahren erfolgreich <a href="http://labs.jboss.com/jbossas/">JBoss</a> einsetzen muss ich für einen neuen Kunden <a href="http://bea.com/framework.jsp?CNT=index.htm&amp;FP=/content/products/weblogic/server/">WebLogic</a> von BEA testen. Der Kunde nutzt die aktuelle Version 10.0. Vorsicht: WebLogic 10.0 (veröffentlicht am 10.04.07) läuft nicht mit Java 6 (veröffentlicht am 11.12.06).  Hm, das alleine ist zumindest merkwürdig. Neue Java Versionen sind in der Regel abwärtskompatibel. So läuft z.B. JBoss-4.0.2, der vor Jahren veröffentlicht wurde, problemlos mit Java 6. Richtig ärgerlich ist aber, dass in der WebLogic Dokumentation nicht darauf hingewiesen wird. Es gibt viele <a href="http://edocs.bea.com/wls/docs100/index.html">Megabyte Dokumentation</a> zur Version 10.0, z.B. <a href="http://edocs.bea.com/common/docs100/install/prepare.html#wp1130320">Installation Prerequisites mit System Requirements</a> oder<a href="http://e-docs.bea.com/platform/suppconfigs/configs100/100_over/overview.html"> Supported Configurations for BEA WebLogic Platform 10.0</a> mit Hinweisen zu Betriebssystemen, Web Servern, Datenbanken und sogar <a href="http://www.springframework.org">Spring</a> Versionen. Es gibt aber keine Hinweise welche JDK Versionen unterstützt werden. Nur indirekt wird darauf hingewiesen. Die <a href="http://commerce.bea.com/showproduct.jsp?family=WLS&amp;major=10.3Tech&amp;minor=-1&amp;DL=www_WLS_10-3TechPreview_icon&amp;WT.ac=DL_www_WLS_10.3_TechPreviewicon">WebLogic Server 10.3 Tech Preview</a> unterstützt <em>erstmals</em> Java 6:</p>
<blockquote><p>
This Technology Preview includes select new features, standards updates and performance improvements. Version 10.3 TP remains fully Java EE 5 compatible and adds new support for Java SE 6.
</p></blockquote>
<p>Vielleicht ist es BEA etwas peinlich, dass ihr 10000$-Server sich nicht mir Java 6 verträgt. Ich habe einen ganzen Tag damit verschwendet die 10.0 mit Java 6 zu testen bis ich endlich den Hinweis gefunden habe.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/murygin.wordpress.com/37/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/murygin.wordpress.com/37/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/murygin.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/murygin.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/murygin.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/murygin.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/murygin.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/murygin.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/murygin.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/murygin.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/murygin.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/murygin.wordpress.com/37/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=murygin.wordpress.com&blog=1115167&post=37&subd=murygin&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://murygin.wordpress.com/2008/01/11/bea-weblogic-server-100-lauft-nicht-mit-java-6/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/murygin-128.jpg" medium="image">
			<media:title type="html">murygin</media:title>
		</media:content>
	</item>
		<item>
		<title>Maven SCP Login</title>
		<link>http://murygin.wordpress.com/2007/11/21/maven-scp-login/</link>
		<comments>http://murygin.wordpress.com/2007/11/21/maven-scp-login/#comments</comments>
		<pubDate>Wed, 21 Nov 2007 16:09:03 +0000</pubDate>
		<dc:creator>murygin</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[maven]]></category>

		<category><![CDATA[scp]]></category>

		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://murygin.wordpress.com/2007/11/21/maven-scp-login/</guid>
		<description><![CDATA[Wer mit Maven arbeitet braucht ein Repository um dort eigene Projekte zu installieren. In  dieses Repository müssen Dateien übertragen werden, wenn eine neue Version erstellt wurde. Wenn der Upload in das Repository per SSH bzw. SCP erfolgt, dann fragt Maven während des Builds nach dem Passwort und unterbricht so den Build-Prozesses. Das ist lästig. [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Wer mit <a href="http://maven.apache.org/">Maven</a> arbeitet braucht ein Repository um dort eigene Projekte zu installieren. In  dieses Repository müssen Dateien übertragen werden, wenn eine neue Version erstellt wurde. Wenn der Upload in das Repository per <a href="http://de.wikipedia.org/wiki/Ssh">SSH</a> bzw. <a href="http://de.wikipedia.org/wiki/Secure_Copy">SCP</a> erfolgt, dann fragt Maven während des Builds nach dem Passwort und unterbricht so den Build-Prozesses. Das ist lästig. Daher kann das Passwort in der Maven Konfigurationsdatei <a href="http://maven.apache.org/ref/current/maven-settings/settings.html"><strong>&lt;user_home&gt;/.m2/settings.xml</strong></a> eingetragen werden:<br />
<code><br />
&#8230;<br />
&lt;servers&gt;<br />
&nbsp;&nbsp;&lt;server&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;id&gt;serverid&lt;/id&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;username&gt;name&lt;/username&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;password&gt;passwort&lt;/password&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;filePermissions&gt;664&lt;/filePermissions&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;directoryPermissions&gt;775&lt;/directoryPermissions&gt;<br />
&nbsp;&nbsp;&lt;/server&gt;<br />
&lt;/servers&gt;<br />
&#8230;<br />
</code><br />
Die Id des Servers wird im <a href="http://maven.apache.org/ref/current/maven-model/maven.html">POM</a> des Projekts referenziert:<br />
<code><br />
&#8230;<br />
&lt;distributionManagement&gt;<br />
&nbsp;&nbsp;&lt;repository&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;id&gt;serverid&lt;/id&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;name&gt;csecvs&nbsp;Maven&nbsp;Respository&lt;/name&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;url&gt;scp://hostname/path/to/repository&lt;/url&gt;<br />
&nbsp;&nbsp;&lt;/repository&gt;<br />
&lt;/distributionManagement&gt;<br />
&#8230;<br />
</code><br />
Wenn Maven trotzdem nach dem Passwort fragt, dann muss möglicherweise der SSH Server auf dem Rechner umkonfiguriert werden, auf dem das Repository installiert ist. In der Datei <strong>/etc/ssh/sshd_config</strong> muss die Zeile<br />
<code><br />
PasswordAuthentication yes<br />
</code><br />
eingetragen sein.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/murygin.wordpress.com/36/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/murygin.wordpress.com/36/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/murygin.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/murygin.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/murygin.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/murygin.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/murygin.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/murygin.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/murygin.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/murygin.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/murygin.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/murygin.wordpress.com/36/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=murygin.wordpress.com&blog=1115167&post=36&subd=murygin&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://murygin.wordpress.com/2007/11/21/maven-scp-login/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/murygin-128.jpg" medium="image">
			<media:title type="html">murygin</media:title>
		</media:content>
	</item>
		<item>
		<title>HDRs erstellen unter Linux</title>
		<link>http://murygin.wordpress.com/2007/11/07/hdrs-erstellen-unter-linux/</link>
		<comments>http://murygin.wordpress.com/2007/11/07/hdrs-erstellen-unter-linux/#comments</comments>
		<pubDate>Wed, 07 Nov 2007 17:29:53 +0000</pubDate>
		<dc:creator>murygin</dc:creator>
		
		<category><![CDATA[Linux]]></category>

		<category><![CDATA[hdr]]></category>

		<category><![CDATA[qtpfsgui]]></category>

		<guid isPermaLink="false">http://murygin.wordpress.com/2007/11/07/hdrs-erstellen-unter-linux/</guid>
		<description><![CDATA[
HDR Bilder haben einen viel höheren Kontrast als normale Bilder.  Der Kontrast liegt bei chemische Photographie bei 10.000:1, bei Digitalphotographie nur bei 1000:1 und bei einem HDR Bild bei ca. 200.000:1.  Viele Bereiche von Digitalaufnahmen sind oft über- bzw. unterbelichtet sind. Diese Über- und Unterbelichtung wird bei HDR Aufnahmen reduziert, so dass viel [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href='http://murygin.files.wordpress.com/2007/11/wuerfel-hdr-1024-durand.jpg' title='HDR'><img src='http://murygin.files.wordpress.com/2007/11/wuerfel-hdr-1024-durand.thumbnail.jpg' alt='HDR' /></a></p>
<p><a href="http://de.wikipedia.org/wiki/High_Dynamic_Range">HDR</a> Bilder haben einen viel höheren Kontrast als normale Bilder.  Der Kontrast liegt bei chemische Photographie bei 10.000:1, bei Digitalphotographie nur bei 1000:1 und bei einem HDR Bild bei ca. 200.000:1.  Viele Bereiche von Digitalaufnahmen sind oft über- bzw. unterbelichtet sind. Diese Über- und Unterbelichtung wird bei HDR Aufnahmen reduziert, so dass viel mehr Details sowohl in den dunklen als auch den hellen Bereichen eines Bildes zu erkennen sind. Erreicht wird das mehrere unterschiedlich belichtete Aufnahmen vom selben Motiv. Eine Software setzt das HDR Bild aus diesen Aufnahmen zusammen und wählt für jeden Bereich immer die optimale Belichtung aus.</p>
<p>Ich habe die Aufnahme oben mit dem Programm <a href="http://qtpfsgui.sourceforge.net/">qtpfsgui</a> unter Linux erstellt.</p>
<p><span id="more-34"></span></p>
<p><a href="http://qtpfsgui.sourceforge.net/">qtpfsgui</a> ist Open Source und läuft unter Linux, Mac OS X und Windows. Die Bedienung ist einfach, sonst hätte ich damit kein HDR erstellen können: Zuerst wählt man Bilder aus, aus denen das HDR erstellt werden soll.  In meinem Fall 3 Aufnahmen aus meiner <a href="http://de.wikipedia.org/wiki/Canon_PowerShot">Canon PowerShot 520</a> mit der Blende F5.6 und den Belichtungen 1/5s, 1/3s und 1s. Zu sehen sind <a href="http://maps.google.de/maps?f=q&amp;hl=de&amp;geocode=&amp;time=&amp;date=&amp;ttype=&amp;q=ehrenbergstrasse+10,+Friedrichshain+10245+Berlin,+Berlin,+Berlin,+Deutschland&amp;sll=52.503004,13.450828&amp;sspn=0.012043,0.032101&amp;ie=UTF8&amp;ll=52.503631,13.451579&amp;spn=0.003011,0.008025&amp;t=h&amp;z=17&amp;om=1">Bürogebäude der Oberbaum City</a> in Berlin Friedrichshain.<br />
Im nächsten Schritt kann man die Bilder relativ zueinander verschieben, damit sie genau übereinander liegen. Trotz Stativ kann es zu mehreren Pixeln Abweichung kommen.  Danach wird das HDR erstellt. qtpfsgui speichert HDRs in den Formaten OpenEXR, RadianceRGBE, HDR TIFF und PFS Stream.<br />
Zum Export eines JPEGs muss man aus dem HDR durch Tone Mapping wieder in ein &#8220;normales&#8221; Bild umwandeln. Dafür bietet qtpfsgui viele Algorithmen die zu ganz unterschiedlichen Effekten führen, einige davon sind <a href="http://osp.wikidot.com/parameters-for-photographers">hier</a> beschrieben. Die Anleitung für qtpfsgui findet sich <a href="http://qtpfsgui.wiki.sourceforge.net/Qtpfsgui+Manual">hier</a>. Viel mehr Bilder, die mit qtpfsgui erstellt wurden finden sich in einer <a href="http://flickr.com/groups/qtpfsgui/pool/">qtpfsgui Flickr Gruppe</a>.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/murygin.wordpress.com/34/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/murygin.wordpress.com/34/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/murygin.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/murygin.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/murygin.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/murygin.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/murygin.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/murygin.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/murygin.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/murygin.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/murygin.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/murygin.wordpress.com/34/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=murygin.wordpress.com&blog=1115167&post=34&subd=murygin&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://murygin.wordpress.com/2007/11/07/hdrs-erstellen-unter-linux/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/murygin-128.jpg" medium="image">
			<media:title type="html">murygin</media:title>
		</media:content>

		<media:content url="http://murygin.files.wordpress.com/2007/11/wuerfel-hdr-1024-durand.thumbnail.jpg" medium="image">
			<media:title type="html">HDR</media:title>
		</media:content>
	</item>
		<item>
		<title>Compiz Fusion</title>
		<link>http://murygin.wordpress.com/2007/11/03/compiz-fusion/</link>
		<comments>http://murygin.wordpress.com/2007/11/03/compiz-fusion/#comments</comments>
		<pubDate>Sat, 03 Nov 2007 17:46:49 +0000</pubDate>
		<dc:creator>murygin</dc:creator>
		
		<category><![CDATA[Linux]]></category>

		<category><![CDATA[Ubuntu]]></category>

		<category><![CDATA[3d]]></category>

		<category><![CDATA[compiz fusion]]></category>

		<category><![CDATA[shift switcher]]></category>

		<guid isPermaLink="false">http://murygin.wordpress.com/2007/11/03/compiz-fusion/</guid>
		<description><![CDATA[
Neu in Compiz Fusion: Mit dem shift switcher kann man alle offenen Fenster auf dem Desktop &#8220;durchbättern&#8221;. 

Compiz Fusion ist ein Window Manager für den Linux Desktop mit 3D Funktionen, unter anderem:

Desktop Cube: Die virtuellen Desktops werden beim Umschalten auf einem Würfel dargestellt.
Wobbly: Beim Verschieben bewegen sich die Fenster als wären sie elastisch.
Expo: Alle virtuellen [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href='http://murygin.files.wordpress.com/2007/11/windowflow2.png' title='Shift Switcher'><img src='http://murygin.files.wordpress.com/2007/11/windowflow2.thumbnail.png' alt='Shift Switcher' /></a></p>
<p>Neu in <a href="http://compiz-fusion.org/">Compiz Fusion</a>: Mit dem <a href="http://wiki.compiz-fusion.org/Plugins/Switcher#Shift">shift switcher</a> kann man alle offenen Fenster auf dem Desktop &#8220;durchbättern&#8221;. </p>
<p><span id="more-30"></span></p>
<p>Compiz Fusion ist ein Window Manager für den Linux Desktop mit 3D Funktionen, unter anderem:</p>
<ul>
<li><a href="http://wiki.compiz-fusion.org/Plugins/Cube">Desktop Cube</a>: Die virtuellen Desktops werden beim Umschalten auf einem Würfel dargestellt.</li>
<li><a href="http://wiki.compiz-fusion.org/Plugins/Wobbly">Wobbly</a>: Beim Verschieben bewegen sich die Fenster als wären sie elastisch.</li>
<li><a href="http://wiki.compiz-fusion.org/Plugins/Expo">Expo</a>: Alle virtuellen Desktops werden nebeneinander dargestellt. Fenster lassen sich in der Ansicht verschieben.<br /><a href='http://murygin.files.wordpress.com/2007/11/expo.png' title='Expo'><img src='http://murygin.files.wordpress.com/2007/11/expo.thumbnail.png' alt='Expo' /></a></li>
<li><a href="http://wiki.compiz-fusion.org/Plugins/Scale">Scale</a>: Alle Fenster werden skaliert nebeneinander dargestellt. Ein Klick auf ein Fenster beendet die Ansicht und zeigt das gewählte Fenster im Vordergrund.<br /><a href='http://murygin.files.wordpress.com/2007/11/scale.png' title='Scale'><img src='http://murygin.files.wordpress.com/2007/11/scale.thumbnail.png' alt='Scale' /></a></li>
</ul>
<p>Alle Funktionen von finden sich <a href="http://wiki.compiz-fusion.org/Plugins">hier</a>. Compiz Fusion ist Teil von <a href="http://www.ubuntu.com">Ubuntu 7.10</a> und vielen anderen Linux Distributionen. Voraussetzung ist eine Grafikkarte mit 3D Unterstützung unter Linux.</p>
<p>Eindrucksvoller als Screenshots ist ein Video:<br />
<span style="text-align:center; display: block;"><a href="http://murygin.wordpress.com/2007/11/03/compiz-fusion/"><img src="http://img.youtube.com/vi/70_YhzoaLoU/2.jpg" alt="" /></a></span></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/murygin.wordpress.com/30/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/murygin.wordpress.com/30/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/murygin.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/murygin.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/murygin.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/murygin.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/murygin.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/murygin.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/murygin.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/murygin.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/murygin.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/murygin.wordpress.com/30/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=murygin.wordpress.com&blog=1115167&post=30&subd=murygin&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://murygin.wordpress.com/2007/11/03/compiz-fusion/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/murygin-128.jpg" medium="image">
			<media:title type="html">murygin</media:title>
		</media:content>

		<media:content url="http://murygin.files.wordpress.com/2007/11/windowflow2.thumbnail.png" medium="image">
			<media:title type="html">Shift Switcher</media:title>
		</media:content>

		<media:content url="http://murygin.files.wordpress.com/2007/11/expo.thumbnail.png" medium="image">
			<media:title type="html">Expo</media:title>
		</media:content>

		<media:content url="http://murygin.files.wordpress.com/2007/11/scale.thumbnail.png" medium="image">
			<media:title type="html">Scale</media:title>
		</media:content>

		<media:content url="http://img.youtube.com/vi/70_YhzoaLoU/2.jpg" medium="image" />
	</item>
		<item>
		<title>Logging mit Spring AOP</title>
		<link>http://murygin.wordpress.com/2007/10/25/logging-mit-spring-aop/</link>
		<comments>http://murygin.wordpress.com/2007/10/25/logging-mit-spring-aop/#comments</comments>
		<pubDate>Thu, 25 Oct 2007 13:53:06 +0000</pubDate>
		<dc:creator>murygin</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[spring]]></category>

		<category><![CDATA[aop]]></category>

		<guid isPermaLink="false">http://murygin.wordpress.com/2007/10/25/logging-mit-spring-aop/</guid>
		<description><![CDATA[Logging ist wichtig. Trotzdem spricht vieles gegen zu viel Logging in Anwendungen:

Logging ist für die Funktion einer Anwendung unnötig.
Logging macht den Quellcode unübersichtlich.
Logging beeinträchtigt die Performance.

Alle diese Nachteile lassen sich vermeiden und trotzdem kann der Aufruf jeder Methode incl. Parameter und Rückgabewerte und die Laufzeit geloggt werden. Möglich machen dies Spring und Aspektorientierte Programmierung (AOP).

Eine [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Logging ist wichtig. Trotzdem spricht vieles gegen zu viel Logging in Anwendungen:</p>
<ul>
<li>Logging ist für die Funktion einer Anwendung unnötig.</li>
<li>Logging macht den Quellcode unübersichtlich.</li>
<li>Logging beeinträchtigt die Performance.</li>
</ul>
<p>Alle diese Nachteile lassen sich vermeiden und trotzdem kann der Aufruf jeder Methode incl. Parameter und Rückgabewerte und die Laufzeit geloggt werden. Möglich machen dies <a href="http://springframework.org/">Spring</a> und <a href="http://de.wikipedia.org/wiki/Aspektorientierte_Programmierung">Aspektorientierte Programmierung</a> (AOP).</p>
<p><span id="more-27"></span></p>
<p>Eine Klasse übernimt das Logging der Methodenaufrufe, die andere das Laufzeitlogging:</p>
<p><strong>Methodenlogger</strong>:<br />
<code>import org.apache.commons.logging.Log;<br />
import org.apache.commons.logging.LogFactory;<br />
import org.aspectj.lang.JoinPoint;<br />
public class MethodenLogger {<br />
private static final Log LOG = LogFactory.getLog( MethodenLogger.class );<br />
public void logMethodEntry( final JoinPoint joinPoint ) {<br />
if( LOG.isDebugEnabled() ) {<br />
final String targetClassName = joinPoint.getTarget().getClass().getName();<br />
final Log targetLog = LogFactory.getLog( targetClassName );<br />
if( targetLog.isDebugEnabled() ) {<br />
final Object[] args = joinPoint.getArgs();<br />
final String name = joinPoint.getSignature().toLongString();<br />
final StringBuffer sb = new StringBuffer( name + &#8221; called with: [" );<br />
for( int i = 0; i &lt; args.length; i++ ){<br />
final Object o = args[ i ];<br />
sb.append( o );<br />
sb.append( ( i == args.length - 1 ) ? &#8221;]&#8221; : &#8221;, &#8221; );<br />
}<br />
LOG.debug( sb );<br />
}<br />
}<br />
}<br />
public void logMethodExit( final JoinPoint joinPoint, final Object result ) {<br />
if( LOG.isDebugEnabled() ) {<br />
final String targetClassName = joinPoint.getTarget().getClass().getName();<br />
final Log targetLog = LogFactory.getLog( targetClassName );<br />
if( targetLog.isDebugEnabled() ) {<br />
final String name = joinPoint.getSignature().toLongString();<br />
LOG.debug( name + &#8221; returning: [" + result + "]&#8220; );<br />
}<br />
}<br />
}<br />
}</code></p>
<p><strong>Laufzeitlogger</strong>:<br />
<code>import org.apache.commons.logging.Log;<br />
import org.apache.commons.logging.LogFactory;<br />
import org.aspectj.lang.ProceedingJoinPoint;<br />
import org.springframework.core.Ordered;<br />
import org.springframework.util.StopWatch;<br />
public class LaufzeitLogger {<br />
private static final Log LOG = LogFactory.getLog( LaufzeitLogger.class );<br />
// this method is the around advice<br />
public Object loggeLaufzeit( final ProceedingJoinPoint call ) throws Throwable {<br />
Object returnValue;<br />
if( LOG.isDebugEnabled() ) {<br />
final String targetClassName = call.getTarget().getClass().getName();<br />
final String targetMethodName = call.getSignature().getName();<br />
final Log targetLog = LogFactory.getLog( targetClassName );<br />
if( targetLog.isDebugEnabled() ) {<br />
final StopWatch clock = new StopWatch( getClass().getName() );<br />
try {<br />
clock.start( call.toShortString() );<br />
returnValue = call.proceed();<br />
}<br />
finally {<br />
clock.stop();<br />
final StringBuffer sb = new StringBuffer( &#8221;Laufzeit &#8221; );<br />
sb.append( targetMethodName ).append( &#8221;: &#8221; );<br />
sb.append( Hilfsmethoden.erzeugeLesbareDauer( clock.getTotalTimeMillis() ) );<br />
targetLog.debug( sb.toString() );<br />
}<br />
}<br />
else {<br />
returnValue = call.proceed();<br />
}<br />
}<br />
else {<br />
returnValue = call.proceed();<br />
}<br />
return returnValue;<br />
}<br />
}</code></p>
<p>Wie aber werden die Methoden <code>loggeLaufzeit</code>, <code>logMethodEntry</code> und <code>logMethodExit</code> aufgerufen? Die Spring Beans werden so konfiguriert, dass beim Aufruf jeder beliebigen Methoden in den Beans die Logger benutzt werden können. Die Konfiguration erfolgt deklarativ in der Spring XML Definition der Beans:</p>
<p><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br />
&lt;beans xmlns=&#8221;http://www.springframework.org/schema/beans&#8221;<br />
xmlns:xsi=&#8221;http://www.w3.org/2001/XMLSchema-instance&#8221;<br />
xmlns:aop=&#8221;http://www&#8230;org/schema/aop&#8221;<br />
xmlns:tx=&#8221;http://www&#8230;org/schema/tx&#8221;<br />
xsi:schemaLocation=&#8221;<br />
http://www&#8230;org/schema/beans http://www&#8230;org/schema/beans/spring-beans-2.0.xsd<br />
http://www&#8230;org/schema/tx http://www&#8230;org/schema/tx/spring-tx-2.0.xsd<br />
http://www&#8230;org/schema/aop http://www&#8230;org/schema/aop/spring-aop-2.0.xsd&#8221;&gt;</p>
<p>&lt;!&#8211; Laufzeit-Logger aspect &#8211;&gt;<br />
&lt;bean id=&#8221;laufzeitLogger&#8221; class=&#8221;com.carano.aop.LaufzeitLogger&#8221; /&gt;</p>
<p>&lt;!&#8211; Aufruf-Logger aspect &#8211;&gt;<br />
&lt;bean id=&#8221;methodenLogger&#8221; class=&#8221;com.carano.aop.MethodenLogger&#8221; /&gt;</p>
<p>&lt;aop:config&gt;<br />
&lt;aop:pointcut id=&#8221;statusServiceMothoden&#8221;<br />
<strong>expression=&#8221;execution(* ServiceHandlerHibernate.*(..))&#8221;</strong> /&gt;<br />
&lt;aop:pointcut id=&#8221;daoMothoden&#8221;<br />
expression=&#8221;execution(* hibernate.*Dao.*(..))&#8221; /&gt;</p>
<p>&lt;aop:aspect id=&#8221;profilingAspect&#8221; ref=&#8221;laufzeitLogger&#8221;&gt;<br />
&lt;aop:around method=&#8221;loggeLaufzeit&#8221;<br />
pointcut-ref=&#8221;statusServiceMothoden&#8221; /&gt;<br />
&lt;aop:around method=&#8221;loggeLaufzeit&#8221;<br />
pointcut-ref=&#8221;daoMothoden&#8221; /&gt;<br />
&lt;/aop:aspect&gt;</p>
<p>&lt;aop:aspect id=&#8221;loggingAspect&#8221; ref=&#8221;methodenLogger&#8221;&gt;<br />
&lt;aop:before method=&#8221;logMethodEntry&#8221;<br />
pointcut-ref=&#8221;statusServiceMothoden&#8221; /&gt;<br />
&lt;aop:after-returning method=&#8221;logMethodExit&#8221;<br />
returning=&#8221;result&#8221; pointcut-ref=&#8221;statusServiceMothoden&#8221; /&gt;<br />
&lt;aop:before method=&#8221;logMethodEntry&#8221;<br />
pointcut-ref=&#8221;daoMothoden&#8221; /&gt;<br />
&lt;aop:after-returning method=&#8221;logMethodExit&#8221; returning=&#8221;result&#8221;<br />
pointcut-ref=&#8221;daoMothoden&#8221; /&gt;<br />
&lt;/aop:aspect&gt;</p>
<p>&lt;/aop:config&gt;<br />
&lt;/beans&gt;</code></p>
<p>In den Parametern <code>expression</code> der <code>aop:pointcut</code> Elemente wird definiert welche Methoden geloggt werden. Geloggt wird nur, wenn auch die <a href="http://logging.apache.org/log4j/">log4j</a> Einstellungen entsprechend gesetzt sind. Das Loglevel des <code>LaufzeitLogger</code> bzw. <code>MethodenLogger</code> <strong>und</strong> der Klasse, die die Methode enthält muss auf <code>DEBUG</code> gestellt sein.</p>
<p>Der deklarative Ansatz hat den Vorteil, das durch das Entfernen der Konfiguration oben, das Logging aus der Anwendung &#8220;verschwindet&#8221;.  Es gibt dann kein Beeinträchtigung der Laufzeit mehr durch das Logging. Durch die Auslagerung in Aspekte, bleibt die Anwendung frei von Logging-Statements. Der Code ist übersichtlich und enthält nur den funktionalen Teil.</p>
<p>Hier ein Auszug aus dem Logfile:</p>
<p><code>DEBUG [aop.MethodenLogger]<br />
public Code hibernate.CodeDao.sucheCode(java.lang.String,java.lang.String) called with: [JOB_STATUS, NEU]<br />
DEBUG [aop.MethodenLogger]<br />
public Code hibernate.CodeDao.sucheCode(java.lang.String,java.lang.String) returning: [hibernate.entities.Code@110278e]<br />
DEBUG [hibernate.CodeDao] Laufzeit sucheCode: 45ms</code></p>
<p><strong>Dokumentation</strong>:</p>
<ul>
<li><a href="http://www.springframework.org/docs/reference/aop.html">Aspect Oriented Programming with Spring</a></li>
<li><a href="http://blog.springframework.com/markf/archives/2006/03/22/pojo-aspects-in-spring-20-a-simple-example/">POJO Aspects in Spring 2.0: A Simple Example</a></li>
</ul>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/murygin.wordpress.com/27/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/murygin.wordpress.com/27/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/murygin.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/murygin.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/murygin.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/murygin.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/murygin.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/murygin.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/murygin.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/murygin.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/murygin.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/murygin.wordpress.com/27/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=murygin.wordpress.com&blog=1115167&post=27&subd=murygin&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://murygin.wordpress.com/2007/10/25/logging-mit-spring-aop/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/murygin-128.jpg" medium="image">
			<media:title type="html">murygin</media:title>
		</media:content>
	</item>
		<item>
		<title>Python und der Sqlserver</title>
		<link>http://murygin.wordpress.com/2007/10/10/python-und-der-sqlserver/</link>
		<comments>http://murygin.wordpress.com/2007/10/10/python-und-der-sqlserver/#comments</comments>
		<pubDate>Wed, 10 Oct 2007 08:11:22 +0000</pubDate>
		<dc:creator>murygin</dc:creator>
		
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://murygin.wordpress.com/2007/10/10/python-und-der-sqlserver/</guid>
		<description><![CDATA[Es gibt ein Python Modul für den Zugriff auf den MS Sqlserver: pymssql. Hier ein Skript, das die Id und ein Datum aus einer Tabelle selektiert und ausgibt:

con =  pymssql.connect(host=&#8221;hostname,user=&#8217;name&#8217;,password=&#8217;kennwort&#8217;,database=&#8217;dbname&#8217;)
cur = con.cursor()
query=&#8221;select id,datum from tabelle where datum&#62;=\&#8217;&#8221; + von + &#8220;\&#8217; and ts_insert&#60;=\&#8217;&#8221; + bis + &#8220;\&#8217;&#8221;
cur.execute(query)
for row in cur.fetchall():
&#160;&#160;id = row[0]
&#160;&#160;datum = row[1]
&#160;&#160;print [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Es gibt ein <a href="http://www.python.org/">Python</a> Modul für den Zugriff auf den MS Sqlserver: <a href="http://pymssql.sourceforge.net/">pymssql</a>. Hier ein Skript, das die Id und ein Datum aus einer Tabelle selektiert und ausgibt:<br />
<code><br />
con =  pymssql.connect(host=&#8221;hostname,user=&#8217;name&#8217;,password=&#8217;kennwort&#8217;,database=&#8217;dbname&#8217;)<br />
cur = con.cursor()<br />
query=&#8221;select id,datum from tabelle where datum&gt;=\&#8217;&#8221; + von + &#8220;\&#8217; and ts_insert&lt;=\&#8217;&#8221; + bis + &#8220;\&#8217;&#8221;<br />
cur.execute(query)<br />
for row in cur.fetchall():<br />
&nbsp;&nbsp;id = row[0]<br />
&nbsp;&nbsp;datum = row[1]<br />
&nbsp;&nbsp;print Id + &#8221; vom &#8221; + str(datum.day) + &#8220;.&#8221; + str(datum.month) + &#8220;.&#8221; + str(datum.year) + &#8221; um &#8221; + str(datum.hour) + &#8220;:&#8221; + str(datum.minute) + &#8220;:&#8221; + str(datum.second)<br />
con.commit()<br />
con.close()<br />
</code><br />
Ich benutze das Modul zur einfachen Auswertung von Cronjobs, die jede Nacht laufen und Fehler in einer Datenbanktabelle protokollieren.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/murygin.wordpress.com/26/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/murygin.wordpress.com/26/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/murygin.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/murygin.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/murygin.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/murygin.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/murygin.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/murygin.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/murygin.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/murygin.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/murygin.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/murygin.wordpress.com/26/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=murygin.wordpress.com&blog=1115167&post=26&subd=murygin&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://murygin.wordpress.com/2007/10/10/python-und-der-sqlserver/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/murygin-128.jpg" medium="image">
			<media:title type="html">murygin</media:title>
		</media:content>
	</item>
		<item>
		<title>Axis - SOAP Nachrichten Loggen</title>
		<link>http://murygin.wordpress.com/2007/09/11/axis-soap-nachrichten-loggen/</link>
		<comments>http://murygin.wordpress.com/2007/09/11/axis-soap-nachrichten-loggen/#comments</comments>
		<pubDate>Tue, 11 Sep 2007 08:31:11 +0000</pubDate>
		<dc:creator>murygin</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[Web Service]]></category>

		<guid isPermaLink="false">http://murygin.wordpress.com/2007/09/11/axis-soap-nachrichten-loggen/</guid>
		<description><![CDATA[Axis 1 benutzt log4j. Um Soap Nachrichten zu Loggen müssen 2 Logger auf das Level DEBUG gestellt werden, je nachdem ob mit Axis ein Client oder ein Service implementiert ist:

Axis als Client:
&#60;logger name="org.apache.axis.transport.http.HTTPSender"&#62;
&#60;level value=&#8221;DEBUG&#8221;/&#62;
&#60;/logger&#62;
Axis als Service:
&#60;logger name="org.apache.axis.providers.java.RPCProvider"&#62;
&#60;level value=&#8221;DEBUG&#8221;/&#62;
&#60;/logger&#62;

Geloggt wird danach der XML Code der SOAP Nachrichten.
       ]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://ws.apache.org/axis/">Axis 1</a> benutzt <a href="http://logging.apache.org/log4j/">log4j</a>. Um Soap Nachrichten zu Loggen müssen 2 Logger auf das Level DEBUG gestellt werden, je nachdem ob mit Axis ein Client oder ein Service implementiert ist:</p>
<ul>
<li>Axis als Client:<br />
<code>&lt;logger name="org.apache.axis.transport.http.HTTPSender"&gt;<br />
&lt;level value=&#8221;DEBUG&#8221;/&gt;<br />
&lt;/logger&gt;</code></li>
<li>Axis als Service:<br />
<code>&lt;logger name="org.apache.axis.providers.java.RPCProvider"&gt;<br />
&lt;level value=&#8221;DEBUG&#8221;/&gt;<br />
&lt;/logger&gt;</code></li>
</ul>
<p>Geloggt wird danach der XML Code der SOAP Nachrichten.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/murygin.wordpress.com/25/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/murygin.wordpress.com/25/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/murygin.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/murygin.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/murygin.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/murygin.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/murygin.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/murygin.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/murygin.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/murygin.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/murygin.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/murygin.wordpress.com/25/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=murygin.wordpress.com&blog=1115167&post=25&subd=murygin&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://murygin.wordpress.com/2007/09/11/axis-soap-nachrichten-loggen/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/murygin-128.jpg" medium="image">
			<media:title type="html">murygin</media:title>
		</media:content>
	</item>
		<item>
		<title>Ubuntu ist da</title>
		<link>http://murygin.wordpress.com/2007/08/22/ubuntu-ist-da/</link>
		<comments>http://murygin.wordpress.com/2007/08/22/ubuntu-ist-da/#comments</comments>
		<pubDate>Wed, 22 Aug 2007 08:20:50 +0000</pubDate>
		<dc:creator>murygin</dc:creator>
		
		<category><![CDATA[Linux]]></category>

		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://murygin.wordpress.com/2007/08/22/ubuntu-ist-da/</guid>
		<description><![CDATA[
Ubuntu ist da - Dell hats bemerkt und bietet jetzt auch in Deutschland Pcs und Notebooks mit vorinstalliertem Linux an. Auf der Einstiegsseite wird der Kunde aber gewarnt:
 Sie sind nicht sicher, ob Open Source das Richtige für Sie ist?
und ggf. zu den Windows Rechnern geleitet.
Auch Lenovo hat sich entschlossen Notebooks mit Linux auszuliefern. Ich [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://murygin.wordpress.com/2007/08/22/ubuntu-ist-da/ubuntu-auf-dell-pcs-und-notebooks/" target="_blank" rel="attachment wp-att-24" title="Ubuntu auf Dell PCs und Notebooks"><img src="http://murygin.files.wordpress.com/2007/08/ubuntu_banner_de.jpg" alt="Ubuntu auf Dell PCs und Notebooks" /></a><a href="http://www.ubuntu.com"></a></p>
<p><a href="http://www.ubuntu.com">Ubuntu</a> ist da - Dell hats bemerkt und bietet jetzt auch in Deutschland Pcs und Notebooks mit vorinstalliertem Linux an. Auf der <a href="http://www.dell.de/ubuntu/">Einstiegsseite</a> wird der Kunde aber gewarnt:</p>
<blockquote><p> Sie sind nicht sicher, ob Open Source das Richtige für Sie ist?</p></blockquote>
<p>und ggf. zu den Windows Rechnern geleitet.<br />
Auch Lenovo hat sich entschlossen <a href="http://www.golem.de/0708/53944.html">Notebooks mit Linux</a> auszuliefern. Ich selber habe ein ThinkPad T60 und Ubuntu und kann es allen empfehlen. Bei <a href="http://xtops.de/">xtops.DE</a> gibt es ThinkPads mit vorinstalliertem Linux und persönlicher Beratung.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/murygin.wordpress.com/23/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/murygin.wordpress.com/23/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/murygin.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/murygin.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/murygin.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/murygin.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/murygin.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/murygin.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/murygin.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/murygin.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/murygin.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/murygin.wordpress.com/23/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=murygin.wordpress.com&blog=1115167&post=23&subd=murygin&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://murygin.wordpress.com/2007/08/22/ubuntu-ist-da/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/murygin-128.jpg" medium="image">
			<media:title type="html">murygin</media:title>
		</media:content>

		<media:content url="http://murygin.files.wordpress.com/2007/08/ubuntu_banner_de.jpg" medium="image">
			<media:title type="html">Ubuntu auf Dell PCs und Notebooks</media:title>
		</media:content>
	</item>
		<item>
		<title>XMLBeans - Java XML Databinding</title>
		<link>http://murygin.wordpress.com/2007/08/20/xmlbeans-java-xml-databinding/</link>
		<comments>http://murygin.wordpress.com/2007/08/20/xmlbeans-java-xml-databinding/#comments</comments>
		<pubDate>Mon, 20 Aug 2007 17:39:54 +0000</pubDate>
		<dc:creator>murygin</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://murygin.wordpress.com/2007/08/20/xmlbeans-java-xml-databinding/</guid>
		<description><![CDATA[XMLBeans ist eine Open Source API zum Auslesen und Erzeugen von XML Dateien, die in einem XML Schema beschrieben sind. XMLBeans generiert Java Klassen aus dem Schema mit denen man Dateien bearbeiten kann.

Zum Generieren enthält XMLBeans das Kommandozeilenwerkzeug scomp. Der Aufruf

scomp -out abruf.xsd.jar -src ./src ./abruf.xsd

generiert aus dem Schema abruf.xsd Klassen und packt sie in [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://xmlbeans.apache.org/">XMLBeans</a> ist eine Open Source API zum Auslesen und Erzeugen von XML Dateien, die in einem <a href="http://de.wikipedia.org/wiki/XML_Schema">XML Schema</a> beschrieben sind. XMLBeans generiert Java Klassen aus dem Schema mit denen man Dateien bearbeiten kann.<br />
<span id="more-22"></span><br />
Zum Generieren enthält XMLBeans das Kommandozeilenwerkzeug <em>scomp</em>. Der Aufruf<br />
<code><br />
scomp -out abruf.xsd.jar -src ./src ./abruf.xsd<br />
</code><br />
generiert aus dem Schema <em>abruf.xsd</em> Klassen und packt sie in ein Jar. Der Quellcode der Klassen kann durch den Parameter <em>-src</em> in ein Verzeichnis gespeichert werden.<br />
Das Lesen von Daten aus einer Datei ist einfach. Für jedes Element aus dem Schema gibt es Getter und Setter:<br />
<code><br />
VertragDocument vertragXml = VertragDocument.Factory.parse( xmlDatei );<br />
String vertragNummer = vertragXml.getVertrag().getAbruf().getKopfdaten().getVertragsnummer();<br />
</code><br />
liest das Element <em>Vertragsnummer</em> aus einer Datei.<br />
Gespeichert werden Dateien durch Aufruf von:<br />
<code><br />
StammdatenDocument doc = &#8230;<br />
&#8230;<br />
XmlOptions opts = new XmlOptions();<br />
opts.setSavePrettyPrint();<br />
opts.setSavePrettyPrintIndent(4);<br />
opts.setCharacterEncoding(&#8221;UTF-8&#8243;);<br />
opts.setDocumentType(doc.schemaType());<br />
PrintStream destStream = new PrintStream(new FileOutputStream(dateiName), false, &#8220;UTF-8&#8243;);<br />
doc.save(destStream,opts);<br />
destStream.close();<br />
</code><br />
Durch XMLBeans ist das Bearbeiten einer XML-Datei so einfach wie das Erzeugen eines einfachen Java-Bean. Wenn sich das Schema einmal ändert, muss nur neu generieren. In der IDE bemerkt man sofort die Stellen im Code, die man anpassen muss.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/murygin.wordpress.com/22/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/murygin.wordpress.com/22/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/murygin.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/murygin.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/murygin.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/murygin.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/murygin.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/murygin.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/murygin.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/murygin.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/murygin.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/murygin.wordpress.com/22/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=murygin.wordpress.com&blog=1115167&post=22&subd=murygin&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://murygin.wordpress.com/2007/08/20/xmlbeans-java-xml-databinding/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/murygin-128.jpg" medium="image">
			<media:title type="html">murygin</media:title>
		</media:content>
	</item>
	</channel>
</rss>