<?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>olex.biz</title>
	<atom:link href="http://olex.biz/feed/langswitch_lang/de/" rel="self" type="application/rss+xml" />
	<link>http://olex.biz</link>
	<description>Seite eines Informatikstudenten</description>
	<lastBuildDate>Wed, 27 Jul 2011 13:23:41 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Bildverarbeitung mit ImageMagick in Picasa</title>
		<link>http://olex.biz/software/using-imagemagick-for-batch-image-processing-in-picasa/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=using-imagemagick-for-batch-image-processing-in-picasa</link>
		<comments>http://olex.biz/software/using-imagemagick-for-batch-image-processing-in-picasa/#comments</comments>
		<pubDate>Wed, 27 Jul 2011 13:23:41 +0000</pubDate>
		<dc:creator>Olexandr Savchuk</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[DIY]]></category>

		<guid isPermaLink="false">http://olex.biz/?p=283</guid>
		<description><![CDATA[Unser Büro verwendet Google Picasa für diverse Bildbearbeitunsaufgaben. Wir nutzen die Software schon seit Jahren und sind sehr zufrieden damit. Allerdings fehlen manche uns benötigte Funktionen, und manche sind nur über mehrere komplexe Schritte erreichbar; das ist bei der Arbeitsmenge bei uns nicht akzeptabel. Meine Lösung des Problems besteht aus zwei Elementen: dem Kommandozeilentool ImageMagick [...]]]></description>
			<content:encoded><![CDATA[<p>Unser Büro verwendet <a href="http://picasa.google.com/" title="Google Picasa" target="_blank">Google Picasa</a> für diverse Bildbearbeitunsaufgaben. Wir nutzen die Software schon seit Jahren und sind sehr zufrieden damit. Allerdings fehlen manche uns benötigte Funktionen, und manche sind nur über mehrere komplexe Schritte erreichbar; das ist bei der Arbeitsmenge bei uns nicht akzeptabel. Meine Lösung des Problems besteht aus zwei Elementen: dem Kommandozeilentool <a href="http://www.imagemagick.org/script/index.php" title="ImageMagick" target="_blank">ImageMagick</a> für automatisierte Bildverarbeitung, sowie der <a href="http://code.google.com/intl/de-DE/apis/picasa/docs/button_api.html" title="Picasa Button API" target="_blank">Picasa Button API</a>.</p>
<p>
<div class="pie-gallery alignGalleryLeft">
<div class="pie-item" style="margin:3px 3px 0px 0px;">
<p class="pie-img-wrapper"><a href="http://lh5.ggpht.com/-LuA0LAXr5NI/Ti89NnP_7BI/AAAAAAAACfA/byANL2PndxE/stitcher-2.JPG?imgmax=800" rel="lightbox[2011-6-3-0-17-16]"><img src="http://lh5.ggpht.com/-LuA0LAXr5NI/Ti89NnP_7BI/AAAAAAAACfA/byANL2PndxE/stitcher-2.JPG?imgmax=144" alt="stitcher-2.JPG" width="144" height="80" class="pie-img"/></a></p>
</div>
<div class="pie-item" style="margin:3px 3px 0px 0px;">
<p class="pie-img-wrapper"><a href="http://lh3.ggpht.com/-WznaqfgnYIU/Ti887FF7BtI/AAAAAAAACes/vlR8r2ESnuk/2008%252520C-Class%2525204matic%252520007.jpg?imgmax=800" rel="lightbox[2011-6-3-0-17-16]"><img src="http://lh3.ggpht.com/-WznaqfgnYIU/Ti887FF7BtI/AAAAAAAACes/vlR8r2ESnuk/2008%252520C-Class%2525204matic%252520007.jpg?imgmax=144" alt="2008 C-Class 4matic 007.jpg" width="144" height="108" class="pie-img"/></a></p>
</div>
<div class="pie-item" style="margin:3px 3px 0px 0px;">
<p class="pie-img-wrapper"><a href="http://lh5.ggpht.com/-xWzI2yvRZH8/Ti8870LCLUI/AAAAAAAACew/_fKDGDoZaXE/2008%252520C-Class%2525204matic%252520009.jpg?imgmax=800" rel="lightbox[2011-6-3-0-17-16]"><img src="http://lh5.ggpht.com/-xWzI2yvRZH8/Ti8870LCLUI/AAAAAAAACew/_fKDGDoZaXE/2008%252520C-Class%2525204matic%252520009.jpg?imgmax=144" alt="2008 C-Class 4matic 009.jpg" width="144" height="108" class="pie-img"/></a></p>
</div>
<div class="pie-item" style="margin:3px 3px 0px 0px;">
<p class="pie-img-wrapper"><a href="http://lh4.ggpht.com/-9MEdtqyDDlU/Ti888kdWSQI/AAAAAAAACe0/bOke1AGxoy0/Collage%252520000814.jpg?imgmax=800" rel="lightbox[2011-6-3-0-17-16]"><img src="http://lh4.ggpht.com/-9MEdtqyDDlU/Ti888kdWSQI/AAAAAAAACe0/bOke1AGxoy0/Collage%252520000814.jpg?imgmax=144" alt="Collage 000814.jpg" width="96" height="144" class="pie-img"/></a></p>
</div>
</div>
<p>Die Beispielanwendung, die ich weiter erkläre, ist ein Werkzeug zum Zusammenfügen mehrerer Bilder in eins in einem Klick direkt aus der Picasa Ordneranzeige. Es sollte nicht schwer fallen, den Code für andere Bildverarbeitungszwecke zu modifizieren.</p>
<p><span id="more-283"></span></p>
<p><b>Teil 1: Der Button in Picasa</b></p>
<p>Als erstes brauchen wir einen Button im Picasa-Interface, der unsere ImageMagick-Scripte aufruft. Um den Button mit der Picasa Button API zu erstellen, folgen wir diesen Schritten:</p>
<ol>
<li>
<p><strong>Eine <em>PBF</em> Datei schreiben.</strong><br />
Eine <em>PBF</em> Datei ist effektiv eine XML-Textdatei, die unseren Button für Picasa umschreibt. Hier ist die <em>PBF</em> von meinem Button:</p>
<pre name="code" class="xml">
&lt;?xml version="1.0" encoding="utf-8" ?&gt;
&lt;buttons format="1" version="1"&gt;
  &lt;button id="{ca234ae3-6340-40c3-a46b-51a126bb887c}" type="dynamic"&gt;
    &lt;label&gt;Combine&lt;/label&gt;
    &lt;tooltip&gt;Combine images vertically and save as a new image&lt;/tooltip&gt;
    &lt;action verb="trayexec"&gt;
      &lt;param name="exe_name" value="stitch.cmd" /&gt;
      &lt;param name="exe_path" value="S:\Tools\" /&gt;
    &lt;/action&gt;
  &lt;/button&gt;
&lt;/buttons&gt;
</pre>
<p>Obwohl der Code in einem <code>buttons</code> Container eingeschlossen ist, kann derzeit nur ein Button pro <em>PBF </em>beschrieben werden.</p>
<p>Man achte auf den <a href="http://de.wikipedia.org/wiki/Globally_Unique_Identifier" title="GUID auf Wikipedia" target="_blank">GUID</a> in dem <code>button/id</code> Attribut. Man braucht einen neuen GUID für jeden Button, den man erstellt. Die PBF Datei muss mit diesem GUID benannt werden, <code>{ca234ae3-6340-40c3-a46b-51a126bb887c}.pbf</code> in meinem Beispiel.</p>
<p>Die Elemente <code>label</code> und <code>tooltip</code> sollten keine genauere Beschreibung brauchen. Der nächste wichige Element ist <code>action</code>; hier wird beschrieben, was der Click auf dem Button auslösen soll. Es gibt mehrere Möglichkeiten in der Button API; was ich benutze ist ein simpler Programmstarter, der einen Batch-Script <code>stitch.cmd</code> ausführt, der sich in  <code>S:\Tools\</code> befindet (bei uns ist S:\ ein Neztlaufwerk von Büroserver). Der Script wird im weiteren beschrieben.</p>
</li>
<li>
<p><em>(optional)</em> <strong>Ein Symbol erstellen.</strong><br />
Man kann einen eigenen Symbol für die Taste anlegen. Das Symbol muss in einer Photoshop <em>PSD</em> Datei enthalten sein, die ebenfalls mit dem GUID benannt ist (<code>{ca234ae3-6340-40c3-a46b-51a126bb887c}.psd</code>), in einem Layer. Falls man ein Symbol benutzen möchte, muss eine zusätzliche Zeile in der <em>PBF</em> eingefügt werden, in dem <code>button</code> Element:</p>
<p><code>&lt;icon name="{ca234ae3-6340-40c3-a46b-51a126bb887c}.psd/layer" src="pbz"/&gt;</code>
</li>
<li>
<p><strong>Button in eine <em>PBZ</em> Datei packen.</strong><br />
Eine <em>PBZ</em> Datei ist nichts anderes als ein ZIP-Archiv mit der <em>PBF</em> (und dem Symbol, sollte man eins verwenden wollen), mit der Dateierweiterung <code>.pbz</code>. Dieses Archiv ist der Installationspaket für Picasa, also sollte die Datei sinnvoll benannt werden, da Picasa die installierten Buttons nach deren <em>PBZ</em> Dateinamen unterscheidet. Eine <em>PBZ</em> Datei kann auch mehrere <em>PBF</em>s enthalten, somit kann man mehrere Buttons auf einmal installieren.</p>
</li>
</ol>
<p><b>Teil 2: Der ImageMagick Skript</b></p>
<p>Da ImageMagick einige Kommandozeilenbefehle zur Verfügung stellt, ist der simpelste Weg, diese zu automatisieren, eine Windows Batch-Datei zu schreiben. Hier ist mein Code für die <code>stitch.cmd</code> Datei, der mehrere Bilder vertikal zusammenfügt und als ein neues Bild speichert:</p>
<pre name="code" class="c">
@echo off
cd /D "C:\Program Files\ImageMagick-6.7.1-Q16"

rem --- Output filename
set OUTFOLDER=%~dp1
set OUTFILENAME="%OUTFOLDER%Collage.jpg"

rem --- Imagemagick
for /f "delims=" %%a in ('identify -format "%%[fx:w]" %1') do @set WIDTH=%%a
montage -mode concatenate -resize %WIDTH% -tile 1x %* %OUTFILENAME%
</pre>
<p>Wenn der Picasa-Button angeklickt wird, wird der Skript aufgerufen, mit den vollständigen Dateinamen aller ausgewählten Bilder als Argumente.</p>
<p>Erst wechseln wir den aktuellen Pfad in den Installationsordner von ImageMagick, um Probleme mit PATH zu vermeiden. Danach wird ein Dateiname für die Collage generiert, der den Pfad des ersten Bilds aus Picasa (erstes Argument) und einen neuen Dateinamen enthält.</p>
<p>Dann benutzen wir einen kleinen Batch-Hack mit einer <code>for</code>-Schleife, um die Ausgabe eines Befehls (<code>identify</code>) in eine Variable zu speichern. Das gibt uns die Breite des ersten Bilds. Schließlich rufen wir das Tool <code>montage</code> aus dem ImageMagick-Paket, was unsere Bilder zu einem zusammenfügt, und geben den neuen Dateinamen als letztes Argument mit. </p>
<p><b>Teil 3: Installation</b></p>
<p>Die Installation ist ein wenig kompliziert. Picasa kann die Button-Datei nicht einfach direkt öffnen, es muss mit einem Browser und einer speziellen URL in einem Link gemacht werden. Man muss die <em>PBZ</em> irgendwo über einen <code>http://</code> Link erreichbar platzieren; da ich auf meinem Rechner einen lokalen Server für Entwicklung habe, benutze ich einfach das. Hier ist der Code der HTML-Datei, um den Button in Picasa zu installieren:</p>
<pre name="code" class="html">
&lt;html&gt;
 &lt;body&gt;
  &lt;a href="picasa://importbutton/?url=http://localhost/olex-stitcher.pbz"&gt;Install&lt;/a&gt;
 &lt;/body&gt;
&lt;/html&gt;
</pre>
<p>Einfach die Datei im Browser ihrer Wahl öffnen und den Link anklicken. Picasa startet dann und fragt, welche Buttons man installieren möchte (nur eine Möglichkeit hier, es sei denn man hat mehrere Buttons in der  <em>PBZ</em>), und wo diese auf der Buttonleiste platziert werden sollen. Alles auswählen, und das war&#8217;s.</p>
]]></content:encoded>
			<wfw:commentRss>http://olex.biz/software/using-imagemagick-for-batch-image-processing-in-picasa/feed/langswitch_lang/de/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android: ListView mit Lautstärketasten scrollen</title>
		<link>http://olex.biz/android/scroll-listview-with-volume-keys/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=scroll-listview-with-volume-keys</link>
		<comments>http://olex.biz/android/scroll-listview-with-volume-keys/#comments</comments>
		<pubDate>Wed, 23 Feb 2011 23:47:06 +0000</pubDate>
		<dc:creator>Olexandr Savchuk</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[code]]></category>

		<guid isPermaLink="false">http://olex.biz/?p=255</guid>
		<description><![CDATA[Basically, what you need to do is to override the <code>dispatchKeyEvent()</code> method in your Activity, and intercept key presses for the volume keys, leaving the other keys untouched. This is how I did it, fairly straightforward...]]></description>
			<content:encoded><![CDATA[<p>Eine Listenansicht in einem Android App mit Lautstärketasten scrollen ist eigentlich recht simpel. Ohne das zu wissen, habe ich gestern etwas Zeit in der vergeblichen Suche nach einem Tutorial verbraucht; nachdem ich den Code geschrieben und mit der Version 1.0 von <a href="http://olex.biz/android/quoter">Quoter</a> released habe, dachte ich, es wäre keine schlechte Idee selbst ein Tutorial zu schreiben.</p>
<p>Was man erst machen muss, ist die <code>dispatchKeyEvent()</code> Methode in der Activity überschreiben, und somit die Tastendruckevents der Lautstärketasten abfangen. Hier ist meine Lösung:</p>
<pre name="code" class="java">@Override
public boolean dispatchKeyEvent(KeyEvent event) {
	if (event.getAction() == KeyEvent.ACTION_DOWN) {
		switch (event.getKeyCode()) {
		case KeyEvent.KEYCODE_VOLUME_UP:
			scrollToPrevious();
			return true;
		case KeyEvent.KEYCODE_VOLUME_DOWN:
			scrollToNext();
			return true;
		}
	}
	if (event.getAction() == KeyEvent.ACTION_UP
		&#038;&#038; (event.getKeyCode() == KeyEvent.KEYCODE_VOLUME_UP
			|| event.getKeyCode() == KeyEvent.KEYCODE_VOLUME_DOWN)) {
		return true;
	}
	return super.dispatchKeyEvent(event);
}</pre>
<p>Es muss beachtet werden, dass bei dem <code>ACTION_DOWN</code> Event unser Code ausgeführt wird. Der <code>ACTION_UP</code> Event wird zusätzlich abgefangen, um den Systemsound beim Loslassen des Buttons zu unterdrücken. Dann wird <code>event.getKeyCode()</code> überprüft, und wenn es eine der Lautstärketasten ist, werden die entsprechenden Scrollfunktionen aufgerufen und true zurückgegeben. In allen anderen Fällen (andere Events oder Tasten) wird das Event an den Standarthändler weitergereicht.</p>
<p>Weiter kommen die Funktionen zum eigentlichen Scrollen des <code>ListView</code>. Das Problem hier ist, man kann zu beliebigen x/y Koordinaten mit der <code>scrollTo()</code> Methode scrollen. Aber was ich brauchte, ist zu einem Eintrag der Liste zu scrollen, da Quoter ein Leseapp ist und man zum nächsten Zitat zum Lesen scrollen möchte. Also machte ich folgendes:</p>
<pre name="code" class="java">private void scrollToNext() {
	int currentPosition = getListView().getFirstVisiblePosition();
	if (currentPosition == getListView().getCount() - 1)
		return;
	getListView().setSelection(currentPosition + 1);
	getListView().clearFocus();
}

private void scrollToPrevious() {
	int currentPosition = getListView().getFirstVisiblePosition();
	if (currentPosition == 0)
		return;
	getListView().setSelection(currentPosition - 1);
	getListView().clearFocus();
}</pre>
<p>Erst wird die Listenposition des ersten sichtbaren Elements auf dem Bildschirm bestimmt. Wenn es schon die letzte Position in der Scrollrichtung ist, wird nichts gemacht. Sonst wird die Auswahl in der Liste auf das nächste Element gesetzt; das scrollt die Liste automatisch zu dem Element (dasselbe passiert beim Navigieren in der Liste mit dem D-Pad). Das einzige Problem bleibt, dass das Element nun ausgewählt und somit hinterleuchtet ist, was beim Lesen stört. Indem wir den Fokus von der ganzen Liste wegnehmen, wird die Auswahl aufgehoben. Fertig.</p>
]]></content:encoded>
			<wfw:commentRss>http://olex.biz/android/scroll-listview-with-volume-keys/feed/langswitch_lang/de/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>OpenTTD WebConfig</title>
		<link>http://olex.biz/software/spiele/openttd-webconfig/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=openttd-webconfig</link>
		<comments>http://olex.biz/software/spiele/openttd-webconfig/#comments</comments>
		<pubDate>Sun, 10 Oct 2010 15:07:02 +0000</pubDate>
		<dc:creator>Olexandr Savchuk</dc:creator>
				<category><![CDATA[Spiele]]></category>
		<category><![CDATA[openttd]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[Spiele]]></category>

		<guid isPermaLink="false">http://olex.biz/?p=246</guid>
		<description><![CDATA[Ein Tool zum OpenTTD Server per Web-Interface konfigurieren. Getestet mit OpenTTD 1.0.4, Apache2 and PHP 5.2.4 auf Windows und Ubuntu. Kein Grund, warum es auf sonstigen Plattformen (gegeben PHP) nicht funktionieren sollte. Projekt gehostet bei OpenTTDCoop DevZone: http://dev.openttdcoop.org/projects/ottd-webconfig]]></description>
			<content:encoded><![CDATA[<p>
<div class="pie-gallery alignGalleryLeft">
<div class="pie-item" style="margin:3px 3px 0px 0px;">
<p class="pie-img-wrapper"><a href="http://lh3.ggpht.com/_fCjhR7xUM2U/TLHRL96-zsI/AAAAAAAACKE/xR7DzrsTBXo/1.jpg?imgmax=800" rel="lightbox[2010-9-0-17-2-56]"><img src="http://lh3.ggpht.com/_fCjhR7xUM2U/TLHRL96-zsI/AAAAAAAACKE/xR7DzrsTBXo/1.jpg?imgmax=144" alt="1.jpg" width="144" height="101" class="pie-img"/></a></p>
</div>
<div class="pie-item" style="margin:3px 3px 0px 0px;">
<p class="pie-img-wrapper"><a href="http://lh6.ggpht.com/_fCjhR7xUM2U/TLHRMao76kI/AAAAAAAACKI/m240B2b0tOM/2.jpg?imgmax=800" rel="lightbox[2010-9-0-17-2-56]"><img src="http://lh6.ggpht.com/_fCjhR7xUM2U/TLHRMao76kI/AAAAAAAACKI/m240B2b0tOM/2.jpg?imgmax=144" alt="2.jpg" width="144" height="114" class="pie-img"/></a></p>
</div>
</div>
<p>Ein Tool zum <a href="http://olex.biz/blog/software/spiele/openttd-junctions/">OpenTTD</a> Server per Web-Interface konfigurieren.</p>
<p>Getestet mit OpenTTD 1.0.4, Apache2 and PHP 5.2.4 auf Windows und Ubuntu. Kein Grund, warum es auf sonstigen Plattformen (gegeben PHP) nicht funktionieren sollte.</p>
<p>Projekt gehostet bei <em>OpenTTDCoop DevZone</em>:<br />
<a href="http://dev.openttdcoop.org/projects/ottd-webconfig">http://dev.openttdcoop.org/projects/ottd-webconfig</a></p>
]]></content:encoded>
			<wfw:commentRss>http://olex.biz/software/spiele/openttd-webconfig/feed/langswitch_lang/de/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>OpenTTD &#8211; Kreuzungen und Stationen</title>
		<link>http://olex.biz/software/spiele/openttd-junctions/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=openttd-junctions</link>
		<comments>http://olex.biz/software/spiele/openttd-junctions/#comments</comments>
		<pubDate>Thu, 07 Oct 2010 00:01:13 +0000</pubDate>
		<dc:creator>Olexandr Savchuk</dc:creator>
				<category><![CDATA[Spiele]]></category>
		<category><![CDATA[openttd]]></category>
		<category><![CDATA[Spiele]]></category>

		<guid isPermaLink="false">http://olex.biz/?p=241</guid>
		<description><![CDATA[OpenTTD ist eine freie Neuimplementierung (Clone) der Engine des 1994 erschienenen Simulationsspieles Transport Tycoon Deluxe von Chris Sawyer. Wikipedia Habe mal wieder angefangen, das Spiel OpenTTD zu spielen &#8211; ist Jahre her, dass ich damit viel gemacht habe. OpenTTD ist, wie oben beschrieben, ein Open Source Remake des Strategiespiels Transport Tycoon Deluxe aus den Zeiten [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p><strong>OpenTTD</strong> ist eine freie Neuimplementierung (Clone) der Engine des 1994 erschienenen Simulationsspieles Transport Tycoon Deluxe von Chris Sawyer.</p>
<div align="right"><i>Wikipedia</i></div>
</blockquote>
<p>Habe mal wieder angefangen, das Spiel OpenTTD zu spielen &#8211; ist Jahre her, dass ich damit viel gemacht habe. OpenTTD ist, wie oben beschrieben, ein Open Source Remake des Strategiespiels Transport Tycoon Deluxe aus den Zeiten von MS-DOS. Das Ziel ist es, auf der Karte ein Transportnetzwerk für mehrere Arten von Güter und Passagiere aus Zügen, Straßenfahrzeugen, Schiffen und Flugzeugen aufzubauen und damit mehr Geld zu machen, als die Konkurrenz. Hier ein Paar Screenshots:</p>
<p>
<div class="pie-gallery alignGalleryLeft">
<div class="pie-item" style="margin:3px 3px 0px 0px;">
<p class="pie-img-wrapper"><a href="http://lh4.ggpht.com/_fCjhR7xUM2U/TKxqIOKXxfI/AAAAAAAACIE/Ms2UeH9_Bno/20091018_panswat_tongvorarat.jpg?imgmax=800" rel="lightbox[2010-9-3-14-25-56]"><img src="http://lh4.ggpht.com/_fCjhR7xUM2U/TKxqIOKXxfI/AAAAAAAACIE/Ms2UeH9_Bno/20091018_panswat_tongvorarat.jpg?imgmax=144" alt="20091018_panswat_tongvorarat.jpg" width="144" height="108" class="pie-img"/></a></p>
</div>
<div class="pie-item" style="margin:3px 3px 0px 0px;">
<p class="pie-img-wrapper"><a href="http://lh4.ggpht.com/_fCjhR7xUM2U/TKxqK6_cBwI/AAAAAAAACIQ/VkXd3vu92PI/20100313_rakim-89_d.jpg?imgmax=800" rel="lightbox[2010-9-3-14-25-56]"><img src="http://lh4.ggpht.com/_fCjhR7xUM2U/TKxqK6_cBwI/AAAAAAAACIQ/VkXd3vu92PI/20100313_rakim-89_d.jpg?imgmax=144" alt="20100313_rakim-89_d.jpg" width="144" height="82" class="pie-img"/></a></p>
</div>
<div class="pie-item" style="margin:3px 3px 0px 0px;">
<p class="pie-img-wrapper"><a href="http://lh6.ggpht.com/_fCjhR7xUM2U/TKxqahEfLbI/AAAAAAAACIY/tcshbpr1n10/20090821_luuk_de_vries.jpg?imgmax=800" rel="lightbox[2010-9-3-14-25-56]"><img src="http://lh6.ggpht.com/_fCjhR7xUM2U/TKxqahEfLbI/AAAAAAAACIY/tcshbpr1n10/20090821_luuk_de_vries.jpg?imgmax=144" alt="20090821_luuk_de_vries.jpg" width="144" height="72" class="pie-img"/></a></p>
</div>
<div class="pie-item" style="margin:3px 3px 0px 0px;">
<p class="pie-img-wrapper"><a href="http://lh3.ggpht.com/_fCjhR7xUM2U/TKxqblRIjlI/AAAAAAAACIc/Z8GEs--bKdM/20090913_luuk_de_vries.jpg?imgmax=800" rel="lightbox[2010-9-3-14-25-56]"><img src="http://lh3.ggpht.com/_fCjhR7xUM2U/TKxqblRIjlI/AAAAAAAACIc/Z8GEs--bKdM/20090913_luuk_de_vries.jpg?imgmax=144" alt="20090913_luuk_de_vries.jpg" width="144" height="75" class="pie-img"/></a></p>
</div>
</div>
<p>Effiziente Bahnnetze in dem Spiel können durchaus sehr komplex sein und von Hunderten von Zügen befahren werden. Solche Netzwerke kommen nicht ohne große Kreuzungen aus, und der Verkehrsfluss wird stark dadurch bedingt, wie effizient die Kreuzungen und die Stationen gebaut sind. In diesem Post sammele ich Screenshots von meinen Kreuzungs- sowie Stationsentwürfen, die vielleicht auch einem oder anderen OpenTTD-Spieler hilfreich sein könnten.</p>
<p>
<div class="pie-gallery alignGalleryLeft">
<div class="pie-item" style="margin:3px 3px 0px 0px;">
<p class="pie-img-wrapper"><a href="http://lh3.ggpht.com/_fCjhR7xUM2U/TKxmNEKOFgI/AAAAAAAACH0/Uoo6umaDbHA/junction-3-t.jpg?imgmax=800" rel="lightbox[2010-9-3-16-3-9]" title="3-Lane ML T-Junction"><img src="http://lh3.ggpht.com/_fCjhR7xUM2U/TKxmNEKOFgI/AAAAAAAACH0/Uoo6umaDbHA/junction-3-t.jpg?imgmax=144" alt="3-Lane ML T-Junction" width="144" height="76" class="pie-img"/></a></p>
<p class="pie-caption" style="width:144;">3-Lane ML T-Junction</p>
</div>
<div class="pie-item" style="margin:3px 3px 0px 0px;">
<p class="pie-img-wrapper"><a href="http://lh4.ggpht.com/_fCjhR7xUM2U/TKxmPsGhZdI/AAAAAAAACH4/CjpNExCHbjM/junction-2-t.jpg?imgmax=800" rel="lightbox[2010-9-3-16-3-9]" title="2-Lane ML T-Junction"><img src="http://lh4.ggpht.com/_fCjhR7xUM2U/TKxmPsGhZdI/AAAAAAAACH4/CjpNExCHbjM/junction-2-t.jpg?imgmax=144" alt="2-Lane ML T-Junction" width="144" height="82" class="pie-img"/></a></p>
<p class="pie-caption" style="width:144;">2-Lane ML T-Junction</p>
</div>
<div class="pie-item" style="margin:3px 3px 0px 0px;">
<p class="pie-img-wrapper"><a href="http://lh6.ggpht.com/_fCjhR7xUM2U/TKxmRjkLQpI/AAAAAAAACH8/aZ58jqRrIJ8/junction-2-x.jpg?imgmax=800" rel="lightbox[2010-9-3-16-3-9]" title="2-Lane ML X-Junction"><img src="http://lh6.ggpht.com/_fCjhR7xUM2U/TKxmRjkLQpI/AAAAAAAACH8/aZ58jqRrIJ8/junction-2-x.jpg?imgmax=144" alt="2-Lane ML X-Junction" width="144" height="73" class="pie-img"/></a></p>
<p class="pie-caption" style="width:144;">2-Lane ML X-Junction</p>
</div>
<div class="pie-item" style="margin:3px 3px 0px 0px;">
<p class="pie-img-wrapper"><a href="http://lh5.ggpht.com/_fCjhR7xUM2U/TKyBiUA3WAI/AAAAAAAACJo/R2rqRRZ8jzI/station-entry-presignal-bypass.jpg?imgmax=800" rel="lightbox[2010-9-3-16-3-9]" title="Station entry, presignal"><img src="http://lh5.ggpht.com/_fCjhR7xUM2U/TKyBiUA3WAI/AAAAAAAACJo/R2rqRRZ8jzI/station-entry-presignal-bypass.jpg?imgmax=144" alt="Station entry, presignal" width="144" height="70" class="pie-img"/></a></p>
<p class="pie-caption" style="width:144;">Station entry, presignal</p>
</div>
<div class="pie-item" style="margin:3px 3px 0px 0px;">
<p class="pie-img-wrapper"><a href="http://lh3.ggpht.com/_fCjhR7xUM2U/TKyBjMr6m2I/AAAAAAAACJs/TunR41DgMh8/station-exit-presignal.jpg?imgmax=800" rel="lightbox[2010-9-3-16-3-9]" title="Station exit, multi-lane"><img src="http://lh3.ggpht.com/_fCjhR7xUM2U/TKyBjMr6m2I/AAAAAAAACJs/TunR41DgMh8/station-exit-presignal.jpg?imgmax=144" alt="Station exit, multi-lane" width="144" height="104" class="pie-img"/></a></p>
<p class="pie-caption" style="width:144;">Station exit, multi-lane</p>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://olex.biz/software/spiele/openttd-junctions/feed/langswitch_lang/de/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Ein Tag im Leben eines Programmierers</title>
		<link>http://olex.biz/blog/day-in-programmers-life/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=day-in-programmers-life</link>
		<comments>http://olex.biz/blog/day-in-programmers-life/#comments</comments>
		<pubDate>Tue, 16 Mar 2010 18:35:34 +0000</pubDate>
		<dc:creator>Olexandr Savchuk</dc:creator>
				<category><![CDATA[Spaß]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[Übersetzung]]></category>

		<guid isPermaLink="false">http://olex.biz/?p=220</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<div class="pie-gallery alignGalleryLeft">
<div class="pie-item" style="margin:3px 3px 0px 0px;">
<p class="pie-img-wrapper"><a href="http://lh6.ggpht.com/_fCjhR7xUM2U/S5_LimX0pII/AAAAAAAABwA/Hu-3XaUmYPU/pdpIk.jpg" rel="lightbox[2010-2-2-19-20-0]"><img src="http://lh6.ggpht.com/_fCjhR7xUM2U/S5_LimX0pII/AAAAAAAABwA/Hu-3XaUmYPU/pdpIk.jpg?imgmax=200" alt="pdpIk.jpg" width="200" class="pie-img"/></a></p>
</div>
<div class="pie-item" style="margin:3px 3px 0px 0px;">
<p class="pie-img-wrapper"><a href="http://lh4.ggpht.com/_fCjhR7xUM2U/S5_LnB_UdiI/AAAAAAAABwE/AjPxMSOLkd0/300px-Challenge_vs_skill.svg.jpg?imgmax=800" rel="lightbox[2010-2-2-19-20-0]"><img src="http://lh4.ggpht.com/_fCjhR7xUM2U/S5_LnB_UdiI/AAAAAAAABwE/AjPxMSOLkd0/300px-Challenge_vs_skill.svg.jpg?imgmax=144" alt="300px-Challenge_vs_skill.svg.jpg" width="144" height="140" class="pie-img"/></a></p>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://olex.biz/blog/day-in-programmers-life/feed/langswitch_lang/de/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Backlight mit Kaltlichtkathoden</title>
		<link>http://olex.biz/blog/ccfl-backlight/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ccfl-backlight</link>
		<comments>http://olex.biz/blog/ccfl-backlight/#comments</comments>
		<pubDate>Fri, 12 Mar 2010 14:12:11 +0000</pubDate>
		<dc:creator>Olexandr Savchuk</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[DIY]]></category>
		<category><![CDATA[Hardware]]></category>

		<guid isPermaLink="false">http://olex.biz/?p=211</guid>
		<description><![CDATA[Ich arbeite an meinem PC oft im Dunkeln, und mir ist bekannt, dass es für die Augen nicht besonders gesund ist, in einen hellen Bildschirm mit dunklem Hintergrund zu sehen. Ich habe mehrere Varianten angesehen, das Problem zu lösen, unter Anderen ein blaues Ikea LED Backlight bei einem Bekannten, aber kam nie dazu, so etwas [...]]]></description>
			<content:encoded><![CDATA[<p>Ich arbeite an meinem PC oft im Dunkeln, und mir ist bekannt, dass es für die Augen nicht besonders gesund ist, in einen hellen Bildschirm mit dunklem Hintergrund zu sehen. Ich habe mehrere Varianten angesehen, das Problem zu lösen, unter Anderen ein blaues Ikea LED Backlight bei einem Bekannten, aber kam nie dazu, so etwas selbst zu machen. Eine Zeit lang hatte ich sogar einfach meine Schreibtischlampe umgebogen, sodass sie hinter dem Monitor war &#8211; das awr aber eindeutig keine Dauerlösung.</p>
<p>Die Lösung kam unerwartet &#8211; auf <a href="https://www.zack-zack.eu/html/index.html">Alternate ZackZack</a> sah ich ein Paar <a href="http://de.wikipedia.org/wiki/Kaltlichtkathode">Kaltlichtkathoden</a> für €4,99. Nach einer Hornbach-Fahrt und ausgebenenen 7€ sitze ich hier nun im Dunkeln und schreibe diesen Post, ohne dass sich meine Augen auch im kleinsten anstrengen <img src='http://olex.biz/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><span id="more-211"></span></p>
<p>Die Kaltlichtkathoden von ZackZack waren von der Firma Sharkoon und kamen mit einem Schalter, Trafo und einem Y-Kabel für den Stromanschluss am Netzteil (offensichtlich für Casemodder gedacht):</p>
<p><a href="http://lh4.ggpht.com/_fCjhR7xUM2U/S5lUie3VHzI/AAAAAAAABsk/SWqHGRgw0j4/DSC03289.JPG?imgmax=800" rel="lightbox[2010-2-5-15-7-0]"><img src="http://lh4.ggpht.com/_fCjhR7xUM2U/S5lUie3VHzI/AAAAAAAABsk/SWqHGRgw0j4/DSC03289.JPG?imgmax=144" alt="DSC03289.JPG" width="144" height="108" class="pie-img" style="margin:3px 3px 0px 0px;"/></a></p>
<p>&#8220;Das ist alles fein&#8221;, dachte ich, &#8220;aber erstens, wo nehm ich nun den Strom her (der Rechner ist ja unterm Tisch, und der Monitor oben drauf), und zweitens, wo mache ich den Schalter hin, sodass es bequem ist?&#8221;. Ich entschied, den Stromkabel um etwa 2 Meter zu verlängern, und den Schalter samt aller Kabel und Trafo zusammen mit den Lampen an die Rückseite des Monitor zu tun, sodass er an der Unterseite erreicht werden kann. Danach fuhr ich zum Hornbach und habe folgende Gegenstände für weitere 7€ gekauft:</p>
<p><a href="http://lh5.ggpht.com/_fCjhR7xUM2U/S5lUioXt3nI/AAAAAAAABso/wzX9Y4vNPKI/DSC03290.JPG?imgmax=800" rel="lightbox[2010-2-5-15-8-3]"><img src="http://lh5.ggpht.com/_fCjhR7xUM2U/S5lUioXt3nI/AAAAAAAABso/wzX9Y4vNPKI/DSC03290.JPG?imgmax=144" alt="DSC03290.JPG" width="144" height="108" class="pie-img" style="margin:3px 3px 0px 0px;"/></a></p>
<p>Mein Einkauf bestand aus: einer Plastikbox für die Kabel und den Schalter, Kabelbinder und Verbindungsklemmen (da ich weder ein Lötkolben noch Lust auf zu viel Arbeit hatte), Isolierband und ein paar Meter Kabel.</p>
<p>Den Y-Kabel hab ich nach der Abzweigung von dem Stromanschluss getrennt und mithilfe der Klemmen mit 2m von meinem Kabel wieder zusammengefügt. Den Schalter habe ich in die Seite der Box reingetan, und die Klemmen und restliche Kabel auch dort drin versteckt.</p>
<p><a href="http://lh3.ggpht.com/_fCjhR7xUM2U/S5lUlhHX5DI/AAAAAAAABtM/BaDVSEOdRh8/DSC03299.JPG?imgmax=800" rel="lightbox[2010-2-5-15-8-17]"><img src="http://lh3.ggpht.com/_fCjhR7xUM2U/S5lUlhHX5DI/AAAAAAAABtM/BaDVSEOdRh8/DSC03299.JPG?imgmax=144" alt="DSC03299.JPG" width="144" height="108" class="pie-img" style="margin:3px 3px 0px 0px;"/></a></p>
<p>Dann habe ich den Trafo und die Kathoden drangemacht, und den Kabel in meinem PC angeschlossen, und das Ganze eingeschaltet. Es geht!</p>
<p><a href="http://lh4.ggpht.com/_fCjhR7xUM2U/S5lUm6XTsBI/AAAAAAAABtc/vGJLAWdvYRE/DSC03303.JPG?imgmax=800" rel="lightbox[2010-2-5-15-8-27]"><img src="http://lh4.ggpht.com/_fCjhR7xUM2U/S5lUm6XTsBI/AAAAAAAABtc/vGJLAWdvYRE/DSC03303.JPG?imgmax=144" alt="DSC03303.JPG" width="144" height="108" class="pie-img" style="margin:3px 3px 0px 0px;"/></a></p>
<p>Es blieb eine Kleinigkeit &#8211; das Ganze am Monitor anzubringen. Die Box habe ich mit Tesa Powerstrips neben der Unterseite des Monitors angeklebt &#8211; so kann man den Schalter bequem erreichen, und man sieht sie nicht von vorne. Für den Trafo und die Lampen selbst kamen in der Packung praktische Anklebepads, mit den ich sie auch angebracht habe.</p>
<p>
<div class="pie-gallery alignGalleryLeft">
<div class="pie-item" style="margin:3px 3px 0px 0px;">
<p class="pie-img-wrapper"><a href="http://lh5.ggpht.com/_fCjhR7xUM2U/S5lUn3dY3nI/AAAAAAAABto/0NfvmNaFZIQ/DSC03306.JPG?imgmax=800" rel="lightbox[2010-2-5-15-8-43]"><img src="http://lh5.ggpht.com/_fCjhR7xUM2U/S5lUn3dY3nI/AAAAAAAABto/0NfvmNaFZIQ/DSC03306.JPG?imgmax=144" alt="DSC03306.JPG" width="144" height="108" class="pie-img"/></a></p>
</div>
<div class="pie-item" style="margin:3px 3px 0px 0px;">
<p class="pie-img-wrapper"><a href="http://lh3.ggpht.com/_fCjhR7xUM2U/S5lUoikH8ZI/AAAAAAAABtw/TvmUAiOwJyE/DSC03308.JPG?imgmax=800" rel="lightbox[2010-2-5-15-8-43]"><img src="http://lh3.ggpht.com/_fCjhR7xUM2U/S5lUoikH8ZI/AAAAAAAABtw/TvmUAiOwJyE/DSC03308.JPG?imgmax=144" alt="DSC03308.JPG" width="144" height="108" class="pie-img"/></a></p>
</div>
</div>
<p>Ergebnis: 12,99€ und fünf Minuten Arbeit ergaben einen funktionierenden Backlight. Und jeder kann so was machen.</p>
]]></content:encoded>
			<wfw:commentRss>http://olex.biz/blog/ccfl-backlight/feed/langswitch_lang/de/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android App &#8211; Quoter</title>
		<link>http://olex.biz/android/quoter/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=quoter</link>
		<comments>http://olex.biz/android/quoter/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 10:01:24 +0000</pubDate>
		<dc:creator>Olexandr Savchuk</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[Spaß]]></category>

		<guid isPermaLink="false">http://olex.biz/?p=202</guid>
		<description><![CDATA[Android Market: Quoter Lustige Internetzitate lesen. Perfektes Zeitvertreib für Warteschlangen, Busfahrten und mehr. Mit der App kann man: - Die letzten lustigen Zitate genießen - Die Lieblingsquellen für Zitate wählen - Zitate für später Lesen speichern - Zitate via SMS, Email, Facebook u.Ä. teilen Wenn Ihnen meine App gefällt, kaufen Sie die Spendeversion und werden [...]]]></description>
			<content:encoded><![CDATA[<p>
<div class="pie-gallery alignGalleryLeft">
<div class="pie-item" style="margin:3px 3px 0px 0px;">
<p class="pie-img-wrapper"><a href="http://lh6.ggpht.com/_fCjhR7xUM2U/TWZBbcFiUAI/AAAAAAAACSU/V8u04q4kGFk/quoter-1.0-0.jpg?imgmax=800" rel="lightbox[2011-1-4-12-33-49]"><img src="http://lh6.ggpht.com/_fCjhR7xUM2U/TWZBbcFiUAI/AAAAAAAACSU/V8u04q4kGFk/quoter-1.0-0.jpg?imgmax=144" alt="quoter-1.0-0.jpg" width="86" height="144" class="pie-img"/></a></p>
</div>
<div class="pie-item" style="margin:3px 3px 0px 0px;">
<p class="pie-img-wrapper"><a href="http://lh4.ggpht.com/_fCjhR7xUM2U/TWZBZuZrA1I/AAAAAAAACSE/qW8NXYUgkWY/quoter-1.0-2.jpg?imgmax=800" rel="lightbox[2011-1-4-12-33-49]"><img src="http://lh4.ggpht.com/_fCjhR7xUM2U/TWZBZuZrA1I/AAAAAAAACSE/qW8NXYUgkWY/quoter-1.0-2.jpg?imgmax=144" alt="quoter-1.0-2.jpg" width="86" height="144" class="pie-img"/></a></p>
</div>
<div class="pie-item" style="margin:3px 3px 0px 0px;">
<p class="pie-img-wrapper"><a href="http://lh4.ggpht.com/_fCjhR7xUM2U/TWZBaXFMt-I/AAAAAAAACSI/otjhz2Midqk/quoter-1.0-3.jpg?imgmax=800" rel="lightbox[2011-1-4-12-33-49]"><img src="http://lh4.ggpht.com/_fCjhR7xUM2U/TWZBaXFMt-I/AAAAAAAACSI/otjhz2Midqk/quoter-1.0-3.jpg?imgmax=144" alt="quoter-1.0-3.jpg" width="86" height="144" class="pie-img"/></a></p>
</div>
<div class="pie-item" style="margin:3px 3px 0px 0px;">
<p class="pie-img-wrapper"><a href="http://lh6.ggpht.com/_fCjhR7xUM2U/TWZBZZ06llI/AAAAAAAACSA/RW7xu4088Dc/quoter-1.0-1.jpg?imgmax=800" rel="lightbox[2011-1-4-12-33-49]"><img src="http://lh6.ggpht.com/_fCjhR7xUM2U/TWZBZZ06llI/AAAAAAAACSA/RW7xu4088Dc/quoter-1.0-1.jpg?imgmax=144" alt="quoter-1.0-1.jpg" width="86" height="144" class="pie-img"/></a></p>
</div>
<div class="pie-item" style="margin:3px 3px 0px 0px;">
<p class="pie-img-wrapper"><a href="http://lh4.ggpht.com/_fCjhR7xUM2U/TWZBa7JGdII/AAAAAAAACSM/YQ62gNxl8XE/quoter-1.0-4.jpg?imgmax=800" rel="lightbox[2011-1-4-12-33-49]"><img src="http://lh4.ggpht.com/_fCjhR7xUM2U/TWZBa7JGdII/AAAAAAAACSM/YQ62gNxl8XE/quoter-1.0-4.jpg?imgmax=144" alt="quoter-1.0-4.jpg" width="86" height="144" class="pie-img"/></a></p>
</div>
</div>
<p><a href="https://market.android.com/details?id=biz.olex.android.quoter">Android Market: Quoter</a> <a href="http://olex.biz/wp-content/uploads/2010/03/qrcode-1.png"><img src="http://olex.biz/wp-content/uploads/2010/03/qrcode-1.png" alt="Quoter QR Code" title="qrcode-quoter-s" width="140" height="140" class="alignright size-full wp-image-206" /></a></p>
<p>Lustige Internetzitate lesen. Perfektes Zeitvertreib für Warteschlangen, Busfahrten und mehr. </p>
<p>Mit der App kann man:<br />
- Die letzten lustigen Zitate genießen<br />
- Die Lieblingsquellen für Zitate wählen<br />
- Zitate für später Lesen speichern<br />
- Zitate via SMS, Email, Facebook u.Ä. teilen</p>
<p>Wenn Ihnen meine App gefällt, kaufen Sie <a href="https://market.android.com/details?id=biz.olex.android.quoter.donate">die Spendeversion</a> und werden Sie die Werbung los!</p>
<p>Alle Kommentare und Vorschläge sind hier im Market oder per Email immer willkommen.</p>
<p>Zitatquellen in Deutsch:<br />
- german-bash.org: latest, random<br />
- ibash.de<br />
- swissbash.ch<br />
- abash.at<br />
- SMSvonGesternNacht<br />
- school-bash.org</p>
<p>Zitatquellen in Englisch:<br />
- bash.org: latest, random, random >0, top100<br />
- qdb.us<br />
- quotebucket.org<br />
- fmylife.com</p>
<p>Zitatquellen in Russisch und Ukrainisch:<br />
- bash.org.ru: latest, random, abyss, abyssbest, all with pagination support!<br />
- ibash.org.ru<br />
- ithappens.ru<br />
- zadolba.li<br />
- bash.bynets.org (bash.org.by)<br />
- ukrbash.org<br />
- killmepls.ru<br />
- nefart.ru</p>
]]></content:encoded>
			<wfw:commentRss>http://olex.biz/android/quoter/feed/langswitch_lang/de/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>§ 162. Kreativitätskrise</title>
		<link>http://olex.biz/blog/writers-block/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=writers-block</link>
		<comments>http://olex.biz/blog/writers-block/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 03:25:04 +0000</pubDate>
		<dc:creator>Olexandr Savchuk</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Übersetzung]]></category>

		<guid isPermaLink="false">http://olex.biz/?p=191</guid>
		<description><![CDATA[Stellen wir ein einfaches Experiment. Zählen wir alle uns bekannten Wörter nacheinander auf (oder bitten wir einen Freund). Die ersten zehn Wörter werden schnell gefunden sein. Danach suchen und nennen wir Objekte im Raum um uns herum &#8211; weitere zehn oder so. Dann erinnern wir uns an ein Paar interessanter Wörter aus der fernen Ecke [...]]]></description>
			<content:encoded><![CDATA[<p>Stellen wir ein einfaches Experiment. Zählen wir alle uns bekannten Wörter nacheinander auf (oder bitten wir einen Freund). Die ersten zehn Wörter werden schnell gefunden sein. Danach suchen und nennen wir Objekte im Raum um uns herum &#8211; weitere zehn oder so. Dann erinnern wir uns an ein Paar interessanter Wörter aus der fernen Ecke unseres Vokabulars. Und dann halten wir, weil uns die Wörter ausgehen.</p>
<p>Wenn jemand versucht, etwas Bekanntes mit seinen Wörtern zu umschreiben, entsteht kein Defizit an Wörtern. Jemand wird eine gute Beschreibung machen, ein Anderer eine nicht so gute &#8211; das bestimmt den Skill. Aber keiner hält auf der Suche nach dem nächsten nötigen Wort bei einer einfachen Beschreibung an.</p>
<p>Eine Ideenkrise kann nur dann entstehen, wenn das Ausdenken von etwas neuem und ungewöhnlichen zum Ziel des Designers wird.</p>
<p>Etwas neues und ungewöhnliches kann nicht ausgedacht werden &#8211; es kann nur während der Arbeit an einem bestimmten Ziel selbst entstehen. Genau so unterscheidet sich eine Wörteraufzählung von einer Geschichte.</p>
<p>Eine Kreativitätskrise ist die Sackgasse eines sinnlosen Wegs.</p>
<p><em>&copy; <a href="http://www.artlebedev.ru/kovodstvo/sections/162/">art.lebedev</a>, meine Übersetzung aus dem Russischen</em></p>
]]></content:encoded>
			<wfw:commentRss>http://olex.biz/blog/writers-block/feed/langswitch_lang/de/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SVN für Webseiten &#8211; aufpassen</title>
		<link>http://olex.biz/blog/svn-website-deployment/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=svn-website-deployment</link>
		<comments>http://olex.biz/blog/svn-website-deployment/#comments</comments>
		<pubDate>Wed, 17 Feb 2010 03:28:25 +0000</pubDate>
		<dc:creator>Olexandr Savchuk</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://olex.biz/?p=161</guid>
		<description><![CDATA[Viele Webmaster verwenden SVN nicht nur als ein Versionskontrollsystem für die Entwicklung ihrer Projekte, sondern auch als ein Tool zum Uploaden der fertigen Webseite auf den Server. Eine Sicherheitslücke wurde in dem System entdeckt, wovon viele nicht wissen, und sie stellt eine ernste Bedrohung für viele Webseiten dar &#8211; denn unter Umständen können Quellcodes und [...]]]></description>
			<content:encoded><![CDATA[<p>Viele Webmaster verwenden SVN nicht nur als ein Versionskontrollsystem für die Entwicklung ihrer Projekte, sondern auch als ein Tool zum Uploaden der fertigen Webseite auf den Server. Eine Sicherheitslücke wurde in dem System entdeckt, wovon viele nicht wissen, und sie stellt eine ernste Bedrohung für viele Webseiten dar &#8211; denn unter Umständen können Quellcodes und Konfigurationsdateien von Dritten eingesehen werden. Um die Art dieser Lücke zu verstehen, muss man sich ein wenig in die Technik hinter SVN vertiefen.</p>
<p>In jedem Ordner, der von SVN verwaltet wird, wird ein verstecktes Unterordner <strong>.svn</strong> angelegt. In diesem werden eine Liste aller Dateien und Unterordner sowie die aktuellen Versionen aller Dateien selbst gelagert. Die Datei <strong>.svn/entries</strong> enthält die Namen aller Dateien und Ordner und einige für SVN relevante technische Informationen, und das Unterverzeichnis <strong>.svn/text-base</strong> beinhaltet alle Dateien des Ordners, mit <em>.svn-base</em> als Zusatzerweiterung.</p>
<pre>
project
  |- <em>index.php</em>
  |- <em>config.php</em>
  |- dir
  |    |- .svn
  |    |    |- <em>entries</em>
  |    |    '- text-base
  |    |         '- <em>file.ext</em>.svn-base
  |    '- <em>file.ext</em>
  |- .svn
  |    |- <em>entries</em>
  |    |- text-base
  |    |    |- <em>index.php</em>.svn-base
  |    |    '- <em>config.php</em>.svn-base
  |    '- ...
  '- ...
</pre>
<p>Normalerweise ist das Verzeichnis <strong>.svn</strong> versteckt, und darauf wird nicht viel geachtet. Allerdings werden die meisten Webserver mit Standardeinstellungen diesen Ordner nicht anders als alle Anderen betrachten &#8211; das heißt, wenn die Dateien daraus direkt angefordert werden, werden diese dem Benutzer angezeigt. So kann man sich aus der <strong>entries</strong> Datei die Liste aller Dateinamen besorgen, und da die Erweiterungen dieser Dateien im <strong>text-base</strong> Ordner geändert sind, werden Skript-Dateien nicht wie gewöhnlich von Server ausgeführt (z.B. PHP), sondern der Quellcode wird wie es vorliegt direkt ausgegeben.</p>
<p>Diese Sicherheitslücke wurde vor einiger Zeit von einer Gruppe russischer Programmierer entdeckt. Diese haben einen Scan vieler Webseiten in den .com, .de und .ru Zonen durchgeführt, und die Ergebnisse waren erstaunlich. Hunderte von Webseitenbesitzern wurden über Lücken in ihren Projekten informiert. Nachdem die Lücke auf den meisten großen Seiten geschlossen wurde, wurden die Informationen auf einem großen russischen IT-Blog <a href="http://habrahabr.ru/blogs/infosecurity/70330/">Habrahabr</a> veröffentlicht.</p>
<p>Es gibt mehrere Arten, sich von dieser Lücke zu schützen. Die einfachsten sind:
<ul>
<li>Zugriff auf <strong>.svn</strong> mittels <strong>.htaccess</strong> (auf Apache) oder anderen Konfigurationsmitteln sperren.</li>
<li>Beim Benutzen von <strong>svn export</strong> anstatt des gewöhnlichen <strong>svn checkout</strong> wird das Verzeichnis <strong>.svn</strong> erst gar nicht erstellt.</li>
</ul>
<p>Wobei diese Methoden recht offensichtlich erscheinen (und das sind sie), war ich sehr überrascht, als ich mal einen kleinen Test mit einigen Webseiten aus meinen Favoriten durchgeführt habe. Von da aus, wenn Sie Webmaster sind und hiervon nicht gewusst haben &#8211; Vorsicht.</p>
]]></content:encoded>
			<wfw:commentRss>http://olex.biz/blog/svn-website-deployment/feed/langswitch_lang/de/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How Fanboys See Operating Systems</title>
		<link>http://olex.biz/fun/how-fanboys-see-operating-systems/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=how-fanboys-see-operating-systems</link>
		<comments>http://olex.biz/fun/how-fanboys-see-operating-systems/#comments</comments>
		<pubDate>Sat, 19 Dec 2009 19:06:57 +0000</pubDate>
		<dc:creator>Olexandr Savchuk</dc:creator>
				<category><![CDATA[Spaß]]></category>

		<guid isPermaLink="false">http://olex.biz/?p=158</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><img src="http://i.imgur.com/YRoqC.jpg" alt="" /></p>
]]></content:encoded>
			<wfw:commentRss>http://olex.biz/fun/how-fanboys-see-operating-systems/feed/langswitch_lang/de/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

