<?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>Flash Systems</title>
	<atom:link href="http://www.flashsystems.de/feed" rel="self" type="application/rss+xml" />
	<link>http://www.flashsystems.de</link>
	<description>Hompage von Daniel Goß</description>
	<lastBuildDate>Fri, 03 Feb 2012 11:34:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Header für Bash Shellscripte</title>
		<link>http://www.flashsystems.de/articles/1520</link>
		<comments>http://www.flashsystems.de/articles/1520#comments</comments>
		<pubDate>Thu, 02 Feb 2012 23:00:33 +0000</pubDate>
		<dc:creator>dgoss</dc:creator>
				<category><![CDATA[Knowledge Base]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Bash]]></category>

		<guid isPermaLink="false">http://www.flashsystems.de/?p=1520</guid>
		<description><![CDATA[Für Shell-Scripte unter Linux gilt das gleiche wie für jedes andere Programm: »Das aktuelle Arbeitsverzeichnis wird durch den Aufrufer bestimmt.« Das ist natürlich dann ein Problem, wenn man bestimmte Konfigurationsdateien oder Programme im aktuellen Arbeitsverzeichnis erwartet. Daher füge ich in meine Shellscripte gerne folgenden Header ein: #!/bin/bash $fullScriptName=$&#40;readlink -qe &#34;$0&#34;&#41; $fullScriptPath=$&#40;fullScriptName%/*&#41; pushd $fullScriptPath Dieses Stück [...]]]></description>
			<content:encoded><![CDATA[<p>Für Shell-Scripte unter Linux gilt das gleiche wie für jedes andere Programm: »Das aktuelle Arbeitsverzeichnis wird durch den Aufrufer bestimmt.« Das ist natürlich dann ein Problem, wenn man bestimmte Konfigurationsdateien oder Programme im aktuellen Arbeitsverzeichnis erwartet.<span id="more-1520"></span> Daher füge ich in meine Shellscripte gerne folgenden Header ein:</p>

<pre class="hlcode hlcode-bash"><code><ol class="bash"><li class="li1"><div class="de1"><span class="co0">#!/bin/bash</span></div></li>
<li class="li1"><div class="de1"><span class="re1">$fullScriptName</span>=$<span class="br0">&#40;</span><span class="kw2">readlink</span> <span class="re5">-qe</span> <span class="st0">&quot;$0&quot;</span><span class="br0">&#41;</span></div></li>
<li class="li1"><div class="de1"><span class="re1">$fullScriptPath</span>=$<span class="br0">&#40;</span>fullScriptName<span class="sy0">%/*</span><span class="br0">&#41;</span></div></li>
<li class="li1"><div class="de1"><span class="kw3">pushd</span> <span class="re1">$fullScriptPath</span></div></li>
</ol></code></pre>

<p>Dieses Stück Bash-Shellscript setzt den aktuellen Pfad auf das Verzeichnis, in welchem das Shellscript abgelegt ist. Da pushd verwendet wird, wird der Pfad beim verlassen des Scriptes automatisch wieder auf das vorhergehende Verzeichnis zurückgesetzt. So arbeitet das Script immer in seinem Installationsverzeichnis, ohne das das aktuelle Arbeitsverzeichnis der aufrufenden Shell verbogen wird.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flashsystems.de/articles/1520/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eclipse Workspace wird immer Fetter</title>
		<link>http://www.flashsystems.de/articles/1662</link>
		<comments>http://www.flashsystems.de/articles/1662#comments</comments>
		<pubDate>Sat, 28 Jan 2012 11:15:34 +0000</pubDate>
		<dc:creator>dgoss</dc:creator>
				<category><![CDATA[Knowledge Base]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Entwicklung]]></category>

		<guid isPermaLink="false">http://www.flashsystems.de/?p=1662</guid>
		<description><![CDATA[Manchmal zeigt der Eclipse Workspace, gerade bei größeren Projekten, die Neigung immer mehr anzuwachsen. Mir ging es vor ein paar Wochen mit einem PHP-Projekt so. Irgendwann hatte der Workspace mehr als 40 MiByte. Eine kurze Suche mit WinDirStat hat gezeigt, dass die Datei .metadata&#46;plugins\org.eclipse.dltk.core.index.sql.h2 der Verursacher des Größenzuwachses ist. Diese Datei enthält die Eclipse DLTK [...]]]></description>
			<content:encoded><![CDATA[<p>Manchmal zeigt der Eclipse Workspace, gerade bei größeren Projekten, die Neigung immer mehr anzuwachsen. Mir ging es vor ein paar Wochen mit einem PHP-Projekt so. Irgendwann hatte der Workspace mehr als 40 MiByte. Eine kurze Suche mit <a href="http://windirstat.info/">WinDirStat</a> hat gezeigt, dass die Datei <code>.metadata&#46;plugins\org.eclipse.dltk.core.index.sql.h2</code> der Verursacher des Größenzuwachses ist.<span id="more-1662"></span></p>

<p>Diese Datei enthält die Eclipse <a href="http://wiki.eclipse.org/DLTK">DLTK</a> Datenbank. Aus Gründen, welche mir nicht ganz klar sind, wird diese bei umfangreichen Änderungen im Projekt immer größer. Eclipse nimmt es aber offensichtlich nicht übel, wenn diese Datei einfach gelöscht wird.</p>

<p>Wenn also der Eclipse-Workspace immer größer wird, einfach die Entwicklungsumgebung schließen. Die Datei <code>.metadata&#46;plugins\org.eclipse.dltk.core.index.sql.h2</code> löschen und Eclipse anschließend neu starten. Danach baut Eclipse den DLTK-Index neu auf. Bei mir schrumpfte die neue Index-Datei auf etwas 10% der alten Größe.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flashsystems.de/articles/1662/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Deklaratives Multithreading</title>
		<link>http://www.flashsystems.de/articles/1666</link>
		<comments>http://www.flashsystems.de/articles/1666#comments</comments>
		<pubDate>Tue, 22 Nov 2011 18:49:46 +0000</pubDate>
		<dc:creator>dgoss</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Neuigkeiten]]></category>
		<category><![CDATA[Think Tank]]></category>
		<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Knowledge Base]]></category>

		<guid isPermaLink="false">http://www.flashsystems.de/?p=1666</guid>
		<description><![CDATA[Heute habe ich meinen Artikel zum Thema »Deklaratives Multithreading« auf CodeProject online gestellt. Da es mein erster, komplett in englisch verfasster Artikel ist, bin ich auf das Feedback ziemlich gespannt. Wer also etwas über meinen — ich denke sehr interessanten — Ansatz zum Thema Multithreading in C# wissen möchte, der kann sich den Artikel hier [...]]]></description>
			<content:encoded><![CDATA[<p>Heute habe ich meinen Artikel zum Thema »Deklaratives Multithreading« auf CodeProject online gestellt. Da es mein erster, komplett in englisch verfasster Artikel ist, bin ich auf das Feedback ziemlich gespannt.<span id="more-1666"></span></p>

<p>Wer also etwas über meinen — ich denke sehr interessanten — Ansatz zum Thema Multithreading in C# wissen möchte, der kann sich den Artikel <a href="http://www.codeproject.com/KB/threads/declarative_threading.aspx">hier</a> ansehen.</p>

<p>Je nach Bewertung werde ich den Sourcecode und evtl. noch etwas »Bonusmaterial« hier veröffentlichen… Den Aufwand mache ich mir aber nur, wenn der Artikel auch ankommt.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flashsystems.de/articles/1666/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>eGalax Touchscreen in Debian Squeeze</title>
		<link>http://www.flashsystems.de/articles/1612</link>
		<comments>http://www.flashsystems.de/articles/1612#comments</comments>
		<pubDate>Wed, 09 Nov 2011 20:06:37 +0000</pubDate>
		<dc:creator>dgoss</dc:creator>
				<category><![CDATA[Knowledge Base]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Touchscreen]]></category>

		<guid isPermaLink="false">http://www.flashsystems.de/?p=1612</guid>
		<description><![CDATA[Wie ich bereits im Artikel Touchscreen Rechtsklick in Ubuntu erwähnt habe, ist mein Acer Aspire One seit einiger Zeit mit einem Touchscreen ausgestattet. Bisher hatte ich Ubuntu auf dem Netbook verwendet. Da ich jedoch mit Ubuntus »Volks Desktop« Unity nicht wirklich klar komme und es mich außerdem nervt, als Poweruser einen Kindergartendesktop zwangsverordnet zu bekommen, [...]]]></description>
			<content:encoded><![CDATA[<p>Wie ich bereits im Artikel <a href="/articles/1187">Touchscreen Rechtsklick in Ubuntu</a> erwähnt habe, ist mein Acer Aspire One seit einiger Zeit mit einem Touchscreen ausgestattet. Bisher hatte ich Ubuntu auf dem Netbook verwendet. Da ich jedoch mit Ubuntus »Volks Desktop« Unity nicht wirklich klar komme und es mich außerdem nervt, als Poweruser einen Kindergartendesktop zwangsverordnet zu bekommen, bin ich auf Debian ausgewichen — auf dem Ubuntu ja schließlich basiert.
Nun blieb nur die Frage offen, wie bekomme ich den Touchscreen wieder zum Laufen und wie kann ich ihn kalibrieren?<span id="more-1612"></span></p>

<p>Erfreulicherweise wird der Touchscreen von eGalax bei Debian automatisch über das Modul <code>usbtouchscreen</code> erkannt. Klickt man auf den Bildschirm, springt der Cursor also gleich nach der Installation fröhlich durch die Gegend. Dummerweise fehlt allerdings das Tool, um den Touchscreen zu kalibrieren…</p>

<h2>Tools nachinstallieren</h2>

<p>Zuerst braucht man also das Tool <a href="http://www.freedesktop.org/wiki/Software/xinput_calibrator">xinput_calibrator</a>. Da es dieses nicht im Standardrepository von Debian gibt, muss man es gesondert herunterladen. Auf der <a href="http://www.freedesktop.org/wiki/Software/xinput_calibrator">Homepage</a> gibt es glücklicherweise ein Debian-Paket, so dass die Installation anschließend durch einen Doppelklick und auswählen des »Installieren«-Buttons erledigt ist.</p>

<p>Anschließend sollte man in einer Root-Shell noch schnell über den Befehl <code>apt-get install xinput</code> sicherstellen, dass <code>xinput</code> installiert ist.</p>

<h2>Zielübungen (Kalibrieren)</h2>

<p><div id="attachment_1640" class="wp-caption alignright" style="width: 160px"><a class="medialink" href="http://www.flashsystems.de/articles/1612/calibartor" rel="attachment wp-att-1640"><img src="http://www.flashsystems.de/wp-content/uploads/Calibartor-150x87.png" alt="Touchscreen Kalibrierung" title="xinput_calibrator" width="150" height="87" class="size-thumbnail wp-image-1640" /></a><p class="wp-caption-text">Touchscreen Kalibrierung</p></div>Nachdem alles installiert ist, kann der Touchscreen jetzt kalibriert werden. Es gibt dafür sogar einen Menüeintrag. Leider speichert dieser die gefundenen Einstellungen nicht ab, so dass nach einem Reboot die Kalibrierung wieder verschwunden ist.</p>

<p>Möchte man die Kalibrierung also permanent übernehmen, so ist man auf die Konsole angewiesen. Am einfachsten geht es, wann man die nachfolgende Befehlszeile in ein Konsolenfenster (keine Root-Shell!) kopiert:</p>

<pre class="hlcode hlcode-bash"><code><ol class="bash"><li class="li1"><div class="de1">xinput_calibrator <span class="re5">--output-type</span> xorg.conf.d<span class="sy0">|</span><span class="kw2">sudo</span> <span class="kw2">grep</span> <span class="re5">-A</span> <span class="nu0">20</span> <span class="st0">&quot;Section&quot;</span> <span class="sy0">&gt;</span> newcal <span class="sy0">&amp;&amp;</span> <span class="kw2">sudo</span> <span class="kw2">cp</span> newcal <span class="sy0">/</span>usr<span class="sy0">/</span>share<span class="sy0">/</span>X11<span class="sy0">/</span>xorg.conf.d<span class="sy0">/</span><span class="nu0">99</span>-calibration.conf</div></li>
</ol></code></pre>

<p>Nun öffnet sich das Kalibrierungsfenster und man muss wieder die angezeigten Punkte anklicken. Wird der Kalibrierungsvorgang erfolgreich abgeschlossen, so werden die neuen Einstellungen permanent in der Konfigurationsdatei <code>/usr/share/X11/xorg.conf.d/99-calibration.conf</code> gespeichert. Ggf. muss man hierfür im Konsolenfenster noch das eigene Kennwort eingeben. Beim Abbrechen des Vorgangs mit der ESC-Taste wird keine Änderung vorgenommen.</p>

<h2>Rechts klicken</h2>

<p>Der Rechtsklick lässt sich unter Debian wie im Artikel <a href="/articles/1187">Touchscreen Rechtsklick in Ubuntu</a> beschrieben einrichten. Im Gegensatz zu Ubuntu funktioniert in Debian Squeeze die Einstellung sogar meistens <img src='http://www.flashsystems.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>

<p>Leider klappt es gerade bei Firefox eher weniger gut. Wenn jemand also einen besseren Weg gefunden hat, mit nur einer Maustaste einen sekundären Klick hin zu bekommen, würde ich mich über einen Kommentar freuen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flashsystems.de/articles/1612/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Freihand Icons für WPF</title>
		<link>http://www.flashsystems.de/articles/1397</link>
		<comments>http://www.flashsystems.de/articles/1397#comments</comments>
		<pubDate>Fri, 07 Oct 2011 12:00:19 +0000</pubDate>
		<dc:creator>dgoss</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Think Tank]]></category>
		<category><![CDATA[Inkscape]]></category>
		<category><![CDATA[WPF]]></category>
		<category><![CDATA[XAML]]></category>

		<guid isPermaLink="false">http://www.flashsystems.de/?p=1397</guid>
		<description><![CDATA[Ich arbeite gerade an einer WPF-Applikation, welche wie ein Notizblock aussehen soll. Natürlich passen die von Windows bereitgestellten Icons und Buttons nicht wirklich zu diesem Design. Also habe ich überlegt, wie ich handgezeichnete Icons in WPF übernehmen kann. Der erste Versuch einfach eingescannte PNG-Bilder zu verwenden sah — zumindest in höheren Zoomstufen — schrecklich aus. [...]]]></description>
			<content:encoded><![CDATA[<p>Ich arbeite gerade an einer WPF-Applikation, welche wie ein Notizblock aussehen soll. Natürlich passen die von Windows bereitgestellten Icons und Buttons nicht wirklich zu diesem Design. Also habe ich überlegt, wie ich handgezeichnete Icons in WPF übernehmen kann. Der erste Versuch einfach eingescannte PNG-Bilder zu verwenden sah — zumindest in höheren Zoomstufen — schrecklich aus. Doch zum Glück gibt es eine Möglichkeit Icons als Vektorgrafik in WPF zu überführen. Ich habe mich für den aktuellen Anwendungsfall nur auf schwarz-weiße Strichzeichnungen beschränkt. Das Verfahren lässt sich jedoch auch auf andere Grafiken übertragen.<span id="more-1397"></span></p>

<h1>Vorbereitungen</h1>

<p>Zuerst benötigt man ein wenig Software. Diese sollte man sich zuerst herunterladen und ggf. installieren:</p>

<ul>
<li><p><a href="http://inkscape.org/download/?lang=de">Inkscape</a></p>

<p>Vektorzeichenprogramm welches seit Kurzem auch XAML speichern kann. Ich verwende es zum Vektorisieren der Grafiken.</p></li>
<li><p><a href="http://www.getpaint.net/download.html">Paint.NET</a></p>

<p>Rasterzeichenprogramm welches ich zum Einlesen des Scans und zur Aufbereitung der Vorlage benutzt habe. Hier funktioniert auch jeder andere Grafikeditor. Wer sich jedoch genau an das Tutorial halten will, sollte Paint.NET herunterladen und installieren.</p></li>
<li><p><a href="http://www.microsoft.com/visualstudio/en-us/products/2010-editions">Visual Studio 2010</a></p>

<p>Eigentlich ist Visual Studio nicht unbedingt notwendig. Ich verwende es jedoch für dieses Beispiel und daher habe ich es hier aufgeführt. Es funktioniert natürlich auch jedes andere IDE mit XAML-Support.</p></li>
</ul>

<p>Nachdem die ganze Software installiert ist, geht es erst einmal offline weiter.</p>

<h1>Icons entwerfen</h1>

<p><div id="attachment_1404" class="wp-caption alignright" style="width: 160px"><a class="medialink" href="http://www.flashsystems.de/articles/1397/scan" rel="attachment wp-att-1404"><img src="http://www.flashsystems.de/wp-content/uploads/scan-150x118.png" alt="" title="Scan der Icons in Rohform" width="150" height="118" class="size-thumbnail wp-image-1404" /></a><p class="wp-caption-text">Scan der Icons in Rohform</p></div>
Ich habe zuerst auf einem etwas festeren Karton (besserer Kontrast beim Scannen und kein Durchdrücken von Linien) mit Bleistift ein dünnes Raster vorgezeichnet. In dieses Raster habe ich dann die Icons gezeichnet. Zuerst sollte man den Entwurf mit Bleistift skizzieren. Vor dem Scannen werden dann die Linien mit einem Fineliner oder Tuschestift nachgezogen, damit diese sich gut abheben.</p>

<p>Anschließend wird erst einmal alles eingescannt. Dafür gibt es in Paint.NET den Menüpunkt »Datei« — »Übernehmen«. Dieser erlaubt es Daten von einem Scanner zu importieren. Das Ergebnis zeigt das nebenstehende Bild.</p>

<h1>Aufbereiten des Scans</h1>

<p><div id="attachment_1409" class="wp-caption alignright" style="width: 114px"><a class="medialink" href="http://www.flashsystems.de/articles/1397/paint_net_curve" rel="attachment wp-att-1409"><img src="http://www.flashsystems.de/wp-content/uploads/paint_net_curve-104x150.png" alt="" title="&quot;Kurven&quot;-Dialog mit Sprungfunktion" width="104" height="150" class="size-thumbnail wp-image-1409" /></a><p class="wp-caption-text">»Kurven«-Dialog mit Sprungfunktion</p></div>
Auch auf dem besten Scanner wird das eingelesene Bild nicht sofort für die Weiterverarbeitung brauchbar sein. Zuerst muss der Kontrast gesteigert und das Hintergrundraster entfernt werden. Hierfür bietet Paint.NET zum Glück eine elegante Möglichkeit: Nachdem die Zeichnungen (dank Fineliner oder Tusche) deutlich dunkler als die Hilfslinien oder eventuelle Störungen sind lassen sich diese leicht ausfiltern. Hierfür öffnet man den »Kurven«-Dialog über »Korrekturen« — »Kurven…«. Die »Kurven«-Funktion erlaubt es einer Eingangshelligkeit eine bestimmte Ausgangshelligkeit zuzuweisen. D.h. die Helligkeitsinformation der einzelnen Pixel wird durch die Kurve auf neue Helligkeitswerte abgebildet. Da der Kontrast des Bildes maximal erhöht werden soll, habe ich eine Sprungfunktion verwendet. D.h. alle Helligkeitswerte unterhalb einer bestimmten Schwelle werden auf Schwarz und alle Werte darüber auf Weiß abgebildet. Mit der Position und der Steilheit der Kurvenform muss man etwas experimentieren.</p>

<p>Erst wenn das Bild (fast) schwarz-weiß aussieht, geht es weiter. Der nachfolgende »Optimierte Scan« zeigt, wie die Grafiken aussehen sollten, bevor sie mit Inkscape weiterverarbeitet werden können.
<div id="attachment_1412" class="wp-caption alignnone" style="width: 160px"><a class="medialink" href="http://www.flashsystems.de/articles/1397/scan_curve" rel="attachment wp-att-1412"><img src="http://www.flashsystems.de/wp-content/uploads/scan_curve-150x116.png" alt="" title="Optimierter Scan" width="150" height="116" class="size-thumbnail wp-image-1412" /></a><p class="wp-caption-text">Optimierter Scan</p></div></p>

<h1>Vektorisieren</h1>

<p>Um die Grafiken schlussendlich in Vektorinformationen zu übersetzen (welche anschließend in XAML genutzt werden können), muss zuerst eine der Zeichnungen ausgeschnitten werden. Hierbei muss man nicht auf das letzte Pixel exakt arbeiten. Nach dem Vektorisieren werden weiße Bereiche noch entfernt. Als Beispiel habe ich habe mich für einen Zeichenstift entschieden. Dieser wird in Paint.NET markiert, kopiert (Strg+C) und anschließend in Inkscape eingefügt (Strg+V).
<div id="attachment_1417" class="wp-caption alignnone" style="width: 160px"><a class="medialink" href="http://www.flashsystems.de/articles/1397/inkscape" rel="attachment wp-att-1417"><img src="http://www.flashsystems.de/wp-content/uploads/Inkscape-150x133.png" alt="" title="Bitmap-Grafik in Inkscape" width="150" height="133" class="size-thumbnail wp-image-1417" /></a><p class="wp-caption-text">Bitmap-Grafik in Inkscape</p></div>
Die Bitmapgrafik muss jetzt vektorisiert werden. Das geht über den Menüpunkt »Pfad« — »Bitmap vektorisieren…«. Der Vektorisierungsdialog bietet einige Einstellungen, von denen nur wenige für diesen Zweck relevant sind. Wenn man andere Icons (z.B. in Farbe) vektorisieren möchte, so sollte man mit den Einstellungen etwas herumspielen. Dabei leistet die Vorschau auf der rechten Seite des Einstellungsdialogs gute Dienste. Für meine Schwarz-Weiß-Icons habe ich die »Graustufen«-Einstellung genutzt. Die Menge der Suchdurchgänge sollte man hierbei nicht zu groß wählen, da Inkscape sonst sehr viele Ebenen mit unterschiedlichen Graustufen erstellt. Für mich haben die folgenden Einstellungen gut funktioniert:
<div id="attachment_1426" class="wp-caption alignnone" style="width: 502px"><a class="medialink" href="http://www.flashsystems.de/articles/1397/inkscape_settings" rel="attachment wp-att-1426"><img src="http://www.flashsystems.de/wp-content/uploads/Inkscape_Settings.png" alt="" title="Einstellungen des Vektorisierers" width="492" height="117" class="size-full wp-image-1426" /></a><p class="wp-caption-text">Einstellungen des Vektorisierers</p></div>
Auf dem zweiten Reiter »Optionen« habe ich zwar keine Einstellungen vorgenommen, da ich aber nicht weiß, inwieweit die Standardwerte gleich bleiben, hier eine Kurze Übersicht der Einstellungen:
<div id="attachment_1431" class="wp-caption alignnone" style="width: 474px"><a class="medialink" href="http://www.flashsystems.de/articles/1397/inkscape_options" rel="attachment wp-att-1431"><img src="http://www.flashsystems.de/wp-content/uploads/Inkscape_options.png" alt="" title="Einstellungen auf dem Reiter &quot;Optionen&quot;" width="464" height="97" class="size-full wp-image-1431" /></a><p class="wp-caption-text">Einstellungen auf dem Reiter »Optionen«</p></div></p>

<p>Anschließend startet man mit einem Klick auf »Ok« die Vektorisierung. Der Dialog verschwindet aber danach nicht und muss über das »X« geschlossen werden. Ich habe beim ersten Mal ungefähr zehn vektorisierte Kopien erzeugt, bevor mir das aufgefallen ist.</p>

<p>Nun schiebt man erst einmal die vektorisierte Kopie von der Vorlage herunter und löscht die Vorlage aus dem Bearbeitungsfenster (»Entf«-Taste).<div id="attachment_1436" class="wp-caption alignnone" style="width: 160px"><a class="medialink" href="http://www.flashsystems.de/articles/1397/inkscape_src_dst" rel="attachment wp-att-1436"><img src="http://www.flashsystems.de/wp-content/uploads/Inkscape_Src_Dst-150x146.png" alt="" title="Bitmapvorlage und vektorisierte Kopie" width="150" height="146" class="size-thumbnail wp-image-1436" /></a><p class="wp-caption-text">Bitmapvorlage und vektorisierte Kopie</p></div>
Die vektorisierte Kopie besteht jetzt noch aus mehreren Ebenen in unterschiedlichen Graustufen. Da ich jedoch nur eine einzige Ebene (einen Pfad) haben wollte, musste ich diese Trennen. Hierfür klickt man mit der rechten Maustaste auf das Vektorobjekt und wählt im Kontextmenü »Gruppierung aufheben«. Die einzelnen Ebenen lassen sich dann einfach mit der Maus anklicken und auseinander schieben.
<div id="attachment_1439" class="wp-caption alignnone" style="width: 136px"><a class="medialink" href="http://www.flashsystems.de/articles/1397/inkscape_layers" rel="attachment wp-att-1439"><img src="http://www.flashsystems.de/wp-content/uploads/Inkscape_Layers-126x150.png" alt="" title="Unterschiedliche Ebenen" width="126" height="150" class="size-thumbnail wp-image-1439" /></a><p class="wp-caption-text">Unterschiedliche Ebenen</p></div>
<div id="attachment_1440" class="wp-caption alignright" style="width: 102px"><a class="medialink" href="http://www.flashsystems.de/articles/1397/inkscape_pagesize" rel="attachment wp-att-1440"><img src="http://www.flashsystems.de/wp-content/uploads/Inkscape_PageSize-92x150.png" alt="" title="Seite einpassen" width="92" height="150" class="size-thumbnail wp-image-1440" /></a><p class="wp-caption-text">Seite einpassen</p></div>
Meist ist die schwarze Ebene nicht unbedingt die beste. Die etwas dickere, dunkelgraue Ebene hat sich — gerade wenn das Icon relativ klein dargestellt wird — meist als besser erwiesen. Welche Ebene man am Ende benutzt ist Geschmackssache. Auf jeden Fall löscht man nun alle bis auf eine Ebene mit der »Entf«-Taste und färbt die verbleibende Ebene durch doppelklicken auf die Farbleiste schwarz ein.
Jetzt könnte man das ganze schon als XAML-Datei speichern. Doch dann würde das Icon irgendwo in der Pampa auftauchen, da der Ursprungspunkt des Exports die linke, untere Ecke des Zeichenblattes ist. Um dies zu vermeiden, muss das Zeichenblatt noch auf die Größe der Grafik angepasst werden. Dies geschieht am Einfachsten durch selektieren der Grafik und die Auswahl des Menüpunktes »Datei« — »Dokumenteneinstellungen«. Anschließend klappt man die Option »Ändern der Seitengröße auf Inhalt…« auf und wählt dort »Seite in Auswahl einpassen«. Anschließend lässt sich die Grafik über »Datei« — »Speichern unter…« als Dateityp »Microsoft XAML« abspeichern.</p>

<h1>Einbinden in XAML</h1>

<p>Nun erhält man eine XAML-Datei folgenden Inhalts (ich habe den Output einer einfacheren Grafik genutzt, um das Beispiel kurz zu halten):</p>

<pre class="hlcode hlcode-xml"><code><ol class="xml"><li class="li1"><div class="de1"><span class="sc3"><span class="re1">&lt;?xml</span> <span class="re0">version</span>=<span class="st0">&quot;1.0&quot;</span> <span class="re0">encoding</span>=<span class="st0">&quot;UTF-8&quot;</span><span class="re2">?&gt;</span></span></div></li>
<li class="li1"><div class="de1"><span class="sc3"><span class="re1">&lt;Canvas</span> <span class="re0">xmlns</span>=<span class="st0">&quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&quot;</span> <span class="re0">Name</span>=<span class="st0">&quot;svg2&quot;</span> <span class="re0">Width</span>=<span class="st0">&quot;10&quot;</span> <span class="re0">Height</span>=<span class="st0">&quot;356&quot;</span><span class="re2">&gt;</span></span></div></li>
<li class="li1"><div class="de1">&nbsp; <span class="sc3"><span class="re1">&lt;Canvas.Resources</span><span class="re2">/&gt;</span></span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Canvas</span> <span class="re0">Name</span>=<span class="st0">&quot;layer1&quot;</span><span class="re2">&gt;</span></span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Canvas<span class="re2">&gt;</span></span></span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Canvas.RenderTransform<span class="re2">&gt;</span></span></span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;TransformGroup<span class="re2">&gt;</span></span></span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc-1">&lt;!--g--&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;TranslateTransform</span> <span class="re0">X</span>=<span class="st0">&quot;-139.77038&quot;</span> <span class="re0">Y</span>=<span class="st0">&quot;-89.362155&quot;</span><span class="re2">/&gt;</span></span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/TransformGroup<span class="re2">&gt;</span></span></span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Canvas.RenderTransform<span class="re2">&gt;</span></span></span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Path</span> <span class="re0">xmlns:x</span>=<span class="st0">&quot;http://schemas.microsoft.com/winfx/2006/xaml&quot;</span> <span class="re0">Name</span>=<span class="st0">&quot;path2996&quot;</span> <span class="re0">Fill</span>=<span class="st0">&quot;#000000&quot;</span> <span class="re0">Data</span>=<span class="st0">&quot;m 144.86526 434.61216 c -0.25947 -20.70258 -0.27379 -24.77728 -0.0993 -28.25 0.4676 -9.30421 -0.72411 -42.24365 -1.73517 -47.96132 -0.62841 -3.55372 -1.08318 -9.85372 -1.0106 -14 0.22408 -12.80188 0.32971 -30.33989 0.20802 -34.53868 -0.0638 -2.2 0.39953 -7.6 1.02953 -12 0.63 -4.4 1.06019 -8.45282 0.95597 -9.00626 -0.10421 -0.55345 -0.65714 -7.52845 -1.22873 -15.5 -1.1062 -15.42733 -1.35521 -17.68739 -2.80146 -25.42587 -0.52064 -2.78581 -0.55322 -6.26717 -0.0749 -8 0.4658 -1.68733 1.0748 -8.91787 1.35334 -16.06787 0.27855 -7.15 0.7603 -14.8 1.07057 -17 0.74087 -5.25328 0.66618 -47.32431 -0.1145 -64.5 -0.33749 -7.425 -0.58912 -15.975 -0.55917 -19 0.17463 -17.64079 0.33842 -21.12155 1.28224 -27.250005 0.9638 -6.258213 1.22187 -6.75 3.54206 -6.75 l 2.50252 0 -0.78419 7.25 c -0.43131 3.987495 -0.69388 10.258335 -0.58349 13.935185 0.1104 3.67684 -0.141 6.89766 -0.55867 7.15736 -0.41766 0.2597 -0.66199 4.45137 -0.54294 9.31482 0.81612 33.34021 0.96444 80.05177 0.26006 81.90442 -1.99696 5.2524 -3.09784 39.3782 -1.43355 44.43822 0.63315 1.925 1.01348 5.75 0.84519 8.5 -0.64719 10.575 -0.53962 14.22376 0.53723 18.2229 0.68838 2.55643 0.89403 8.27246 0.53814 14.95738 -1.43311 26.91945 -1.53547 31.67156 -1.18078 54.81972 0.13483 8.8 0.68888 16.675 1.23121 17.5 0.54233 0.825 1.08922 7.8 1.21531 15.5 0.1261 7.7 0.36953 20.75 0.54097 29 0.17144 8.25 0.11291 19.1625 -0.13008 24.25 -0.24654 5.16189 -0.41226 7.93524 -0.93581 8.95244 -0.30537 0.59328 -0.7533 0.29756 -1.35516 0.29756 -0.62892 0 -0.51137 0.26848 -1.26949 -0.17118 -1.07778 -0.62504 -0.63814 -4.49248 -0.71442 -10.57882 z&quot;</span><span class="re2">/&gt;</span></span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Canvas<span class="re2">&gt;</span></span></span></div></li>
<li class="li1"><div class="de1">&nbsp; <span class="sc3"><span class="re1">&lt;/Canvas<span class="re2">&gt;</span></span></span></div></li>
<li class="li1"><div class="de1"><span class="sc3"><span class="re1">&lt;/Canvas<span class="re2">&gt;</span></span></span></div></li>
</ol></code></pre>

<p>Da Inkscape versucht, die einzelnen Layereigenschaften zu exportieren, ist der XAML-Output stärker geschachtelt als er eigentlich sein müsste. Das Canvas mit dem Namen »Layer1« und das darin enthaltene Canvas können entfallen. Auch die xmlns– und Name-Angaben sind überflüssig, wenn das Icon als Ressource genutzt wird. Ich habe den XML-Quelltext zuerst einmal in ein neues ResourceDictionary kopiert um ihn dort zu bereinigen. Wichtig ist dabei natürlich, dass der <code>&lt;?xml</code>–Header ebenfalls entfernt wird. Das erste Canvas benötigt dann natürlich noch ein x:Key-Tag, über welches auf die Ressource zugegriffen werden kann. Der endgültige Code sieht dann folgendermaßen aus:</p>

<pre class="hlcode hlcode-xml"><code><ol class="xml"><li class="li1"><div class="de1"><span class="sc3"><span class="re1">&lt;ResourceDictionary</span> <span class="re0">xmlns</span>=<span class="st0">&quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&quot;</span></span></div></li>
<li class="li1"><div class="de1"><span class="sc3"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="re0">xmlns:x</span>=<span class="st0">&quot;http://schemas.microsoft.com/winfx/2006/xaml&quot;</span><span class="re2">&gt;</span></span></div></li>
<li class="li1"><div class="de1">&nbsp; <span class="sc3"><span class="re1">&lt;Canvas</span> <span class="re0">x:Key</span>=<span class="st0">&quot;VLine&quot;</span> <span class="re0">Width</span>=<span class="st0">&quot;10&quot;</span> <span class="re0">Height</span>=<span class="st0">&quot;356&quot;</span><span class="re2">&gt;</span></span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Canvas.Resources</span><span class="re2">/&gt;</span></span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Canvas.RenderTransform<span class="re2">&gt;</span></span></span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;TransformGroup<span class="re2">&gt;</span></span></span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;TranslateTransform</span> <span class="re0">X</span>=<span class="st0">&quot;-139.77038&quot;</span> <span class="re0">Y</span>=<span class="st0">&quot;-89.362155&quot;</span><span class="re2">/&gt;</span></span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/TransformGroup<span class="re2">&gt;</span></span></span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Canvas.RenderTransform<span class="re2">&gt;</span></span></span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Path</span> <span class="re0">Fill</span>=<span class="st0">&quot;#000000&quot;</span> <span class="re0">Data</span>=<span class="st0">&quot;m 144.86526 434.61216 c -0.25947 -20.70258 -0.27379 -24.77728 -0.0993 -28.25 0.4676 -9.30421 -0.72411 -42.24365 -1.73517 -47.96132 -0.62841 -3.55372 -1.08318 -9.85372 -1.0106 -14 0.22408 -12.80188 0.32971 -30.33989 0.20802 -34.53868 -0.0638 -2.2 0.39953 -7.6 1.02953 -12 0.63 -4.4 1.06019 -8.45282 0.95597 -9.00626 -0.10421 -0.55345 -0.65714 -7.52845 -1.22873 -15.5 -1.1062 -15.42733 -1.35521 -17.68739 -2.80146 -25.42587 -0.52064 -2.78581 -0.55322 -6.26717 -0.0749 -8 0.4658 -1.68733 1.0748 -8.91787 1.35334 -16.06787 0.27855 -7.15 0.7603 -14.8 1.07057 -17 0.74087 -5.25328 0.66618 -47.32431 -0.1145 -64.5 -0.33749 -7.425 -0.58912 -15.975 -0.55917 -19 0.17463 -17.64079 0.33842 -21.12155 1.28224 -27.250005 0.9638 -6.258213 1.22187 -6.75 3.54206 -6.75 l 2.50252 0 -0.78419 7.25 c -0.43131 3.987495 -0.69388 10.258335 -0.58349 13.935185 0.1104 3.67684 -0.141 6.89766 -0.55867 7.15736 -0.41766 0.2597 -0.66199 4.45137 -0.54294 9.31482 0.81612 33.34021 0.96444 80.05177 0.26006 81.90442 -1.99696 5.2524 -3.09784 39.3782 -1.43355 44.43822 0.63315 1.925 1.01348 5.75 0.84519 8.5 -0.64719 10.575 -0.53962 14.22376 0.53723 18.2229 0.68838 2.55643 0.89403 8.27246 0.53814 14.95738 -1.43311 26.91945 -1.53547 31.67156 -1.18078 54.81972 0.13483 8.8 0.68888 16.675 1.23121 17.5 0.54233 0.825 1.08922 7.8 1.21531 15.5 0.1261 7.7 0.36953 20.75 0.54097 29 0.17144 8.25 0.11291 19.1625 -0.13008 24.25 -0.24654 5.16189 -0.41226 7.93524 -0.93581 8.95244 -0.30537 0.59328 -0.7533 0.29756 -1.35516 0.29756 -0.62892 0 -0.51137 0.26848 -1.26949 -0.17118 -1.07778 -0.62504 -0.63814 -4.49248 -0.71442 -10.57882 z&quot;</span><span class="re2">/&gt;</span></span></div></li>
<li class="li1"><div class="de1">&nbsp; <span class="sc3"><span class="re1">&lt;/Canvas<span class="re2">&gt;</span></span></span></div></li>
<li class="li1"><div class="de1"><span class="sc3"><span class="re1">&lt;/ResourceDictionary<span class="re2">&gt;</span></span></span></div></li>
</ol></code></pre>

<p>In XAML kann das Icon nun beispielsweise als Hintergrund für einen Button genutzt werden. Über das Fill-Attribut des Path-Tags lässt sich die Farbe des Icons nachträglich noch anpassen.</p>

<pre class="hlcode hlcode-xml"><code><ol class="xml"><li class="li1"><div class="de1"><span class="sc3"><span class="re1">&lt;Button</span> <span class="re0">Width</span>=<span class="st0">&quot;32&quot;</span> <span class="re0">Height</span>=<span class="st0">&quot;32&quot;</span> <span class="re0">Style</span>=<span class="st0">&quot;{StaticResource FlowDocumentButton}&quot;</span><span class="re2">&gt;</span></span></div></li>
<li class="li1"><div class="de1">&nbsp; <span class="sc3"><span class="re1">&lt;Button.Background<span class="re2">&gt;</span></span></span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;VisualBrush</span> <span class="re0">Stretch</span>=<span class="st0">&quot;Uniform&quot;</span> <span class="re0">Visual</span>=<span class="st0">&quot;{StaticResource SaveIcon}&quot;</span><span class="re2">/&gt;</span></span></div></li>
<li class="li1"><div class="de1">&nbsp; <span class="sc3"><span class="re1">&lt;/Button.Background<span class="re2">&gt;</span></span></span></div></li>
<li class="li1"><div class="de1"><span class="sc3"><span class="re1">&lt;/Button<span class="re2">&gt;</span></span></span></div></li>
</ol></code></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.flashsystems.de/articles/1397/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eclipse zerschießt SVN</title>
		<link>http://www.flashsystems.de/articles/1556</link>
		<comments>http://www.flashsystems.de/articles/1556#comments</comments>
		<pubDate>Sat, 01 Oct 2011 10:47:33 +0000</pubDate>
		<dc:creator>dgoss</dc:creator>
				<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Knowledge Base]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.flashsystems.de/?p=1556</guid>
		<description><![CDATA[Für das Entwickeln von Java-Anwendungen ist Eclipse — aus meiner Sicht — noch immer das Mittel der Wahl. Wenn man jedoch nicht die integrierten SVN-Features von Eclipse verwendet, sondern beispielsweise TortoiseSVN so wird beim Kompilieren das .svn–Verzeichnis aus dem Source-Baum in den Ausgabebaum kopiert. Dabei zerschießt Eclipse dann das Repository und das Einchecken funktioniert nicht [...]]]></description>
			<content:encoded><![CDATA[<p>Für das Entwickeln von Java-Anwendungen ist Eclipse — aus meiner Sicht — noch immer das Mittel der Wahl. Wenn man jedoch nicht die integrierten SVN-Features von Eclipse verwendet, sondern beispielsweise <a href="http://tortoisesvn.tigris.org/">TortoiseSVN</a> so wird beim Kompilieren das <code>.svn</code>–Verzeichnis aus dem Source-Baum in den Ausgabebaum kopiert. Dabei zerschießt Eclipse dann das Repository und das Einchecken funktioniert nicht mehr.<span id="more-1556"></span></p>

<h2>Eclipse das Handling des .svn-Ordners abgewöhnen</h2>

<p><div id="attachment_1562" class="wp-caption alignright" style="width: 310px"><a class="medialink" href="http://www.flashsystems.de/articles/1556/eclipse_svn_copy" rel="attachment wp-att-1562"><img src="http://www.flashsystems.de/wp-content/uploads/eclipse_svn_copy-300x222.png" alt="" title="Einstellung in Eclipse" width="300" height="222" class="size-medium wp-image-1562" /></a><p class="wp-caption-text">Einstellung in Eclipse</p></div>
Zum Glück lässt sich das Problem relativ einfach beheben. Man muss Eclipse nur abgewöhnen, sich um den Inhalt des <code>.svn</code>–Ordners zu kümmern. Hierfür öffnet man den Einstellungsdialog (Preferences) und wählt in der Seitenleiste Java –&gt; Compiler –&gt; Building aus. Anschließend klappt man »Output folder« auf und trägt unter »Filtered resources:« <code>.svn/</code> ein. Ab sofort ignoriert Eclipse den .svn-Ordner und Tortoise kann sich alleine um die Verwaltung des Repositories kümmern.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flashsystems.de/articles/1556/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Komplexität</title>
		<link>http://www.flashsystems.de/articles/1530</link>
		<comments>http://www.flashsystems.de/articles/1530#comments</comments>
		<pubDate>Sun, 21 Aug 2011 19:04:49 +0000</pubDate>
		<dc:creator>dgoss</dc:creator>
				<category><![CDATA[Knowledge Base]]></category>
		<category><![CDATA[Think Tank]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Zitate]]></category>

		<guid isPermaLink="false">http://www.flashsystems.de/?p=1530</guid>
		<description><![CDATA[Einen Satz, den sich jeder Programmierer über den Schreibtisch hängen sollte, habe ich in einem Interview mit James Gosling (einem der Urväter von Java) gefunden: »I think in any kind of design, you must drive for simplicity all the time. If you don’t, complexity will nail you.« 1 James Gosling on Java, May 2001 ↩]]></description>
			<content:encoded><![CDATA[<p>Einen Satz, den sich jeder Programmierer über den Schreibtisch hängen sollte, habe ich in einem Interview mit James Gosling (einem der Urväter von Java) gefunden:</p>

<blockquote>
  <p>»I think in any kind of design, you must drive for simplicity all the time. If you don’t, complexity will nail you.«<span id="more-1530"></span> <sup id="fnref:1"><a href="#fn:1" rel="footnote">1</a></sup></p>
</blockquote>

<div class="footnotes">
<hr />
<ol>

<li id="fn:1">
<p><a href="http://www.artima.com/intv/gosling33.html">James Gosling on Java, May 2001</a> <a href="#fnref:1" rev="footnote">↩</a></p>
</li>

</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.flashsystems.de/articles/1530/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Eclipse RSE zeigt falsche Dateien</title>
		<link>http://www.flashsystems.de/articles/1487</link>
		<comments>http://www.flashsystems.de/articles/1487#comments</comments>
		<pubDate>Wed, 17 Aug 2011 05:00:08 +0000</pubDate>
		<dc:creator>dgoss</dc:creator>
				<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Knowledge Base]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[HowTo]]></category>

		<guid isPermaLink="false">http://www.flashsystems.de/?p=1487</guid>
		<description><![CDATA[Das RSE-Plugin für Eclipse erlaubt es, Dateien auf entfernten Systemen zu bearbeiten und sogar Code entfernt zu compilieren. Ich verwende es überwiegend um bequem PHP-Dateien auf einem LAMP-Server zu bearbeiten. Leider kommt es ab und an vor, dass sich RSE und der Server über den Inhalt des Arbeitsverzeichnisses nicht ganz einig sind. Es hat mich [...]]]></description>
			<content:encoded><![CDATA[<p>Das <a href="http://www.eclipse.org/tm/">RSE-Plugin</a> für Eclipse erlaubt es, Dateien auf entfernten Systemen zu bearbeiten und sogar Code entfernt zu compilieren. Ich verwende es überwiegend um bequem PHP-Dateien auf einem <a href="http://de.wikipedia.org/wiki/LAMP">LAMP-Server</a> zu bearbeiten. Leider kommt es ab und an vor, dass sich RSE und der Server über den Inhalt des Arbeitsverzeichnisses nicht ganz einig sind.<span id="more-1487"></span>
Es hat mich etwas Zeit gekostet herauszufinden, dass auch das Löschen des Cache und viele andere im Internet empfohlene Tricks hier nicht weiterhelfen. Die Lösung des Problems ist so trivial, dass man einfach nicht darauf kommt:</p>

<p>Einfach das Eclipse-Projekt im »Package Explorer« über den Menüpunkt »Close Project« im Kontextmenü des Projektes schließen und anschließend über »Open Project« wieder öffnen. Dann synchronisiert RSE die Dateien wieder und die Diskrepanzen sind verschwunden.</p>

<p>Dieses Vorgehen habe ich mit Eclipse Helios SR1 und SR2 ausprobiert und es hat jedes mal geklappt.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flashsystems.de/articles/1487/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java: The Good Parts</title>
		<link>http://www.flashsystems.de/articles/1500</link>
		<comments>http://www.flashsystems.de/articles/1500#comments</comments>
		<pubDate>Sat, 13 Aug 2011 15:54:16 +0000</pubDate>
		<dc:creator>dgoss</dc:creator>
				<category><![CDATA[Grabbelkiste]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.flashsystems.de/?p=1500</guid>
		<description><![CDATA[Ich weiß, ich weiß, mein Update-Elan hält sich in letzter Zeit sehr in Grenzen. Aber es sind einige (interessante) Artikel in Vorbereitung. Aber darum geht es hier überhaupt nicht. Gestern war ich im Buchladen und als ich das hier gesehen habe, musste ich es einfach fotografieren: Das schmale Buch in der Mitte heißt »Java: The [...]]]></description>
			<content:encoded><![CDATA[<p>Ich weiß, ich weiß, mein Update-Elan hält sich in letzter Zeit sehr in Grenzen. Aber es sind einige (interessante) Artikel in Vorbereitung. Aber darum geht es hier überhaupt nicht.</p>

<p>Gestern war ich im Buchladen und als ich das hier gesehen habe, musste ich es einfach fotografieren:<span id="more-1500"></span></p>

<div id="attachment_1501" class="wp-caption aligncenter" style="width: 310px"><a class="medialink" href="http://www.flashsystems.de/articles/1500/java_thegoodparts" rel="attachment wp-att-1501"><img src="http://www.flashsystems.de/wp-content/uploads/java_theGoodParts-300x224.jpg" alt="" title="Java: The Good Parts" width="300" height="224" class="size-medium wp-image-1501" /></a><p class="wp-caption-text">Java: The Good Parts</p></div>

<p>Das schmale Buch in der Mitte heißt »Java: The Good Parts« und ist — wie man unschwer erkennen kann — das dünnste Buch im gesamten Java Regal. Tja, das deckt sich ziemlich gut mit meinen Java-Erfahrungen… <img src='http://www.flashsystems.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>

<h2>Grabbelkiste</h2>

<p>Ich nehme diesen Post zum Anlass die neue Kategorie »Grabbelkiste« zu eröffnen. Wenn mir etwas auffällt, das mit IT zu tun hat und von dem ein Foto evtl. zur Belustigung beitragen könnte, werde ich es hier veröffentlichen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flashsystems.de/articles/1500/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Firefox 4 Add-On-Empfehlungen</title>
		<link>http://www.flashsystems.de/articles/1288</link>
		<comments>http://www.flashsystems.de/articles/1288#comments</comments>
		<pubDate>Fri, 17 Jun 2011 18:16:17 +0000</pubDate>
		<dc:creator>dgoss</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[FireFox]]></category>

		<guid isPermaLink="false">http://www.flashsystems.de/?p=1288</guid>
		<description><![CDATA[Nun, da die Version 4 immer mehr Verbreitung findet, ist es an der Zeit, meine Add-On-Empfehlungen für Firefox etwas zu überarbeiten und zu aktualisieren. Vielleicht ist ja auch hier das eine oder andere Plugin dabei, welches Sie noch nicht kannten… Add-Ons Add-Ons rüsten Firefox mit neuen Funktionen und Fähigkeiten aus. Die folgenden Add-Ons sind aus [...]]]></description>
			<content:encoded><![CDATA[<p>Nun, da die Version 4 immer mehr Verbreitung findet, ist es an der Zeit, meine Add-On-Empfehlungen für Firefox etwas zu überarbeiten und zu aktualisieren.</p>

<p>Vielleicht ist ja auch hier das eine oder andere Plugin dabei, welches Sie noch nicht kannten…
<span id="more-1288"></span></p>

<h1>Add-Ons</h1>

<p>Add-Ons rüsten Firefox mit neuen Funktionen und Fähigkeiten aus. Die folgenden Add-Ons sind aus meiner Sicht ein Muss für jeden Firefox-Nutzer.</p>

<h2>Close Tab by Double Click</h2>

<p>War schon beim letzten mal dabei und erlaubt es, Tabs über einen Doppelklick auf den Tab zu schließen. Besonders praktisch bei hohen Bildschirmauflösungen, wo das Spiel »Triff das X« schon zu einer kleinen Geduldsprobe ausarten kann.</p>

<p><a href="https://addons.mozilla.org/de/firefox/addon/5610/">Seite des Add-Ons</a></p>

<h2>Cookie Monster</h2>

<p><div id="attachment_405" class="wp-caption alignright" style="width: 156px"><a class="medialink" href="http://www.flashsystems.de/articles/373/cookiemonster" rel="attachment wp-att-405"><img src="http://www.flashsystems.de/wp-content/uploads/CookieMonster-146x150.png" alt="Menü des CookieMonster Add-Ons" title="CookieMonster" width="146" height="150" class="size-thumbnail wp-image-405" /></a><p class="wp-caption-text">CookieMonster Add-On</p></div>
Auch dieses Add-On, welches Cookies frisst, war schon unter Firefox 3.6.x unverzichtbar. Es blockiert unerwünschte Cookies die alle möglichen Webseiten auf dem Rechner hinterlassen. Über ein Icon in der Statusleiste kann genau konfiguriert werden, welche Webseiten Cookies platzieren dürfen. Auch Ausnahmen nur für Session Cookies oder eine Browsersitzung sind möglich.</p>

<p><a href="https://addons.mozilla.org/de/firefox/addon/4703/">Seite des Add-Ons</a></p>

<h2>Read It Later</h2>

<p><div id="attachment_1314" class="wp-caption alignright" style="width: 116px"><a class="medialink" href="http://www.flashsystems.de/articles/1288/readitlater" rel="attachment wp-att-1314"><img src="http://www.flashsystems.de/wp-content/uploads/readitlater-106x150.png" alt="Read It Later Menü" title="Read It Later" width="106" height="150" class="size-thumbnail wp-image-1314" /></a><p class="wp-caption-text">Read It Later Add-On</p></div>
Manchmal stößt man beim Suchen im Web auf eine Seite, die man gerne später lesen möchte. Read It Later erlaubt es, Webseiten zwischenzuspeichern. Hierfür braucht man einen »Read It Later«-Account (nur Benutzername und Kennwort sind erforderlich) und dieses Add-On. Da es Read It Later auch für Android und Apple iOS gibt, kann man so die gefundene Webseite bequem auf seinem Tablet (<a href="http://www.flashsystems.de/articles/1166">oder E-Book</a>) lesen.</p>

<h2>Password Hasher</h2>

<p><div id="attachment_1297" class="wp-caption alignright" style="width: 160px"><a class="medialink" href="http://www.flashsystems.de/articles/1288/pwhasher" rel="attachment wp-att-1297"><img src="http://www.flashsystems.de/wp-content/uploads/pwhasher-150x60.png" alt="Masterkennwortdialog des Pasword Hasher Plugins." title="Password Hasher" width="150" height="60" class="size-thumbnail wp-image-1297" /></a><p class="wp-caption-text">Password Hasher Add-On</p></div>
Eigentlich sollte man für jede Webseite ein eigenes Kennwort verwenden. Doch wer kann sich diese ganzen Kennwörter merken. Besser, als einfach für jede Webseite das gleiche Kennwort zu nutzen, ist dieses Add-On. Es verknüpft ein Masterpasswort mit dem Namen der Seite und errechnet daraus ein eindeutiges Kennwort. So muss man sich nur das Masterpasswort merken und kann trotzdem für jede Webseite ein eindeutiges Kennwort nutzen. Darüber hinaus kann der Quelltext der Erweiterung im Git-Repository eingesehen werden. Das schafft Vertrauen…</p>

<p><a href="https://addons.mozilla.org/en-US/firefox/addon/password-hasher/">Seite des Add-Ons</a></p>

<h2>Download Status Bar</h2>

<p>Der normale Download-Dialog von Firefox ist auch unter Version 4 nicht besonders praktisch oder übersichtlich. Also muss man auch hier wieder mit diesem Add-On nachhelfen. Es zeigt den Downloadfortschritt in einer Leiste am unteren Rand des Browserfensters an und erlaubt es, heruntergeladene Dateien direkt zu starten oder zu löschen.
<div id="attachment_406" class="wp-caption alignnone" style="width: 310px"><a class="medialink" href="http://www.flashsystems.de/articles/373/downloadstatusbar" rel="attachment wp-att-406"><img src="http://www.flashsystems.de/wp-content/uploads/DownloadStatusBar-300x26.png" alt="" title="Download Status Bar" width="300" height="26" class="size-medium wp-image-406" /></a><p class="wp-caption-text">Die Download Status Bar</p></div></p>

<p><a href="https://addons.mozilla.org/de/firefox/addon/26/">Seite des Add-Ons</a></p>

<h2>NoScript</h2>

<p><div id="attachment_410" class="wp-caption alignright" style="width: 159px"><a class="medialink" href="http://www.flashsystems.de/articles/373/noscript" rel="attachment wp-att-410"><img src="http://www.flashsystems.de/wp-content/uploads/NoScript-149x150.png" alt="Hauptmenü des NoScript Add-Ons" title="NoScript" width="149" height="150" class="size-thumbnail wp-image-410" /></a><p class="wp-caption-text">NoScript Add-On</p></div>
Auch in Version 4 des Firefox sind Javascript und Flash eine Plage. Überall blinkt und hupt es. Dieses Add-On bietet eine Möglichkeit, der Flut Herr zu werden. Es blockiert Javascript und Flash und erlaubt, gezielt einzelne Seiten freizuschalten. Auch Regeln und temporäre Freischaltungen sind möglich. Ein mächtiges Werkzeug für mehr Sicherheit und deutlich weniger »Hup und Blink«.</p>

<p><a href="https://addons.mozilla.org/de/firefox/addon/722/">Seite des Add-Ons</a></p>

<h2>Strg-Tab</h2>

<p><div id="attachment_409" class="wp-caption alignright" style="width: 160px"><a class="medialink" href="http://www.flashsystems.de/articles/373/strgtab" rel="attachment wp-att-409"><img src="http://www.flashsystems.de/wp-content/uploads/StrgTab-150x47.png" alt="" title="Strg+Tab" width="150" height="47" class="size-thumbnail wp-image-409" /></a><p class="wp-caption-text">Strg+Tab Add-On</p></div>
Zeigt beim Drücken auf [Strg]+[Tab] eine Übersicht mit Thumbnails der offenen Tabs an. Auch wenn Firefox 4 bereits eine Tab-Verwaltung eingebaut hat, erlaubt dieses Plugin noch immer eine schnellere Navigation zwischen den Tabs.</p>

<p><a href="https://addons.mozilla.org/de/firefox/addon/5244/">Seite des Add-Ons</a></p>

<h2>RoTab</h2>

<p>Für RoTab einen Screenshot zu zeigen ist eine gewisse Herausforderung. Das Plugin erlaubt es mit dem Mausrad zwischen den Tabs zu wechseln. Es lassen sich verschiedene HotKeys einstellen (z.B. die Shift-Taste) und auch sonst lässt sich das Add-On sehr gut an die persönlichen Vorlieben anpassen.</p>

<p><a href="https://addons.mozilla.org/en-US/firefox/addon/rotab-244874/">Seite des Add-Ons</a></p>

<h2>BlockSite</h2>

<p>Mittlerweile genügt es nicht mehr, Seiten, welchen man seine Daten lieber nicht anvertrauen möchte, nicht aufzurufen. Facebook und Co. sind dank Web 2.0 überall vertreten und fast jede Webseite brüstet sich mit Social-Networking-Features. Wer trotzdem die Kontrolle über seine Daten und sein Surfverhalten behalten möchte, dem möchte ich Block Site empfehlen. Dieses Plugin erlaubt es, einzelne Webseiten zu blockieren. Anschließend kann Firefox diese Seiten nicht mehr finden und auch keine Scripte oder IFrames von diesen Seiten laden. Die Möglichkeit Wildcards wie * und ? zu verwenden macht diese Lösung deutlich flexibler als beispielsweise das Blocken der Seiten über die Hosts-Datei.
<div id="attachment_1366" class="wp-caption alignnone" style="width: 310px"><a class="medialink" href="http://www.flashsystems.de/articles/1288/blocksite" rel="attachment wp-att-1366"><img src="http://www.flashsystems.de/wp-content/uploads/BlockSite-300x35.png" alt="BlockSite Informationszeile" title="BlockSite" width="300" height="35" class="size-medium wp-image-1366" /></a><p class="wp-caption-text">BlockSite Informationszeile</p></div></p>

<p><a href="https://addons.mozilla.org/de/firefox/addon/blocksite/">Seite des Add-Ons</a></p>

<h2>Speed Dial</h2>

<p><div id="attachment_1369" class="wp-caption alignright" style="width: 157px"><a class="medialink" href="http://www.flashsystems.de/articles/1288/speeddial" rel="attachment wp-att-1369"><img src="http://www.flashsystems.de/wp-content/uploads/SpeedDial-147x150.png" alt="Startseite mit Speed Dial" title="Speed Dial" width="147" height="150" class="size-thumbnail wp-image-1369" /></a><p class="wp-caption-text">Startseite mit Speed Dial</p></div>
Speed Dial erlaubt das schnelle Anwählen von Webseiten mit Hilfe von Kurzwahltasten. Die Angabe der Nummer bei gedrückter Steuerungstaste (STRG) öffnet sofort eine der Webseiten. Die Kacheln lassen sich als Startseite setzen und erlauben so komfortablen Zugriff auf häufig benötigte Webseiten. Die Vorschaubildchen aktualisieren sich — falls gewünscht — in regelmäßigen Intervallen. So kann auch das aktuelle Wetter oder ein Regenradar auf der Startseite landen.</p>

<p><a href="https://addons.mozilla.org/de/firefox/addon/speed-dial/">Seite des Add-Ons</a></p>

<h2>MyBookmarks</h2>

<p><div id="attachment_1386" class="wp-caption alignright" style="width: 160px"><a class="medialink" href="http://www.flashsystems.de/articles/1288/mybookmarks" rel="attachment wp-att-1386"><img src="http://www.flashsystems.de/wp-content/uploads/MyBookmarks-150x110.png" alt="about:mybookmarks" title="MyBookmarks Startseite" width="150" height="110" class="size-thumbnail wp-image-1386" /></a><p class="wp-caption-text">about:mybookmarks</p></div>
Leider kann Speed Dial keine Übersicht über die Favoriten darstellen. Doch dieses Manko lässt sich mit dem Plugin MyBookmarks beheben. Eigentlich ist es ziemlich simpel. Es erzeugt eine HTML-Seite, auf welcher alle Favoriten dargestellt werden. Sogar löschen und umbenennen ist möglich. Die Seite lässt sich in Speed Dial über die URL »about:mybookmarks« einbinden und wird dann als eigene Kachel dargestellt.</p>

<p><a href="https://addons.mozilla.org/de/firefox/addon/mybookmarks/">Seite des Add-Ons</a></p>

<h1>Themes</h1>

<p>Das neue Theme von Firefox 4 fügt sich perfekt in Windows 7 ein. Daher ist — aus meiner Sicht — kein eigenes Theme mehr notwendig. Das von mir empfohlene Vista-Aero-Theme funktioniert nicht mehr unter Firefox 4.</p>

<h1>Wörterbücher</h1>

<p>Die Rechtschreibkorrekturfunktion in Firefox ist gerade für Forenpostings und das Bearbeiten einer Webseite sehr praktisch. Auch unter Firefox 4 können die bisherigen Wörterbücher genutzt werden:</p>

<h2>Wörterbuch Englisch/US</h2>

<p><a href="https://addons.mozilla.org/de/firefox/addon/3497/">Wörterbuch</a></p>

<h2>Wörterbuch Deutsch (neue Rechtschreibung)</h2>

<p><a href="https://addons.mozilla.org/de/firefox/addon/3077/">Wörterbuch</a></p>

<h1>Ausgeschieden</h1>

<p>Einige Plugins haben es nicht mehr in die Liste geschafft. Nachfolgend habe ich diese aufgelistet und eine kurze Begründung für deren Ausscheiden hinzugefügt.</p>

<h2>IE Tab 2</h2>

<p>Funktioniert unter Firefox 4 nicht mehr richtig. Außerdem sollten es nun die meisten Webseiten geschafft haben auch mit Firefox kompatibel zu sein.</p>

<h2>ScrapBook</h2>

<p>Seitdem ich Read It Later (siehe oben) verwende, nutze ich dieses Plugin kaum mehr.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flashsystems.de/articles/1288/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

