<?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>welt-held.de</title>
	<atom:link href="http://www.welt-held.de/feed" rel="self" type="application/rss+xml" />
	<link>http://www.welt-held.de</link>
	<description>Sind wir nicht alle Welt Held?</description>
	<lastBuildDate>Mon, 08 Mar 2010 22:41:28 +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>Teures Wochenende</title>
		<link>http://umzugsblog.welt-held.de/2010/03/08/teures-wochenende/</link>
		<comments>http://umzugsblog.welt-held.de/2010/03/08/teures-wochenende/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 22:41:28 +0000</pubDate>
		<dc:creator>Björn</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[alte wohnung]]></category>
		<category><![CDATA[ebay]]></category>
		<category><![CDATA[freundin]]></category>
		<category><![CDATA[grasleben]]></category>
		<category><![CDATA[neue wohnung]]></category>
		<category><![CDATA[Neue Wohnung (Rhode)]]></category>
		<category><![CDATA[rhode]]></category>
		<category><![CDATA[tapete]]></category>
		<category><![CDATA[teppich]]></category>
		<category><![CDATA[teuer]]></category>
		<category><![CDATA[umzug]]></category>
		<category><![CDATA[umzugsblog]]></category>
		<category><![CDATA[umzugskarton]]></category>
		<category><![CDATA[vermieter]]></category>

		<guid isPermaLink="false">http://umzugsblog.welt-held.de/?p=128</guid>
		<description><![CDATA[Katrin und ich waren am Wochenende gut shoppen. Wir haben nun alle Teppiche zusammen und auch die restliche Tapeten. Wir hatten leider die Decken vergessen mit ein zurechnen. Das würde ziemlich doof aussehen. Erst hat sich Katrin ziemlich geärgert, da ein bereits ausgesuchter Teppich nun im Laden vergriffen war. Zum Glück hatten sie ihn noch [...]]]></description>
			<content:encoded><![CDATA[<p>Katrin und ich waren am Wochenende gut shoppen. Wir haben nun alle Teppiche zusammen und auch die restliche Tapeten. Wir hatten leider die Decken vergessen mit ein zurechnen. Das würde ziemlich doof aussehen. Erst hat sich Katrin ziemlich geärgert, da ein bereits ausgesuchter Teppich nun im Laden vergriffen war. Zum Glück hatten sie ihn noch bei OBI, zwar nur 60% teurer, aber was macht man nicht alles um die Freundin glücklich zu machen <img src='http://umzugsblog.welt-held.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Ach und dann haben wir unsere Umzugskartons bei Ebay bestellt (auf Empfehlung von <a href="http://www.ber-nic.de/">Bernhard und Nicole</a>, wir haben aber <a href="http://www.ber-nic.de/2010/03/03/umzugskartons-die-zweite/">gleich doch 50 Stück</a> bei Ebay gekauft <img src='http://umzugsblog.welt-held.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> . Ich denke ja es sind zu viele aber alle anderen denken nicht mal, dass die 50 reichen. Na wir werden ja sehen.<br />
Leider gab es immer noch kein grünes Licht vom Vermieter. Langsam gehts mir echt auf den Wecker, da wir ja echt noch einiges machen müssen. Sehr ärgerlich!</p>
]]></content:encoded>
			<wfw:commentRss>http://umzugsblog.welt-held.de/2010/03/08/teures-wochenende/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>File Transfer Planer &#8211; FTP</title>
		<link>http://www.welt-held.de/1698-file-transfer-planer-ftp.html</link>
		<comments>http://www.welt-held.de/1698-file-transfer-planer-ftp.html#comments</comments>
		<pubDate>Fri, 05 Mar 2010 22:09:54 +0000</pubDate>
		<dc:creator>Björn</dc:creator>
				<category><![CDATA[File Transfer Planer]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[ftp]]></category>
		<category><![CDATA[programm]]></category>
		<category><![CDATA[programmieren]]></category>

		<guid isPermaLink="false">http://www.welt-held.de/?p=1698</guid>
		<description><![CDATA[Aktuell arbeite ich an eine kleinen Applikation, welche ich &#8220;File Transfer Planer&#8221; getauft habe. Mit dieser wird es möglich sein, zeitgesteuert Dateien auf einen FTP zu schieben oder eben herunter zu laden.
Das Backend steht zum Teil, einen Teil der GUI ebenfalls, daher mal ein paar Screenshots.
  
Die GUI ist nicht mehr ganz so aktuell. [...]]]></description>
			<content:encoded><![CDATA[<p>Aktuell arbeite ich an eine kleinen Applikation, welche ich &#8220;File Transfer Planer&#8221; getauft habe. Mit dieser wird es möglich sein, zeitgesteuert Dateien auf einen FTP zu schieben oder eben herunter zu laden.<br />
Das Backend steht zum Teil, einen Teil der GUI ebenfalls, daher mal ein paar Screenshots.</p>
<div style="text-align:center"><a href="http://welt-held.de/files/ftpplaner1.jpg"><img src="http://welt-held.de/files/ftpplaner1-150x150.jpg" alt="" title="File Transfer Planer - Grundeinstellungen" width="150" height="150" class="alignnone size-thumbnail wp-image-1699" /></a> <a href="http://welt-held.de/files/ftpplaner2.jpg"><img src="http://welt-held.de/files/ftpplaner2-150x150.jpg" alt="" title="File Transfer Planer - Task: Zum FTP Verbinden" width="150" height="150" class="alignnone size-thumbnail wp-image-1700" /></a> <a href="http://welt-held.de/files/ftpplaner3.jpg"><img src="http://welt-held.de/files/ftpplaner3-150x150.jpg" alt="" title="File Transfer Planer - Task: Lokales Verzeichnis auswählen" width="150" height="150" class="alignnone size-thumbnail wp-image-1701" /></a></div>
<p>Die GUI ist nicht mehr ganz so aktuell. Aktuell bin ich mir noch nicht so sicher, wie ich die Daten speicher, momentan tendiere ich dazu, die Daten als XML-Datei auf der Platte zu speichern.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.welt-held.de/1698-file-transfer-planer-ftp.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Meine T-Mobile Kündigung &#8211; Teil 2</title>
		<link>http://www.welt-held.de/1690-meine-t-mobile-kundigung-teil-2.html</link>
		<comments>http://www.welt-held.de/1690-meine-t-mobile-kundigung-teil-2.html#comments</comments>
		<pubDate>Wed, 03 Mar 2010 18:34:42 +0000</pubDate>
		<dc:creator>Björn</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[kündigung]]></category>
		<category><![CDATA[t-mobile]]></category>
		<category><![CDATA[vertrag]]></category>

		<guid isPermaLink="false">http://www.welt-held.de/?p=1690</guid>
		<description><![CDATA[Eigentlich gibt es nicht viel zu erzählen. Heute kam ein Brief, meine Kündigung wäre zum 10.04.2010 wirksam. Früher als erwartet aber ich will mich ja nun nicht beschweren  
Update: Eben kam eine SMS, dass meine Übernahme zum 10.04.2010 00:00:00 Uhr geschaltet wird. Ick freu mir!
]]></description>
			<content:encoded><![CDATA[<p>Eigentlich gibt es nicht viel zu erzählen. Heute kam ein Brief, meine Kündigung wäre zum 10.04.2010 wirksam. Früher als erwartet aber ich will mich ja nun nicht beschweren <img src='http://welt-held.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Update: Eben kam eine SMS, dass meine Übernahme zum 10.04.2010 00:00:00 Uhr geschaltet wird. Ick freu mir!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.welt-held.de/1690-meine-t-mobile-kundigung-teil-2.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fehlerhafte Links in der Sidebar bei Wordpress</title>
		<link>http://www.welt-held.de/1687-fehlerhafte-links-in-der-sidebar-bei-wordpress.html</link>
		<comments>http://www.welt-held.de/1687-fehlerhafte-links-in-der-sidebar-bei-wordpress.html#comments</comments>
		<pubDate>Tue, 02 Mar 2010 19:08:35 +0000</pubDate>
		<dc:creator>Björn</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[feedwordpress]]></category>
		<category><![CDATA[fehler]]></category>
		<category><![CDATA[File Transfer Planer]]></category>
		<category><![CDATA[get_comment_link]]></category>
		<category><![CDATA[get_permalink]]></category>
		<category><![CDATA[problem]]></category>
		<category><![CDATA[recent_comments]]></category>
		<category><![CDATA[sidebar]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.welt-held.de/?p=1687</guid>
		<description><![CDATA[Vorhin ist mir aufgefallen, dass die Links zu den letzten Kommentaren in der Sidebar fehlerhaft waren. Sie zeigten sogar in ein falschen Blog. Ich dachte, es läge an der Wordpress MU Installation. Also spielte ich mit den Einstellungen herum und verschlimmbesserte nur noch alles. Also ging ich einen anderen Weg und versuchte dem Fehler auf [...]]]></description>
			<content:encoded><![CDATA[<p>Vorhin ist mir aufgefallen, dass die Links zu den letzten Kommentaren in der Sidebar fehlerhaft waren. Sie zeigten sogar in ein falschen Blog. Ich dachte, es läge an der Wordpress MU Installation. Also spielte ich mit den Einstellungen herum und verschlimmbesserte nur noch alles. Also ging ich einen anderen Weg und versuchte dem Fehler auf die Schliche zu kommen, in dem ich die Funktionen testete. Das ist aber recht schwierig, da das Wordpress Backend mittlerweile riesig ist und wenn man nicht Up-To-Date ist, hat man absolut keine Chance. Also den Königsweg gegangen und nach und nach alle Plugins deaktiviert und schon hatte ich den schuldigen gefunden: <a href="http://feedwordpress.radgeek.com/">FeedWordpress</a></p>
<p>Das Plugin sorgt dafür, dass der RSS Feed anderer Blogs ausgelesen werden und hier als eigene Einträge erscheinen. Damit der Fehler reproduzierbar ist, müssen folgende Voraussetzungen erfüllt sein:<br />
- Bei FeedWordpress muss unter Einstellungen -&gt; &#8220;Posts &amp; Links&#8221; -&gt; Permalink auf &#8220;point to the copy on the original website&#8221; stehen<br />
- der letzte Eintrag der Seite muss ein per Feed importierter Eintrag sein<br />
- Das Widget &#8220;Recent_Comments&#8221; oder jede andere Funktion, dass einen Permalink per &#8220;get_permalink()&#8221; zu holen versucht, muss &#8220;nach&#8221; diesem bestimmten Beitrag ausgeführt werden</p>
<p>Um den Fehler  zu verstehen, schauen wir kurz in die &#8220;feedwordpress.php&#8221; im Pluginverzeichnis.<br />
Dort steht folgendes:</p>
<pre class="brush: php;">function syndication_permalink ($permalink = '') {
	if (get_option('feedwordpress_munge_permalink') != 'no'):
		$uri = get_syndication_permalink();
		return ((strlen($uri) &gt; 0) ? $uri : $permalink);
	else:
		return $permalink;
	endif;
} // function syndication_permalink ()</pre>
<p>In unserem Fall ruft er also die Funktion &#8220;get_syndication_permalink()&#8221; ohne Parameter auf:</p>
<pre class="brush: php;">function get_syndication_permalink ($id = NULL) {
	list($u) = get_post_custom_values('syndication_permalink', $id); return $u;
}</pre>
<p>Als Defaultwert ist NULL angegeben. Ein Blick in den <a href="http://codex.wordpress.org/Function_Reference/get_post_custom_values">Wordpress-Codex</a> verrät, dass er das Benutzerdefinierte Feld des aktuellen Eintrags laden versucht. Das ist logischerweise noch der aus dem Feed importierte Eintrag und daher lädt er eine falsche URL.</p>
<p>Um das Problem zu beheben, einfach den Code oben durch folgenden ersetzen:</p>
<pre class="brush: php;">function syndication_permalink ($permalink = '') {
	$id = url_to_postid($permalink);
	if (get_option('feedwordpress_munge_permalink') != 'no'):
		$uri = get_syndication_permalink($id);
		return ((strlen($uri) &gt; 0) ? $uri : $permalink);
	else:
		return $permalink;
	endif;
} // function syndication_permalink ()</pre>
<p>Die &#8220;url_to_postid()&#8221; ist eine Wordpress-eigene Funktion. Nun funktioniert es wieder. Darauf muss man erstmal kommen!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.welt-held.de/1687-fehlerhafte-links-in-der-sidebar-bei-wordpress.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C# &#8211; PrintDialog.ShowDialog() funktioniert nicht</title>
		<link>http://www.welt-held.de/1681-c-printdialog-showdialog-funktioniert-nicht.html</link>
		<comments>http://www.welt-held.de/1681-c-printdialog-showdialog-funktioniert-nicht.html#comments</comments>
		<pubDate>Tue, 02 Mar 2010 09:15:39 +0000</pubDate>
		<dc:creator>Björn</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[fehler]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[printdialog]]></category>
		<category><![CDATA[problem]]></category>
		<category><![CDATA[showdialog]]></category>

		<guid isPermaLink="false">http://www.welt-held.de/?p=1681</guid>
		<description><![CDATA[Bin gerade auf ein sehr merkwürdiges Problem gestoßen, dass doch locker eine Stunde wertvolle Lebenszeit gekostet hat.
Folgender Code:

PrintDialog pd = new PrintDialog();
if (pd.ShowDialog() == DialogResult.OK)
{
    // do nothing

}

Nichts großes, sollte einfach nur so ein Druckerfenster öffnen, wo der Drucker ausgewählt wird etc. Leider öffnete sich der erhoffte Dialog nicht. Der Debugger läuft [...]]]></description>
			<content:encoded><![CDATA[<p>Bin gerade auf ein sehr merkwürdiges Problem gestoßen, dass doch locker eine Stunde wertvolle Lebenszeit gekostet hat.<br />
Folgender Code:</p>
<pre class="brush: csharp;">
PrintDialog pd = new PrintDialog();
if (pd.ShowDialog() == DialogResult.OK)
{
    // do nothing

}
</pre>
<p>Nichts großes, sollte einfach nur so ein Druckerfenster öffnen, wo der Drucker ausgewählt wird etc. Leider öffnete sich der erhoffte Dialog nicht. Der Debugger läuft dahin, aber er führt den ShowDialog() einfach nicht aus. </p>
<p>Wenn ich die Eigenschaft &#8220;UseEXDialog&#8221; auf &#8220;true&#8221; setze, funktioniert es.<br />
Jedoch wollte ich nicht den XP-Dialog, sondern den anderen. Auch im Netz fand ich keine wirkliche Lösung.<br />
Da diese Codezeilen aus einem bestehenden Projekt stammen, habe ich kurzerhand neue Projekte in den Frameworks 2.0, 3.5 und 4.0 angelegt. Jeweils mit dem Codeschnippsel oben. Und siehe da, es funktioniert problemlos, in jeder Frameworkversion. Nun die Unterschiede gesucht.</p>
<p>Fündig wurde ich den Projekteigenschaften unter &#8220;Build&#8221; bzw. &#8220;Erstellen&#8221;.<br />
Ich muss dazu sagen, dass die Applikation vorher auf einem anderen Rechner mit einem 32-bit Windows entwickelt wurde. So stand hier unter dem Punkt &#8220;Platform target:&#8221; (auf Deutsch vermutlich Zielplattform) &#8220;Any CPU&#8221;.<br />
Stellt die Anwendung hier auf 32-bit (x86) und der PrintDialog() wird hervorragend funktionieren. x64 oder Any CPU funktioniert nicht.<br />
Auf so etwas muss man erstmal kommen, warum das so ist, keine Ahnung. </p>
<p>So habe ich noch mal in der <a href="http://msdn.microsoft.com/en-us/library/system.windows.forms.printdialog.aspx">MSDN</a> nachgeschlagen: </p>
<blockquote><p>This class may not work on AMD64 microprocessors unless you set the UseEXDialog property to true.</p></blockquote>
<p>Ich bin zwar nun nicht der technisch versierte Mensch, aber für mich hört sich das nach einem Problem mit einem <strong>AMD</strong> Prozessor an, ich habe jedoch einen Intel (ich lasse es mir aber dennoch gerne erklären).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.welt-held.de/1681-c-printdialog-showdialog-funktioniert-nicht.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Meine T-Mobile Kündigung &#8211; Teil 1</title>
		<link>http://www.welt-held.de/1679-meine-t-mobile-kundigung-teil-1.html</link>
		<comments>http://www.welt-held.de/1679-meine-t-mobile-kundigung-teil-1.html#comments</comments>
		<pubDate>Sun, 28 Feb 2010 10:23:07 +0000</pubDate>
		<dc:creator>Björn</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[kündigung]]></category>
		<category><![CDATA[problem]]></category>
		<category><![CDATA[t-mobile]]></category>
		<category><![CDATA[vertrag]]></category>

		<guid isPermaLink="false">http://www.welt-held.de/?p=1679</guid>
		<description><![CDATA[Ich habe mir vor kurzem ein O² Vertrag mit dem Palm Pre besorgt. Da mein Vertrag bei T-Mobile demnächst ausläuft, wollte ich meine Rufnummer mit übernehmen. Leider machte mir T-Mobile einen Strich durch die Rechnung. Daher zeig ich euch erstmal, wann mein Vertrag auslaufen sollte, nach meiner Meinung:
29.05.2006 &#8211; Vertrag bei T-Mobile, 24 Monate Laufzeit
10.04.2008 [...]]]></description>
			<content:encoded><![CDATA[<p>Ich habe mir vor kurzem ein O² Vertrag mit dem <a href="http://www.welt-held.de/1645-palm-pre.html">Palm Pre</a> besorgt. Da mein Vertrag bei T-Mobile demnächst ausläuft, wollte ich meine Rufnummer mit übernehmen. Leider machte mir T-Mobile einen Strich durch die Rechnung. Daher zeig ich euch erstmal, wann mein Vertrag auslaufen sollte, nach meiner Meinung:</p>
<p>29.05.2006 &#8211; Vertrag bei T-Mobile, 24 Monate Laufzeit<br />
10.04.2008 &#8211; Vertragsverlängerung um 24 Monate</p>
<p>So, was meint ihr, wann der Vertrag ausläuft? Also meiner Rechnung nach am 28.05. 2010. Bei T-Mobile am 09.04.2010. Daher ist meine Kündigung laut deren Meinung auch zu spät rausgegangen, so das sie meinen Vertrag erst zum 09.04.2011 kündigen wollen. Nun hab ich gestern da angerufen und wollte wissen, wie die darauf kommen. Nach langem hin und her konnte mir der Supporter auch nicht sagen, warum das alles so ist. Nun wird mein Anliegen an die Reklamationsabteilung weitergeleitet, die wollen sich Montag melden.<br />
Ich bin gespannt.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.welt-held.de/1679-meine-t-mobile-kundigung-teil-1.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Basta! Spring 2010</title>
		<link>http://www.welt-held.de/1677-basta-spring-2010.html</link>
		<comments>http://www.welt-held.de/1677-basta-spring-2010.html#comments</comments>
		<pubDate>Tue, 23 Feb 2010 19:23:20 +0000</pubDate>
		<dc:creator>Björn</dc:creator>
				<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[basta]]></category>
		<category><![CDATA[basta spring 2010]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[darmstadt]]></category>

		<guid isPermaLink="false">http://www.welt-held.de/?p=1677</guid>
		<description><![CDATA[Mein erster Tag auf der Basta ist rum und ich bin echt erschlagen. Es ist sehr viel Input. Ich habe heute unter anderem zwei Sessions von Oliver Sturm rund um das neue C# 4.0 Feature &#8220;dynamic&#8220;. Ich fand die Vorträge sehr gut und nun weiß ich auch, dass man &#8220;dynamic&#8221; auch zu mehr benutzen kann [...]]]></description>
			<content:encoded><![CDATA[<p>Mein erster Tag auf der Basta ist rum und ich bin echt erschlagen. Es ist sehr viel Input. Ich habe heute unter anderem zwei Sessions von <a href="http://www.sturmnet.org/blog/">Oliver Sturm</a> rund um das neue C# 4.0 Feature &#8220;<a href="http://msdn.microsoft.com/de-de/library/dd264736(VS.100).aspx">dynamic</a>&#8220;. Ich fand die Vorträge sehr gut und nun weiß ich auch, dass man &#8220;dynamic&#8221; auch zu mehr benutzen kann als Exceldaten zu lesen <img src='http://welt-held.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> . Eigentlich wollte ich nur die erste Session besuchen, aber Oliver hat es so gut rüber gebracht, da bin ich praktisch gleich sitzen geblieben (in Wirklichkeit war ich Mittag essen).</p>
<p>Leider gab es auch eine Session, wo ich mir doch mehr versprochen habe. Sie hatte den schönen Namen &#8220;Nein! &#8211; Meinen Code und meine Daten bekommst du nicht&#8221;. Es ging darum, wie man den Code (und die Daten) seiner .NET-Anwendung so &#8220;verschlüsseln&#8221; kann, dass niemand ran kommt (Stichwort Reflection). Es wurden dabei einige Beispiele und Möglichkeiten mit ihren Vor- und Nachteilen genannt. Die wohl am besten zu nutzende ist eine, bei der der Code der Methoden verschlüsselt wird und zur Laufzeit wieder entschlüsselt wird. Hört sich für mich etwa nach eval() in PHP an. Egal, ein Beispiel wurde leider nicht gezeigt, denn als man ja die beste Möglichkeit präsentiert hatte, wurde gleich das Hauseigene Produkt vorgestellt, dass natürlich genau diese und noch einige andere Features bietet. Schade eigentlich. Ich hätte jetzt keine genaue funktionsweise ihrer kostenpflichtigen Anwendung erwartet, aber so beispielhafte Applikationen wären schon wünschenswert. Ich bin halt naiv.</p>
<p>Morgen geht es weiter. Ich werde morgen mit dem Tipps und Tricks rund um die VS IDE anfangen. Interessant wird auch parallele Entwicklung in .NET 4 und LINQ nach PLINQ. Am Nachmittag werde ich mich über Freeware Security Tools informieren. Und abends gehts dann in die Piano Bar, Casino <img src='http://welt-held.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Und heute solls noch Freibier geben, ich muss es nur noch finden :p</p>
]]></content:encoded>
			<wfw:commentRss>http://www.welt-held.de/1677-basta-spring-2010.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Basta 2010</title>
		<link>http://www.welt-held.de/1675-basta-2010.html</link>
		<comments>http://www.welt-held.de/1675-basta-2010.html#comments</comments>
		<pubDate>Sat, 20 Feb 2010 15:55:52 +0000</pubDate>
		<dc:creator>Björn</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[basta 2010]]></category>
		<category><![CDATA[buch]]></category>
		<category><![CDATA[darmstadt]]></category>
		<category><![CDATA[krank]]></category>
		<category><![CDATA[lesen]]></category>
		<category><![CDATA[star wars]]></category>

		<guid isPermaLink="false">http://www.welt-held.de/?p=1675</guid>
		<description><![CDATA[Hier war es die letzten Tage etwas ruhiger. Mir fehlte leider absolut die Lust, etwas zu bloggen. Zudem war ich die komplette letzte Woche krankgeschrieben und habe die Zeit genutzt um TV zu schauen und das Buch &#8220;Star Wars &#8211; Die Erben des Imperiums&#8221; fertig zu lesen. Echt sehr empfehlenswert. Dieses Buch spielt ein paar [...]]]></description>
			<content:encoded><![CDATA[<p>Hier war es die letzten Tage etwas ruhiger. Mir fehlte leider absolut die Lust, etwas zu bloggen. Zudem war ich die komplette letzte Woche krankgeschrieben und habe die Zeit genutzt um TV zu schauen und das Buch &#8220;<a href="http://www.amazon.de/gp/product/3442352517?ie=UTF8&amp;tag=phpundperlde-21&amp;linkCode=as2&amp;camp=1638&amp;creative=19454&amp;creativeASIN=3442352517">Star Wars &#8211; Die Erben des Imperiums</a>&#8221; fertig zu lesen. Echt sehr empfehlenswert. Dieses Buch spielt ein paar Jahre nach dem Tod des Imperators und ist somit die direkte Fortsetzung der Saga.</p>
<p>Joa und nächste Woche geht es zur &#8220;<a href="http://it-republik.de/dotnet/basta10spring/">Basta Spring 2010</a>&#8221; nach Darmstadt. Dies ist meine erste Veranstaltung dieser Art und von daher kann ich noch gar nicht genau sagen, was mich erwartet. Vermutlich komme ich mir wie ein Möchtegernschauspieler bei der Oscar-Verleihung vor. An mir laufen die &#8220;Stars&#8221; der Szene vorbei und ich komme mir so minderwertig vor. Mal sehen, ich denke mal ich twitter vor Ort.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.welt-held.de/1675-basta-2010.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Grünes Licht</title>
		<link>http://umzugsblog.welt-held.de/2010/02/20/grunes-licht/</link>
		<comments>http://umzugsblog.welt-held.de/2010/02/20/grunes-licht/#comments</comments>
		<pubDate>Sat, 20 Feb 2010 15:30:46 +0000</pubDate>
		<dc:creator>Björn</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[aktuelles]]></category>
		<category><![CDATA[alte wohnung]]></category>
		<category><![CDATA[freundin]]></category>
		<category><![CDATA[grasleben]]></category>
		<category><![CDATA[neue wohnung]]></category>
		<category><![CDATA[Neue Wohnung (Rhode)]]></category>
		<category><![CDATA[rhode]]></category>
		<category><![CDATA[umzug]]></category>
		<category><![CDATA[umzugsblog]]></category>
		<category><![CDATA[vermieter]]></category>
		<category><![CDATA[warten]]></category>

		<guid isPermaLink="false">http://umzugsblog.welt-held.de/?p=125</guid>
		<description><![CDATA[Aktuell ist es hier etwas ruhiger geworden. Wir warten eigentlich auf grünes Licht vom Vermieter, damit wir in der neuen Wohnung anfangen können. Wir hatten zwar gedacht, wir dürfen schon, tja aber etwas daneben gelegen. Muss mich Anfang März noch mal erkundigen. Der Vermieter muss ja im Schlafzimmer noch etwas machen, vorher macht es für [...]]]></description>
			<content:encoded><![CDATA[<p>Aktuell ist es hier etwas ruhiger geworden. Wir warten eigentlich auf grünes Licht vom Vermieter, damit wir in der neuen Wohnung anfangen können. Wir hatten zwar gedacht, wir dürfen schon, tja aber etwas daneben gelegen. Muss mich Anfang März noch mal erkundigen. Der Vermieter muss ja im Schlafzimmer noch etwas machen, vorher macht es für uns keinen Sinn was zu tun, da es evtl. dreckig wird etc.</p>
<p>Wir berichten weiter, wenn es was zu berichten gibt. Falls euch langweilig wird, schaut doch mal bei Leoni und Mirko und ihrem <a href="http://hasenbau2010.jimdo.com/">Traumhaus</a> vorbei.</p>
]]></content:encoded>
			<wfw:commentRss>http://umzugsblog.welt-held.de/2010/02/20/grunes-licht/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Neue Telefonnummer</title>
		<link>http://umzugsblog.welt-held.de/2010/02/10/neue-telefonnummer/</link>
		<comments>http://umzugsblog.welt-held.de/2010/02/10/neue-telefonnummer/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 18:37:52 +0000</pubDate>
		<dc:creator>Björn</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[alte wohnung]]></category>
		<category><![CDATA[Behörden]]></category>
		<category><![CDATA[freundin]]></category>
		<category><![CDATA[grasleben]]></category>
		<category><![CDATA[neue wohnung]]></category>
		<category><![CDATA[Neue Wohnung (Rhode)]]></category>
		<category><![CDATA[rhode]]></category>
		<category><![CDATA[schock]]></category>
		<category><![CDATA[telefon]]></category>
		<category><![CDATA[telekom]]></category>
		<category><![CDATA[umzug]]></category>
		<category><![CDATA[umzugsblog]]></category>

		<guid isPermaLink="false">http://umzugsblog.welt-held.de/?p=122</guid>
		<description><![CDATA[Heute kam ein Brief der Telekom. Ich hatte schon an ein Déjà-vu vor mir gesehen, einen Fehler in der Matrix. Zum Glück war es nur unsere neu Telefonnummer. Glück gehabt!
]]></description>
			<content:encoded><![CDATA[<p>Heute kam ein Brief der Telekom. Ich hatte schon an ein <a href="http://umzugsblog.welt-held.de/2010/01/27/vodafone-the-last-part/">Déjà-vu</a> vor mir gesehen, einen Fehler in der Matrix. Zum Glück war es nur unsere neu Telefonnummer. Glück gehabt!</p>
]]></content:encoded>
			<wfw:commentRss>http://umzugsblog.welt-held.de/2010/02/10/neue-telefonnummer/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mein Pflichteintrag</title>
		<link>http://www.welt-held.de/1667-mein-pflichteintrag.html</link>
		<comments>http://www.welt-held.de/1667-mein-pflichteintrag.html#comments</comments>
		<pubDate>Wed, 10 Feb 2010 07:48:20 +0000</pubDate>
		<dc:creator>Björn</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[dvd]]></category>
		<category><![CDATA[gefallen]]></category>
		<category><![CDATA[wie du mir so ich dir]]></category>

		<guid isPermaLink="false">http://www.welt-held.de/?p=1667</guid>
		<description><![CDATA[Letzte Woche schon kam ein Päckchen von Uwe mit der &#8220;Monster AG&#8221; drin. Hab mich sehr gefreut, daher setze ich mal wie gewünscht einen Backlink:
Webdesign mit Zeta CMS im Landkreis Göppingen
Ich denke, dass ist ein guter Deal für ein Film   Ich nehme auch gern mehr Filme  
]]></description>
			<content:encoded><![CDATA[<p>Letzte Woche schon kam ein Päckchen von <a href="http://www.magerquark.de">Uwe</a> mit der &#8220;Monster AG&#8221; drin. Hab mich sehr gefreut, daher setze ich mal wie gewünscht einen Backlink:</p>
<p><a href="http://zeta-software.de/wd/webdesign/webdesign-landkreis-goeppingen.html">Webdesign mit Zeta CMS im Landkreis Göppingen</a></p>
<p>Ich denke, dass ist ein guter Deal für ein Film <img src='http://welt-held.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Ich nehme auch gern mehr Filme <img src='http://welt-held.de/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.welt-held.de/1667-mein-pflichteintrag.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zwischenbericht</title>
		<link>http://umzugsblog.welt-held.de/2010/02/10/zwischenbericht/</link>
		<comments>http://umzugsblog.welt-held.de/2010/02/10/zwischenbericht/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 07:23:16 +0000</pubDate>
		<dc:creator>Björn</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[alte wohnung]]></category>
		<category><![CDATA[Alte Wohnung (Grasleben)]]></category>
		<category><![CDATA[freundin]]></category>
		<category><![CDATA[grasleben]]></category>
		<category><![CDATA[nachmieter]]></category>
		<category><![CDATA[neue wohnung]]></category>
		<category><![CDATA[Neue Wohnung (Rhode)]]></category>
		<category><![CDATA[renovieren]]></category>
		<category><![CDATA[rhode]]></category>
		<category><![CDATA[schlafzimmer]]></category>
		<category><![CDATA[umzug]]></category>
		<category><![CDATA[umzugsblog]]></category>
		<category><![CDATA[wohnung]]></category>
		<category><![CDATA[ölofen]]></category>

		<guid isPermaLink="false">http://umzugsblog.welt-held.de/?p=118</guid>
		<description><![CDATA[Damit ihr nicht denkt, wir haben unseren Umzug abgeblasen, mal ein kleiner Zwischenbericht. So wirklich viel hat sich seit dem letzten Mal nicht getan. Wir haben nun die Tapeten für alle Zimmer und auch endlich eine Wohnzimmerlampe. Es fehlen uns eigentlich nur noch zwei Lampen für PC- und Bastelzimmer sowie die ganzen Teppiche. Die wollen [...]]]></description>
			<content:encoded><![CDATA[<p>Damit ihr nicht denkt, wir haben unseren Umzug abgeblasen, mal ein kleiner Zwischenbericht. So wirklich viel hat sich seit dem letzten Mal nicht getan. Wir haben nun die Tapeten für alle Zimmer und auch endlich eine Wohnzimmerlampe. Es fehlen uns eigentlich nur noch zwei Lampen für PC- und Bastelzimmer sowie die ganzen Teppiche. Die wollen wir aber nicht schon einen Monat vorher kaufen, damit sie sich nicht irgendwo kaputt liegen (und Ecken und Kanten bekommen).<br />
Am Wochenende werden wir noch mal in die Wohnung, schauen ob unser zukünftiger Vermieter schon was am Schlafzimmer getan hat, dann könnten wir schließlich bald mit tapezieren anfangen. </p>
<p>Ach die <a href="http://umzugsblog.welt-held.de/2010/02/04/wohnungsbesichtigung/">Wohnungsbesichtigung</a> hat auch was ergeben: das junge Pärchen nimmt eine der anderen Wohnungen. Aber nicht, weil ihnen unsere nicht gefällt. Sie wollen/können erst im Juli umziehen, bis dahin sind aber bereits andere Wohnungen renoviert und können mit unserer mithalten. Ich erwähnte schon mal, dass wir die beste Wohnung haben. Sie haben sich trotzdem unsere Wohnung angeschaut, die Farben gefielen ihnen sogar richtig gut. Da ich gut eingeheizt hatte, konnten sie auch gleich sehen, wie gut die Dinger heizen. Auf die <a href="http://umzugsblog.welt-held.de/2010/01/13/der-lerneffekt/">Macken</a> bin ich nicht weiter eingegangen, sie konnten sich schließlich ein Bild davon machen (was wir damals nicht machen konnten). Unser Hausmeister vermutet, dass er die Wohnung schon vorher ohne größere Probleme an den Mann bringen kann. Falls wer interessiert ist, meine Emailadresse steht im Impressum <img src='http://umzugsblog.welt-held.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://umzugsblog.welt-held.de/2010/02/10/zwischenbericht/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HowTo: App für das Palm Pre erstellen</title>
		<link>http://www.welt-held.de/1647-howto-app-fur-das-palm-pre-erstellen.html</link>
		<comments>http://www.welt-held.de/1647-howto-app-fur-das-palm-pre-erstellen.html#comments</comments>
		<pubDate>Tue, 09 Feb 2010 22:37:37 +0000</pubDate>
		<dc:creator>Björn</dc:creator>
				<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[mojo]]></category>
		<category><![CDATA[palm pre]]></category>
		<category><![CDATA[prototype]]></category>
		<category><![CDATA[sdk]]></category>
		<category><![CDATA[webos]]></category>

		<guid isPermaLink="false">http://www.welt-held.de/?p=1647</guid>
		<description><![CDATA[Leider warte ich noch auf mein Palm Pre, aber da Palm seit einiger Zeit ein SDK für webOS zur Verfügung stellt, hindert mich nichts dran, mich schon mal in der Entwicklung zu versuchen.
Dazu brauchen wir erstmal das Palm Pre SDK. Dabei wird gleich eine virtuelle Maschine per Java Virtual Box mit einem WebOS installiert. Ansonsten [...]]]></description>
			<content:encoded><![CDATA[<p>Leider warte ich noch auf mein Palm Pre, aber da Palm seit einiger Zeit ein SDK für webOS zur Verfügung stellt, hindert mich nichts dran, mich schon mal in der Entwicklung zu versuchen.</p>
<p>Dazu brauchen wir erstmal das <a href="http://developer.palm.com/index.php?option=com_content&amp;view=article&amp;layout=page&amp;id=1661">Palm Pre SDK</a>. Dabei wird gleich eine virtuelle Maschine per Java Virtual Box mit einem WebOS installiert. Ansonsten wird alles installiert, was ihr braucht, um eine WebOS App zu erstellen. Wenn ihr wollt könnt ihr nun mit jedem beliebigen Texteditor loslegen.<br />
Ich habe mich für <a href="http://www.eclipse.org/">Eclipse</a> mit der webOS-Erweiterung entschieden. Du kannst die App von hier aus direkt in der VM starten, was einfacher ist, als die Apps jedes mal per Command-Tool in entsprechende Formate zu konvertieren und in die VM zu portieren.<br />
Wie ihr das ganze installiert, könnt ihr <a href="http://developer.palm.com/index.php?option=com_content&amp;view=article&amp;id=1639&amp;Itemid=57">hier</a> nachlesen.</p>
<p><span id="more-1647"></span>Nun will ich euch zeigen, wir ihr eine App für das Palm Pre erstellt. Als Beispiel entwickeln wir ein simples TicTacToe für zwei Spieler. Inspiriert wurde ich durch eine OpenSource Variante von TicTacToe namens <a href="http://scm.ailis.de/svn/webOS/ticsntacs/trunk/">Tics&#8217;n'Tacs</a>, welche aber für Anfänger doch recht oversized wirkt (enthält eine <a href="http://de.wikipedia.org/wiki/Künstliche_Intelligenz">KI</a> etc.)</p>
<p>Da webOS mit dem Javascript Framework &#8220;<a href="http://www.prototypejs.org/">Prototype</a>&#8221; arbeitet, welches man natürlich auch lokal nutzen kann, habe ich beschlossen, die Spiellogik erstmal für den Browser zu erstellen, und diese dann fürs Palm zu portieren und zu erweitern.</p>
<p>Als erstes erstellen wir eine Klasse in Javascript (kann man da von Klasse sprechen?):</p>
<pre class="brush: jscript;">function Game() {
}

/*
 * Setzt das Spielfeld zurück *
*/
Game.prototype.reset = function() {
	this.gameRunning = true;
	this.grid = [[ 0, 0, 0], [0, 0, 0], [0,0,0]];
	this.fieldsLeft = 9;
}

/*
 * Click abfangen und entsprechend reagieren
 */
Game.prototype.handleFieldClick = function(event, x, y) {
    // Spiel läuft nicht mehr oder Feld bereits von jemanden belegt!
	if(!this.gameRunning || this.grid[x][y] != 0) {
		return;
	}

	// Feld für den aktuellen Spieler reservieren
	this.grid[x][y] = this.currentPlayer;
	var id = &quot;field&quot; + x + y;
	$(id).addClassName(&quot;p&quot; + this.currentPlayer);

	// Züge reduzieren
	this.fieldsLeft--;

	// Prüfen, ob er gewonnen hat oder alle Felder belegt!
	if(this.checkForWin()) {
		// Hat gewonnen, callback funktion aufrufen!
		this.endGameCallback(this.winner);
		return;
	}
	// Aktuellen Spieler ändern
	this.currentPlayer = (this.currentPlayer == 1) ? 2 : 1;		

}

/*
 * Dient als Zeiger für die Callback Funktion, wird aufgerufen, sobald das Spiel vorbei ist.
 */
Game.prototype.endGameCallback = null;

/*
 * Startet das Spiel und setzt die Eventhandler auf die Felder.
 */
Game.prototype.start = function() {
	var id;
	this.reset();
	for(var i = 0; i &lt; 3; i++) {
		for(var j = 0; j &lt; 3; j++) {
			id = &quot;field&quot; + i + j;
			Event.observe($(id), &quot;click&quot;, this.handleFieldClick.bindAsEventListener(this, i, j));
		}
	}

}	

/*
 * Gibt die Debugmeldung für das Spielfeld aus
 */
Game.prototype.debug = function() {
	alert(this.grid[0][0] + &quot; &quot; + this.grid[0][1] + &quot; &quot; + this.grid[0][2] + &quot;\n&quot; +this.grid[1][0] + &quot; &quot; + this.grid[1][1] + &quot; &quot; + this.grid[1][2] + &quot;\n&quot; +this.grid[2][0] + &quot; &quot; + this.grid[2][1] + &quot; &quot; + this.grid[2][2] + &quot;\n&quot;);
}

/*
 * gibt true zurück, wenn ein Spieler gewonnen hat oder Spiel zuende ist
 */
Game.prototype.checkForWin = function() {
	if(this.checkWinDiagonal() || this.checkWinCol() || this.checkWinRow()) {
		this.gameRunning = false;
		return true;
	}

	if(this.fieldsLeft == 0) {
		this.winner = 3;
		return true;
	}
}

/* Prüft, ob Spieler diagonal eine Reihe hat */
Game.prototype.checkWinDiagonal = function() {
	if(	(
			(this.grid[0][0] == this.grid[1][1] &amp;&amp;
			this.grid[1][1] == this.grid[2][2]) ||
			(this.grid[2][0] == this.grid[1][1] &amp;&amp;
			 this.grid[1][1] == this.grid[0][2]))
		&amp;&amp; this.grid[1][1] != 0) {
			this.winner = this.grid[1][1];
			return true;
		}
	return false;
}

/* prüft ob Spieler eine Spalte voll hat */
Game.prototype.checkWinCol = function() {
	for(var i = 0; i &lt; 3; i++) {
		if(	this.grid[0][i] == this.grid[1][i] &amp;&amp;
			this.grid[1][i] == this.grid[2][i] &amp;&amp;
			this.grid[0][i] != 0) {
				this.winner = this.grid[0][i];
				return true;
			}
	}

	return false;
}

/* prüft ob Spieler eine Reihe voll hat */
Game.prototype.checkWinRow = function() {
	for(var i = 0; i &lt; 3; i++) {
		if(	this.grid[i][0] == this.grid[i][1] &amp;&amp;
			this.grid[i][1] == this.grid[i][2] &amp;&amp;
			this.grid[i][0] != 0) {
				this.winner = this.grid[i][0];
				return true;
			}
	}

	return false;
}

// 0: game running, 1: player 1, 2:player 2, 3: draw
Game.prototype.winner = 0;
Game.prototype.fieldsLeft = 9;
Game.prototype.gameRunning = false;
Game.prototype.currentPlayer = 1;
Game.prototype.grid = null;</pre>
<p>Das Spielfeld:</p>
<pre class="brush: xml;">
&lt;html&gt;
&lt;head&gt;&lt;title&gt;Tic Tac Toe&lt;/title&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;prototype.js&quot; /&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;game.js&quot; /&gt;
  &lt;link href=&quot;style.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot;/&gt;
&lt;/head&gt;
&lt;script type=&quot;text/javascript&quot;&gt;

var game = null;
function startgame() {
	game = new Game();
	game.start();
	game.endGameCallback = spielEnde;
}

function spielEnde(winner) {
	if(winner == 1 || winner == 2) {
		alert(&quot;Gewonnen hat Spieler &quot; + winner);
	}
	else {
		alert(&quot;Keiner hat gewonnen!&quot;);
	}

	//game.debug();
}

&lt;/script&gt;
&lt;body&gt;

&lt;div id=&quot;spielfeld&quot;&gt;
	&lt;div class=&quot;row row1&quot;&gt;
		&lt;div id=&quot;field00&quot; class=&quot;cell col1&quot;&gt;1&lt;/div&gt;
		&lt;div id=&quot;field01&quot; class=&quot;cell col2&quot;&gt;2&lt;/div&gt;
		&lt;div id=&quot;field02&quot; class=&quot;cell col3&quot;&gt;3&lt;/div&gt;
	&lt;/div&gt;
	&lt;div class=&quot;row row2&quot;&gt;
		&lt;div id=&quot;field10&quot; class=&quot;cell col1&quot;&gt;4&lt;/div&gt;
		&lt;div id=&quot;field11&quot; class=&quot;cell col2&quot;&gt;5&lt;/div&gt;
		&lt;div id=&quot;field12&quot; class=&quot;cell col3&quot;&gt;6&lt;/div&gt;
	&lt;/div&gt;
	&lt;div class=&quot;row row3&quot;&gt;
		&lt;div id=&quot;field20&quot; class=&quot;cell col1&quot;&gt;7&lt;/div&gt;
		&lt;div id=&quot;field21&quot; class=&quot;cell col2&quot;&gt;8&lt;/div&gt;
		&lt;div id=&quot;field22&quot; class=&quot;cell col3&quot;&gt;9&lt;/div&gt;
	&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;clear:both;&quot;&gt;&lt;/div&gt;

&lt;input type=&quot;button&quot; onclick=&quot;startgame();&quot; value=&quot;start game&quot;/&gt;

&lt;/body&gt;
&lt;/html&gt;
</pre>
<p>Per div-Container und CSS wird ein Spielfeld geformt. Nach einem Klick auf &#8220;start game&#8221; wird die Klasse initialisiert und die Variabeln gesetzt (game.start()). Dort werden &#8220;OnClick&#8221;-Events auf die einzelnen Spielfelder gesetzt. Klickt nun ein Spieler auf ein Feld, wird geprüft, ob es noch frei ist und für den Spieler reserviert und durch hinzufügen der entsprechenden CSS-Klasse auch mit einer entsprechenden Grafik visuell markiert. Danach wird geprüft, ob das Spiel vorrüber ist (weil einer gewonnen hat oder kein Zug mehr möglich ist) und bei Bedarf die Funktion &#8220;endGameCallback()&#8221; aufgerufen. Wenn ihr noch eine Runde spielen wollt, müsst ihr die Seite neuladen.</p>
<p>Damit ihr das nun nicht alles per Copy&amp;Paste selbst machen müsst, habe ich euch alles in einer ZIP-Datei zusammen gepackt: <a href='http://www.welt-held.de/files/tictactoe.zip'>tictactoe.zip</a></p>
<p>Nun erstellen wir daraus eine webOS Applikation. Dazu legen wir in Eclipse eine neue Mojo App an:<br />
<a href="http://www.welt-held.de/files/eclipse1.jpg"><img src="http://www.welt-held.de/files/eclipse1-150x150.jpg" alt="" title="New Mojo Application" width="150" height="150" class="aligncenter size-thumbnail wp-image-1651" /></a></p>
<p>Nun legen wir eine neue Mojo-Scene an und nennen sie &#8220;game&#8221;:<br />
<a href="http://www.welt-held.de/files/eclipse2.jpg"><img src="http://www.welt-held.de/files/eclipse2-150x150.jpg" alt="" title="New Mojo Scene" width="150" height="150" class="aligncenter size-thumbnail wp-image-1652" /></a></p>
<p>Wir legen (der Übersicht halber) unter dem Ordner &#8220;app&#8221; einen Ordner &#8220;model&#8221; an und kopieren die game.js von oben dortrein.<br />
<a href="http://www.welt-held.de/files/eclipse3.jpg"><img src="http://www.welt-held.de/files/eclipse3-150x150.jpg" alt="" title="game.js in Model hinzufügen" width="150" height="150" class="aligncenter size-thumbnail wp-image-1653" /></a></p>
<p>Damit die &#8220;game.js&#8221; später in der App bekannt ist, muss sie in der Datei &#8220;sources.json&#8221; eingetragen werden. Erweitert sie in etwa so:</p>
<pre class="brush: jscript;">[
    {&quot;source&quot;: &quot;app/assistants/stage-assistant.js&quot;},
    {
        &quot;scenes&quot;: &quot;game&quot;,
        &quot;source&quot;: &quot;app/assistants/game-assistant.js&quot;
    },
    {
    	&quot;source&quot;: &quot;app/model/game.js&quot;
    }
]</pre>
<p>In der Datei &#8220;/app/views/game/game-scene.html&#8221; füge ich nun das Spielfeld hinzu. Wichtig ist, dass ich hier keinen Header einbaue.</p>
<pre class="brush: xml;">&lt;div class=&quot;palm-page-header&quot;&gt;
  &lt;div class=&quot;palm-page-header-wrapper&quot;&gt;
    &lt;div class=&quot;icon app&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;title&quot;&gt;Tic Tac Toe&lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;spielfeld&quot;&gt;
	&lt;div class=&quot;row row1&quot;&gt;
		&lt;div id=&quot;field00&quot; class=&quot;cell col1&quot;&gt;1&lt;/div&gt;
		&lt;div id=&quot;field01&quot; class=&quot;cell col2&quot;&gt;2&lt;/div&gt;
		&lt;div id=&quot;field02&quot; class=&quot;cell col3&quot;&gt;3&lt;/div&gt;
	&lt;/div&gt;
	&lt;div class=&quot;row row2&quot;&gt;
		&lt;div id=&quot;field10&quot; class=&quot;cell col1&quot;&gt;4&lt;/div&gt;
		&lt;div id=&quot;field11&quot; class=&quot;cell col2&quot;&gt;5&lt;/div&gt;
		&lt;div id=&quot;field12&quot; class=&quot;cell col3&quot;&gt;6&lt;/div&gt;
	&lt;/div&gt;
	&lt;div class=&quot;row row3&quot;&gt;
		&lt;div id=&quot;field20&quot; class=&quot;cell col1&quot;&gt;7&lt;/div&gt;
		&lt;div id=&quot;field21&quot; class=&quot;cell col2&quot;&gt;8&lt;/div&gt;
		&lt;div id=&quot;field22&quot; class=&quot;cell col3&quot;&gt;9&lt;/div&gt;
	&lt;/div&gt;
&lt;/div&gt;</pre>
<p>Die beiden Bilder 1.png und 2.png kopiere ich in den Ordner &#8220;/images&#8221;. Den Inhalt der style.css kopiere ich in die Datei &#8220;/resources/tictactoe.css&#8221; und passe die Pfade für die beiden Bilder an.</p>
<p>Nun müssen wir die Spiellogik der game.js in die App einbauen. Das ist ähnlich, wie in der HTML-Datei am Anfang des Beitrags. Dazu bearbeite ich die &#8220;/app/assistants/game-assistant.js&#8221; und erweitern die vorhandenen Funktionen wie hier (bzw. fügen sie hinzu):</p>
<pre class="brush: jscript;">
var game = null;
GameAssistant.prototype.setup = function() {
	this.game = new Game();
	this.game.start();
	this.game.callback = this.spielEnde;
}

GameAssistant.prototype.spielEnde = function(winner) {

	var endText;
	if(winner == 3) {
		endText = &quot;Das Spiel endete unentschieden.&quot;;
	} else {
		endText = &quot;Gewonnen hat Spieler &quot; + winner;
	}
	Mojo.Controller.errorDialog(endText);
}</pre>
<p>Unterschiedlich ist hier nur die Callback-Funktion. Sie ruft die Funktion &#8220;errorDialog()&#8221; auf. Dies ist ein webOS Dialog. Es gibt noch andere <a href="http://developer.palm.com/palm-sdk/jsdoc/symbols/Mojo.Controller.html">Dialoge</a>, aber halten wir es mal einfach. Das Ergebnis seht ihr später.</p>
<p>Nun müssen wir der App auch sagen, dass es die Szene &#8220;game&#8221; starten soll, dies geschieht in der &#8220;stage-assistant.js&#8221;:</p>
<pre class="brush: jscript;">
StageAssistant.prototype.setup = function() {

this.controller.pushScene(&quot;game&quot;);
}</pre>
<p>Nun starten wir die App (Emulator muss schon laufen), in dem wir aufs Projekt rechtsklicken und &#8220;Run&#8221; -&gt; &#8220;Mojo Application&#8221; auswählen. Nach einem kurzen Moment startet die App im Emulator. Das Ergebnis:</p>
<div style="text-align:center">
<a href="http://www.welt-held.de/files/emulator1.jpg"><img src="http://www.welt-held.de/files/emulator1-150x150.jpg" alt="" title="Emulator 1" width="150" height="150" class="alignnone size-thumbnail wp-image-1657" /></a> <a href="http://www.welt-held.de/files/emulator2.jpg"><img src="http://www.welt-held.de/files/emulator2-150x150.jpg" alt="" title="Emulator 2" width="150" height="150" class="alignnone size-thumbnail wp-image-1658" /></a> <a href="http://www.welt-held.de/files/emulator3.jpg"><img src="http://www.welt-held.de/files/emulator3-150x150.jpg" alt="" title="Emulator 3" width="150" height="150" class="alignnone size-thumbnail wp-image-1659" /></a></div>
<p>Und zu guter letzt noch das ganze Eclipseprojekt als Download: <a href='http://www.welt-held.de/files/tictactoe-eclipse.zip'>tictactoe-eclipse.zip</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.welt-held.de/1647-howto-app-fur-das-palm-pre-erstellen.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Palm Pre</title>
		<link>http://www.welt-held.de/1645-palm-pre.html</link>
		<comments>http://www.welt-held.de/1645-palm-pre.html#comments</comments>
		<pubDate>Mon, 08 Feb 2010 17:14:55 +0000</pubDate>
		<dc:creator>Björn</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[handy]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[palm pre]]></category>
		<category><![CDATA[smartphone]]></category>
		<category><![CDATA[webos]]></category>

		<guid isPermaLink="false">http://www.welt-held.de/?p=1645</guid>
		<description><![CDATA[Ich habe mir vor ein paar Tagen habe ich mir ein Palm Pre bestellt. Das ist echt ein nettes Smartphone. Aktuell schau ich mir die SDK sowie das Webtool Ares an. Mit diesen ist es möglich, eigene Anwendungen zu entwickeln.
Das Palm Pre selbst basiert auf WebOS und es ist möglich, seine Anwendungen mithilfe von HTML5, [...]]]></description>
			<content:encoded><![CDATA[<p>Ich habe mir vor ein paar Tagen habe ich mir ein <a href="http://www.palm.com/de/de/products/phones/pre/">Palm Pre</a> bestellt. Das ist echt ein nettes Smartphone. Aktuell schau ich mir die <a href="http://developer.palm.com/">SDK</a> sowie das Webtool <a href="http://ares.palm.com/Ares/index.html">Ares</a> an. Mit diesen ist es möglich, eigene Anwendungen zu entwickeln.<br />
Das Palm Pre selbst basiert auf <a href="http://de.wikipedia.org/wiki/Palm_webOS">WebOS</a> und es ist möglich, seine Anwendungen mithilfe von HTML5, CSS und Javascript zu entwickeln.<br />
Die erste &#8220;Hello World&#8221; App habe ich auch schon entwickelt, nun sehe ich mal weiter <img src='http://welt-held.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Mir fehlen immer ein wenig die Ideen, wenn ich ehrlich bin.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.welt-held.de/1645-palm-pre.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Telekomanruf</title>
		<link>http://umzugsblog.welt-held.de/2010/02/04/telekomanruf/</link>
		<comments>http://umzugsblog.welt-held.de/2010/02/04/telekomanruf/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 10:38:22 +0000</pubDate>
		<dc:creator>Björn</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[alte wohnung]]></category>
		<category><![CDATA[anschluss]]></category>
		<category><![CDATA[dsl]]></category>
		<category><![CDATA[freundin]]></category>
		<category><![CDATA[grasleben]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[neue wohnung]]></category>
		<category><![CDATA[Neue Wohnung (Rhode)]]></category>
		<category><![CDATA[rhode]]></category>
		<category><![CDATA[telefon]]></category>
		<category><![CDATA[telekom]]></category>
		<category><![CDATA[umzug]]></category>
		<category><![CDATA[umzugsblog]]></category>

		<guid isPermaLink="false">http://umzugsblog.welt-held.de/?p=116</guid>
		<description><![CDATA[Vorhin hat mich ein Mitarbeiter der Auftragsbearbeitung der Telekom angerufen. Er fragte nach dem Vormieter und siehe da, es braucht nicht mal ein Techniker kommen, die können den Anschluss auf Knopfdruck wieder aktivieren. Mir soll es recht sein. Ich hab ihn dann direkt noch mal auf das hier erwähnte Problem mit der alten und neuen [...]]]></description>
			<content:encoded><![CDATA[<p>Vorhin hat mich ein Mitarbeiter der Auftragsbearbeitung der Telekom angerufen. Er fragte nach dem Vormieter und siehe da, es braucht nicht mal ein Techniker kommen, die können den Anschluss auf Knopfdruck wieder aktivieren. Mir soll es recht sein. Ich hab ihn dann direkt noch mal auf das <a href="http://umzugsblog.welt-held.de/2010/01/29/telekomneukunde-noch/">hier</a> erwähnte Problem mit der alten und neuen Adresse angesprochen und noch mals meine alte Adresse gegeben. Wenn alles so weiter läuft, dann gibs dicke Pluspunkte, liebe T-Com!</p>
]]></content:encoded>
			<wfw:commentRss>http://umzugsblog.welt-held.de/2010/02/04/telekomanruf/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wohnungsbesichtigung</title>
		<link>http://umzugsblog.welt-held.de/2010/02/04/wohnungsbesichtigung/</link>
		<comments>http://umzugsblog.welt-held.de/2010/02/04/wohnungsbesichtigung/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 08:38:58 +0000</pubDate>
		<dc:creator>Björn</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[alte wohnung]]></category>
		<category><![CDATA[Alte Wohnung (Grasleben)]]></category>
		<category><![CDATA[besichtigung]]></category>
		<category><![CDATA[freundin]]></category>
		<category><![CDATA[grasleben]]></category>
		<category><![CDATA[neue wohnung]]></category>
		<category><![CDATA[Neue Wohnung (Rhode)]]></category>
		<category><![CDATA[rhode]]></category>
		<category><![CDATA[tapete]]></category>
		<category><![CDATA[teppich]]></category>
		<category><![CDATA[umzug]]></category>
		<category><![CDATA[umzugsblog]]></category>
		<category><![CDATA[vorgezogener umzug]]></category>
		<category><![CDATA[wohnung]]></category>

		<guid isPermaLink="false">http://umzugsblog.welt-held.de/?p=114</guid>
		<description><![CDATA[Heute steht eine Wohnungsbesichtigung an. Aber nicht für uns. Eine potentielle Nachmieterin möchte sich heute unsere Wohnung ansehen. Wir haben schließlich die beste von den vorhandenen Wohnungen   Gestern kam daher unser Hausmeister und hat uns kurz gefragt, ob wir denn da wären. Also haben Katrin und ich abends noch eine kleine Sonderschicht eingeschoben [...]]]></description>
			<content:encoded><![CDATA[<p>Heute steht eine Wohnungsbesichtigung an. Aber nicht für uns. Eine potentielle Nachmieterin möchte sich heute unsere Wohnung ansehen. Wir haben schließlich die beste von den vorhandenen Wohnungen <img src='http://umzugsblog.welt-held.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Gestern kam daher unser Hausmeister und hat uns kurz gefragt, ob wir denn da wären. Also haben Katrin und ich abends noch eine kleine Sonderschicht eingeschoben und die Wohnung etwas aufgeräumt. Ich glaube, Katrin würde es sich öfters wünschen wenn ich so aufräume <img src='http://umzugsblog.welt-held.de/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p>Ich bin mal gespannt, unser Hausmeister sagte uns gestern, dass die neue Mieterin die Wohnung evtl. etwas früher übernehmen würde. Theoretisch würde uns das eigentlich sehr entgegen kommen. Allerdings habe ich das gestern noch mal überschlagen und bin der Meinung, dass das wohl nichts wird. Das hat mehrere Gründe, so muss in unserer neuen Wohnung in Rhode noch die Decke und Wände im Schlafzimmer renoviert werden. Da weiß ich nicht, wie weit der Vermieter ist, da wir vereinbart haben, das dies bis Ende Februar geschieht. Tapeten haben wir mittlerweile alle gekauft, allerdings haben wir noch nicht einen Teppich. Dann müssten wir die Wohnung herrichten, umziehen und die alte Wohnung wieder entsprechend herrichten, wenn die Nachmieterin es wünscht. Wir hätten jetzt ja noch ca. 4 Wochen Zeit für die ganzen Arbeiten, aber ich bin zum Beispiel die letzte Februar Woche auf der <a href="http://it-republik.de/dotnet/basta10spring/">Basta Spring 2010</a> in Darmstadt und die Wochenenden sind auch schon verplant. Es wäre zwar machbar aber sehr sehr stressig. Und ob ich das haben muss? Zudem ist die neue Wohnung ja offiziell bis zum 31.03.2010 vermietet, es wohnt eben nur keiner drin.</p>
<p>Ich werde weiter berichten.</p>
]]></content:encoded>
			<wfw:commentRss>http://umzugsblog.welt-held.de/2010/02/04/wohnungsbesichtigung/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Neuinstallation einer Windows 7 Upgrade Version</title>
		<link>http://www.welt-held.de/1640-neuinstallation-einer-windows-7-upgrade-version.html</link>
		<comments>http://www.welt-held.de/1640-neuinstallation-einer-windows-7-upgrade-version.html#comments</comments>
		<pubDate>Tue, 02 Feb 2010 12:42:45 +0000</pubDate>
		<dc:creator>Björn</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[clean install]]></category>
		<category><![CDATA[saubere installation]]></category>
		<category><![CDATA[upgrade]]></category>
		<category><![CDATA[windows 7]]></category>

		<guid isPermaLink="false">http://www.welt-held.de/?p=1640</guid>
		<description><![CDATA[Ich poste es hier noch mal, da ich es eben grad selbst gesucht habe. Von Microsoft ist es nicht vorgesehen, dass man eine Upgrade-Version (wie etwa das Family Pack) einfach auf einem nackten Rechner installieren kann. Die Installation muss also von einem bestehenden Betriebssystem (XP oder Vista) gestartet werden. Man kann dann von da aus [...]]]></description>
			<content:encoded><![CDATA[<p>Ich poste es hier noch mal, da ich es eben grad selbst gesucht habe. Von Microsoft ist es nicht vorgesehen, dass man eine Upgrade-Version (wie etwa das Family Pack) einfach auf einem nackten Rechner installieren kann. Die Installation muss also von einem bestehenden Betriebssystem (XP oder Vista) gestartet werden. Man kann dann von da aus eine komplette Neuinstallation oder ein Upgrade (nur bei Vista) machen.<br />
Um den Schritt, ein altes Betriebssystem vorher zu installieren zu umgehen, gibt es folgenden Trick:</p>
<p>1. Von der Upgrade DVD booten, installieren und den Productkey einfach leer lassen. So installiert man praktisch eine 30 Tage Testversion von Windows 7.</p>
<p>2. Sobald die Installation fertig ist, öffnet ihr Notepad (Start -&gt; &#8220;notepad&#8221; eintippe, Enter). Dort fügt ihr folgenden Text ein:</p>
<pre class="brush: plain;">echo Windows Registry Editor Version 5.00 &gt; MediaBootInstall.reg
echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\OOBE] &gt;&gt; MediaBootInstall.reg
echo &quot;MediaBootInstall&quot;=dword:00000000 &gt;&gt; MediaBootInstall.reg
echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce] &gt;&gt; MediaBootInstall.reg
echo @=&quot;slui.exe&quot; &gt;&gt; MediaBootInstall.reg
regedit.exe /s MediaBootInstall.reg
del MediaBootInstall.reg
slmgr.vbs -rearm
shutdown /r /t 0</pre>
<p>Dann speichert ihr die Datei als &#8220;Update.cmd&#8221;. Achtet auf die Dateiendung!</p>
<p>3. Führt diese Datei mit Administrationsrechten aus. Dafür rechtsklickt ihr auf die Datei und wählt &#8220;Als Administrator ausführen&#8221; aus.</p>
<p>4. Kurzen Moment warten, Meldung wegklicken. Der Rechner startet automatisch neu. Nach dem Neustart gebt ihr wie gewohnt euren Upgradekey ein und aktiviert die Windows Kopie. Fertig!</p>
<p>(via <a href="http://blog.this.at/post/2009/11/14/Clean-Install-vom-Update-Datentrager-e28093-ganz-einfach.aspx">Kraut &amp; Rüben Blog</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.welt-held.de/1640-neuinstallation-einer-windows-7-upgrade-version.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tapeten</title>
		<link>http://umzugsblog.welt-held.de/2010/02/02/tapeten-2/</link>
		<comments>http://umzugsblog.welt-held.de/2010/02/02/tapeten-2/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 07:38:27 +0000</pubDate>
		<dc:creator>Björn</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[alte wohnung]]></category>
		<category><![CDATA[angebote]]></category>
		<category><![CDATA[faro]]></category>
		<category><![CDATA[flechtorf]]></category>
		<category><![CDATA[freundin]]></category>
		<category><![CDATA[grasleben]]></category>
		<category><![CDATA[hornbach]]></category>
		<category><![CDATA[neue wohnung]]></category>
		<category><![CDATA[Neue Wohnung (Rhode)]]></category>
		<category><![CDATA[rhode]]></category>
		<category><![CDATA[tadox]]></category>
		<category><![CDATA[tapete]]></category>
		<category><![CDATA[umzug]]></category>
		<category><![CDATA[umzugsblog]]></category>
		<category><![CDATA[wsv]]></category>

		<guid isPermaLink="false">http://umzugsblog.welt-held.de/?p=111</guid>
		<description><![CDATA[Vor ein paar Tagen waren wir Tapeten kaufen. Wir sind die verschiedenen Händler abgefahren, darunter auch die üblichen verdächtigen wie etwa Hornbach. Es gab zwar die erhofften Angebote, jedoch gabs die größten Angebote auf Tapeten, die ich mir nicht mal im Keller an die Wand klatschen würde. So hielten sich die Rabatte in Grenzen, dennoch [...]]]></description>
			<content:encoded><![CDATA[<p>Vor ein paar Tagen waren wir <a href="http://umzugsblog.welt-held.de/2010/01/18/tapeten/">Tapeten</a> kaufen. Wir sind die verschiedenen Händler abgefahren, darunter auch die üblichen verdächtigen wie etwa Hornbach. Es gab zwar die erhofften Angebote, jedoch gabs die größten Angebote auf Tapeten, die ich mir nicht mal im Keller an die Wand klatschen würde. So hielten sich die Rabatte in Grenzen, dennoch konnte man ein paar Euro sparen. So konnten wir in einem Markt, ich kenne ihn noch unter dem Namen &#8220;Faru&#8221; mittlerweile heißt der Laden &#8220;<a href="http://www.tedox.de/index.php?id=25&amp;no_cache=1&amp;tx_tedoxfilialen_pi1%5Buid%5D=24">tedox</a>&#8221; für unser Wohnzimmer, Küche und für das Schlafzimmer die richtigen Tapeten kaufen. Bei Hornbach gabs die Tapete für unsere Küche auch, jedoch zum doppelten Preis. Also vergleichen lohnt sich wirklich! Dafür konnten wir beim Resteangebot bei Hornbach noch eine schöne Tapete für unseren Flur abgreifen.</p>
<p>Bleiben nun nur noch das PC- und Bastelzimmer übrig. Wenn wir dort nichts finden, werden wir weiße Raufasertapete ranklatschen und sie einfach streichen. Praktiker in Helmstedt hat jetzt am Donnerstag irgendwie Farbe im Angebot, da werden wir mal schauen, ob wir was finden.</p>
]]></content:encoded>
			<wfw:commentRss>http://umzugsblog.welt-held.de/2010/02/02/tapeten-2/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Telekomneukunde (noch)</title>
		<link>http://umzugsblog.welt-held.de/2010/01/29/telekomneukunde-noch/</link>
		<comments>http://umzugsblog.welt-held.de/2010/01/29/telekomneukunde-noch/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 12:46:42 +0000</pubDate>
		<dc:creator>Björn</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[alte wohnung]]></category>
		<category><![CDATA[freundin]]></category>
		<category><![CDATA[grasleben]]></category>
		<category><![CDATA[neue wohnung]]></category>
		<category><![CDATA[rhode]]></category>
		<category><![CDATA[umzug]]></category>
		<category><![CDATA[umzugsblog]]></category>

		<guid isPermaLink="false">http://umzugsblog.welt-held.de/?p=107</guid>
		<description><![CDATA[Nach meinen ganzen Telefon / DSL hin und her die letzten Tage mit Vodafone war ich nun vorgestern bei der Telekom um einen Vertrag abzuschließen. Soweit alles kein Problem, doch ist mir dort das selbe Problem aufgefallen, wie ich es schon bei Vodafone festgestellt habe. Jeder, der sich ein wenig in das Thema Internetanschlüsse eingelesen [...]]]></description>
			<content:encoded><![CDATA[<p>Nach meinen ganzen Telefon / DSL hin und her die letzten Tage mit Vodafone war ich nun vorgestern bei der Telekom um einen Vertrag abzuschließen. Soweit alles kein Problem, doch ist mir dort das selbe Problem aufgefallen, wie ich es schon bei Vodafone festgestellt habe. Jeder, der sich ein wenig in das Thema Internetanschlüsse eingelesen hat oder selbst schon mal einen bestellt hat, wird wissen, dass die Anbieter teilweise echt lange brauchen, um den Anschluss zu stellen.</p>
<p>Was macht der kluge Kunde? Genau, er bestellt lange vorher. So wie auch ich, ca. 2 Monate vorher, das sollte ja ausreichen, Wunschtermin kann man ja mit angeben. Jedoch wohne ich noch nicht dort, wo der Anschluss mal geschaltet werden soll. Und genau da liegt das Problem. Ich kann bei so einer Bestellung nur eine Adresse angeben, logischerweise die neue Adresse. Aber wie bringe ich der Telekom bei, dass ich dort noch nicht wohne und somit auch keine Post oder Hardware dort annehmen kann. Da wusste sogar der Mann im rosa Shirt keine Antwort. Wir haben nun erstmal meine alte Adresse als Rechnungsadresse angegeben, tja und hoffen!</p>
<p>Aber ich kann mir nicht vorstellen, dass ich der einzige Kunde der Telekom bin, der so klug ist, im Voraus seinen Telefonanschluss zu bestellen. Also falls hier mal ein Verantwortlicher mitliest: das wäre mal ein ernst gemeinter Verbesserungsvorschlag!</p>
]]></content:encoded>
			<wfw:commentRss>http://umzugsblog.welt-held.de/2010/01/29/telekomneukunde-noch/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linq und string.Contains() &#8211; Problem</title>
		<link>http://www.welt-held.de/1628-linq-und-string-contains-problem.html</link>
		<comments>http://www.welt-held.de/1628-linq-und-string-contains-problem.html#comments</comments>
		<pubDate>Fri, 29 Jan 2010 11:25:03 +0000</pubDate>
		<dc:creator>Björn</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[contains]]></category>
		<category><![CDATA[linq]]></category>
		<category><![CDATA[lösung]]></category>
		<category><![CDATA[problem]]></category>
		<category><![CDATA[string]]></category>
		<category><![CDATA[workaround]]></category>

		<guid isPermaLink="false">http://www.welt-held.de/?p=1628</guid>
		<description><![CDATA[Ich hatte eine kleine Methode, um mir bestimmte Datensätze aus einer Datenbank zu holen. Dazu nutze ich Linq, da es schön einfach ist.

        public IEnumerable&#60;Data&#62; Search(string filter)
        {
            var dataSet [...]]]></description>
			<content:encoded><![CDATA[<p>Ich hatte eine kleine Methode, um mir bestimmte Datensätze aus einer Datenbank zu holen. Dazu nutze ich Linq, da es schön einfach ist.</p>
<pre class="brush: csharp;">
        public IEnumerable&lt;Data&gt; Search(string filter)
        {
            var dataSet = from data in this.bigDataSet
                          where data.Name.Contains(filter)
                          select data;

            return dataSet;
        }
</pre>
<p>Über die Variable &#8220;filter&#8221; wollte ich die Daten eingrenzen. Allerdings sollte es auch möglich sein, sich alle Datensätze anzusehen. In der MSDN zu <a href="http://msdn.microsoft.com/de-de/library/dy85x1sa(VS.80).aspx">string.Contains()</a> lautet es:</p>
<blockquote><p>
<strong>Rückgabewert</strong><br />
<strong>true</strong>, wenn der value-Parameter in dieser Zeichenfolge vorkommt oder value eine leere Zeichenfolge (&#8220;&#8221;) ist, andernfalls <strong>false</strong>.
</p></blockquote>
<p>Heißt für mich, dass ich &#8220;filter&#8221; leer lassen kann und so alle Datensätze bekomme. Funktionierte aber nicht. Ich vermute mal, es liegt daran, dass ich Linq-to-Ent verwende. Das Workaround funktioniert aber ganz gut:</p>
<pre class="brush: csharp;">
        public IEnumerable&lt;Data&gt; Search(string filter)
        {
            var dataSet = from data in this.bigDataSet
                          where (!string.IsNullOrEmpty(filter) ? data.Name.Contains(filter) : true)
                          select data;

            return dataSet;
        }
</pre>
<p>Vielleicht hat ja jemand genauere Informationen, warum der erste Ansatz nicht funktioniert. Auf Anhieb habe ich nichts gefunden.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.welt-held.de/1628-linq-und-string-contains-problem.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
