<?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:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>BeagleOutOfBoundsException</title>
	<atom:link href="http://www.nw-software.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.nw-software.com</link>
	<description>Ein Beagle durchbricht die Grenzen schneller als ein Index.</description>
	<lastBuildDate>Sun, 06 Jun 2010 05:15:41 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Pfingsturlaub im Kosertal</title>
		<link>http://www.nw-software.com/2010/06/pfingsturlaub-im-kosertal/</link>
		<comments>http://www.nw-software.com/2010/06/pfingsturlaub-im-kosertal/#comments</comments>
		<pubDate>Sun, 06 Jun 2010 05:15:41 +0000</pubDate>
		<dc:creator>Niko Will</dc:creator>
				<category><![CDATA[Urlaub]]></category>

		<guid isPermaLink="false">http://www.nw-software.com/2010/06/pfingsturlaub-im-kosertal/</guid>
		<description><![CDATA[Dieses Pfingsten waren wir eine Woche in Bayern bei Familie Schramm auf dem Ferienhof Kosertal. Unser Ferienhaus war die Doppelhaushälfte &#8220;Nadine&#8221; direkt neben dem Grillplatz der Anlage. Der erste Eindruck war, dass die sechs Häuser fast zu dicht aufeinander stehen und dann noch der Grillplatz daneben. Wir hatten ein wenig Angst um unsere Privatsphäre. Die [...]]]></description>
			<content:encoded><![CDATA[<p>Dieses Pfingsten waren wir eine Woche in Bayern bei Familie Schramm auf dem Ferienhof Kosertal. Unser Ferienhaus war die Doppelhaushälfte &#8220;Nadine&#8221; direkt neben dem Grillplatz der Anlage. Der erste Eindruck war, dass die sechs Häuser fast zu dicht aufeinander stehen und dann noch der Grillplatz daneben. Wir hatten ein wenig Angst um unsere Privatsphäre. Die Häuser stehen alle in einer Reihe und sind nach Süden ausgerichtet. Doch die Dichte Bebauung zeigte bereits am ersten Abend ihren Charm. Als wir vom Abendessen auf die Terrasse wollten, war der Hofherr Ferdinand bereits kräftig am grillen und bot uns auch etwas an. Da wir aber gerade gegessen hatten lehnte ich dankend ab. Im Haus neben uns saßen dann fast alle Feriengäste mit Teilen der Familie Schramm und den Helfern von Ferdinand an einem Tisch und aßen. Die Atmosphäre war toll. Zuerst dachten wir, dass das bestimmt Probleme mit Elvis geben würde, doch der lag brav im Gras und kaute auf seinem Rinderohr rum. Sogar vorbeilaufende Feriengäste auf dem Weg zum Grill störten ihn nicht. Das hätten wir nicht gedacht.</p>
<p>Im Anschluss an das Essen wurde nochmals Holz nachgelegt und wir setzten uns alle um den Grill. Ferdinand bot mit sofort eine Flasche Bier an. Ich war total begeistert von der Gastfreundschaft. Denn das sollte nicht die letzte Flasche Bier bleiben. Kurze Zeit später stieß die Hausherrin Silvia auch noch dazu und hatte eine Flasche lecker selber gemachten Eierlikör dabei, denn sie bereitwillig verteilte. Problem war nur, dass das Bier danach nicht mehr schmeckte ;-) Elvis war während des ganzen Abends mal wieder die Hauptattraktion, obwohl er die meiste Zeit brav neben uns lag.</p>
<p>Bereits am nächsten Tag wurde das Wetter deutlich schlechter. Es regnete zwar nur selten, dafür hatte es nur knapp über zehn Grad. Toll war jedoch, das ein paar Häuser weiter eine junge Labrador Hündin namens &#8220;Taya&#8221; einzog, mit der sich Elvis super verstand. Da war zumindest ihm das Wetter total egal. Dabei war die riesige Wiese vor den Häusern und die Entfernung zur Hauptstrasse echt ein Vorteil. Ansonsten haben wir viel entspannt und gelesen. Nadine war von ihrem Krimi ganz angetan und ich hatte mir haufenweise Publikationen für meine Masterarbeit aufs iPad geladen. Was übrigens ein geiles Gerät ist, das ich noch schnell am Tag vor unserer Abreise, was zufällig erster Verkaufstag des iPads war, erstanden habe. Abends waren wir noch in der Pizzeria &#8220;La Strada&#8221; in Stammbach beim Essen, die uns von Schramms empfohlen wurde. Das Essen war sehr lecker und die Preise im Vergleich zu BW wirklich günstig. Auch das Ambiente der Pizzeria war super und die Bedienung total freundlich. Also falls ihr mal in Stammbach seit, es lohnt sich.</p>
<p>Da das Wetter sich nicht zu bessern schien, sind wir am Montag nach Pottenstein gefahren. Dort gibt es eine &#8220;Teufelshöhle&#8221; die wir alleine aufgrund des Namens anschauen mussten. Und es war auch echt ein Highlight. Die Höhle war total eng und verwinkelt. Zum ersten mal hatte Nadine große Vorteile mit ihrer geringen Größe, denn sie musste sich, im Gegensatz zu mir, fast nie bücken. Anschließend waren wir noch auf der angrenzenden Sommerrodelbahn. Sowohl für Nadine als auch für mich war es das erste Mal. Daher war die erste Fahrt auch noch recht zaghaft. Doch bereits bei der zweiten ließen wir richtig die Sau raus und stellten bestimmt einen neuen Rundenrekord auf ;-)</p>
<p>Der Dienstag war dann eher ein Kuscheltag, ich mit Nadine und Elvis mit Taya. Denn das Wetter drohte gar nicht mehr besser zu werden. Abends wollten wir dann noch einen kurzen Spaziergang in den Wald machen. Nachdem ich es hasse, den gleichen Weg wieder zurückzulaufen, haben wir uns in Wald dann erstmal kräftig verirrt. Dank meines iPhones hatten wir aber irgendwann auf einer Lichtung dann mal ein GPS Signal und mussten feststellen, dass wir doch ein ganzes Stück von Ferienhof entfernt waren. Zu allem Überfluss fing es auch noch an zu regnen. Aber Hey, wir wollten doch einen Wanderurlaub machen. Leider hatten wir nur die falschen Schuhe an und kamen dann nach knapp zwei Stunden total durchnässt wieder zuhause an.</p>
<p>Das rächte sich dann gleich an Mittwoch. Wir wollten in ein Einkaufszentrum nach Bayreuth fahren, doch unsere einzigen Ausgehschuhe waren nass. Also saß ich ne halbe Stunde mit nem Fön da und versuchte zu retten was zu retten war. Aber letztendlich konnten wir doch gehen. Zum Glück von Nadine. Denn die hat im Zero Store voll zugeschlagen. Für einen Abstecher in Media Markt hat es leider nicht mehr gereicht. Dabei hätte ich mit doch so gerne das Camera Connection Kit für das iPad gekauft um die Bilder von meiner EOD 350D direkt überspielen und anschauen zu können. Dafür kam ich abends in einem Hofbräuhaus beim Essen auf meine Kosten ;-)</p>
<p>Donnerstag war Feiertag und das Wetter lockerte langsam etwas auf. Wir lagen den ganzen Tag faul rum oder spielten mit Elvis. Außerdem haben wir die Tischtennisplatte entdeckt. Bei Taya zog ein neuer Hund ein, der leider zu devot für unseren Rüppel war, daher schien das Spielen mit Taya vorerst vorbei zu sein. Doch wenn wir weiter weg von den Häusern und dem neuen Hund waren, klappte es wieder ganz gut.</p>
<p>Freitag, und eigentlich unser letzter Tag, war das Wetter endlich so wie es sein sollte: viel Sonne und warm. Wir zogen erstmal unsere Badesachen an und gingen an den Privatweiher des Hofs. Dieser ist richtig toll angelegt. Mit einem kleinen Häuschen über dem Wasser, einem Steg mit Floß und einer Insel mit Badeliegen in der Mitte. Elvis und ich haben uns dann gleich mal das Floß geschnappt und sind auf dem Wasser rumgeheizt. Da Elvis keine Wasserratte ist, musste ich mir da schon mal keine Sorgen machen das er abhaut. Beim Zurückgehen entdeckte Nadine das Trampolin, denn Rest könnt ihr euch denken ;-) oder sagen wir so, das Kind in ihr kam zum Vorschein. Abends wurde dann wieder gegrillt und wir verlängerten unseren Aufenthalt für einen Tag da das Wetter auch Morgen so bleiben sollte.</p>
<p>Am nun wirklich letzten Tag nutzten wir das schöne Wetter und sind gleich wieder zum Weiher. Diesmal nahmen wir unsere Sachen mit aufs Floß und sind gleich auf die Insel. Das war echt super, denn Elvis konnte frei rumlaufen und wir mussten nicht aufpassen. Wir versuchten immer wieder in zum Schwimmen zu animieren was aber vergeblich sein sollte. Immerhin war ich im Wasser. Nur als dann Kinder neben dem Weiher Böller zündeten wurde er mutig bzw. hatte er so Angst, dass die Flucht durchs Wasser als das einzig Richtige für ihn erschien. Ich musste hinterher um ihn im Wasser wieder einzusammeln. Von da an mussten wir gehen. Der kleine Angsthase war nicht mehr zu beruhigen. Wieder am Haus erzählte uns Ferdinand von einer Party am Abend in dem kleinen Haus am Weiher und wir waren natürlich dabei. Hin ging&#8217;s mit Ferdinands &#8220;Porsche&#8221;, einem antiken roten Traktor. Für Elvis natürlich spannend ohne Ende. In der Hütte dann erstmal die Familienpizza von Ferdinand weggegessen und Eierlikör getrunken. Elvis war mal wieder der bravste Hund der Welt. Nur einen älteren Feriengast konnte er nicht leiden und knurrte ihn immer wieder an. Als gegen Mitternacht Nadine noch die einzige Frau unter uns war packten wir zusammen und fuhren mit dem Porsche in eine Hütte direkt neben dem Hof. Dort ging es lustig weiter. Ferdinand teilte wieder Bier aus und erzählte uns, was man auf einem Ferienhof alles erleben kann. Von untreuen Russen über Mafiatreffen bis hin zu Angeboten für einen Sexfilm war alles dabei. Kurz bevor wir wieder ins Haus zurück wollten, hat es dann auch Elvis geschafft sich mal hinzulegen.</p>
<p>Das hat man dann am Morgen unserer Abfahrt auch gemerkt. Der arme Kerl hatte soviel Action die vergangene Woche, das er nur noch schlafen wollte. Erst als er merkte, dass wir zusammenpacken war er plötzlich wieder hell wach und ganz aufgeregt. Wir könnten ihn ja vergessen.</p>
<p>Insgesamt war es ein toller Urlaub in einem gepflegten Ferienhaus in genialer Umgebung. Die Besitzer sind super nett und gastfreundlich. Für das Wetter konnten sie ja nichts.   </p>
<p><a href="http://www.nw-software.com/wp-content/uploads/2010/06/l_2304_1536_404043EE-2021-4FD0-925B-0B58A3304AD4.jpeg"><img src="http://www.nw-software.com/wp-content/uploads/2010/06/l_2304_1536_404043EE-2021-4FD0-925B-0B58A3304AD4.jpeg" alt="" class="alignnone size-full" /></a></p>
<p><a href="http://www.nw-software.com/wp-content/uploads/2010/06/p_2304_1536_45045747-08B6-4BAB-AEDF-0427EB820AC4.jpeg"><img src="http://www.nw-software.com/wp-content/uploads/2010/06/p_2304_1536_45045747-08B6-4BAB-AEDF-0427EB820AC4.jpeg" alt="" class="alignnone size-full" /></a></p>
<p><a href="http://www.nw-software.com/wp-content/uploads/2010/06/l_2304_1536_FF475980-BD81-4C31-B5D5-A380D4B424F9.jpeg"><img src="http://www.nw-software.com/wp-content/uploads/2010/06/l_2304_1536_FF475980-BD81-4C31-B5D5-A380D4B424F9.jpeg" alt="" class="alignnone size-full" /></a></p>
<p><a href="http://www.nw-software.com/wp-content/uploads/2010/06/l_2304_1536_1A2FA1E9-0CA6-4C98-AB82-FF6550BE032A.jpeg"><img src="http://www.nw-software.com/wp-content/uploads/2010/06/l_2304_1536_1A2FA1E9-0CA6-4C98-AB82-FF6550BE032A.jpeg" alt="" class="alignnone size-full" /></a></p>
<p><a href="http://www.nw-software.com/wp-content/uploads/2010/06/l_2304_1536_3455932C-1913-41F3-A2E9-4C00B83A4EFC.jpeg"><img src="http://www.nw-software.com/wp-content/uploads/2010/06/l_2304_1536_3455932C-1913-41F3-A2E9-4C00B83A4EFC.jpeg" alt="" class="alignnone size-full" /></a></p>
<p><a href="http://www.nw-software.com/wp-content/uploads/2010/06/l_2304_1536_C54702DE-85C1-489D-9F43-2C788420BB16.jpeg"><img src="http://www.nw-software.com/wp-content/uploads/2010/06/l_2304_1536_C54702DE-85C1-489D-9F43-2C788420BB16.jpeg" alt="" class="alignnone size-full" /></a></p>
<p><a href="http://www.nw-software.com/wp-content/uploads/2010/06/l_2304_1536_FE136E42-F08E-4ADF-A395-6BB091EA0655.jpeg"><img src="http://www.nw-software.com/wp-content/uploads/2010/06/l_2304_1536_FE136E42-F08E-4ADF-A395-6BB091EA0655.jpeg" alt="" class="alignnone size-full" /></a></p>
<p><a href="http://www.nw-software.com/wp-content/uploads/2010/06/p_2304_1536_0FBCBAE1-1187-43F9-BB9C-63636924783B.jpeg"><img src="http://www.nw-software.com/wp-content/uploads/2010/06/p_2304_1536_0FBCBAE1-1187-43F9-BB9C-63636924783B.jpeg" alt="" class="alignnone size-full" /></a></p>
<p><a href="http://www.nw-software.com/wp-content/uploads/2010/06/l_2304_1536_1779D21D-C7E8-4084-9EFD-5323E06FF9B7.jpeg"><img src="http://www.nw-software.com/wp-content/uploads/2010/06/l_2304_1536_1779D21D-C7E8-4084-9EFD-5323E06FF9B7.jpeg" alt="" class="alignnone size-full" /></a></p>
<p><a href="http://www.nw-software.com/wp-content/uploads/2010/06/l_1600_1200_6D3D971F-1351-4B4B-A139-6ECF1301A400.jpeg"><img src="http://www.nw-software.com/wp-content/uploads/2010/06/l_1600_1200_6D3D971F-1351-4B4B-A139-6ECF1301A400.jpeg" alt="" class="alignnone size-full" /></a></p>
<p><a href="http://www.nw-software.com/wp-content/uploads/2010/06/l_2304_1536_14EEC538-D28E-40B1-AAD3-5F87CFB1306F.jpeg"><img src="http://www.nw-software.com/wp-content/uploads/2010/06/l_2304_1536_14EEC538-D28E-40B1-AAD3-5F87CFB1306F.jpeg" alt="" class="alignnone size-full" /></a></p>
<p><a href="http://www.nw-software.com/wp-content/uploads/2010/06/l_2304_1536_72E0466F-1B05-4D72-965D-11D0E365703C.jpeg"><img src="http://www.nw-software.com/wp-content/uploads/2010/06/l_2304_1536_72E0466F-1B05-4D72-965D-11D0E365703C.jpeg" alt="" class="alignnone size-full" /></a></p>
<img src="http://www.nw-software.com/?ak_action=api_record_view&id=221&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.nw-software.com/2010/06/pfingsturlaub-im-kosertal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wo guckst du? Bei Niko</title>
		<link>http://www.nw-software.com/2010/05/wo-guckst-du-bei-niko/</link>
		<comments>http://www.nw-software.com/2010/05/wo-guckst-du-bei-niko/#comments</comments>
		<pubDate>Sun, 23 May 2010 18:18:08 +0000</pubDate>
		<dc:creator>Niko Will</dc:creator>
				<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://www.nw-software.com/?p=205</guid>
		<description><![CDATA[Irgendwie finde ich in Vodafons neuem Werbespot auch außer dem selben Namen einige parallelen:

]]></description>
			<content:encoded><![CDATA[<p>Irgendwie finde ich in Vodafons neuem Werbespot auch außer dem selben Namen einige parallelen:</p>
<p><object width="600" height="363"><param name="movie" value="http://www.youtube.com/v/SuiIobbZjHM&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/SuiIobbZjHM&#038;fs=1" type="application/x-shockwave-flash" width="600" height="363" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<img src="http://www.nw-software.com/?ak_action=api_record_view&id=205&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.nw-software.com/2010/05/wo-guckst-du-bei-niko/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gedicht zur Fährtenarbeit</title>
		<link>http://www.nw-software.com/2010/05/gedicht-zur-fahrtenarbeit/</link>
		<comments>http://www.nw-software.com/2010/05/gedicht-zur-fahrtenarbeit/#comments</comments>
		<pubDate>Tue, 11 May 2010 12:17:51 +0000</pubDate>
		<dc:creator>Niko Will</dc:creator>
				<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://www.nw-software.com/2010/05/gedicht-zur-fahrtenarbeit/</guid>
		<description><![CDATA[Folgendes Gedicht habe ich eben von unserer Hundetrainierin Moni geschickt bekommen. Dabei musste ich sofort an unseren Hund denken und dabei sehr schmunzeln. Deshalb hier für alle, die wissen warum:
Schlecht geschnüffelt, hoch geguckt,
eine kleine Maus verschluckt,
fand den Ort nicht, wo gewinkelt,
mehrfach in die Spur gepinkelt,
einmal leider Platz vergessen,
Gänseblümchen aufgefressen,
Hundeführer schlimm genarrt,
zweites Suchobjekt verscharrt,
zwölf Kartoffeln fein [...]]]></description>
			<content:encoded><![CDATA[<p>Folgendes Gedicht habe ich eben von unserer Hundetrainierin Moni geschickt bekommen. Dabei musste ich sofort an unseren Hund denken und dabei sehr schmunzeln. Deshalb hier für alle, die wissen warum:</p>
<p>Schlecht geschnüffelt, hoch geguckt,<br />
eine kleine Maus verschluckt,<br />
fand den Ort nicht, wo gewinkelt,<br />
mehrfach in die Spur gepinkelt,<br />
einmal leider Platz vergessen,<br />
Gänseblümchen aufgefressen,<br />
Hundeführer schlimm genarrt,<br />
zweites Suchobjekt verscharrt,<br />
zwölf Kartoffeln fein sortiert,<br />
toten Maulwurf exhumiert,<br />
Fährtenleine durchgekaut,<br />
hinter Hase abgehaut&#8230;.</p>
<p>bin der LIEBSTE HUND von allen, Richter sagte: &#8220;DURCHGEFALLEN !&#8221;&#8230;&#8230;.</p>
<img src="http://www.nw-software.com/?ak_action=api_record_view&id=204&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.nw-software.com/2010/05/gedicht-zur-fahrtenarbeit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Inlinerfahren in Langenargen am Bodensee</title>
		<link>http://www.nw-software.com/2010/03/inlinerfahren-in-langenargen-am-bodensee/</link>
		<comments>http://www.nw-software.com/2010/03/inlinerfahren-in-langenargen-am-bodensee/#comments</comments>
		<pubDate>Thu, 25 Mar 2010 16:00:59 +0000</pubDate>
		<dc:creator>Niko Will</dc:creator>
				<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://www.nw-software.com/?p=201</guid>
		<description><![CDATA[Unser Hund hat Spass, vor allem beim Inlinerfahren. Heute waren wir in Langenargen am Bodensee. Das Wetter war ideal. Beim ersten Ausflug mit Rollen an den Füßen hat Elvis diese noch ganz genau inspiziert. Dieses mal schien es beinahe schon normal zu sein, obwohl es erst das zweite Mal war. Anfänglich ist es zwar immer [...]]]></description>
			<content:encoded><![CDATA[<p>Unser Hund hat Spass, vor allem beim Inlinerfahren. Heute waren wir in Langenargen am Bodensee. Das Wetter war ideal. Beim ersten Ausflug mit Rollen an den Füßen hat Elvis diese noch ganz genau inspiziert. Dieses mal schien es beinahe schon normal zu sein, obwohl es erst das zweite Mal war. Anfänglich ist es zwar immer noch schwierig ihm zu zeigen, dass er nicht wie beim Spazieren gehen unterwegs kurz anhalten und markieren kann. Doch nach kurzer Eingewöhnungsphase ging das recht gut. Mit Rückenwind und ganz leicht bergab lief unser Beagle zu Höchstform auf und zeigte sein Talent als Schlittenhund indem er mich knapp 500m gezogen hat. Er hätte das Spiel sogar noch länger durchgehalten. Dennoch hab ich ihn dann etwas ausgebremst, denn erstens ist das auf Dauer sicherlich recht anstrengend für den Kleinen. Zweitens sollte man als guter Hundeführer so etwas wenn dann nur mit einem Geschirr und nicht mit einem Halsband machen. Da versucht man seinem Schlitzohr die ganze Zeit das Leineziehen abzugewöhnen und da will man es dann sogar fördern? Nene, so etwas machen wir nicht. Nach insgesamt knapp sechs Kilometer (zweimal drei mit Pause) haben wir&#8217;s dann fürs Erste gut sein lassen und wie man an seinem tiefen Schlaf am Abend gesehen hat, hat&#8217;s wohl auch gereicht ;-)</p>

<div class="ngg-galleryoverview" id="ngg-gallery-2-201">


	
	<!-- Thumbnails -->
		
	<div id="ngg-image-19" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.nw-software.com/wp-content/gallery/inlinerfahren-langenargen/img_0652.jpg" title=" " class="shutterset_set_2" >
								<img title="img_0652" alt="img_0652" src="http://www.nw-software.com/wp-content/gallery/inlinerfahren-langenargen/thumbs/thumbs_img_0652.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-20" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.nw-software.com/wp-content/gallery/inlinerfahren-langenargen/img_0655.jpg" title=" " class="shutterset_set_2" >
								<img title="img_0655" alt="img_0655" src="http://www.nw-software.com/wp-content/gallery/inlinerfahren-langenargen/thumbs/thumbs_img_0655.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-21" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.nw-software.com/wp-content/gallery/inlinerfahren-langenargen/img_0659.jpg" title=" " class="shutterset_set_2" >
								<img title="img_0659" alt="img_0659" src="http://www.nw-software.com/wp-content/gallery/inlinerfahren-langenargen/thumbs/thumbs_img_0659.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-22" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.nw-software.com/wp-content/gallery/inlinerfahren-langenargen/img_0662.jpg" title=" " class="shutterset_set_2" >
								<img title="img_0662" alt="img_0662" src="http://www.nw-software.com/wp-content/gallery/inlinerfahren-langenargen/thumbs/thumbs_img_0662.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-23" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.nw-software.com/wp-content/gallery/inlinerfahren-langenargen/img_0664.jpg" title=" " class="shutterset_set_2" >
								<img title="img_0664" alt="img_0664" src="http://www.nw-software.com/wp-content/gallery/inlinerfahren-langenargen/thumbs/thumbs_img_0664.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-24" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.nw-software.com/wp-content/gallery/inlinerfahren-langenargen/img_0665.jpg" title=" " class="shutterset_set_2" >
								<img title="img_0665" alt="img_0665" src="http://www.nw-software.com/wp-content/gallery/inlinerfahren-langenargen/thumbs/thumbs_img_0665.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-25" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.nw-software.com/wp-content/gallery/inlinerfahren-langenargen/img_0669.jpg" title=" " class="shutterset_set_2" >
								<img title="img_0669" alt="img_0669" src="http://www.nw-software.com/wp-content/gallery/inlinerfahren-langenargen/thumbs/thumbs_img_0669.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-26" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.nw-software.com/wp-content/gallery/inlinerfahren-langenargen/img_0672.jpg" title=" " class="shutterset_set_2" >
								<img title="img_0672" alt="img_0672" src="http://www.nw-software.com/wp-content/gallery/inlinerfahren-langenargen/thumbs/thumbs_img_0672.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 	 	
	<!-- Pagination -->
 	<div class='ngg-clear'></div>
 	
</div>


<img src="http://www.nw-software.com/?ak_action=api_record_view&id=201&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.nw-software.com/2010/03/inlinerfahren-in-langenargen-am-bodensee/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Stack Icons unter Mac OS X Snow Leopard ändern</title>
		<link>http://www.nw-software.com/2010/02/stack-icons-unter-mac-os-x-snow-leopard-andern/</link>
		<comments>http://www.nw-software.com/2010/02/stack-icons-unter-mac-os-x-snow-leopard-andern/#comments</comments>
		<pubDate>Sun, 07 Feb 2010 11:16:48 +0000</pubDate>
		<dc:creator>Niko Will</dc:creator>
				<category><![CDATA[Mac]]></category>

		<guid isPermaLink="false">http://www.nw-software.com/?p=195</guid>
		<description><![CDATA[Versucht man, die sich anhäufende Programmflut auf seinem Mac zu ordnen, kommt man an den Stapeln, oder auch Stacks, genannten Ordnerstrukturen im Dock nicht vorbei. Um auch optisch eine gute Unterscheidung der einzelnen Stapel zu schaffen kann man direkt das Ordnersymbol ändern und zeigt dieses im Stapel an. Schöner ist es allerdings wenn man so [...]]]></description>
			<content:encoded><![CDATA[<p>Versucht man, die sich anhäufende Programmflut auf seinem Mac zu ordnen, kommt man an den Stapeln, oder auch Stacks, genannten Ordnerstrukturen im Dock nicht vorbei. Um auch optisch eine gute Unterscheidung der einzelnen Stapel zu schaffen kann man direkt das Ordnersymbol ändern und zeigt dieses im Stapel an. Schöner ist es allerdings wenn man so genannte Stack Overlays verwendet. Das sind Symbole, die vor den Inhalten eines Stapels angezeigt werden. Das sieht dann z.B. so aus, als ob sich alle Programme in einer Art Schublade oder Box befinden würden. Unter <a href="http://t.ecksdee.org/post/19001860/stacks-overlays">[1]</a> sieht man wie so etwas aussehen kann und kann dort gleich diverse Icons hierfür herunterladen.</p>
<p>Unter Snow Leopard hat das bei mir allerdings nicht funktioniert, da für die dort zu finden Programme im Stapel nur ein Symbol für eine nicht kompatible &#8220;classic&#8221; Anwendung angezeigt wird. Also muss man sich etwas behelfen. Dazu legt man in dem Ordner, der als Stapel angezeigt werden soll eine spezielle Datei an. Diese sollte am besten mit einem Leerzeichen beginnen wie z.B. &#8221; stack_icon &#8220;. Anschließend setzt man das Änderungsdatum auf einen Wert in ferner Zukunft. Im Terminal sieht der Befehl dafür so aus:</p>
<pre class="brush: bash">touch -mt 205001010101.01 " stack_icon "</pre>
<p>Nun kann man die herunter geladenen Dateien mit &#8220;Apfel&#8221; + I öffnen und das Icon markieren. Über das Findermenü oder durch &#8220;Apfel&#8221; + C lässt sich das Icon in die Zwischenablage kopieren. Wieder mit &#8220;Apfel&#8221; + I öffnet man die Informationen seiner neu angelegten Datei &#8221; stack_icon &#8220;, markiert hier ebenfalls das Symbol und fügt mittels &#8220;Apfel&#8221; + V das Icon in der Zwischenablage ein. Wenn nicht schon geschehen, wird der Ordner nun im Dock abgelegt. Mittels rechter Maustaste schaltet man im Kontextmenü die Sortierung um. Aufgrund des Namens sollte eine alphabetische Soriterung nach Namen sowie eine Sortierung nach Änderungsdatum funktionieren, da wir das Änderungsdatum beim Anlegen der Datei auf den 01.01.2050 gesetzt haben. In manchen Ordner, wie z.B. bei Downloads, kann es zu Problemen mit einer namentlichen Sortierung kommen, hier empfiehlt sich die Variante mit dem Änderungsdatum. Außerdem muss im Kontextmenü bei &#8220;Anzeigen als&#8221; natürlich noch &#8220;Stapel&#8221; ausgewählt werden.</p>
<p>Nun sollten die Icons wie im verlinkten Blogeintrag vor den Inhalten des Ordners erscheinen.</p>
<p>[1] http://t.ecksdee.org/post/19001860/stacks-overlays</p>
<img src="http://www.nw-software.com/?ak_action=api_record_view&id=195&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.nw-software.com/2010/02/stack-icons-unter-mac-os-x-snow-leopard-andern/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Unit Tests von EJBs (mit JPA) mittels Embedded Glassfish v3 in NetBeans 6.8 und Maven</title>
		<link>http://www.nw-software.com/2010/02/unit-tests-von-ejbs-mit-jpa-mittels-embedded-glassfish-v3-in-netbeans-6-8-und-maven/</link>
		<comments>http://www.nw-software.com/2010/02/unit-tests-von-ejbs-mit-jpa-mittels-embedded-glassfish-v3-in-netbeans-6-8-und-maven/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 18:38:31 +0000</pubDate>
		<dc:creator>Niko Will</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.nw-software.com/?p=192</guid>
		<description><![CDATA[Unit Tests sind in Java EE Anwendungen nicht so einfach zu realisieren, da die EJBs im EJB Container ablaufen. Daher gibt es seit 3.1 so genannte Embedded EJB Container. Darüber gibt es auch wieder einige tolle Blog Einträge, doch leider hat mich keiner der vorhanden direkt zum Erfolg geführt, deshalb hier mal meine Anleitung.
Wie der [...]]]></description>
			<content:encoded><![CDATA[<p>Unit Tests sind in Java EE Anwendungen nicht so einfach zu realisieren, da die EJBs im EJB Container ablaufen. Daher gibt es seit 3.1 so genannte Embedded EJB Container. Darüber gibt es auch wieder einige tolle Blog Einträge, doch leider hat mich keiner der vorhanden direkt zum Erfolg geführt, deshalb hier mal meine Anleitung.</p>
<p>Wie der Titel schon sagt verwende ich NetBeans 6.8 mit Glassfish v3 und Maven für meine Java EE 6 Anwendung. Wie es sich gehört wird fleißig Einsatz von JPA gemacht. Hier wird  mal vorausgesetzt, dass die Anwendung schon brav Kontakt zur Datenbank aufgenommen hat, in meinem Fall MySQL, sprich alle JDBC Pools und Connections wurden erfolgreich angelegt. Somit können wir später direkt die Konfiguration der Domains des richtigen Glassfish Application Servers in unserem Embedded Container verwenden um mittels JPA auf die Datenbank zu zu greifen. Wer lieber zum Testen eine seperate Datenbank nehmen möchte kann <a href="http://ctpjava.blogspot.com/2009/10/unit-testing-ejbs-and-jpa-with.html">hier</a> nachlesen wie er da vorgehen muss.</p>
<p>Als erstes muss die embedded Version des Glassfishes in Maven eingebunden werden. Hier ergab sich bereits mein erstes Problem, da sich die Repositories und der notwendige Dependency Eintrag nicht so einfach im Internet finden lassen. Deshalb hier die Abhängigkeit:</p>
<pre class="brush: xml">&lt;dependency&gt;
  &lt;groupId&gt;org.glassfish.extras&lt;/groupId&gt;
  &lt;artifactId&gt;glassfish-embedded-all&lt;/artifactId&gt;
  &lt;version&gt;3.0&lt;/version&gt;
  &lt;scope&gt;test&lt;/scope&gt;
&lt;/dependency&gt;</pre>
<pre class="brush: xml">&lt;dependency&gt;
  &lt;groupId&gt;javax&lt;/groupId&gt;
  &lt;artifactId&gt;javaee-api&lt;/artifactId&gt;
  &lt;version&gt;6.0&lt;/version&gt;
  &lt;scope&gt;provided&lt;/scope&gt;
&lt;/dependency&gt;</pre>
<p>Der untere Eintrag wird für den Container zwar nicht benötigt, wird hier aber dennoch erwähnt, da es wichtig ist, das der embedded Glassfish Eintrag vor diesem in der pom.xml erscheint, da es sonst zu Fehlermeldungen beim Testen und Deployen kommen kann.<br />
Der zugehörige Repository Eintrag lautet wie folgt:</p>
<pre class="brush: xml">&lt;repository&gt;
  &lt;id&gt;embedded-glassfish&lt;/id&gt;
  &lt;name&gt;Embedded Glassfish Maven Repository&lt;/name&gt;
  &lt;url&gt;http://download.java.net/maven/glassfish&lt;/url&gt;
&lt;/repository&gt;</pre>
<p>Nun sollten diese Abhängigkeiten erstmal durch ein Build besorgt werden um zu sehen ob hier alles geklappt hat. Achtung! die embedded Version des Glassfish hat knapp 45MB, das Herunterladen kann also etwas dauern (wenn man wie ich nur ne 768kBit/s Leitung hat).</p>
<p>Nun kümmern wir uns um die Unit Tests. Dazu poste ich euch hier einen komplett funktionsfähigen Test den ich im Anschluss versuche zu erläutern. Da ich nämlich keinen kompletten Test in anderen Blogs finden konnte, sondern nur Codeschnipsel, hatte ich am Anfang noch mit einigen Exceptions zu kämpfen (naja, ich programmiere erst seit ein paar Wochen in Java, was will man erwarten).</p>
<pre class="brush: java">package sample.test.controller;

import sample.controller.UserEntityFacade;
import sample.model.UserEntity;
import java.io.File;
import java.util.HashMap;
import java.util.Map;
import javax.ejb.embeddable.EJBContainer;
import javax.naming.Context;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.Assert;

public class UserEntityFacadeFixture {

    public UserEntityFacadeFixture() {
    }

    public static EJBContainer container;
    public static Context context;
    public static UserEntityFacade facade;

    @BeforeClass
    public static void setUpClass() throws Exception {
        Map properties = new HashMap();
        properties.put(EJBContainer.MODULES, new File("target/classes"));
        properties.put("org.glassfish.ejb.embedded.glassfish.installation.root", "/Applications/NetBeans/sges-v3/glassfish");
        container = EJBContainer.createEJBContainer(properties);
        context = container.getContext();
        facade = (UserEntityFacade)context.lookup("java:global/classes/UserEntityFacade");
    }

    @AfterClass
    public static void tearDownClass() throws Exception {
        context.close();
        container.close();
    }

    @Before
    public void setUp() {
    }

    @After
    public void tearDown() {
    }

    @Test
    public void CreateUserEntity() {
        UserEntity user = new UserEntity();
        user.setUsername("jack");
        user.setPassword("jack");

        int count = facade.count();
        facade.create(user);
        Assert.assertEquals(count + 1, facade.count());
    }
}</pre>
<p>Hauptaugenmerk muss hier natürlich auf die Initialisierung des Containers gelegt werden. Dazu werden statische Variablen angelegt um den Container beim Start des Tests zu Starten und für alle Tests zur Verfügung zu haben. Am Ende der Tests wird der Container und der Context wieder geschlossen. Man beachte auch den import Bereich, da ich bei simpler Angabe von &#8220;public static Context context;&#8221; in einigen Codeschnipseln nämlich nicht rauslesen konnte das es sich dabei um den &#8220;javax.naming.Context&#8221; handeln soll. Aber wahrscheinlich ist das allen Java Experten klar.</p>
<p>Beim Erstellen des Containers wird der <em>createEJBContainer</em> Mehtode hier eine Hashmap mit Einstellungen übergeben. Dies ist an dieser Stelle wichtig, da wir JPA verwenden und daher das Verzeichnis vom Glassfish mit angeben müssen, damit der EJB Container die Konfiguration der JDBC Resourcen aus dessen Konfiguration lesen kann. Wird kein JPA verwendet, können die Einstellungen ganz entfallen, sprich es wird kein Parameter übergeben.</p>
<p>Anschließend holt man sich den Context und frägt daraus seine EJBs an. An dieser Stelle hatte ich auch wieder zu kämpfen. Mir war nicht ganz klar wie sich der JNDI Name aufbaut. Beim JBOSS hätte ich jetzt immerhin gewusst wo ich diesen nachschauen kann. Bei TheServerSide werden <a href="http://www.theserverside.com/tt/articles/article.tss?l=NewFeaturesinEJB31-Part5">die mit EJB 3.1 eingeführten globalen JNDI Namen</a> zwar erläutert, doch damit ließen sich meine Beans dennoch nicht auffinden. Nach langem Suchen bin ich dann auf die einfache und funktionierende Version oben gestoßen. Dabei ist der vordere Teil fest und nur der Name der Bean angehängt. Wenn mir jemand diesen Sachverhalt genauer erklären kann darf er sich in den Kommentaren dazu gerne auslassen ;-)</p>
<p>Der Rest des Listings dürfte hoffentlich keine Schwierigkeiten bereiten. Der Vollständigkeit halber hier noch die Blog Posts, die mir hierbei sehr hilfreich waren:</p>
<p>[1] <a href="http://blogs.sun.com/alexismp/entry/testing_ejb_3_1_s">Using the EJBContainer API with or without Maven (but with GlassFish v3)</a><br />
[2] <a href="http://ctpjava.blogspot.com/2009/10/unit-testing-ejbs-and-jpa-with.html"><span style="font-weight: normal;">Unit Testing EJBs and JPA with Embeddable GlassFish</span></a><br />
[3] <a href="http://www.adam-bien.com/roller/abien/entry/embedding_ejb_3_1_container">EMBEDDING EJB 3.1 CONTAINER INTO YOUR UNIT TESTS &#8211; BOOT TIME: 5 SECONDS</a><br />
[4] <a href="http://www.adam-bien.com/roller/abien/entry/how_to_unit_test_ejb">HOW TO UNIT-TEST EJB 3 &#8230;IN 0.8 SECONDS [SOURCE CODE INCLUDED]</a><br />
[5] <a href="http://javahowto.blogspot.com/2009/12/ejb-lite-testing-with-junit-and.html">EJB Lite testing with JUnit and embeddable container</a></p>
<img src="http://www.nw-software.com/?ak_action=api_record_view&id=192&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.nw-software.com/2010/02/unit-tests-von-ejbs-mit-jpa-mittels-embedded-glassfish-v3-in-netbeans-6-8-und-maven/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Java CLASSPATH unter Mac OS X: Wie verheirate ich MySQL und Glassfish</title>
		<link>http://www.nw-software.com/2010/02/java-classpath-unter-mac-os-x/</link>
		<comments>http://www.nw-software.com/2010/02/java-classpath-unter-mac-os-x/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 15:54:29 +0000</pubDate>
		<dc:creator>Niko Will</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.nw-software.com/?p=179</guid>
		<description><![CDATA[Bei meinen ersten Schritten mit Java auf dem Mac zu programmieren bin ich gleich mal derbe auf die Fresse gefallen. Gut, es war vielleicht auch nicht die beste Idee gleich mit einer Maven Enterprise Application anzufangen, aber hey, wer nichts wagt der nicht gewinnt. Größtes Problem hierbei war MySQL und Glassfish v3 zur Zusammenarbeit zu [...]]]></description>
			<content:encoded><![CDATA[<p>Bei meinen ersten Schritten mit Java auf dem Mac zu programmieren bin ich gleich mal derbe auf die Fresse gefallen. Gut, es war vielleicht auch nicht die beste Idee gleich mit einer Maven Enterprise Application anzufangen, aber hey, wer nichts wagt der nicht gewinnt. Größtes Problem hierbei war MySQL und Glassfish v3 zur Zusammenarbeit zu bewegen. Alle Tutorials reden immer davon eine Datenbankverbindung in NetBeans anzulegen, die Tabellen zu erstellen und eine Persistence Unit für MySQL dem Projekt hinzuzufügen. Bis dahin auch toll und sicherlich nicht falsch, nur bringt das alles nichts wenn man zuvor nicht MySQL und Glassfish verheiratet was soviel heißt wie einen MySQL Connection Pool in der Glassfish Adminconsole anzulegen. Für alle Idioten da draußen die, wie ich ;-), nicht wissen wie man da hin kommt, einfach im Browser http://localhost:4848 eingeben während Glassfish läuft. Eine gute Anleitung zur Hochzeit findet man <a href="http://gardiary.wordpress.com/2009/07/30/create-jdbc-connection-pool-and-resource-in-glassfish/">hier</a> und <a href="http://www.innoq.com/blog/gs/2007/10/howto_get_jsasglassfish_with_m.html">hier</a>.</p>
<p>Doch das eigentliche Problem trat bei mir ganz am Anfang der Anleitung auf. Man muss den MySQL Connector für Java im CLASSPATH hinterlegen. Nun reicht es dabei unter Windows schon aus den Connector im Glassfish Verzeichnis in lib zu positionieren, was auf dem Mac unseren geliebten Application Server aber noch lange nicht zufrieden stellt. Nach langem Stöbern bei Onkel Google bin ich über den Beitrag <a href="http://book.javanb.com/mac-os-x-for-java-geeks/0596004001_macxjvgks-chp-2-sect-2.html">Mac OS X for Java Geeks</a> gestolpert, der mir die CLASSPATH Geschichte des Betriebssystems näher zu bringen versuchte. Allerdings hat auch das Ablegen der Connector JAR Datei im Extension Ordner des Java Verzeichnisses nur wenig Erfolg gezeigt.</p>
<p>Erst in einem Forum Post hab ich die für mich funktionierende Lösung tatsächlich gefunden. Innerhalb von NetBeans kann man die CLASSPATH Variablen verwalten. Dazu geht man im Menü auf &#8220;Tools&#8221; und anschließend auf &#8220;Libraries&#8221;. Links findet man eine Liste die in Class- und Server Libraries aufgeteilt ist. Unter Server ist schließlich ein Eintrag &#8220;Java-EE-GlassFish-v3&#8243;. Nach anwählen kann man sich im Fenster rechts die enthaltenen Bibliotheken ansehen. Nach kurzem durchforsten fällt auf das diese alle unter &#8220;/Applications/NetBeans/sges-v3/glassfish/modules/&#8221; liegen. Also habe ich kurzerhand den MySQL Connector da rein geschmissen und hier als Library mittels &#8220;Add JAR/Folder&#8230;&#8221; hinzugefügt. Im Anschluss noch kurz Glassfish neugestartet und schon funktioniert der Ping auf den MySQL Connection Pool wie gewünscht. Nun kann mit den oben genannten Tutorials weiter verfahren werden um MySQL zum Connection Pool hinzu zu fügen.</p>
<img src="http://www.nw-software.com/?ak_action=api_record_view&id=179&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.nw-software.com/2010/02/java-classpath-unter-mac-os-x/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Beckenbodengymnastik beim Hund</title>
		<link>http://www.nw-software.com/2010/01/beckenbodengymnastik-beim-hund/</link>
		<comments>http://www.nw-software.com/2010/01/beckenbodengymnastik-beim-hund/#comments</comments>
		<pubDate>Sat, 30 Jan 2010 17:08:24 +0000</pubDate>
		<dc:creator>Niko Will</dc:creator>
				<category><![CDATA[Privat]]></category>

		<guid isPermaLink="false">http://www.nw-software.com/?p=175</guid>
		<description><![CDATA[Nein, in unserem Fall nicht weil Elvis alt ist und wir mit ihm in die Reha müssen, sondern muss er für die Hunde-Damen-Welt auch durchtrainiert sein. Daher trainiert Elvis wann immer er kann, sogar im Schlaf. Das der Kleine die Damen nicht mehr beglücken kann, spielt dabei doch keine Rolle ;-)

]]></description>
			<content:encoded><![CDATA[<p>Nein, in unserem Fall nicht weil Elvis alt ist und wir mit ihm in die Reha müssen, sondern muss er für die Hunde-Damen-Welt auch durchtrainiert sein. Daher trainiert Elvis wann immer er kann, sogar im Schlaf. Das der Kleine die Damen nicht mehr beglücken kann, spielt dabei doch keine Rolle ;-)</p>
<p><object width="600" height="475"><param name="movie" value="http://www.youtube.com/v/S3rsn9ecxcE&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/S3rsn9ecxcE&#038;fs=1" type="application/x-shockwave-flash" width="600" height="475" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<img src="http://www.nw-software.com/?ak_action=api_record_view&id=175&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.nw-software.com/2010/01/beckenbodengymnastik-beim-hund/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Probleme beim Veröffentlichen von ASP.Net kompatibler WCF Services</title>
		<link>http://www.nw-software.com/2010/01/probleme-beim-veroffentlichen-von-asp-net-kompatibler-wcf-services/</link>
		<comments>http://www.nw-software.com/2010/01/probleme-beim-veroffentlichen-von-asp-net-kompatibler-wcf-services/#comments</comments>
		<pubDate>Wed, 27 Jan 2010 16:41:19 +0000</pubDate>
		<dc:creator>Niko Will</dc:creator>
				<category><![CDATA[WCF]]></category>

		<guid isPermaLink="false">http://www.nw-software.com/?p=161</guid>
		<description><![CDATA[Wer, wie ich gerade, Probleme beim Veröffentlichen von WCF Services in einer ASP.Net Webseite hat sollte sich mal folgende zwei Artikel zu Gemüte führen:
http://social.msdn.microsoft.com/forums/en-US/wcf/thread/8c897f8e-2143-450e-a9f4-97d1f8702da7/
http://nimtug.org/blogs/damien-mcgivern/archive/2008/01/30/wcf-required-precompiled-asp-net-site-to-be-updatable.aspx
Der charmante und gleichzeitig nichts aussagende Fehler &#8220;Der Wert darf nicht NULL sein. Parametername: key&#8221; hat mich fast in den Wahnsinn getrieben. Gleichzeitig ist es in einer deutschen Entwicklungsumgebung gar nicht mal [...]]]></description>
			<content:encoded><![CDATA[<p>Wer, wie ich gerade, Probleme beim Veröffentlichen von WCF Services in einer ASP.Net Webseite hat sollte sich mal folgende zwei Artikel zu Gemüte führen:</p>
<p><a href="http://social.msdn.microsoft.com/forums/en-US/wcf/thread/8c897f8e-2143-450e-a9f4-97d1f8702da7/">http://social.msdn.microsoft.com/forums/en-US/wcf/thread/8c897f8e-2143-450e-a9f4-97d1f8702da7/</a></p>
<p><a href="http://nimtug.org/blogs/damien-mcgivern/archive/2008/01/30/wcf-required-precompiled-asp-net-site-to-be-updatable.aspx">http://nimtug.org/blogs/damien-mcgivern/archive/2008/01/30/wcf-required-precompiled-asp-net-site-to-be-updatable.aspx</a></p>
<p>Der charmante und gleichzeitig nichts aussagende Fehler &#8220;Der Wert darf nicht NULL sein. Parametername: key&#8221; hat mich fast in den Wahnsinn getrieben. Gleichzeitig ist es in einer deutschen Entwicklungsumgebung gar nicht mal so einfach auf die richtige Lösung im Internet zu stoßen wenn man erstmal die Fehlermeldung richtig übersetzen muss ;-)</p>
<p>Meine Umgebung läuft auf Windows XP. Entwickelt wird mit Visual Studio 2008 und dem .Net Framework 3.5 SP1. Als IIS kommt die 5.1 Version die bei XP mitgeliefert wurde zum Einsatz. Nur um das mal erwähnt zu haben.</p>
<p>Einfach beim Veröffentlichen den Haken bei &#8220;Aktualisierbarkeit dieser vorkompilierten Site zulassen&#8221; (zumindest im deutschen Visual Studio) und schon laufen die Webservices ohne Fehlermeldung. Ob sich diese Variante für Anwendungen eignet, die ausgeliefert werden sollen, sei mal dahin gestellt. Für Intranetanwendungen aber ein interessanter Workaround.</p>
<p>Der andere Ansatz ist das Bearbeiten der .compiled Dateien die sich in der Webanwendung im bin Verzeichnis befinden sollten. In meinem Fall lautet der Name der Website in Visual Studio &#8220;Website&#8221;. Daher werden alle Service Dateien so kompiliert das sie auf &#8220;Website\Servicename.svc&#8221; verweisen. In den .compiled Dateien sieht das in etwa so aus:</p>
<pre class="brush: xml">&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;preserve resultType="5" virtualPath="/Website/ContentService.svc" [...] customString="/Website/ContentService.svc||ContentService|App_Web_c4jmapxp, [...]"&gt;
&lt;filedeps&gt;
&lt;filedep name="/Website/ContentService.svc" /&gt;
&lt;/filedeps&gt;
&lt;/preserve&gt;</pre>
<p>Anstatt &#8220;Website&#8221; sollte man hier nun den Namen des virtuellen Verzeichnisses, das man im IIS verwendet, wählen. Einfach wird es aber wenn man diesen einfach durch eine Tilde ~ ersetzt:</p>
<pre class="brush: xml">&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;preserve resultType="5" virtualPath="~/ContentService.svc" [...] customString="~/ContentService.svc||ContentService|App_Web_c4jmapxp, [...]"&gt;
&lt;filedeps&gt;
&lt;filedep name="~/ContentService.svc" /&gt;
&lt;/filedeps&gt;
&lt;/preserve&gt;</pre>
<p>Und schon funktioniert die Seite mit WCF Services auch ohne Updatefähigkeit in anderen IIS Umgebungen. Allerdings muss diese Ersetzung jedes mal von Hand in allen .compiled Dateien durchgeführt werden.</p>
<p><strong>Update</strong></p>
<p>Mein Script zum Suchen und Ersetzen ist fertig. Es besteht aus zwei Dateien. Zuerst die LoopThroughCompiledFiles.bat:</p>
<pre class="brush: bash">for /f %%a IN ('dir /b *.compiled') do call :Replace "%%a"
exit /b

:Replace
cscript //nologo ..\..\replace.vbs /Website ~ %~1
exit /b</pre>
<p>Dieses Script macht folgendes: die for-Schleife geht durch den Schalter /f alle Dateien der folgenden dir Abfrage durch. Diese wiederum liefert nur Dateien mit der Endung .compiled. Der Schalter /b sorgt dafür das nur die Dateinamen mit Erweiterungen durchlaufen werden. Anschließend wird mit jedem Dateinamen der Replace Teil aufgerufen. Hier wird ein VB Script zum Suchen und Ersetzen aufgerufen. Wobei die Strings hier mit &#8220;/Website&#8221; und &#8220;~&#8221; hartcodiert sind. Mein Dank an dieser Stelle gilt James Welch für seinen hervorragenden Blog Eintrag &#8220;<a href="http://jamesewelch.wordpress.com/2008/05/01/how-to-write-a-dos-batch-file-to-loop-through-files/">How to write a DOS batch file to loop through files</a>&#8220;.</p>
<p>Nun hier natürlich auch noch der Code des VB Scripts replace.vbs, den ich von ghostmachine4 aus <a href="http://www.dostips.com/forum/viewtopic.php?p=2600&amp;highlight=#2600">diesem Forumpost</a> übernommen und angepasst habe (Danke auch dafür):</p>
<pre class="brush: vb">strOld = WScript.Arguments.Item(0)
strNew = WScript.Arguments.Item(1)
strF1 = WScript.Arguments.Item(2)
strF2 = strF1 &amp; ".replaced"
Const ForWriting = 2

Set fso=CreateObject("Scripting.FileSystemObject")

Set f1 = fso.OpenTextFile(strF1)
Set f2 = fso.OpenTextFile(strF2, ForWriting, True)

Do Until f1.AtEndOfStream
   strLine = f1.ReadLine
   f2.WriteLine(Replace(strLine,strOld,strNew))
Loop

f1.Close
f2.Close

Set f1 = fso.GetFile(strF1)
f1.Delete()

Set f2 = fso.GetFile(strF2)
f2.Move(strF1)</pre>
<p>Hier werden zuerst die Übergabeparameter ausgelesen und die entsprechenden Dateien angelegt und geöffnet. Dabei wird in eine temporäre Datei geschrieben. Die Originaldatei wird im Anschluss gelöscht und die temporäre Datei mit deren Dateiname versehen.</p>
<img src="http://www.nw-software.com/?ak_action=api_record_view&id=161&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.nw-software.com/2010/01/probleme-beim-veroffentlichen-von-asp-net-kompatibler-wcf-services/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Zeltwache in Bodnegg</title>
		<link>http://www.nw-software.com/2010/01/zeltwache-in-bodnegg/</link>
		<comments>http://www.nw-software.com/2010/01/zeltwache-in-bodnegg/#comments</comments>
		<pubDate>Sun, 10 Jan 2010 13:38:14 +0000</pubDate>
		<dc:creator>Niko Will</dc:creator>
				<category><![CDATA[Privat]]></category>

		<guid isPermaLink="false">http://www.nw-software.com/?p=158</guid>
		<description><![CDATA[Der Fasnetsverein Bodnegg hat unseren Hundeverein einmal mehr gebeten auf sein teuer ausgeliehenes Zelt aufzupassen. Zwischen abens 20 Uhr und morgen 8 Uhr sollten unsere Hunde für Ruhe und Ordnung sorgen. Gut versorgt mit belegten Wecken, Kaffee, Tee, Kuchen und einem Heizgebläse starteten wir in den Abend. Anwesend waren unser Vorstand Rainer (mit Hund Balu), [...]]]></description>
			<content:encoded><![CDATA[<p>Der Fasnetsverein Bodnegg hat unseren Hundeverein einmal mehr gebeten auf sein teuer ausgeliehenes Zelt aufzupassen. Zwischen abens 20 Uhr und morgen 8 Uhr sollten unsere Hunde für Ruhe und Ordnung sorgen. Gut versorgt mit belegten Wecken, Kaffee, Tee, Kuchen und einem Heizgebläse starteten wir in den Abend. Anwesend waren unser Vorstand Rainer (mit Hund Balu), Übungsleiterin Moni, Übungsassistentin Tina, Lisa (mit Hund Kimba), Andrea mit (Hündin Lady), Franz (mit Hund Kalif), Nadine und Niko (mit Hund Elvis).</p>
<p>Nun hieß es sich mit Spielen die Zeit zu vertreiben. Zuerst ein Wortspiel bei dem man mit vorgegebenen Buchstaben so viele Wörter wie möglich bilden musste. Leider mussten wir das Spiel nach etwa sieben Spielen abbrechen, da eine Runde in der nur noch hochdeutsche Wörter zugelassen waren etwas aus dem Ruder lief. Die Frage ob z.B. &#8220;Nö&#8221; hierunter fällt löste eine Massenunruhe aus, bei dem der Irakkrieg einem Kinderstreit glich ;-)</p>
<p>Mit Pantomime wurde der erfolgreiche Versuch gestartet wieder zu etwas lustigem zu kommen. Mit Wörtern wie &#8220;Samenspende&#8221;, &#8220;Beischlaf&#8221; und &#8220;Schafseckel&#8221; konnte es immerhin nur lustig werden. Hierbei gilt es besonders die im Anschluss eingebettete Bildergalerie zu beachten ;-)</p>
<p>Als gegen ein Uhr uns zwei Genossinnen leider verlassen mussten, war die Personenanzahl perfekt für eine Runde &#8220;Mensch ärger dich nicht&#8221;  zu sechst. Im Gegensatz zum Wordspiel hab ich hier total abgeloost. Nachdem Andrea das Spiel nach fast zwei Stunden als erster beendete und Tina nach kurzer Zeit nachzog, kämpften vor allem Rainer und ich mit argen Startschwierigkeiten. Rainer schaffte es immerhin noch vor Lisa und hinter Franz seine vier Spielfiguren im Loch zu versenken, während ich gerade einmal einen in Sicherheit bringen konnte.</p>
<p>So haben wir es immerhin bis vier Uhr ausgehalten bevor wir uns in unsere Fahrzeuge zurückzogen. Diese konnten glücklicherweise in das beheizte Zelt gefahren werden. Draußen wäre es bei minus fünf Grad wohl zu kalt geworden. Zweieinhalb Stunden Schlaf mussten dann aber reichen. Leicht gerädert, wie man auf den Fotos unten sieht, machten wir uns ans Frühstück, einem Fertigkuchen aus einem Discounter, Zigaretten und den übrigen Kaltgetränken. Kurz noch einmal Gassi gegangen stand auch schon die Ablösung vor der Tür. Zuhause angekommen war vor allem Elvis froh, endlich einen ruhigen und bekannten Schlafplatz zu haben.</p>
<p>Was tut man nicht alles um seinem Verein etwas Geld in die Kassen zu spielen. Aber auch so war es eine lustige Nacht und alle &#8220;freuen&#8221; sich auf die Fasnet im nächsten Jahr ;-)</p>

<div class="ngg-galleryoverview" id="ngg-gallery-1-158">


	
	<!-- Thumbnails -->
		
	<div id="ngg-image-1" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.nw-software.com/wp-content/gallery/zeltwache-bodnegg/img_4755.jpg" title="Andreas &quot;Lady&quot; war das einzige Mädel unter den Hundis." class="shutterset_set_1" >
								<img title="img_4755" alt="img_4755" src="http://www.nw-software.com/wp-content/gallery/zeltwache-bodnegg/thumbs/thumbs_img_4755.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-2" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.nw-software.com/wp-content/gallery/zeltwache-bodnegg/img_4756.jpg" title="Und Elvis mal wieder selbstbewusst ohne Ende." class="shutterset_set_1" >
								<img title="img_4756" alt="img_4756" src="http://www.nw-software.com/wp-content/gallery/zeltwache-bodnegg/thumbs/thumbs_img_4756.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-3" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.nw-software.com/wp-content/gallery/zeltwache-bodnegg/img_4759.jpg" title="Aber der Zelteingang war stets gut im Blick und wurde verteidigt." class="shutterset_set_1" >
								<img title="img_4759" alt="img_4759" src="http://www.nw-software.com/wp-content/gallery/zeltwache-bodnegg/thumbs/thumbs_img_4759.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-4" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.nw-software.com/wp-content/gallery/zeltwache-bodnegg/img_4762.jpg" title="Unser Vorstand Rainer kümmerte sich, unter Einsatz seines Lebens, darum, dass uns nicht kalt wurde." class="shutterset_set_1" >
								<img title="img_4762" alt="img_4762" src="http://www.nw-software.com/wp-content/gallery/zeltwache-bodnegg/thumbs/thumbs_img_4762.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-5" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.nw-software.com/wp-content/gallery/zeltwache-bodnegg/img_4763.jpg" title="Weil Rainer zu klein war, musste Moni ihn noch hoch heben ;-)" class="shutterset_set_1" >
								<img title="img_4763" alt="img_4763" src="http://www.nw-software.com/wp-content/gallery/zeltwache-bodnegg/thumbs/thumbs_img_4763.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-6" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.nw-software.com/wp-content/gallery/zeltwache-bodnegg/img_4764.jpg" title="Lady passte auf das niemand ihr Frauchen belästigt." class="shutterset_set_1" >
								<img title="img_4764" alt="img_4764" src="http://www.nw-software.com/wp-content/gallery/zeltwache-bodnegg/thumbs/thumbs_img_4764.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-7" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.nw-software.com/wp-content/gallery/zeltwache-bodnegg/img_4765.jpg" title="Tina beim Pantomime." class="shutterset_set_1" >
								<img title="img_4765" alt="img_4765" src="http://www.nw-software.com/wp-content/gallery/zeltwache-bodnegg/thumbs/thumbs_img_4765.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-8" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.nw-software.com/wp-content/gallery/zeltwache-bodnegg/img_4771.jpg" title="Lisa beim Versuch &quot;Schneewittchen&quot; mit dem Umweg über die Zwerge darzustellen." class="shutterset_set_1" >
								<img title="img_4771" alt="img_4771" src="http://www.nw-software.com/wp-content/gallery/zeltwache-bodnegg/thumbs/thumbs_img_4771.jpg" width="97" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-9" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.nw-software.com/wp-content/gallery/zeltwache-bodnegg/img_4773.jpg" title="Franz als eine Darstellung erraten wurde." class="shutterset_set_1" >
								<img title="img_4773" alt="img_4773" src="http://www.nw-software.com/wp-content/gallery/zeltwache-bodnegg/thumbs/thumbs_img_4773.jpg" width="97" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-10" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.nw-software.com/wp-content/gallery/zeltwache-bodnegg/img_4775.jpg" title="Rainer bei der Darstellung von &quot;Penispumpe&quot;. Zuerst kam die Pumpe..." class="shutterset_set_1" >
								<img title="img_4775" alt="img_4775" src="http://www.nw-software.com/wp-content/gallery/zeltwache-bodnegg/thumbs/thumbs_img_4775.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-11" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.nw-software.com/wp-content/gallery/zeltwache-bodnegg/img_4777.jpg" title="... dann der Penis." class="shutterset_set_1" >
								<img title="img_4777" alt="img_4777" src="http://www.nw-software.com/wp-content/gallery/zeltwache-bodnegg/thumbs/thumbs_img_4777.jpg" width="97" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-12" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.nw-software.com/wp-content/gallery/zeltwache-bodnegg/img_4779.jpg" title="Rainers Hund &quot;Balu&quot; war ebenfalls stets hell wach." class="shutterset_set_1" >
								<img title="img_4779" alt="img_4779" src="http://www.nw-software.com/wp-content/gallery/zeltwache-bodnegg/thumbs/thumbs_img_4779.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-13" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.nw-software.com/wp-content/gallery/zeltwache-bodnegg/img_4780.jpg" title="Unsere ehemalige Wirtin spielt den Begriff &quot;Schlagsahne&quot;." class="shutterset_set_1" >
								<img title="img_4780" alt="img_4780" src="http://www.nw-software.com/wp-content/gallery/zeltwache-bodnegg/thumbs/thumbs_img_4780.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-14" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.nw-software.com/wp-content/gallery/zeltwache-bodnegg/img_4782.jpg" title="Auch ich musste mal ran und was ich da erklären muss war bestimmt mal wieder was schweinisches." class="shutterset_set_1" >
								<img title="img_4782" alt="img_4782" src="http://www.nw-software.com/wp-content/gallery/zeltwache-bodnegg/thumbs/thumbs_img_4782.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-15" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.nw-software.com/wp-content/gallery/zeltwache-bodnegg/img_4783.jpg" title="Tina in ihrem Bettchen." class="shutterset_set_1" >
								<img title="img_4783" alt="img_4783" src="http://www.nw-software.com/wp-content/gallery/zeltwache-bodnegg/thumbs/thumbs_img_4783.jpg" width="97" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-16" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.nw-software.com/wp-content/gallery/zeltwache-bodnegg/img_4786.jpg" title="Lisa kümmert sich um das Frühstück von Kimba." class="shutterset_set_1" >
								<img title="img_4786" alt="img_4786" src="http://www.nw-software.com/wp-content/gallery/zeltwache-bodnegg/thumbs/thumbs_img_4786.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-17" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.nw-software.com/wp-content/gallery/zeltwache-bodnegg/img_4788.jpg" title="Andrea war morgens nicht mehr ganz ansprechbar." class="shutterset_set_1" >
								<img title="img_4788" alt="img_4788" src="http://www.nw-software.com/wp-content/gallery/zeltwache-bodnegg/thumbs/thumbs_img_4788.jpg" width="97" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-18" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.nw-software.com/wp-content/gallery/zeltwache-bodnegg/img_4789.jpg" title="Alle waren froh das bald unsere Ablösung kommen sollte." class="shutterset_set_1" >
								<img title="img_4789" alt="img_4789" src="http://www.nw-software.com/wp-content/gallery/zeltwache-bodnegg/thumbs/thumbs_img_4789.jpg" width="97" height="75" />
							</a>
		</div>
	</div>
	
		
 	 	
	<!-- Pagination -->
 	<div class='ngg-clear'></div>
 	
</div>


<img src="http://www.nw-software.com/?ak_action=api_record_view&id=158&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.nw-software.com/2010/01/zeltwache-in-bodnegg/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
