<?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>Thorsten Gieseckes Blog</title>
	<atom:link href="http://blog.giesecke.org/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://blog.giesecke.org</link>
	<description>Ein weiteres tolles WordPress-Blog</description>
	<lastBuildDate>Fri, 23 Jul 2010 06:08:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Nach Mars Mandel jetzt auch Mars in 3D</title>
		<link>http://blog.giesecke.org/?p=88</link>
		<comments>http://blog.giesecke.org/?p=88#comments</comments>
		<pubDate>Thu, 22 Jul 2010 05:30:26 +0000</pubDate>
		<dc:creator>Thorsten Giesecke</dc:creator>
				<category><![CDATA[Astronomie]]></category>

		<guid isPermaLink="false">http://blog.giesecke.org/?p=88</guid>
		<description><![CDATA[HiRISE ist ein Experiment an Bord des Mars Reconnaissance Orbiter, das seit November 2006 eine hochauflösende dreidimensionale Karte des Mars erstellt. Über Google Mars und das World Wide Telescope von Microsoft können viele der Bilddaten erforscht werden. Auf den Missionsseiten von HiRISE ist darüber hinaus der HiRISE Online Image Viewer und ein Missions-Blog zu finden...]]></description>
			<content:encoded><![CDATA[<div class="wp-caption alignright" style="width: 250px"><img class="   " title="Mars" src="http://upload.wikimedia.org/wikipedia/commons/5/56/Mars_Valles_Marineris.jpeg" alt="Gesamtaufnahme des Planeten Mars: In der Bildmitte liegt das System der Mariner-Täler (Valles Marineris), ganz links die Vulkane der Tharsis-Region (Bildmosaik des Viking 1 Orbiter von 1980)." width="240" height="240" /><p class="wp-caption-text">Gesamtaufnahme des Planeten Mars von Viking: Bildmitte Mariner-Täler (Valles Marineris), ganz links die Vulkane der Tharsis-Region</p></div>
<p>Das <a title="Homepage des High Resolution Imaging Science Experiment (HIRISE)" href="http://hirise.lpl.arizona.edu">High Resolution Imaging Science Experiment</a> (HiRISE) der Universität von Arizona ist ein Experiment an Bord des <a href="/wiki/Mars_Reconnaissance_Orbiter">Mars  Reconnaissance Orbiter</a>, das eine detailierte hochauflösende Karte der Oberfläche des Mars erstellt. Zusätzlich werden auch die erfassten Höheninformationen mit den Bilddaten zusammengeführt, was stereoskopische Bilder und Animationen ermöglicht:<a href="http://hirise.lpl.arizona.edu/anaglyph/"> http://hirise.lpl.arizona.edu/anaglyph/</a></p>
<p>Auf den Seiten der NASA findet man außerdem den <a title="HiRISE Online Image Viewer" href="http://marsoweb.nas.nasa.gov/HiRISE/hirise_images/">HiRISE Online Image Viewer</a>, mit dem man interaktiv über eine Karte des Mars das von HiRISE erfasste Bildmaterial erforschen kann. Dabei ist es in vielen Bereiche der Karte möglich, tief in das hochauflösende Kartenmaterial hinein zu &#8220;zoomen&#8221;.</p>
<p>Mit dem <a href="http://www.worldwidetelescope.org/whatIs/whatisWWT.aspx?Page=Mars">World Wide Telescope</a> (WWT) hat es Microsoft <a href="http://www.google.com/mars/">Google </a>nachgemacht und stellt ein kostenloses 3D-Oberservatorium für Windows und Intel Macs mit Silverlight bereit. WWT bietet derzeit in<a href="http://www.microsoft.com/presspass/press/2009/mar09/03-24NASADataPR.mspx"> Zusammenarbeit mit der NASA</a> über 13.000 hochaufgelöste Bilder des Mars sowie geführte Touren, eine stereoskopische Darstellung und Echtfarbkarten an.</p>
<p>Nett sind übrigens auch der <a href="http://hirise.lpl.arizona.edu/HiBlog/">HiRISE Blog</a> (&#8220;HiBlog&#8221;), der aktuelle Team-Informationen zum Missionsverlauf bereit stellt und die Seiten der <a href="http://www.marssociety.de/">Mars Society Deutschland</a>, die Informationen zu geplanten Missionen enthalten.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.giesecke.org/?feed=rss2&amp;p=88</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NetBeans Localization Project</title>
		<link>http://blog.giesecke.org/?p=64</link>
		<comments>http://blog.giesecke.org/?p=64#comments</comments>
		<pubDate>Sun, 24 Jan 2010 16:08:40 +0000</pubDate>
		<dc:creator>Thorsten Giesecke</dc:creator>
				<category><![CDATA[I18N]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[German Translator]]></category>
		<category><![CDATA[Internationalisierung]]></category>
		<category><![CDATA[Internationalization]]></category>
		<category><![CDATA[L12N]]></category>
		<category><![CDATA[Localization]]></category>
		<category><![CDATA[Lokalisierung]]></category>
		<category><![CDATA[Netbeans]]></category>

		<guid isPermaLink="false">http://blog.giesecke.org/?p=64</guid>
		<description><![CDATA[Die Netbeans Community "German Translators" beschäftigt sich mit der Lokalisierung (L12N) der Netbeans IDE für den deutschen Sprachraum und sucht immer nach Unterstützern und Testern. Weitere Informationen findet man im Wiki des Projekts.]]></description>
			<content:encoded><![CDATA[<p><img class=" alignright" title="Netbeans Localization Project Logo" src="http://nblocalization.netbeans.org/images/logo.png" alt="Logo des Netbeans Localization Project" width="174" height="135" /></p>
<p>Das <a title="Netbeans Localization Project" href="http://nblocalization.netbeans.org/"><em>Netbeans Localization Project</em></a> ist ein freies, von Netbeans-Nutzern getriebenes Projekt, dass die Lokalisierung der Netbeans-Plattform und der <a href="http://www.netbeans.org">Netbeans IDE</a> vorantreibt. Netbeans ist eine plattformunabhängige in Java geschriebene Entwicklungsplattform, auf der die Entwicklungsumgebung Netbeans IDE basiert.</p>
<p>Bei der Konzeption von Netbeans wurde von Anfang an an die Internationalisierung (I18N) gedacht, also die Möglichkeit geschaffen, die Plattform später ohne zusätzlichen Aufwand zu lokalisieren . Lokalisierung (L12N) bezieht sich dabei auf die Anpassung an eine Kultur, Sprache oder ein Schriftsystem und die daraus abgeleiteten  landes- oder sprachtypischen Eigenschaften (z. B. Zeit-, Währungs- und Datumsformate, das Kalendersystem, die Schreibrichtung, Sortierregeln, gesetzliche Bestimmungen und natürlich die Übersetzung).<span id="more-64"></span></p>
<p>Die Netbeans Community &#8220;<a href="http://nblocalization.netbeans.org/index_de.html">German Translators&#8221;</a> beschäftigt sich dabei mit der Lokalisierung der Netbeans IDE für den deutschen Sprachraum und sucht immer nach Unterstützern und Testern. Weitere Informationen findet man im <a href="http://wiki.netbeans.org/GermanTranslators">Wiki des Projekts</a>&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.giesecke.org/?feed=rss2&amp;p=64</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP Warning: Module &#8216;modulename&#8217; already loaded in Unknown on line 0</title>
		<link>http://blog.giesecke.org/?p=57</link>
		<comments>http://blog.giesecke.org/?p=57#comments</comments>
		<pubDate>Sun, 24 Jan 2010 14:11:31 +0000</pubDate>
		<dc:creator>Thorsten Giesecke</dc:creator>
				<category><![CDATA[Server]]></category>
		<category><![CDATA[PHP JSON Debian Plesk]]></category>

		<guid isPermaLink="false">http://blog.giesecke.org/?p=57</guid>
		<description><![CDATA[Stolpert man über die Meldung &#8220;PHP Warning: Module &#8216;modulename&#8217; already loaded in Unknown on line 0&#8221; deutet das darauf hin, dass eine Funktionalität bereits in PHP integriert ist, aber zusätzlich noch einmal als dynamische Erweiterung geladen werden soll. Ich habe die Meldung beim täglichen Lauf von rkhunter erhalten, da in der Datei /etc/php5/cli/php.ini (Debian) die [...]]]></description>
			<content:encoded><![CDATA[<p>Stolpert man über die Meldung &#8220;<em>PHP Warning: Module &#8216;modulename&#8217; already loaded in Unknown on line 0</em>&#8221; deutet das darauf hin, dass eine Funktionalität bereits in PHP integriert ist, aber zusätzlich noch einmal als dynamische Erweiterung geladen werden soll.<span id="more-57"></span></p>
<p>Ich habe die Meldung beim täglichen Lauf von <em>rkhunter </em>erhalten, da in der Datei <em>/etc/php5/cli/php.ini</em> (Debian) die folgende Zeile dank Plesk enthalten war:</p>
<pre class="brush: plain;">extension=json.so</pre>
<p>Kommentiert man die Zeile aus, ist der Spuk vorbei (unter Windows hat das Modul übrigens den Dateisuffix .dll). Vorher dem Auskommentieren sollte man allerdings prüfen, ob das Modul wirklich bereits geladen wurde:</p>
<pre class="brush: plain;">php -m | grep json</pre>
<p>Der Parameter -m listet alle bereits in PHP enthaltenen Module auf.</p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">
<h1>PHP Warning: Module &#8216;modulename&#8217; already loaded in Unknown on line 0</h1>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.giesecke.org/?feed=rss2&amp;p=57</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WADL Unterstützung für das .NET Framework?</title>
		<link>http://blog.giesecke.org/?p=34</link>
		<comments>http://blog.giesecke.org/?p=34#comments</comments>
		<pubDate>Sat, 23 Jan 2010 00:13:09 +0000</pubDate>
		<dc:creator>Thorsten Giesecke</dc:creator>
				<category><![CDATA[NET]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[WADL]]></category>
		<category><![CDATA[WCF]]></category>

		<guid isPermaLink="false">http://blog.giesecke.org/?p=34</guid>
		<description><![CDATA[RESTful Webservices und Clients aus WADL-Dateien für das .NET Framework erzeugen mit dem Web Application Description Language Tool (wadl.exe)... ]]></description>
			<content:encoded><![CDATA[<p>Sucht man nach .NET und WADL (Akronym für Web Application Description Language), dann stößt man bei der Open Source-Community CodePlex auf das <a title="Web Application Description Language Tool" href="http://wadl.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=16577"><em>Web Application Description Language Tool</em></a> (wadl.exe). Als <em>&#8220;RESTful WCF Services Client Code Generation Utility</em>&#8221; verspricht es, Code für die von der CLR unterstützten .NET Sprachen für RESTful Webservices und Clients zu generieren&#8230; <span id="more-34"></span></p>
<p>Leider verbirgt sich hinter dem Tool eine fehlerbehafte Version 0.1, die beim ersten Aufruf sofort eine Ausnahme erzeugt:</p>
<pre class="brush: plain;">
Unbehandelte Ausnahme: System.IO.DirectoryNotFoundException: Ein Teil des Pfades
&quot;C:\Dokumente und Einstellungen\Thorsten Giesecke\Desktop\WADL_Release_0[1].1_P
laceHolder\WADL\bin\Release\&quot; konnte nicht gefunden werden.
bei System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
bei System.IO.FileStream.Init(String path, FileMode mode, FileAccess access,
Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions
options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)
bei System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access,
FileShare share, Int32 bufferSize)
bei System.Xml.XmlDownloadManager.GetStream(Uri uri, ICredentials credentials
)
bei System.Xml.XmlUrlResolver.GetEntity(Uri absoluteUri, String role, Type of
ObjectToReturn)
bei System.Xml.XmlReader.Create(String inputUri, XmlReaderSettings settings,
XmlParserContext inputContext)
bei System.Xml.XmlReader.Create(String inputUri, XmlReaderSettings settings)
bei System.Xml.Linq.XDocument.Load(String uri, LoadOptions options)
bei System.Xml.Linq.XDocument.Load(String uri)
bei Axis.WADL.FileProcessor..ctor(String fileName) in c:\Development\Beta Pro
jects\WADL\FileProcessor.cs:Zeile 12.
bei Axis.WADL.Program.Main(String[] args) in c:\Development\Beta Projects\WAD
L\Program.cs:Zeile 22.
</pre>
<p>Schaut man sich den Quelltext an, stolpert man über einen Conversion-Report von VisualStudio, der verrät, dass das Tool auf einer Konvertierung des Tools <em>wadl2java</em> basiert (org.jvnet.ws.wadl alias java.net). Inwieweit die dafür nötigen Bibliotheken konvertiert wurden (z. B. JAXB) oder ob mit .NET-Bordmitteln (z. B. System.Xml) gearbeitet wird, kann man nur erahnen. Brauchbaren Code konnte ich jedenfalls (noch) nicht erzeugen.</p>
<p>Vielleicht lohnt es sich aber, später noch einmal vorbeizuschauen? Einen kleinen Lichtblick im Bezug auf Interoperabilität für RESTful Webservices zwischen Java und der .NET Plattform gibt es ja  jetzt&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.giesecke.org/?feed=rss2&amp;p=34</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>.NET, C# und der Papierkorb</title>
		<link>http://blog.giesecke.org/?p=13</link>
		<comments>http://blog.giesecke.org/?p=13#comments</comments>
		<pubDate>Mon, 18 Jan 2010 00:43:23 +0000</pubDate>
		<dc:creator>Thorsten Giesecke</dc:creator>
				<category><![CDATA[NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Dateisystem]]></category>
		<category><![CDATA[filesystem]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[IO]]></category>
		<category><![CDATA[Papierkorb]]></category>
		<category><![CDATA[Recycler]]></category>
		<category><![CDATA[Trashcan]]></category>

		<guid isPermaLink="false">http://blog.giesecke.org/?p=13</guid>
		<description><![CDATA[Möchte man ein Objekt in den Papierkorb legen, anstatt es direkt zu löschen, muss man bei der Verwendung des .NET Frameworks und von C# mittels P/Invoke auf die SHFileOperation der shell32.dll zurückgreifen oder die Methode DeleteFile der Klasse Microsoft.VisualBasic.FileIO.FileSystem verwenden (hierzu muss die Assembly Microsoft.VisualBasic referenziert werden).]]></description>
			<content:encoded><![CDATA[<p>Das .NET Framework, die Version 4 steht vor der Tür, ist schnell erwachsen geworden und bietet dank der Spracherweiterung LINQ mächtige Funktionen zur Abfrage und Manipulation von Datenstrukturen unter Verwendung von <em>Fluent Interfaces </em>und Lambda-Ausdrücken. Möchte man aber Dateien programmatisch in den Papierkorb legen anstatt sie zu löschen, dann lässt einen das .NET Framework (zumindest als C#-Entwickler) alleine&#8230;<span id="more-13"></span></p>
<p>Erinnert man sich an alte Zeiten zurück, dann fällt einem aber vielleicht noch die <em>SHFileOperation </em>ein, die Bestandteil der <em>shell32.dll</em> ist und auf die mittels &#8220;P/Invoke&#8221; zugegriffen werden kann. Die Methode erwartet eine <em>SHFILEOPSTRUCT</em>, über die man die Dateioperation (in diesem Fall <em>FO_DELETE</em>), den Dateinamen der zu löschenden Datei und zusätzliche Parameter festlegen kann. Die Parameter der Funktion <em>FO_DELETE</em> bestimmen, ob die Datei direkt gelöscht wird (Standardverhalten des .NET Frameworks) oder ob die Löschoperation umkehrbar ist &#8211; die Datei also im Papierkorb landet:</p>
<pre class="brush: plain;">
[DllImport(&quot;shell32.dll&quot;, CharSet=CharSet.Auto)]
static extern int SHFileOperation(ref SHFILEOPSTRUCT handle);
</pre>
<p>Nutzt man VisualBasic oder fügt die Assembly <em>Microsoft.VisualBasic</em> dem Projekt als Referenz hinzu, kann man auch die <em>DeleteFile</em>-Methode der Klasse <em>Microsoft.VisualBasic.FileIO.FileSystem</em> verwenden. Durch Angabe der Option <em>RecycleOption.SendToRecycleBin</em> wird das zu löschende Objekt in den Papierkorb gelegt:</p>
<pre class="brush: plain;">
using Microsoft.VisualBasic.FileIO;
...
FileSystem.DeleteFile(UIOption.OnlyErrorDialogs, RecycleOption.SendToRecycleBin);
...
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.giesecke.org/?feed=rss2&amp;p=13</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RESTful Services testen</title>
		<link>http://blog.giesecke.org/?p=5</link>
		<comments>http://blog.giesecke.org/?p=5#comments</comments>
		<pubDate>Mon, 18 Jan 2010 00:01:07 +0000</pubDate>
		<dc:creator>Thorsten Giesecke</dc:creator>
				<category><![CDATA[REST]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[RESTClient]]></category>
		<category><![CDATA[RESTful]]></category>
		<category><![CDATA[SoapUI]]></category>
		<category><![CDATA[Test]]></category>
		<category><![CDATA[Webservice]]></category>

		<guid isPermaLink="false">http://blog.giesecke.org/?p=5</guid>
		<description><![CDATA[Möchte man keinen eigenen Testclient schreiben (z. B. mittels JavaScript und AJAX) und sind Werkzeuge wie SoapUI für schnelles Testen und Fehlersuchen zu mächtig, dann helfen Tools wie der Rest-Client (Java) oder die Firefox-Erweiterung RESTClient.]]></description>
			<content:encoded><![CDATA[<p>Bei der Entwicklung eines Clients für einen RESTful Webservice (oder auch bei der Entwicklung des Webservice selbst), reicht es manchmal, nur schnell ein neue oder geänderte Ressource zu testen: stimmt der URI einer Ressource und deren Parameter, wurden die richtigen HTTP-Header gesetzt, sind die Daten im Body valide?<span id="more-5"></span></p>
<p>Wird ein Webbrowser verwendet, so kann man in der Regel nur die HTTP Methoden GET und POST testen &#8211; also das Abrufen und Anlegen von Ressourcen. Möchte man allerdings auch prüfen, ob das Ändern und Löschen funktioniert (PUT und DELETE) und möchte man festlegen, in welchem Format die Daten übertragen werden (durch das Setzen eines Accept-Headers), dann benötigt man entsprechende Werkzeuge&#8230;</p>
<p>Ausgereifte Testwerkzeuge wie das kostenlose <a title="SoapUI" href="http://www.soapui.org">SoapUI</a>, mit denen sogar automatisierte Integrations- und Lasttests möglich sind und die Tests automatisch aus WSDL- oder WADL-Metainformationen generieren können, bieten diese Möglichkeit, sind für einen schnellen Test aber meist überdimensioniert.</p>
<div id="attachment_18" class="wp-caption alignright" style="width: 310px"><a href="http://blog.giesecke.org/wp-content/uploads/RESTClient.jpg"><img class="size-medium wp-image-18 " title="RESTClient" src="http://blog.giesecke.org/wp-content/uploads/RESTClient-300x236.jpg" alt="Oberfläche (GUI) der Java-Applikation RESTClient" width="300" height="236" /></a><p class="wp-caption-text">RESTClient</p></div>
<p>Möchte man keinen eigenen Testclient (z. B. mittels JavaScript und AJAX) schreiben oder auf Konsolen-Programme angewiesen sein, kann man als Firefox-Benutzer die <a title="RESTClient" href="https://addons.mozilla.org/de/firefox/addon/9780">RESTClient</a>-Erweiterung installieren. Die Erweiterung lässt die Auswahl aller verfügbaren HTTP-Methoden zu (RFC2616 (HTTP/1.1) and RFC2518 (WebDAV)) und ermöglicht die Angabe optionaler HTTP-Header, beispielsweise um die <em>Represenation </em>einer REST-Ressource zu definieren: sprich in welchem Format Daten geliefert werden.</p>
<p>Noch ein weniger komfortabel ist das Java-Programm <a title="Rest-Client" href="http://code.google.com/p/rest-client/">Rest-Client</a>. Das Programm wird als Applikation für MacOS X und als ausführbares Java-Archiv (JAR) für andere Betriebssysteme angeboten. Zwar kann man keine WebDAV-Anwendungen testen, dafür können aber Transaktionen zwischen Client und Server aufgezeichnet werden (Trace) und Daten geladen und gespeichert werden.</p>
<p>Beide Programme sind mit Werkzeugen wie SoapUI nicht vergleichbar und sollen auch keine richtigen Integrationstests ersetzen, aber erleichtern das Programmieren und die Fehlersuche erheblich.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.giesecke.org/?feed=rss2&amp;p=5</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
