<?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>Jethwa.de &#187; Internet</title>
	<atom:link href="http://www.jethwa.de/weblog/kategorie/internet/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jethwa.de</link>
	<description>Jay Allan Jethwa</description>
	<lastBuildDate>Mon, 12 Jul 2010 20:55:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>XAMPP vom USB-Stick starten und auf mehreren PCs verwenden</title>
		<link>http://www.jethwa.de/weblog/xampp-vom-usb-stick-starten-und-auf-mehreren-pcs-verwenden/</link>
		<comments>http://www.jethwa.de/weblog/xampp-vom-usb-stick-starten-und-auf-mehreren-pcs-verwenden/#comments</comments>
		<pubDate>Wed, 06 Aug 2008 20:37:53 +0000</pubDate>
		<dc:creator>Jay Allan Jethwa</dc:creator>
				<category><![CDATA[Betriebssysteme]]></category>
		<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Webentwicklung]]></category>
		<category><![CDATA[usb]]></category>
		<category><![CDATA[xampp]]></category>

		<guid isPermaLink="false">http://www.jethwa.de/?p=5169</guid>
		<description><![CDATA[Wer ein- und dieselbe XAMPP-Installation mit allen dazugehörigen Projektdaten und MySQL-Datenbanken unter Windows auf mehreren Rechnern verwenden möchte, der steht vor einem Problem: Die Konfigurationsdateien von Apache, MySQL und PHP sind Laufwerksgebunden und da externe Festplatten und USB-Sticks je nach freiem Laufwerksbuchstaben auf dem jeweiligen Rechner eine andere Kennung zugewiesen bekommen, ist es mit einem [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-5170" title="ampstart" src="http://www.jethwa.de/wp-content/uploads/2008/08/ampstart.jpg" alt="" width="490" height="120" /></p>
<p>Wer ein- und dieselbe XAMPP-Installation mit allen dazugehörigen Projektdaten und MySQL-Datenbanken unter Windows auf mehreren Rechnern verwenden möchte, der steht vor einem Problem: Die Konfigurationsdateien von Apache, MySQL und PHP sind Laufwerksgebunden und da externe Festplatten und USB-Sticks je nach freiem Laufwerksbuchstaben auf dem jeweiligen Rechner eine andere Kennung zugewiesen bekommen, ist es mit einem einfachen Kopieren des XAMPP-Verzeichnisses auf den Datenträger leider nicht getan.</p>
<p>Die Lösung für dieses Problem kommt aus Vietnam: Ly Anh Tuan hat mit AMPstart eine portable Version von XAMPP geschaffen: Die AMPstart.exe muss lediglich in das XAMPP-Verzeichnis kopiert und dort fortan anstelle der xampp_start.exe bzw. xampp_control.exe ausgeführt werden.</p>
<p>Eine wunderbar einfache Lösung die zudem viele zusätzliche Optionen bietet - wie z.B. die Möglichkeit, seine Projekte von CD/DVD laufen zu lassen.</p>
<p>Link:<br />
<a href="http://ampstart.ampstart.com">AMPstart - A Portable Web Server (auf Englisch/Vietnamesisch)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jethwa.de/weblog/xampp-vom-usb-stick-starten-und-auf-mehreren-pcs-verwenden/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Artikel im phpsolutions Magazin: Plugin-System im Eigenbau</title>
		<link>http://www.jethwa.de/weblog/artikel-im-phpsolutions-magazin-plugin-system-im-eigenbau/</link>
		<comments>http://www.jethwa.de/weblog/artikel-im-phpsolutions-magazin-plugin-system-im-eigenbau/#comments</comments>
		<pubDate>Sat, 28 Jun 2008 16:34:53 +0000</pubDate>
		<dc:creator>Jay Allan Jethwa</dc:creator>
				<category><![CDATA[Webentwicklung]]></category>

		<guid isPermaLink="false">http://www.jethwa.de/?p=5127</guid>
		<description><![CDATA[In der neuesten Ausgabe 04/2008 des Magazins phpsolutions ist auch ein Artikel von mir zu finden, auf den ich hier einfach mal aufmerksam machen möchte Plugin-System im Eigenbau Ganz gleich ob WordPress oder TYPO3: Alle großen bekannten Content Management Systeme bieten die Möglichkeit, sie durch so genannte Plugins oder Extensions zu erweitern ohne dabei den [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-5128" title="phpsolutions" src="http://www.jethwa.de/wp-content/uploads/2008/03/phpsolutions.jpg" alt="" width="490" height="120" /></p>
<p>In der neuesten Ausgabe 04/2008 des Magazins phpsolutions ist auch ein Artikel von mir zu finden, auf den ich hier einfach mal aufmerksam machen möchte <img src='http://www.jethwa.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><strong>Plugin-System im Eigenbau</strong></p>
<blockquote><p><span style="font-size: 11pt; line-height: 115%; font-family: ">Ganz gleich ob WordPress oder TYPO3: Alle großen bekannten Content Management Systeme bieten die Möglichkeit, sie durch so genannte Plugins oder Extensions zu erweitern ohne dabei den eigentlichen Programmcode des CMS direkt verändern zu müssen. Doch wie realisiert man ein Plugin-System für seine eigenen Web-Applikationen?</span></p></blockquote>
<p>Sollten Sie als Leser der phpsolutions auf meine Webseite gelangt sein, so freue ich mich auf Ihre Anregungen und Diskussion zu dem Artikel in den Kommentaren dieses Beitrags.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jethwa.de/weblog/artikel-im-phpsolutions-magazin-plugin-system-im-eigenbau/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Tutorial: Einstieg in das Adobe Flex 3 SDK</title>
		<link>http://www.jethwa.de/weblog/tutorial-einstieg-in-das-adobe-flex-sdk/</link>
		<comments>http://www.jethwa.de/weblog/tutorial-einstieg-in-das-adobe-flex-sdk/#comments</comments>
		<pubDate>Wed, 28 May 2008 13:39:17 +0000</pubDate>
		<dc:creator>Jay Allan Jethwa</dc:creator>
				<category><![CDATA[Webentwicklung]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[swf]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.jethwa.de/?p=5165</guid>
		<description><![CDATA[Hinweis: Dieser Artikel behandelt den Umgang mit dem alten Flex 3 SDK. Mit der Veröffentlichung des Flex SDK als Open Source ermöglicht es Adobe Webentwicklern endlich von offizieller Seite aus, SWF-Dateien ohne die Anschaffung des teuren Adobe Flash oder die Verwendung von Dritthersteller-Tools zu erstellen. Die Entwicklungsumgebung Adobe Flex Builder bleibt jedoch kommerziell, so dass [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-5125" title="Flex" src="http://www.jethwa.de/wp-content/uploads/2008/03/flex.jpg" alt="" width="490" height="120" /></p>
<p><strong>Hinweis: Dieser Artikel behandelt den Umgang mit dem alten Flex 3 SDK.</strong></p>
<p>Mit der Veröffentlichung des Flex SDK als Open Source ermöglicht es Adobe Webentwicklern endlich von offizieller Seite aus, SWF-Dateien ohne die Anschaffung des teuren Adobe Flash oder die <a href="http://http://www.jethwa.de/weblog/swf-ohne-flash-actionscript-compiler/">Verwendung von Dritthersteller-Tools</a> zu erstellen. Die Entwicklungsumgebung Adobe Flex Builder bleibt jedoch kommerziell, so dass man bei Verwendung des Flex SDKs auf die Kommandozeile angewiesen ist.</p>
<p>Da Adobe als kommerzieller Anbieter bewusst seine IDE pushen möchte, findet man in den Adobe-Tutorials keine wirklich brauchbare Starthilfe, die von 0 anfängt - und das schon gar nicht auf Deutsch. Das möchte ich also mit diesem Artikel versuchen zu ändern.</p>
<p><strong>Download und Installation des Flex SDK</strong></p>
<p>Das Flex SDK ist auf der Adobe-Website zum Download erhältlich [1]. Auf der Download-Seite ist nicht der Eintrag "Flex Builder Professional" einzuwählen, sondern weiter unten der Eintrag "Flex SDK". Dort das Häkchen neben dem License Agreement setzen und den Download der etwa 40 MB großen Datei starten.</p>
<p>Das ZIP-Archiv sollte an zentraler und gut erreichbarer Stelle extrahiert werden - ich habe für solche Zwecke eine eigene Partition für den Bereich Software- und Web-Entwicklung auf meinem Rechner. In meinem Beispiel also entpacke ich das Archiv nach D:\FlexSDK.</p>
<p>Das SDK enthält neben dem eigentlichen Flex Framework eine Fülle an Beispielen, Vorlagen und Bibliotheken. Für uns ist jedoch primär der eigentliche Flex Compiler interessant, welcher im Unterverzeichnis 'bin' zu finden ist.</p>
<p><strong>Bedienung des Flex Compilers</strong></p>
<p>Die Handhabung des Flex Compilers mxmlc mit seinen Standard-Einstellungen ist auf Kommandozeilen-Ebene recht einfach, da er lediglich zwei Parameter benötigt: Die Quelltextdatei und die Ausgabedatei.</p>

<div class="wp_syntax"><div class="code"><pre class="batch" style="font-family:monospace;">mxmlc -file-specs=Quelltextdatei -output=SWF-Datei</pre></div></div>

<p>Ich habe für meine Zwecke eine Batch-Datei geschrieben, die den Aufruf des Compilers vereinfacht und zudem die Kommandozeile nach Aufruf durch den Windows Explorer offen hält, falls es Fehlermeldungen beim Kompilieren gab:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="dos" style="font-family:monospace;"><span style="color: #33cc33;">@</span><span style="color: #b1b100; font-weight: bold;">echo</span> off
\FlexSDK\bin\mxmlc.exe -file-specs=<span style="color: #33cc33;">%</span><span style="color: #448888;">1</span> -output=<span style="color: #33cc33;">%</span><span style="color: #448888;">2</span>
<span style="color: #b1b100; font-weight: bold;">pause</span>
<span style="color: #00b100; font-weight: bold;">exit</span></pre></td></tr></table></div>

<p>Nun kann ich mit einer Verknüpfung zur compile.bat mit dem Namen der Quelltext und der SWF-Datei als Parameter für jedes Projekt bequem die Kompilierung anstoßen.</p>
<p><strong>Hallo, Welt!</strong></p>
<p>Das Kerngerüst für das einfaches Oberflächen-Layout sind auf XML basierende Dateien mit einem eigenen Namespace von Adobe. Ein einfaches "Hallo, Welt!"-Programm sieht hier folgendermaßen aus:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;">&quot;utf-8&quot;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mx:Application</span> <span style="color: #000066;">xmlns:mx</span>=<span style="color: #ff0000;">&quot;http://www.adobe.com/2006/mxml&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mx:Label</span> <span style="color: #000066;">text</span>=<span style="color: #ff0000;">&quot;Hallo, Welt!&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/mx:Application<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>

<p>Dies erzeugt eine leere Oberfläche mit einem einzigen Bezeichnungsfeld mit dem Inhalt "Hallo, Welt!".<br />
Nach der Speicherung der Datei als hallo.mxml erzeugen wir also direkt unsere erste eigene Flex-Anwendung mittels unserer compile.bat durch den Aufruf:</p>

<div class="wp_syntax"><div class="code"><pre class="dos" style="font-family:monospace;">compile hallo.mxml hallo.swf</pre></div></div>

<p>Der Flex Compiler meldet nach kurzer Zeit die erfolgreiche Kompilierung und die hallo.swf kann im Browser aufgerufen werden - voraussetzung ist natürlich ein aktuelles Flash Plugin.</p>
<p><span id="more-5165"></span></p>
<p><strong>Beispiel-Anwendung: Überblenden von Bildern</strong></p>
<p>Doch grau ist alle Theorie, fahren wir daher mit einer kleinen, sinnvollen Applikation fort, die auf vielen aktuellen Websites ihre Anwendung findet: Das Überblenden von Bildern.</p>
<p>Unser Programm wird grob gesehen aus zwei Teilen bestehen. Zum einen die MXML-Definitionen und zum anderen einem ActionScript-Teil zur Steuerung der Überblendung.</p>
<p>Wir beginnen also zunächst mit der Definition eines Canvas-Objekts, welches die darzustellenden Bilder enthält. Dieses Zeichenflächen-Objekt erlaubt uns, die Bilder pixelgenau übereinander zu positionieren ohne uns weiter mit dem automatisierten Layout von Flex beschäftigen zu müssen:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mx:Canvas<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mx:Image</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;p1&quot;</span> <span style="color: #000066;">source</span>=<span style="color: #ff0000;">&quot;bild1.jpg&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mx:Image</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;p2&quot;</span> <span style="color: #000066;">alpha</span>=<span style="color: #ff0000;">&quot;0.0&quot;</span> <span style="color: #000066;">source</span>=<span style="color: #ff0000;">&quot;bild2.jpg&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/mx:Canvas<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>

<p>Unsere Bilder werden mit dieser Art und Weise zur Laufzeit aus dem Dateisystem geladen. Es ist jedoch auch möglich, Bilder direkt in die SWF-Datei einzubetten. Ein Beispiel für so eine Einbettung wäre:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mx:Image</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;p1&quot;</span> <span style="color: #000066;">source</span>=<span style="color: #ff0000;">&quot;@Embed('bild1.jpg')&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span></pre></div></div>

<p>Jedes Bild erhält von uns eine eindeutige Identifikation (p1, p2) und eine Bildquelle, ausserdem wird der Alphakanal-Wert des zweiten Bildes direkt auf 0 gesetzt, damit zu Beginn nur das erste Bild zu sehen ist.</p>
<p>Als nächstes machen wir uns die State-Engine des Flex-Frameworks zu nutze: Mit ihrer Hilfe lassen sich Zustände innerhalb einer Flex-Applikation definieren. In unserem Beispiel wären dies zwei Endzustände:</p>
<ol>
<li>Bild 1 wird angezeigt, Bild 2 wird nicht angezeigt</li>
<li>Bild 1 wird nicht angezeigt, Bild 2 wird angezeigt</li>
</ol>
<p>Da Zustand 1 bereits oben von uns als Ausgangsposition (Bezeichnung '*' in Flex) definiert ist, müssen wir lediglich noch Zustand 2 zusätzlich definieren:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mx:states<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mx:State</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;Two&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mx:SetProperty</span> <span style="color: #000066;">target</span>=<span style="color: #ff0000;">&quot;{p1}&quot;</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;alpha&quot;</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;0.0&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mx:SetProperty</span> <span style="color: #000066;">target</span>=<span style="color: #ff0000;">&quot;{p2}&quot;</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;alpha&quot;</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/mx:State<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/mx:states<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>

<p>Hier nützen wir den SetProperty-Befehl, um einfach die Alphakanal-Werte beider Bilder zu vertauschen.</p>
<p>Um nun den Wechsel zwischen beiden Zuständen zu steuern, benötigen wir einen Timer mit ein wenig ActionScript:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
</pre></td><td class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mx:script<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #339933;">&lt;![CDATA[</span>
<span style="color: #339933;">        import flash.utils.Timer;</span>
<span style="color: #339933;">        import flash.events.TimerEvent;</span>
&nbsp;
<span style="color: #339933;">        private var t: Timer;</span>
&nbsp;
<span style="color: #339933;">        private function init(): void</span>
<span style="color: #339933;">        {</span>
<span style="color: #339933;">            t = new Timer(5000);</span>
<span style="color: #339933;">            t.addEventListener(TimerEvent.TIMER, changeImage);</span>
<span style="color: #339933;">            t.start();</span>
<span style="color: #339933;">        }</span>
&nbsp;
<span style="color: #339933;">        private function changeImage(evt: TimerEvent): void</span>
<span style="color: #339933;">        {</span>
<span style="color: #339933;">            currentState = currentState == 'Two' ? '' : 'Two';</span>
<span style="color: #339933;">        }</span>
<span style="color: #339933;">    ]]&gt;</span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/mx:script<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>

<p>Dieser Code-Schnipsel sollte größtenteils selbsterklärend sein: Die 5000 steht für das Zeitintervall in Millisekunden, bis der Timer ausgelöst wird und über addEventListener() wird dem Timer mitgeteilt, welche Funktion er überhaupt aufrufen soll, wenn er auslöst. Dies ist in unserem Fall die Funktion changeImage(), welche den aktuellen Status der Flex-Applikation über die globale Variable des Flex Frameworks 'currentState' neu setzt.</p>
<p>Damit unser Code auch ausgeführt wird, ist eine Anpassung des Wurzelknotens mx:Application unserer MXML-Datei notwendig:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mx:Application</span> <span style="color: #000066;">xmlns:mx</span>=<span style="color: #ff0000;">&quot;http://www.adobe.com/2006/mxml&quot;</span> <span style="color: #000066;">creationComplete</span>=<span style="color: #ff0000;">&quot;init()&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span></pre></div></div>

<p>Die im Parameter creationComplete übergebene Methode wird aufgerufen, nachdem unsere Flex-Applikation vom Flex Framework fertig geladen wurde.</p>
<p>Fehlt zum Abschluss nur noch die eigentliche Überblende-Animation, denn momentan ist noch ein harter Übergang beim Wechsel der Bilder zu sehen. Dieser Übergang ist dank der eingebauten Effekte in Flex sehr einfach, schnell und ohne eine weitere Zeile ActionScript zu realisieren:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
</pre></td><td class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mx:transitions<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mx:Transition</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;toTwo&quot;</span> <span style="color: #000066;">fromState</span>=<span style="color: #ff0000;">&quot;*&quot;</span> <span style="color: #000066;">toState</span>=<span style="color: #ff0000;">&quot;Two&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mx:Parallel<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mx:Fade</span> <span style="color: #000066;">target</span>=<span style="color: #ff0000;">&quot;{p1}&quot;</span> <span style="color: #000066;">duration</span>=<span style="color: #ff0000;">&quot;2500&quot;</span> <span style="color: #000066;">alphaFrom</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span> <span style="color: #000066;">alphaTo</span>=<span style="color: #ff0000;">&quot;0.0&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mx:Fade</span> <span style="color: #000066;">target</span>=<span style="color: #ff0000;">&quot;{p2}&quot;</span> <span style="color: #000066;">duration</span>=<span style="color: #ff0000;">&quot;2500&quot;</span> <span style="color: #000066;">alphaFrom</span>=<span style="color: #ff0000;">&quot;0.0&quot;</span> <span style="color: #000066;">alphaTo</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/mx:Parallel<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/mx:Transition<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mx:Transition</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;toOne&quot;</span> <span style="color: #000066;">fromState</span>=<span style="color: #ff0000;">&quot;Two&quot;</span> <span style="color: #000066;">toState</span>=<span style="color: #ff0000;">&quot;*&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mx:Parallel<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mx:Fade</span> <span style="color: #000066;">target</span>=<span style="color: #ff0000;">&quot;{p1}&quot;</span> <span style="color: #000066;">duration</span>=<span style="color: #ff0000;">&quot;2500&quot;</span> <span style="color: #000066;">alphaFrom</span>=<span style="color: #ff0000;">&quot;0.0&quot;</span> <span style="color: #000066;">alphaTo</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mx:Fade</span> <span style="color: #000066;">target</span>=<span style="color: #ff0000;">&quot;{p2}&quot;</span> <span style="color: #000066;">duration</span>=<span style="color: #ff0000;">&quot;2500&quot;</span> <span style="color: #000066;">alphaFrom</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span> <span style="color: #000066;">alphaTo</span>=<span style="color: #ff0000;">&quot;0.0&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/mx:Parallel<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/mx:Transition<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>        
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/mx:transitions<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>

<p>Hier machen wir uns die Transition-Engine zu nutze, indem wir für beide Zustände einen Übergang definieren: Übergang 'toTwo' führt vom Zustand * in den Zustand 'Two', den wir weiter oben definiert haben, während Übergang 'toOne' dies umkehrt. Mit Hilfe von mx:Parallel wird ein paralleler Effekt erzeugt - also ein Effekt, der für mehrere Objekte gleichzeitig durchgeführt wird. mx:Fade wiederum ist der eigentliche Effekt, welcher den Alphakanal-Wert eines Bildes von einem Start- zu einem Zielwert überführt.</p>
<p>Das war es dann auch schon: Nach dem Kompilieren sehen wir auf dem Bildschirm zunächst unser erstes Bild, welches dann nach 5 Sekunden weich in das zweite Bild überblendet.</p>
<p>Ich hoffe, ich konnte mit diesem kleinen Tutorial die Einstiegshürde in den Umgang mit dem Flex SDK ein wenig senken und möchte zum Schluss noch auf die überlebenswichtige Flex Sprachreferenz [2] sowie die Flex Hilfe [3] verweisen, an der sich entlangzuhangeln nun kein Problem mehr sein sollte.</p>
<p>Ich wünsche viel Erfolg!</p>
<p>Links:</p>
<p>[1] <a href="http://www.adobe.com/go/flex_trial">Adobe Flex SDK Download</a> (Englisch)<br />
[2] <a href="http://livedocs.adobe.com/flex/3/langref/index.html">Adobe Flex 3 Language Reference</a> (Englisch)<br />
[3] <a href="http://livedocs.adobe.com/flex/3/html/">Adobe Flex 3 Help</a> (Englisch)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jethwa.de/weblog/tutorial-einstieg-in-das-adobe-flex-sdk/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Googlemail: E-Mails verschlüsseln mit Firefox</title>
		<link>http://www.jethwa.de/weblog/googlemail-e-mails-verschlusseln-mit-firefox/</link>
		<comments>http://www.jethwa.de/weblog/googlemail-e-mails-verschlusseln-mit-firefox/#comments</comments>
		<pubDate>Thu, 01 May 2008 17:07:54 +0000</pubDate>
		<dc:creator>Jay Allan Jethwa</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Addon]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[FireGPG]]></category>
		<category><![CDATA[GnuPG]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[Verschlüsselung]]></category>

		<guid isPermaLink="false">http://www.jethwa.de/?p=5160</guid>
		<description><![CDATA[Nachdem ich vor ein paar Tagen Ärger damit hatte, dass mir unterstellt wurde, eine E-Mail verschickt zu haben, die jedoch letztendlich nicht von mir kam, habe ich beschlossen ab sofort alle meine Mails digital zu signieren. Als überzeugter Anwender von Googlemail brauchte ich jedoch eine Lösung, die sich möglichst nahtlos in das Webinterface und den [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.jethwa.de/wp-content/uploads/2008/05/gnupg-gmail.jpg"><img class="alignnone size-full wp-image-5159" title="gnupg-gmail" src="http://www.jethwa.de/wp-content/uploads/2008/05/gnupg-gmail.jpg" alt="" width="490" height="120" /></a></p>
<p>Nachdem ich vor ein paar Tagen Ärger damit hatte, dass mir unterstellt wurde, eine E-Mail verschickt zu haben, die jedoch letztendlich nicht von mir kam, habe ich beschlossen ab sofort alle meine Mails digital zu signieren. Als überzeugter Anwender von Googlemail brauchte ich jedoch eine Lösung, die sich möglichst nahtlos in das Webinterface und den Browser integriert, da ich schon lange bewusst auf eine lokale Mailapplikation wie Thunderbird oder Outlook verzichte.</p>
<p>Die Lösung kommt in Form des Firefox-Addons FireGPG, welches sich zwar noch im Beta-Stadium befindet, aber dennoch sehr zufriedenstellende Resultate liefert. Im Folgenden möchte ich die Installation unter Windows XP bzw. Windows Vista einmal näher erläutern, Grundvoraussetzung ist ein bereits installierter Firefox-Browser:</p>
<p><strong>1. Installation von GnuPG</strong></p>
<p>FireGPG selbst bietet keine Möglichkeit zur Verwaltung von digitalen Schlüsseln, weswegen zunächst die Installation von GnuPG zwingend erforderlich ist. Auf der Download-Seite [1] des GnuPG Projekts findet man unter dem Abschnitt "Binaries" die passende Version für das eigene Betriebssystem. Nach kurzer Zeit ist GnuPG installiert, da es sich jedoch im Prinzip um ein Kommandozeilen-Tool handelt, finden sich im Windows Startmenü keine aufrufbaren Einträge.</p>
<p><strong>2. Erzeugen eines eigenen Schlüsselpaares</strong></p>
<p>Über Start &gt; Ausführen &gt; "C:\Programme\GNU\GnuPG\gpg.exe --gen-key" fordert man GnuPG nun dazu auf, ein neues Schlüsselpaar zu erstellen. Für meine Zwecke habe ich die folgenden Optionen gewählt:</p>
<ul>
<li>Schlüsselart: DSA und Elgamal</li>
<li>Schlüssellänge: 2048 Bit</li>
<li>Gültigkeit: Schlüssel verfällt nie</li>
<li>Name: Mein Vorname, gefolgt von meinem Nachnamen</li>
<li>E-Mail Adresse: Meine E-Mail-Adresse</li>
<li>Kommentar: Meine Website-URL (hier kann jedoch auch ein belibiger anderer Wert stehen)</li>
</ul>
<p><strong>3. Installation von FireGPG</strong></p>
<p>Das Firefox-Addon FireGPG ist direkt von der FireGPG-Website [2] installierbar. Nach kurzer Installation muss der Browser neu gestartet werden. Unter Extras &gt; FireGPG &gt; Optionen im Firefox findet man dann die Konfigurationseinstellungen, hier sollte man beachten, dass unter dem Karteireiter "Gmail" die Gmail-Unterstützung aktiviert ist.</p>
<p><strong>4. Digital signierte und verschlüsselte Mails versenden</strong></p>
<p>Der Rest ist kinderleicht: Beim Schreiben neuer E-Mails innerhalb der Googlemail-Weboberfläche findet man  ab sofort ein paar neue Buttons direkt neben "Absenden", "Jetzt speichern" und "Entwurf löschen" oberhalb des Eingabefensters.</p>
<p>Damit ist der Umstieg auf digital signierte und verschlüsselte Mails abgeschlossen und ich kann in Zukunft jede Verwechselung direkt durch den einfachen Hinweis wiederlegen, dass meine digitale Signatur fehlt.</p>
<p>Weiterführende Links:<br />
[1] <a href="http://www.gnupg.org/download/index.de.html">GnuPG Binaries Download</a><br />
[2] <a href="http://getfiregpg.org/?page=home&amp;lang=en">FireGPG Firefox-Addon (auf Englisch)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jethwa.de/weblog/googlemail-e-mails-verschlusseln-mit-firefox/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Adobe Flex Builder kostenlos für Studenten</title>
		<link>http://www.jethwa.de/weblog/adobe-flex-builder-kostenlos-fur-studenten/</link>
		<comments>http://www.jethwa.de/weblog/adobe-flex-builder-kostenlos-fur-studenten/#comments</comments>
		<pubDate>Thu, 20 Mar 2008 22:26:07 +0000</pubDate>
		<dc:creator>Jay Allan Jethwa</dc:creator>
				<category><![CDATA[Webentwicklung]]></category>

		<guid isPermaLink="false">http://www.jethwa.de/weblog/adobe-flex-builder-kostenlos-fur-studenten/</guid>
		<description><![CDATA[Adobe Flex ist die zur Zeit vorreitende Technologie für die Entwicklung sogenannter Rich Internet Applications, also von Anwendungen, die Internet-Technologien verwenden und dabei Benutzeroberflächen bieten, wie sie von heutigen Betriebssystemen bekannt sind. Wer einen kurzen Einblick gewinnen möchte, wie mächtig Flex ist, der sollte sich dieses Video (auf Englisch) einmal näher anschauen. Im Prinzip handelt [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.jethwa.de/wp-content/uploads/2008/03/flex.jpg" alt="Flex" /></p>
<p>Adobe Flex ist die zur Zeit vorreitende Technologie für die Entwicklung sogenannter Rich Internet Applications, also von Anwendungen, die Internet-Technologien verwenden und dabei Benutzeroberflächen bieten, wie sie von heutigen Betriebssystemen bekannt sind.</p>
<p>Wer einen kurzen Einblick gewinnen möchte, wie mächtig Flex ist, der sollte sich <a href="http://www.adobe.com/products/flex/media/flexapp/">dieses Video</a> (auf Englisch) einmal näher anschauen. Im Prinzip handelt es sich also um Adobe Flash, jedoch mehr aus der Sicht eines Webentwicklers und weniger aus der eines Webdesigners.</p>
<p>Zwar ist das Flex SDK (Software Development Kit) von Adobe in Form von Open Source und damit kostenlos veröffentlicht worden, doch die passende Entwicklungsumgebung Flex Builder bleibt ein proprietäres Vollpreisprogramm, welches für Studenten bei einem Preis von 299 US-$ nicht erschwinglich ist. Ohne den Flex Builder ist die Entwicklung von Flex-Anwendungen jedoch sehr unkomfortabel, da Features wie Autovervollständigung nicht verfügbar sind und der Compiler auf Kommandozeilenebene bedient werden muss - man verbringt also zwangsweise mehr Zeit mit Dokumentationen lesen als mit Programmieren.</p>
<p>Doch glücklicherweise gibt es eine Lösung für Studenten: Auf einer speziellen, gut versteckten (da nirgendwo offiziell auf der Adobe-Website verlinkten) und nur englisch-sprachigen Website kann man sich als Student bei Adobe registrieren um einen Lizenzschlüssel für den "Adobe Flex Builder 3 Pro for Education" zu erhalten. Natürlich muss ein entsprechender Nachweis erbracht werden, dass man auch wirklich eingeschriebener Student ist - beispielsweise durch eine gültige Immatrikulationsbescheinigung.</p>
<p>Ich habe mich also mal für die Prüfung registriert und hoffe, dass sie auch für einen deutschen Studenten einigermaßen zeitnah von Adobe bearbeitet wird. Laut Website dauert es jedenfalls bis zu 2 Wochen.</p>
<p>Wer sich ebenfalls registrieren möchte, hier der passende Link:</p>
<p><a href="http://www.flexregistration.com/">Adobe Flex Registration</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jethwa.de/weblog/adobe-flex-builder-kostenlos-fur-studenten/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>WordPress Ressourcen für Webentwickler</title>
		<link>http://www.jethwa.de/weblog/wordpress-ressourcen-fur-webentwickler/</link>
		<comments>http://www.jethwa.de/weblog/wordpress-ressourcen-fur-webentwickler/#comments</comments>
		<pubDate>Tue, 18 Mar 2008 21:18:51 +0000</pubDate>
		<dc:creator>Jay Allan Jethwa</dc:creator>
				<category><![CDATA[Webentwicklung]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.jethwa.de/weblog/wordpress-ressourcen-fur-webentwickler/</guid>
		<description><![CDATA[Für die Portierung meiner Website von meinem selbst-entwickelten Weblog-System "CyJournal" zu WordPress musste ich mich ein wenig tiefergehender in die Funktionsweise der Open-Source-Software einarbeiten. Die beiden für mich dabei wichtigsten Links möchte ich gerne hier kurz vorstellen: WordPress Cheat Sheets (="Spickzettel") Die Website Kahi's WP notes hat in einem Eintrag eine ganze Reihe nützlicher "Cheat [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.jethwa.de/wp-content/uploads/2008/03/wordpress.jpg" alt="WordPress" /></p>
<p>Für die Portierung meiner Website von meinem selbst-entwickelten Weblog-System "CyJournal" zu WordPress musste ich mich ein wenig tiefergehender in die Funktionsweise der Open-Source-Software einarbeiten. Die beiden für mich dabei wichtigsten Links möchte ich gerne hier kurz vorstellen:</p>
<p><strong>WordPress Cheat Sheets (="Spickzettel")</strong></p>
<p>Die Website Kahi's WP notes hat in einem Eintrag eine ganze Reihe nützlicher "Cheat Sheets" verlinkt, die einem auf einen Blick wichtige Funktionen von WordPress verraten oder aber das Datenbank-Schema (leider in einer etwas veralteten Version) übersichtlich darstellen. Unter anderem finden sich dort die folgenden Spickzettel:</p>
<ul>
<li>Der WordPress-Loop mit seinen Template-Tags</li>
<li>Die wichtigsten Funktionen des Plugin-APIs</li>
<li>Die WordPress Datenbank-Struktur</li>
<li>Die wichtigsten Template-Tags</li>
</ul>
<p>Link: <a href="http://kahi.cz/wordpress/wordpress-cheatsheets-summarized/">WordPress cheatsheets summarized (auf Englisch)</a></p>
<p><strong>WordPress-Tutorials: Wir schreiben ein simples Plugin</strong></p>
<p>Frank Bültge bietet auf seiner Website ein umfangreiches Tutorial in mehreren Teilen über die Entwicklung eigener WordPress-Plugins, angefangen vom grundlegenden Layout über die Hooks der WordPress-API bis hin zur Einbindung in das Administrationsmenü.</p>
<p>Link: <a href="http://bueltge.de/wp-tutorial-wir-schreiben-ein-simples-wp-plugin-teil-0/211/">bueltge.de: Wir schreiben ein simples WP-Plugin</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jethwa.de/weblog/wordpress-ressourcen-fur-webentwickler/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Warum auf das Target-Attribut verzichtet werden sollte</title>
		<link>http://www.jethwa.de/weblog/warum-auf-das-target-attribut-verzichtet-werden-sollte/</link>
		<comments>http://www.jethwa.de/weblog/warum-auf-das-target-attribut-verzichtet-werden-sollte/#comments</comments>
		<pubDate>Fri, 14 Mar 2008 14:00:43 +0000</pubDate>
		<dc:creator>Jay Allan Jethwa</dc:creator>
				<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[artikel]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[target]]></category>

		<guid isPermaLink="false">http://www.jethwa.de/weblog/warum-auf-das-target-attribut-verzichtet-werden-sollte/</guid>
		<description><![CDATA[Die Auszeichnungssprache HTML bietet in ihrer Version 4.0 dem Gestalter über das sogenannte Target-Attribut die Möglichkeit, für jeden Link individuell zu bestimmen, wo der Inhalt der folgenden Seite für den Surfer dargestellt werden soll. Der Befehl "_self" steht dabei für das selbe Browserfenster, während "_blank" ein neues Fenster erzwingt. Was in Vergangenheit unter Umständen noch [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.jethwa.de/wp-content/uploads/2008/03/html.jpg" alt="HTML" /></p>
<p>Die Auszeichnungssprache HTML bietet in ihrer Version 4.0 dem Gestalter über das sogenannte Target-Attribut die Möglichkeit, für jeden Link individuell zu bestimmen, wo der Inhalt der folgenden Seite für den Surfer dargestellt werden soll. Der Befehl "_self" steht dabei für das selbe Browserfenster, während "_blank" ein neues Fenster erzwingt.</p>
<p>Was in Vergangenheit unter Umständen noch Sinn machte, ist jedoch heute nichts weiter als ein Ärgernis. Der neue Standard XHTML findet mehr und mehr Verbreitung und in diesem ist das Target-Attribut - völlig bewusst - nicht mehr definiert. Doch im Zuge der allgemeinen Vernachlässigung der wichtigen Webstandards interpretieren die heutigen Browser brav weiterhin sämtliche Target-Attribute im XHTML-Modus, obwohl dies nicht zugelassen ist. Deswegen ist es auch im Jahr 2008 bedauerlicherweise gängige Praxis, dass man nach einem normalen Linksklick auf einen Link plötzlich in einem neuen Fenster landet (oder aber Tab, sofern der eigene Browser entsprechend konfiguriert ist).</p>
<p>Warum aber sollte auf dieses auf den ersten Blick praktisch erscheinende Attribut nun verzichtet werden? Immerhin lässt sich so bei einem Klick auf einen externen Link vermeiden, dass der Benutzer gleichzeitig die eigenen Seiten verlässt, denn diese bleibt weiterhin geöffnet - so wird sicher so mancher argumentieren.</p>
<p>Doch: Allererste und somit Hauptaufgabe einer Webseite ist die Transportierung von Informationen. Die Webseite sollte dabei in der Regel auf bekannte Navigations- und Inhalskonzepte setzen, damit der Benutzer schnell die gewünschte Information finden kann. Denn was manche Webdesigner gerne vergessen: Die Seite soll sich dem Benutzer anpassen und nicht umgekehrt und dem Anwender dabei seine gewohnte Arbeitsumgebung lassen (dies gilt natürlich genauso für Software). Deswegen ist auch z.B. jegliche Form von Veränderungen am Browserfenster per JavaScript ein absolutes "do not".</p>
<p>Der Benutzer soll also immer selber entscheiden können, auf welche Art und Weise er einem Link folgt!</p>
<p>Doch was ist nun in Fällen, in denen beispielsweise ein PDF verlinkt wird? Hier würde es ja eventuell durchaus Sinn machen, dies in einem neuen Fenster zu öffnen. Aber auch hier soll nichts erzwungen werden, sondern der Benutzer in seiner Entscheidung allenfalls unterstützt werden: Beispielsweise durch die Kennzeichnung des Links durch das vorangestellte gängige PDF-Symbol. Mit dieser Methode können natürlich ebenso externe Links für den Surfer gekennzeichnet werden.</p>
<p>Man braucht sich also keine Sorgen zu machen, dass ohne gesetztes Target die eigene Website beim Besucher in Vergessenheit gerät: War die Information für ihn hilfreich, wird er wiederkommen. War sie es jedoch nicht, so wird auch die im Hintergrund weiterhin geöffnete eigene Seite schnell durch einen Klick auf den Schliessen-Button ins Datennirvana befördert.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jethwa.de/weblog/warum-auf-das-target-attribut-verzichtet-werden-sollte/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Google Kalender mit Outlook synchronisieren</title>
		<link>http://www.jethwa.de/weblog/google-kalender-mit-outlook-synchronisieren/</link>
		<comments>http://www.jethwa.de/weblog/google-kalender-mit-outlook-synchronisieren/#comments</comments>
		<pubDate>Wed, 12 Mar 2008 16:08:26 +0000</pubDate>
		<dc:creator>Jay Allan Jethwa</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[google calendar]]></category>
		<category><![CDATA[goosync]]></category>

		<guid isPermaLink="false">http://www.jethwa.de/weblog/google-kalender-mit-outlook-synchronisieren/</guid>
		<description><![CDATA[Vor einiger Zeit hatte ich bereits gezeigt, wie es möglich ist mit Hilfe des Drittanbieters GooSync den Google Kalender mit dem eigenen Mobiltelefon oder PDA abzugleichen. Nun bietet Google endlich auch selbst ein kostenloses Software-Tool an, welches die Synchronisation zwischen Outlook und dem Google Kalender ermöglicht. Da wiederum viele Handy- und PDA-Software (wie etwa die [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.jethwa.de/wp-content/uploads/2008/03/google-calendar.jpg" alt="Google Calendar" /></p>
<p>Vor einiger Zeit hatte ich bereits gezeigt, wie es möglich ist mit Hilfe des Drittanbieters GooSync den Google Kalender mit dem eigenen Mobiltelefon oder PDA abzugleichen.</p>
<p>Nun bietet Google endlich auch selbst ein kostenloses Software-Tool an, welches die Synchronisation zwischen Outlook und dem Google Kalender ermöglicht. Da wiederum viele Handy- und PDA-Software (wie etwa die Nokia PC Suite oder Microsoft ActiveSync für PocketPCs) von Haus aus die Möglichkeit bietet, den mobilen Kalender mit Outlook abzugleichen, spart einem dies in Zukunft den Umweg über einen Drittanbieter.</p>
<p>Link: <a href="http://www.google.com/support/calendar/bin/answer.py?answer=89955">Google Calendar Sync</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jethwa.de/weblog/google-kalender-mit-outlook-synchronisieren/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Suchmaschinenoptimierer-Spam</title>
		<link>http://www.jethwa.de/weblog/suchmaschinenoptimiererspam/</link>
		<comments>http://www.jethwa.de/weblog/suchmaschinenoptimiererspam/#comments</comments>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<dc:creator>Jay Allan Jethwa</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[spam]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Vor ein paar Tagen bei der Durchsicht meines Spam-Ordners in meinem E-Mail-Postfach gefunden: Warum ist Ihre Homepage www.jethwa.de bei Google nicht auffindbar? Da musste ich dann doch unweigerlich lachen, bevor ich den Spam endg&#252;ltig ins Datennirvana geschickt habe - komisch, woher die etwa 300 Besucher &#252;ber Google t&#228;glich kommen, wenn ich da doch angeblich gar [...]]]></description>
			<content:encoded><![CDATA[<p>Vor ein paar Tagen bei der Durchsicht meines Spam-Ordners in meinem E-Mail-Postfach gefunden:</p>
<blockquote><p>Warum ist Ihre Homepage <a href='www.jethwa.de'>www.jethwa.de</a> bei Google nicht auffindbar?</p></blockquote>
<p>Da musste ich dann doch unweigerlich lachen, bevor ich den Spam endg&uuml;ltig ins Datennirvana geschickt habe - komisch, woher die etwa 300 Besucher &uuml;ber Google t&auml;glich kommen, wenn ich da doch angeblich gar nicht gelistet bin?! <img src='http://www.jethwa.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.jethwa.de/weblog/suchmaschinenoptimiererspam/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Liste von PHP Frameworks (Update)</title>
		<link>http://www.jethwa.de/weblog/liste-von-php-frameworks-update/</link>
		<comments>http://www.jethwa.de/weblog/liste-von-php-frameworks-update/#comments</comments>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<dc:creator>Jay Allan Jethwa</dc:creator>
				<category><![CDATA[Webentwicklung]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[liste]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Nachdem ich einmal geplant hatte, mein eigenes kleines PHP Framework auf die Beine zu stellen, musste ich dieses Vorhaben schon vor l&#228;ngerer Zeit aus Zeitgr&#252;nden aufgeben. Inzwischen scheint es jedoch eine ganze Reihe brauchbarer (Open Source) Frameworks zu geben, die ich hier einfach mal ohne Wertung und Anspruch auf Vollst&#228;ndigkeit aufz&#228;hlen m&#246;chte: CakePHP symfony Qcodo [...]]]></description>
			<content:encoded><![CDATA[<p>Nachdem ich einmal geplant hatte, mein eigenes kleines PHP Framework auf die Beine zu stellen, musste ich dieses Vorhaben schon vor l&auml;ngerer Zeit aus Zeitgr&uuml;nden aufgeben.</p>
<p>Inzwischen scheint es jedoch eine ganze Reihe brauchbarer (Open Source) Frameworks zu geben, die ich hier einfach mal ohne Wertung und Anspruch auf Vollst&auml;ndigkeit aufz&auml;hlen m&ouml;chte:</p>
<p><a href='http://www.cakephp.org/'>CakePHP</a><br />
<a href='http://www.symfony-project.com/'>symfony</a><br />
<a href='http://qcodo.com/'>Qcodo</a><br />
<a href='http://www.phpontrax.com/'>PHP on TRAX</a><br />
<a href='http://www.pradosoft.com/'>PRADO</a><br />
<a href='http://www.horde.org/about/'>Horde</a><br />
<a href='http://framework.zend.com/'>Zend Framework</a></p>
<p>Sobald ich die Zeit finde, werde ich mir einige dieser Kandidaten sicherlich mal n&auml;her anschauen.</p>
<p>Update:<br />
Das Open Source Magazin T3N hat auf seiner Website einen Artikel zum Thema PHP Frameworks ver&ouml;ffentlicht. In Teil 1 werden hierin die Systeme CakePHP,<br />
Symfony und eZ Components beschrieben.</p>
<p>Link:<br />
<a href='http://www.yeebase.com/t3nmagazin/artikel/php-frameworks/'>T3N Magazin: PHP-Frameworks</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jethwa.de/weblog/liste-von-php-frameworks-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

