<?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>xscDevBlog - LastSharp &#38; Co. &#187; General</title>
	<atom:link href="http://dev.xscheme.de/category/general/feed/" rel="self" type="application/rss+xml" />
	<link>http://dev.xscheme.de</link>
	<description>Der xscheme-DevelopmentBlog</description>
	<lastBuildDate>Sun, 23 May 2010 11:40:10 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>[Release] LastSharp 0.4.5 Incarnation 2</title>
		<link>http://dev.xscheme.de/2010/05/release-lastsharp-0-4-5-incarnation-2/</link>
		<comments>http://dev.xscheme.de/2010/05/release-lastsharp-0-4-5-incarnation-2/#comments</comments>
		<pubDate>Sun, 23 May 2010 11:40:10 +0000</pubDate>
		<dc:creator>WordPress</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://dev.xscheme.de/?p=1008</guid>
		<description><![CDATA[Nachdem ich jetzt das wahre Problem gefunden habe, das LastSharp davon abhielt, weiterhin Lieder herunterzuladen, stelle ich hiermit eine neue Version zur Verfügung:
Download: http://files.xscheme.de/LastSharp/LastSharp0.4.5-incarnation2.zip
Der Zusatz &#8220;Incarnation 2&#8243; rührt von der Tatsache her, dass ich aktuell an einer komplett neuen Version arbeite, die mit dieser nicht mehr viel gemein hat. Und da es auch zuvor schonmal [...]]]></description>
			<content:encoded><![CDATA[<p>Nachdem ich jetzt das wahre Problem gefunden habe, das LastSharp davon abhielt, weiterhin Lieder herunterzuladen, stelle ich hiermit eine neue Version zur Verfügung:</p>
<p><strong>Download: </strong><a href="http://files.xscheme.de/LastSharp/LastSharp0.4.5-incarnation2.zip">http://files.xscheme.de/LastSharp/LastSharp0.4.5-incarnation2.zip</a></p>
<p>Der Zusatz &#8220;Incarnation 2&#8243; rührt von der Tatsache her, dass ich aktuell an einer komplett neuen Version arbeite, die mit dieser nicht mehr viel gemein hat. Und da es auch zuvor schonmal so einen Neuanfang gegeben hat, ist die passende Zahl eben die &#8220;2&#8243;.</p>
<p>Scrobbling sollte nun auch wieder funktionieren, außerdem gibt es eine Möglichkeit, sich nun auch bei noch nicht endgültigen Releases über Updates informieren zu lassen (unter &#8220;Erweiterte Einstellungen&#8221; das Häckchen bei &#8220;Nur stabile Versionen melden&#8221; entfernen).</p>
]]></content:encoded>
			<wfw:commentRss>http://dev.xscheme.de/2010/05/release-lastsharp-0-4-5-incarnation-2/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>LastSharp 0.4.4 patched</title>
		<link>http://dev.xscheme.de/2010/05/lastsharp-0-4-4-patched/</link>
		<comments>http://dev.xscheme.de/2010/05/lastsharp-0-4-4-patched/#comments</comments>
		<pubDate>Fri, 21 May 2010 22:17:12 +0000</pubDate>
		<dc:creator>xsc</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://dev.xscheme.de/2010/05/lastsharp-0-4-4-patched/</guid>
		<description><![CDATA[Siehe der folgende Eintrag im Forum:
http://devboard.xscheme.de/read.php?1,706
]]></description>
			<content:encoded><![CDATA[<p>Siehe der folgende Eintrag im Forum:</p>
<p><a href="http://devboard.xscheme.de/read.php?1,706">http://devboard.xscheme.de/read.php?1,706</a></p>
]]></content:encoded>
			<wfw:commentRss>http://dev.xscheme.de/2010/05/lastsharp-0-4-4-patched/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Umzug vollbracht</title>
		<link>http://dev.xscheme.de/2010/01/umzug-vollbracht/</link>
		<comments>http://dev.xscheme.de/2010/01/umzug-vollbracht/#comments</comments>
		<pubDate>Sun, 31 Jan 2010 01:07:21 +0000</pubDate>
		<dc:creator>xsc</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://dev.xscheme.de/2010/01/umzug-vollbracht/</guid>
		<description><![CDATA[So, seit eben liegt diese Seite bei meinem neuen Hoster, der synergetic AG. Hat jetzt dann doch eine Woche gedauert, weil ich vergessen hatte, ein Formular an die DeNIC zu schicken. Shame on me&#8230;
Aber jetzt sollte wieder alles funktionieren. Wenn nicht, bitte bescheid sagen!
Update: Um das Forum kümmere ich mich morgen.
]]></description>
			<content:encoded><![CDATA[<p>So, seit eben liegt diese Seite bei meinem neuen Hoster, der <a href="http://www.synserver.de/">synergetic AG</a>. Hat jetzt dann doch eine Woche gedauert, weil ich vergessen hatte, ein Formular an die DeNIC zu schicken. Shame on me&#8230;</p>
<p>Aber jetzt sollte wieder alles funktionieren. Wenn nicht, bitte bescheid sagen!</p>
<p><strong>Update</strong>: Um das Forum kümmere ich mich morgen.</p>
]]></content:encoded>
			<wfw:commentRss>http://dev.xscheme.de/2010/01/umzug-vollbracht/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Aktuelle Situation: Stress.</title>
		<link>http://dev.xscheme.de/2009/10/aktuelle-situation-stress/</link>
		<comments>http://dev.xscheme.de/2009/10/aktuelle-situation-stress/#comments</comments>
		<pubDate>Thu, 01 Oct 2009 20:05:25 +0000</pubDate>
		<dc:creator>WordPress</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://dev.xscheme.de/?p=966</guid>
		<description><![CDATA[Ich möchte diesen Artikel nutzen, um kurz meine aktuelle Situation zu beschreiben und mich im Zuge dessen dafür zu entschuldigen, dass ich diese Seite und meine Projekte im Moment eher ruhen lasse.
Zum einen bin ich letzten Samstag umgezogen (der klassische Studentenweg: von Zuhause weg und in eine 2er-WG) und da jetzt dann doch ziemlich eingebunden. [...]]]></description>
			<content:encoded><![CDATA[<p>Ich möchte diesen Artikel nutzen, um kurz meine aktuelle Situation zu beschreiben und mich im Zuge dessen dafür zu entschuldigen, dass ich diese Seite und meine Projekte im Moment eher ruhen lasse.</p>
<p>Zum einen bin ich letzten Samstag umgezogen (der klassische Studentenweg: von Zuhause weg und in eine 2er-WG) und da jetzt dann doch ziemlich eingebunden. Ich hab noch nichtmal ein Bett&#8230; (Lieferzeit: 3 Wochen)</p>
<p>Seit September arbeite ich zudem als Werkstudent bei <a href="http://o2online.de/">Telefonica O<sub>2</sub> Germany</a>. Die 20h-Woche ist jetzt vielleicht nicht sooo auslastend, aber es summiert sich dann doch.</p>
<p>Zuguterletzt geht dann demnächst auch die Uni wieder los, was mein Pensum dann auf 50h die Woche erhöht. Aber mei, wir sind jung &#8211; wenn wir jetzt sowas nicht packen, wann dann?</p>
<p>Jedenfalls werde ich alle offenen Kommentare beantworten, sobald ich Zeit habe. Ebenso wird es dann neue Versionen der einzelnen Programme geben. Danke für&#8217;s Verständnis!</p>
]]></content:encoded>
			<wfw:commentRss>http://dev.xscheme.de/2009/10/aktuelle-situation-stress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Inside Last.FM: Silent Authentication für API 2.0</title>
		<link>http://dev.xscheme.de/2009/07/inside-lastfm-silent-authentication/</link>
		<comments>http://dev.xscheme.de/2009/07/inside-lastfm-silent-authentication/#comments</comments>
		<pubDate>Wed, 08 Jul 2009 21:47:06 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Lapicon]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[lastfm]]></category>

		<guid isPermaLink="false">http://dev.xscheme.de/?p=774</guid>
		<description><![CDATA[Update (17.07.2009): Das hier ist (abgesehen von den &#8220;Skills&#8221;, die ich dabei gebraucht hab) wohl ziemlich überflüssig, wenn man die API-Methode auth.getMobileSession mal genauer betrachtet. Wieder was gelernt: RTFM!
Da im Moment anscheinend wieder Änderungen am Last.FM-Webservice gemacht werden, die dazu geführt haben, dass LastSharp höchstens noch mithilfe der &#8220;Modifizierten Verbindung&#8221; (unter &#8220;Erweiterte Einstellungen&#8221; &#62;&#62; &#8220;Verschiedenes&#8221;) [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Update (17.07.2009):</strong> Das hier ist (abgesehen von den &#8220;Skills&#8221;, die ich dabei gebraucht hab) wohl ziemlich überflüssig, wenn man die API-Methode auth.getMobileSession mal genauer betrachtet. Wieder was gelernt: RTFM!</p>
<p>Da im Moment anscheinend wieder Änderungen am Last.FM-Webservice gemacht werden, die dazu geführt haben, dass LastSharp höchstens noch mithilfe der &#8220;Modifizierten Verbindung&#8221; (unter &#8220;Erweiterte Einstellungen&#8221; &gt;&gt; &#8220;Verschiedenes&#8221;) funktioniert, habe ich mir mal das <a href="http://www.lastfm.de/api/radio">Radio-API</a> angesehen, das ja anscheinend die Zukunft des Radiostreamings bei Last.FM ist. Was mich daran allerdings stört, ist die umständliche Anmeldeprozedur: Token holen, Browser öffnen, auf Authentifizierung warten, Session holen.</p>
<p>Der Umweg über den Browser ist einfach unschön, weshalb ich nach einer Lösung gesucht habe, die <strong>den Login sowie die anschließende Bestätigung eines Users im Hintergrund simuliert</strong>, sodass er das eigentliche Programm nicht verlassen muss.</p>
<p><span id="more-774"></span></p>
<p><em>Funktionen, die Authentication-Token und -Session holen, werden im folgenden als gegeben betrachetet, z.B. durch LastFmLib.Net. </em></p>
<p>Wir brauchen nun also zwei Funktionen, die das Abschicken des Login-Formulars und das Klicken auf den &#8220;Zulassen&#8221;-Button vortäuschen. Beide Operationen produzieren eine HTTP-POST-Anfrage, funktionieren aber nur, wenn auch die richtigen Cookies vorhanden sind. (Das hat mich einige Zeit gekostet und dabei war die Lösung so einfach&#8230;) Es bietet sich an, die POST-Anfrage in eine Hilfsfunktion <em>ExecutePOST</em> zu packen, hier z.B. in C#:<br />
(Namespace <em>System.Net</em> muss eingebunden sein)</p>
<pre name="code" class="c-sharp">// Löst das Cookie Problem: Immer denselben Container verwenden!
private static CookieContainer GlobalCookies = new CookieContainer();

// Sendet eine POST-Anfrage
public static void ExecutePOST(string uri, string data) {
    try
    {
        // Bereite die Anfrage vor
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
        request.Method = "POST";
        request.CookieContainer = GlobalCookies; // !!
        request.ContentType = "application/x-www-form-urlencoded";
        request.ContentLength = data.Length;

        // Schreiben der Daten
        ASCIIEncoding enc = new ASCIIEncoding();
        byte[] bdata = enc.GetBytes(bodyData);
        Stream str = req.GetRequestStream();
        str.Write(bdata, 0, bdata.Length);
        str.Close();

        // Schicke Anfrage ab und verwirf die Antwort
        HttpWebResponse response = (HttpWebResponse)request.GetResponse();
        response.Close();
    }
    catch { }
}</pre>
<p>Will man überprüfen, ob die gewünschte Operation erfolgreich war, würde es sich vermutlich anbieten, die Antwort auszuwerten, aber darauf verzichte ich jetzt aus Zeitgründen.</p>
<p>Nächster Schritt ist die Untersuchung der Formulare auf der Last.FM-Seite, damit man weiß, welche Daten an welche Adresse gesendet werden müssen:</p>
<ul>
<li>Login: <strong>https://www.last.fm/login/</strong>
<ul>
<li>refererKey (leer)</li>
<li>backto (&#8220;/&#8221;)</li>
<li>username (Benutzername)</li>
<li>password (Passwort)</li>
</ul>
</li>
<li>Zulassen: <strong>http://www.last.fm/api/grantAccess</strong>
<ul>
<li>api_key (Last.FM schickt den sogar zweimal, wir deshalb sicherheitshalber auch&#8230;)</li>
<li>token (Authentication-Token)</li>
<li>referer (&#8220;/&#8221;)</li>
</ul>
</li>
</ul>
<p>Also, die beiden verbleibenden Funktionen in C#:</p>
<pre name="code" class="c-sharp">    // Lasse ein Programm zu
    public static void GrantAccess(string token)
    {
        ExecutePOST(
            "http://www.last.fm/api/grantAccess",
            "api_key=" + apiKey + "&amp;api_key=" + apiKey + "&amp;token=" + token + "&amp;referer=/"
        );
    }

    // Melde den User bei Last.FM an
    public static void Login(string username, string password)
    {
        ExecutePOST(
            "https://www.last.fm/login/",
            "refererKey=&amp;backto=/&amp;username=" + Uri.EscapeDataString(username) +
            "&amp;password=" + Uri.EscapeDataString(password)
        );
    }</pre>
<p>Um jetzt eine gesamte Anmeldung zu simulieren, müsste man nun folgendes machen:</p>
<pre name="code" class="c-sharp">public static void Authenticate(string username, string password)
{
    string token = GetToken(); // irgendeine externe Funktion
    Login(username, password);
    GrantAccess(token);
    string session = GetSession(); // irgendeine externe Funktion
    // Mache etwas...
}</pre>
<p>Das war&#8217;s auch schon. Wie gesagt fehlt hier ein Test, ob die Anmeldung erfolgreich war, aber irgendwie lässt sich das bestimmt einfach überprüfen. (Vllt. liefert Last.FM ja im Hintergrund einen HTTP-Error, der im Browser nicht auffällt?)</p>
<p>Jedenfalls, wenn jemand die <strong>Authentifizierung für das Last.FM-API 2.0 im Hintergrund</strong> ablaufen lassen will, ist das hier der Weg. Ich hoffe, es hilft.</p>
<p>Die Verwendung des Radio-APIs in LastSharp werde ich übrigens so lang wie möglich hinauszögern, da hier wieder einmal diverse Standards (HTTP, XML, &#8230;) unsachgemäß ausgelegt werden&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://dev.xscheme.de/2009/07/inside-lastfm-silent-authentication/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Zwischenstand: Universal Version Description (UVD) / Entwickler gesucht</title>
		<link>http://dev.xscheme.de/2009/05/zwischenstand-universal-version-description-uvd-entwickler-gesucht/</link>
		<comments>http://dev.xscheme.de/2009/05/zwischenstand-universal-version-description-uvd-entwickler-gesucht/#comments</comments>
		<pubDate>Wed, 13 May 2009 14:17:12 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[Batch]]></category>
		<category><![CDATA[Codeschnipsel]]></category>
		<category><![CDATA[Fundstücke]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Lapicon]]></category>
		<category><![CDATA[Projekte]]></category>
		<category><![CDATA[Theorie]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://dev.xscheme.de/?p=755</guid>
		<description><![CDATA[Ich möchte an dieser Stelle einmal auf den aktuellen Stand des hier begonnenen Projekts verweisen, der sich wie folgt darstellt: Ich habe das UVD-Format weiter ausgearbeitet und angepasst und damit begonnen, eine C#-Bibliothek zu schreiben, die dessen Verarbeitung dient.
Als Beispiel sei die UVD von LastSharp gegeben, die wir im folgenden Codebeispiel mithilfe einer XSL-Transformation (DescriptionPage.xsl) [...]]]></description>
			<content:encoded><![CDATA[<p>Ich möchte an dieser Stelle einmal auf den aktuellen Stand des <a href="http://dev.xscheme.de/2009/05/universal-version-description-uvd/">hier</a> begonnenen Projekts verweisen, der sich wie folgt darstellt: Ich habe das UVD-Format weiter ausgearbeitet und angepasst und damit begonnen, eine C#-Bibliothek zu schreiben, die dessen Verarbeitung dient.</p>
<p>Als Beispiel sei die <a href="http://dev.xscheme.de/uvd/lastsharp.uvd.xml">UVD von LastSharp</a> gegeben, die wir im folgenden Codebeispiel mithilfe einer XSL-Transformation (<a href="http://dev.xscheme.de/uvd/DescriptionPage.xsl">DescriptionPage.xsl</a>) in eine HTML-Datei verwandeln. Das soll illustrieren, wie einfach die Verwendung von UVD sein kann, wenn entsprechende Bibliotheken vorhanden sind:</p>
<pre class="c-sharp:collapse" name="code">UVD lastsharp = UVD.Create("http://dev.xscheme.de/uvd/lastsharp.uvd.xml");
lastsharp.Save("c:/lastsharp.htm", "http://dev.xscheme.de/uvd/DescriptionPage.xsl");</pre>
<p>Nun haben wir eine Datei &#8220;lastsharp.htm&#8221;, die <a href="http://dev.xscheme.de/uvd/lastsharp.htm">hier</a> eingesehen werden kann und Beschreibungen in verschiedenen Sprachen und Längen bietet, Downloadlinks, etc&#8230; Außerdem sind (wie man bei der Ansicht des Quelltextes feststellen kann) auch die META-Tags zu Schlüsselwörtern und Beschreibungen bereits gesetzt, sodass die Seite auch für Suchmaschinen verwendbar ist.</p>
<p><span id="more-755"></span>Das UVD-Objekt (s. Code) bietet noch weitere Möglichkeiten, aber ich möchte nun auf den Update-Mechanismus zu sprechen kommen, den man mithilfe von UVD implementieren kann. Eine UVD kann einen Verweis auf die vorhergehende Version, sowie Informationen zum inkrementellen Update (lösche Datei X, aktualisiere Datei Y, &#8230;) enthalten, sodass man durch Untersuchen der Versionsgeschichte jede Version auf den neuesten Stand bringen kann.</p>
<p>Wir verwenden die folgenden (sinnlosen) Dateien zur Demonstration: <a href="http://dev.xscheme.de/uvd/updatetest1.xml">Version 1.2</a> &gt;&gt; <a href="http://dev.xscheme.de/uvd/updatetest2.xml">Version 1.1</a> &gt;&gt; <a href="http://dev.xscheme.de/uvd/updatetest3.xml">Version 1.0</a>. Mithilfe der UVDs läuft ein Update von Version 1.0 auf 1.2 folgendermaßen ab:</p>
<ol>
<li>Extrahiere aus der UVD zu Version 1.2 die URL zu Version 1.1!</li>
<li>Speichere die Update-Informationen in der UVD zu Version 1.1!</li>
<li>Führe nacheinander die Update-Schritte (1.0 &gt;&gt; 1.1) und (1.1 &gt;&gt; 1.2) aus!</li>
</ol>
<p>Die Bibliothek, an der ich gerade arbeite, verwendet hierfür sog. Update-Profile, die festlegen, welche Sprache und welches Betriebssystem für das Update berücksichtigt werden soll. Code:</p>
<pre class="c-sharp:collapse" name="code">UVD version12 = UVD.Create("http://dev.xscheme.de/uvd/updatetest1.xml");
UVDVersion currentVs = new UVDVersion(1, 0); // aktuelle Version
UpdateProfile profile = new UpdateProfile(); // OS und Sprache egal
Update u = profile.CreateUpdate(currentVs, version12);
foreach(UpdateSegment s in u)
{
    Console.WriteLine(s.ToString());
}
u.Execute("c:/program/"); // Programmverzeichnis muss angegeben werden!</pre>
<p>Das liefert folgende Ausgabe:</p>
<pre>[Add: file3.txt] http://www.download.de
[Execute: file3.txt]
[Remove: file4.txt]
[Add: file1.txt] http://www.download.de
[Update: file2.txt] http://www.download.de
[Execute: file3.txt]</pre>
<p>Anschließend werden genau diese Schritte ausgeführt. Bei der Erstellung des Updates wird im übrigen mehr oder weniger intelligent vorgegangen: wenn eine Datei in Version 1.2 gelöscht wird, wird sie in Version 1.1 gar nicht erst hinzugefügt. Und warum eine Datei hinzufügen, wenn sie irgendwann später überschrieben wird? Dieses Verhalten lässt sich über das Update-Profil festlegen. Wenn deaktiviert, lautet die Ausgabe:</p>
<pre><span style="text-decoration: underline;">[Add: file4.txt] http://www.download.de</span>
<span style="text-decoration: underline;">[Add: file2.txt] http://www.download.de</span>
[Add: file3.txt] http://www.download.de
[Execute: file3.txt]
<span style="text-decoration: underline;">[Remove: file4.txt]</span>
[Add: file1.txt] http://www.download.de
<span style="text-decoration: underline;">[Update: file2.txt] http://www.download.de</span>
[Execute: file3.txt]</pre>
<p>Soviel dazu. Was jetzt noch wichtig ist, ist die Übertragung der Bibliothek auf andere Programmiersprachen. <strong>Deswegen suche ich Entwickler, die mit mir gemeinsam UVD auf Java, PHP, etc&#8230; portieren.</strong> Bei Interesse einfach eine E-Mail schreiben an <a href="mailto:Yannick_Scherer@gmx.net">Yannick_Scherer@gmx.net</a>! Aber man sollte sich bewusst sein, dass das einiges an Arbeit bedeutet.</p>
<p>Mehr habe ich vorerst nicht vorzuweisen&#8230; Außer vielleicht das ultimative &#8220;einzeilige&#8221; Update (mit einer sinnvollen Datei funktioniert es dann auch&#8230;):</p>
<pre class="c-sharp:collapse" name="code">new UpdateProfile()
       .CreateUpdate(new UVDVersion(1, 0), UVD.Create("http://dev.xscheme.de/uvd/updatetest1.xml"))
       .Execute("c:/program/");</pre>
]]></content:encoded>
			<wfw:commentRss>http://dev.xscheme.de/2009/05/zwischenstand-universal-version-description-uvd-entwickler-gesucht/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Urlaub</title>
		<link>http://dev.xscheme.de/2008/08/urlaub/</link>
		<comments>http://dev.xscheme.de/2008/08/urlaub/#comments</comments>
		<pubDate>Fri, 22 Aug 2008 14:36:27 +0000</pubDate>
		<dc:creator>xsc</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://dev.xscheme.de/?p=248</guid>
		<description><![CDATA[Ab morgen bin ich im Urlaub (Kärnten, Österreich), weshalb ich mich bis 1. September leider nicht um auftretende Probleme in den hier angebotenen Programmen kümmern kann. Danach befasse ich mich aber sofort mit jedem einzelnen.
Eine schöne Zeit noch!
]]></description>
			<content:encoded><![CDATA[<p>Ab morgen bin ich im Urlaub (Kärnten, Österreich), weshalb ich mich bis 1. September leider nicht um auftretende Probleme in den hier angebotenen Programmen kümmern kann. Danach befasse ich mich aber sofort mit jedem einzelnen.</p>
<p>Eine schöne Zeit noch!</p>
]]></content:encoded>
			<wfw:commentRss>http://dev.xscheme.de/2008/08/urlaub/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>xscDevBlog</title>
		<link>http://dev.xscheme.de/2008/07/xscdevblog/</link>
		<comments>http://dev.xscheme.de/2008/07/xscdevblog/#comments</comments>
		<pubDate>Wed, 16 Jul 2008 19:02:34 +0000</pubDate>
		<dc:creator>xsc</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://dev.xscheme.de/?p=13</guid>
		<description><![CDATA[Diesen Blog habe ich heute erstellt, weil ich eine Plattform für die Dokumentation und Entwicklung diverser Programmierprojekte brauche. (namentlich: LastSharp, noch in Entwicklung siehe Spalte rechts) Hier werden News zu den Programmen und Hilfeseiten erscheinen, sowie diverse Codeschnipsel, die ich für nützlich halte. Außerdem geht es mir vor allem um die Verbesserung meiner Programme, weshalb [...]]]></description>
			<content:encoded><![CDATA[<p>Diesen Blog habe ich heute erstellt, weil ich eine Plattform für die Dokumentation und Entwicklung diverser Programmierprojekte brauche. (namentlich: LastSharp, <span style="text-decoration: line-through;">noch in Entwicklung</span> siehe Spalte rechts) Hier werden News zu den Programmen und Hilfeseiten erscheinen, sowie diverse Codeschnipsel, die ich für nützlich halte. Außerdem geht es mir vor allem um die Verbesserung meiner Programme, weshalb ich zumindest darum bitte, mir etwaige Fehler hier mitzuteilen.</p>
<p>So far, so good&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://dev.xscheme.de/2008/07/xscdevblog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
