<?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>Fri, 12 Mar 2010 21:26:32 +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>Palm Pre: Unautorisierter Zugriff auf Emails etc.</title>
		<link>http://www.welt-held.de/1726-palm-pre-unautorisierter-zugriff-auf-emails-etc.html</link>
		<comments>http://www.welt-held.de/1726-palm-pre-unautorisierter-zugriff-auf-emails-etc.html#comments</comments>
		<pubDate>Fri, 12 Mar 2010 17:57:01 +0000</pubDate>
		<dc:creator>Björn</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[palm]]></category>
		<category><![CDATA[pre]]></category>
		<category><![CDATA[sicherheit]]></category>
		<category><![CDATA[webos]]></category>

		<guid isPermaLink="false">http://www.welt-held.de/?p=1726</guid>
		<description><![CDATA[Im Laufe des Tages hat der Akku meines Pres den Geist aufgegeben, da ich vergessen hatte ihn aufzuladen.
Nicht weiter schlimm, zu Hause habe ich es einfach auf meinen TouchStone gelegt und mich um andere Sachen gekümmert.
Irgendwann meldete sich mein Handy, dass ich eine neue Email hätte. Das hat mich schon ein wenig verwundert, schließlich war [...]]]></description>
			<content:encoded><![CDATA[<p>Im Laufe des Tages hat der Akku meines Pres den Geist aufgegeben, da ich vergessen hatte ihn aufzuladen.<br />
Nicht weiter schlimm, zu Hause habe ich es einfach auf meinen TouchStone gelegt und mich um andere Sachen gekümmert.<br />
Irgendwann meldete sich mein Handy, dass ich eine neue Email hätte. Das hat mich schon ein wenig verwundert, schließlich war mein Handy komplett aus. Wie erwartet wollte das Pre einen PIN für meine Sim-Karte, hatte sich aber im Hintergrund in mein Wlan eingelinkt und so die Emails abgerufen. </p>
<p>Und genau hier sehe ich das Problem. Nehmen wir mal an, ich verliere mein Handy und jemand findet es. Ohne Eingabe eines PINs kann er sich in ein Wlan einlinken und so meine Emails und meinen Kalender zugreifen.<br />
Ich könnte zwar einstellen, dass beim Ausschalten der Tastensperre eine Code-Abfrage kommt, aber ich will nicht jedes mal einen Code eingeben.<br />
Allerdings bin ich der Meinung, dass das Handy nicht benutztbar (außer für Notrufe) sein sollte, solange ich keinen PIN oder entsprechendes eingegeben habe. </p>
<p>Ich denke, hier muss Palm nacharbeiten! Wie seht ihr das?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.welt-held.de/1726-palm-pre-unautorisierter-zugriff-auf-emails-etc.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>C#4.0 &#8211; Problematik bei Default Values</title>
		<link>http://www.welt-held.de/1715-c4-0-problematik-bei-default-values.html</link>
		<comments>http://www.welt-held.de/1715-c4-0-problematik-bei-default-values.html#comments</comments>
		<pubDate>Fri, 12 Mar 2010 17:43:02 +0000</pubDate>
		<dc:creator>Björn</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[c#4.0]]></category>
		<category><![CDATA[default values]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[lösung]]></category>
		<category><![CDATA[problem]]></category>

		<guid isPermaLink="false">http://www.welt-held.de/?p=1715</guid>
		<description><![CDATA[Golo Roden erwähnte es bereits in den Kommentaren, daher möchte ich noch mal genauer darauf eingehen.
Dazu erstelle ich eine Solution in Visual Studio 2010 mit einer Konsolenapplikation, welche ich &#8220;DefaultValues&#8221; nenne.
Die alte Schreibweise
Die Schreibweise unter C#3.0 mit Überladung wäre also in etwa so:
    public class Program
    {
   [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.des-eisbaeren-blog.de/">Golo Roden</a> erwähnte es bereits in den <a href="http://www.welt-held.de/1713-c-4-0-default-values-und-delegates.html#comment-19050">Kommentaren</a>, daher möchte ich noch mal genauer darauf eingehen.<br />
Dazu erstelle ich eine Solution in Visual Studio 2010 mit einer Konsolenapplikation, welche ich &#8220;DefaultValues&#8221; nenne.<span id="more-1715"></span></p>
<h3>Die alte Schreibweise</h3>
<p>Die Schreibweise unter C#3.0 mit Überladung wäre also in etwa so:</p>
<pre class="brush: csharp;">    public class Program
    {
        static void Main(string[] args)
        {

            AddValues(&quot;Ich bin ein&quot;, &quot;String&quot;);
            Console.WriteLine(_value);

            AddValues(&quot;Ich bin ein&quot;, &quot;String&quot;, true);

            Console.ReadLine();
        }

        public static string _value;

        public static void AddValues(string value1, string value2)
        {
            AddValues(value1, value2, false);
        }
        public static void AddValues(string value1, string value2, bool output)
        {
            _value = string.Format(&quot;{0} {1}&quot;, value1, value2);
            if(output)
            {
                Console.WriteLine(_value);
            }
        }
    }</pre>
<p>Wenn wir nun das Projekt ausführen erhalten wir folgende Ausgabe.</p>
<pre class="brush: plain;">Ich bin ein String
Ich bin ein String</pre>
<p>Die erste Ausgabe erfolgt manuell, die zweite direkt in der Methode, wie gewünscht.</p>
<h3>C#4.0 mit Default Values</h3>
<p>Unter C#4.0 mit Default Values kann man die ganze Sache nun vereinfachen:</p>
<pre class="brush: csharp;">public static void AddValues(string value1, string value2, bool output = false)
{
    _value = string.Format(&quot;{0} {1}&quot;, value1, value2);
    if(output)
    {
        Console.WriteLine(_value);
    }
}</pre>
<p>Die Ausgabe ist identisch. Die erste Zeile wird manuell ausgegeben, die zweite über den Methodenaufruf. Das macht die Sache einfach, spart Code, macht ihn leserlicher. Man findet sicherlich noch weitere Vorteile.</p>
<h3>Das Problem erkennen</h3>
<p>Kommen wir nun zu den Problemen. Bevor ich die erläutern kann, muss man wissen, wie C# die Default Values behandelt. Wenn man sich die Anwendung per <a href="http://reflector.red-gate.com/Download.aspx">Reflector</a> ansieht, sieht man folgenden Code (in der C#-Ansicht):</p>
<pre class="brush: csharp;">
private static void AddValues(string value1, string value2, [Optional, DefaultParameterValue(false)] bool output);
</pre>
<p>Die Zeile spricht für sich. Der Standardwert lautet &#8220;false&#8221;. Nun erstellen wir ein neues Projekt (&#8220;TestApp&#8221;) und referenzieren auf unsere Methode mit dem Default Value:</p>
<pre class="brush: csharp;">namespace TestApp
{
    class Program
    {
        static void Main(string[] args)
        {
            DefaultValues.Program.AddValues(&quot;Ich bin ein&quot;, &quot;String&quot;);
            Console.WriteLine(DefaultValues.Program._value);

            Console.ReadLine();
        }
    }
}</pre>
<p>Ausgegben wird eine Zeile, wie erwartet, durch die manuelle Ausgabe. Nun sehen wir uns die zweite Exe-Datei mal im Reflector an:</p>
<pre class="brush: csharp;">
Program.AddValues(&quot;Ich bin ein&quot;, &quot;String&quot;, false);
</pre>
<p>Auf einmal sind drei Parameter vorhanden, obwohl wir nur zwei im Sourcecode angegeben haben. Der Compiler setzt automatisch den dritten Parameter mit dem Standardwert, in dem Fall <em>false</em>.<br />
Nun ändern wir die AddValues()-Methode, die Ausgabe soll standardmäßig sofort in der Methode erfolgen, zudem ändern wir den String etwas:</p>
<pre class="brush: csharp;">public static void AddValues(string value1, string value2, bool output = true)
{
    _value = string.Format(&quot;Zusammengesetzt: {0} {1}&quot;, value1, value2);
    if (output)
    {
        Console.WriteLine(_value);
    }
}</pre>
<p>Nun kompilier ich <strong>nur</strong> das Projekt &#8220;DefaultValues&#8221; und kopiere die DefaultValues.exe in das Bin-Verzeichnis der TestApp. Wenn ich nun die TestApp.exe starte erhalte ich folgende Ausgabe:</p>
<pre class="brush: plain;">Zusammengesetzt: Ich bin ein String</pre>
<p>Allerdings haben wir den Standardwert für die Ausgabe auf true gesetzt, daher müsste die Ausgabe doppelt erscheinen, einmal direkt über den Methodenaufruf und einmal durch die manuelle Ausgabe.</p>
<h3>Problem beheben</h3>
<p>Dieses Problem resultiert daher, dass der Standardwert nicht &#8220;on-the-fly&#8221; aus der DefaultValue.exe geholt wird, sondern vom Compiler in der TestApp.exe gesetzt wurde.<br />
Die Methode aus der DefaultValues.exe wird also immer noch mit &#8220;AddValues(&#8220;Ich bin ein&#8221;, &#8220;String&#8221;, <strong>false</strong>);&#8221; aufgerufen. Und so lange wir das TestApp-Projekt nicht neu kompilieren, wird sich an der Ausgabe nichts ändern. </p>
<h3>Fazit</h3>
<p>Default Values sind eine nette Sache, um sich Überladungen zu sparen, den Code leserlicher zu machen und dem Programmierer das Leben leichter. Aber eigentlich gibt es keine Default Value, der Compiler setzt einfach nur die Werte, die man vorher manuell gesetzt hat. Wenn man diesen Aspekt nicht vergisst, können DefaultValues eine schöne Sache sein, ansonsten sucht man sich wahrscheinlich dumm und dämlich, bis man den Fehler gefunden hat.</p>
<p>Vielen Dank hier noch mal an <a href="http://www.sturmnet.org/blog/">Oliver Sturm</a>, welcher die Problematik auf der Basta kurz aber verständlich erklärt hat.</p>
<p>Beispielsolution: <a href='http://welt-held.de/files/BeispielSolutionDefaultValues.zip'>DefaultValues.zip</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.welt-held.de/1715-c4-0-problematik-bei-default-values.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>C# 4.0 &#8211; Default Values und Delegates</title>
		<link>http://www.welt-held.de/1713-c-4-0-default-values-und-delegates.html</link>
		<comments>http://www.welt-held.de/1713-c-4-0-default-values-und-delegates.html#comments</comments>
		<pubDate>Thu, 11 Mar 2010 09:21:39 +0000</pubDate>
		<dc:creator>Björn</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[default values]]></category>
		<category><![CDATA[delegate]]></category>
		<category><![CDATA[lambda]]></category>

		<guid isPermaLink="false">http://www.welt-held.de/?p=1713</guid>
		<description><![CDATA[Mit C# 4.0 gibt es sogenannte Default Values. Das heißt, ich kann den Parametern bei einem Methodenaufruf bereits definierte Werte mitgeben.
Beispiel:

void Foobar(string valueWithoutDefaultValue, string valueWithDefaultValue = &#34;Ich bin ein Default Value&#34;) {
   // ..
}

Ich kann den 2. Parameter nun mit geben oder es eben sein lassen. Mehr dazu findet ihr hier. Nun wollte [...]]]></description>
			<content:encoded><![CDATA[<p>Mit C# 4.0 gibt es sogenannte Default Values. Das heißt, ich kann den Parametern bei einem Methodenaufruf bereits definierte Werte mitgeben.<br />
Beispiel:</p>
<pre class="brush: csharp;">
void Foobar(string valueWithoutDefaultValue, string valueWithDefaultValue = &quot;Ich bin ein Default Value&quot;) {
   // ..
}
</pre>
<p>Ich kann den 2. Parameter nun mit geben oder es eben sein lassen. Mehr dazu findet ihr <a href="http://davidhayden.com/blog/dave/archive/2009/06/02/CSharp4OptionalNamedParameters.aspx">hier</a>. Nun wollte ich dies bei einem Delegaten ausnutzen. Der Delegate feuert nur mit einem Parameter, die Methode hat aber zwei Parameter, wobei der zweite einen Defaultwert hat. </p>
<pre class="brush: csharp;">public delegate void DelegateFoobar(string text);
public event DelegateFoobar foobarEvent;</pre>
<p>Dies funktioniert nicht, der Compiler spuckt folgende Fehlermeldung:</p>
<pre class="brush: plain;">No overload for 'Foobar' matches delegate 'TestApp.Classes.Test.foobarEvent'</pre>
<p>Schade eigentlich, denn meiner Interpretation nach sollte es funktionieren. Gelöst habe ich es mit eine Lambda Expression:</p>
<pre class="brush: csharp;">testclass.foobarEvent += str =&gt; this.Foobar(str);</pre>
<p>Funktioniert ohne Probleme.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.welt-held.de/1713-c-4-0-default-values-und-delegates.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>ShowDialog() verzögert Applikation</title>
		<link>http://www.welt-held.de/1710-showdialog-verzogert-applikation.html</link>
		<comments>http://www.welt-held.de/1710-showdialog-verzogert-applikation.html#comments</comments>
		<pubDate>Wed, 10 Mar 2010 21:38:45 +0000</pubDate>
		<dc:creator>Björn</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[forms]]></category>
		<category><![CDATA[problem]]></category>
		<category><![CDATA[showdialog]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.welt-held.de/?p=1710</guid>
		<description><![CDATA[Gestern bin ich mal wieder über das selbe Problem wie damals gestoßen. Ich hab es damals nicht weiter erläutert. Und zwar sollte auf Knopfdruck eine Form erscheinen, welche über den ganzen Bildschirm geht, womit der Benutzer interagieren kann. Im Prinzip bestand die Form nur aus einer PictureBox und er sollte dort einen Bereich auswählen.
Lasse ich [...]]]></description>
			<content:encoded><![CDATA[<p>Gestern bin ich mal wieder über das <a href="http://www.welt-held.de/720-showdialog-umbauen.html">selbe Problem</a> wie damals gestoßen. Ich hab es damals nicht weiter erläutert. Und zwar sollte auf Knopfdruck eine Form erscheinen, welche über den ganzen Bildschirm geht, womit der Benutzer interagieren kann. Im Prinzip bestand die Form nur aus einer PictureBox und er sollte dort einen Bereich auswählen.<br />
Lasse ich mir die Form per Show() anzeigen habe ich keine Probleme, per ShowDialog() hängt er jeweils 4 Sekunden (geschätzt).<br />
Diese 4 Sekunden reichen aber dem normalen Benutzer schon aus, um sich darüber zu beschweren.<br />
Gelöst habe ich es wieder einmal mit einem Show() und einen Closed-Event. Zusammen mit TopMost hatte ich den gewünschten Effekt. Erklären kann ich es mir dennoch und vor allem immer noch nicht.</p>
<p>(Wenn Interesse besteht, lade ich mal eine Beispielsolution hoch).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.welt-held.de/1710-showdialog-verzogert-applikation.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Antwort auf meinen Bugreport</title>
		<link>http://www.welt-held.de/1708-antwort-auf-meinen-bugreport.html</link>
		<comments>http://www.welt-held.de/1708-antwort-auf-meinen-bugreport.html#comments</comments>
		<pubDate>Wed, 10 Mar 2010 21:30:06 +0000</pubDate>
		<dc:creator>Björn</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[feedwordpress]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.welt-held.de/?p=1708</guid>
		<description><![CDATA[Vor ein paar Tagen berichtete ich von meinem Bugreport. Nun hat mir Charles Johnson eine Mail gesendet und sich für den Bugreport und auch noch für die Lösung bedankt und das dies Teil der nächsten Version sein wird. Aktuell wurde es bereits in die Developer-Version eingebaut  
Dort steht nun in der Datei:
function syndication_permalink ($permalink [...]]]></description>
			<content:encoded><![CDATA[<p>Vor ein paar Tagen berichtete ich von meinem <a href="http://www.welt-held.de/1687-fehlerhafte-links-in-der-sidebar-bei-wordpress.html">Bugreport</a>. Nun hat mir Charles Johnson eine Mail gesendet und sich für den Bugreport und auch noch für die Lösung bedankt und das dies Teil der nächsten Version sein wird. Aktuell wurde es bereits in die Developer-Version eingebaut <img src='http://welt-held.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Dort steht nun in der Datei:</p>
<pre class="brush: php;">function syndication_permalink ($permalink = '') {
	global $feedwordpress_the_original_permalink;

	// Save the local permalink in case we need to retrieve it later.
	$feedwordpress_the_original_permalink = $permalink;

	// Map this permalink to a post ID so we can get the correct permalink
	// even outside of the Post Loop. Props Björn.
	$id = url_to_postid($permalink);</pre>
<p>Ja Leute, nun werde ich berühmt <img src='http://welt-held.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.welt-held.de/1708-antwort-auf-meinen-bugreport.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<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[Allgemein]]></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[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>2</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>
	</channel>
</rss>

<!-- Dynamic page generated in 3.367 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2010-03-13 00:04:40 -->
