<?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 &#187; Software</title>
	<atom:link href="http://olex.biz/category/blog/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://olex.biz</link>
	<description>Website of a computer science student and a generally good man</description>
	<lastBuildDate>Wed, 27 Jul 2011 13:23:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Using ImageMagick for batch image processing 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[Our office is using Google Picasa to process a lot of images. We&#8217;ve used Picasa for years now, and it&#8217;s a very convenient instrument for our needs. However, while it has many built-in functions to process and modify images, there are some missing, or only available through complicated multi-stage user interaction, which is unacceptable for [...]]]></description>
			<content:encoded><![CDATA[<p>Our office is using <a href="http://picasa.google.com/" title="Google Picasa" target="_blank">Google Picasa</a> to process a lot of images. We&#8217;ve used Picasa for years now, and it&#8217;s a very convenient instrument for our needs. However, while it has many built-in functions to process and modify images, there are some missing, or only available through complicated multi-stage user interaction, which is unacceptable for the amount of work our employees have to get done. My solution to this is a combination of two ingredients: the command-line <a href="http://www.imagemagick.org/script/index.php" title="ImageMagick" target="_blank">ImageMagick toolkit</a> for image processing, and Picasa&#8217;s <a href="http://code.google.com/intl/de-DE/apis/picasa/docs/button_api.html" title="Picasa Button API" target="_blank">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>The example application I&#8217;ll explain here is a utility to combine multiple images into one in one click directly from a Picasa folder view. However, it is very easy to modify this to perform various other batch image processing tasks directly from Picasa.</p>
<p><span id="more-283"></span></p>
<p><b>Part 1: The Picasa button</b></p>
<p>First of all, we will need a button in our Picasa to start our ImageMagick script. To create the button using Picasa Button API, we follow these steps:</p>
<ol>
<li>
<strong>Write a <em>PBF</em> file.</strong><br />
A <em>PBF</em> is basically a simple XML file, that describes our button to Picasa. Here is the <em>PBF</em> file I wrote for my application:</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>Although the whole code is contained within a <code>buttons</code> element, the file can currently only describe one button. </p>
<p>Note the <a href="http://en.wikipedia.org/wiki/Globally_unique_identifier" title="GUID on Wikipedia" target="_blank">GUID</a> in the <code>button/id</code> attribute. You&#8217;ll need a new GUID for every button you make. The PBF must be named using this GUID, <code>{ca234ae3-6340-40c3-a46b-51a126bb887c}.pbf</code> in my case.</p>
<p>The <code>label</code> and <code>tooltip</code> elements shouldn&#8217;t need much explanation. The next important element is <code>action</code>; this describes what the button will actually do when pressed. There are a few actions described in the Button API; the one I use here is a simple executable launch, that starts a batch script <code>stitch.cmd</code>, located in <code>S:\Tools\</code> (in our environment, S:\ is a shared network drive on the office server). The script will be detailed further on.</p>
</li>
<li>
<em>(optional)</em> <strong>Draw an icon.</strong><br />
You can include a custom icon for your button. The icon has to be an Adobe Photoshop <em>PSD</em> file called using your GUID (<code>{ca234ae3-6340-40c3-a46b-51a126bb887c}.psd</code> for me), in a single layer. If you use an icon, you have to include an additional element in your <em>PBF</em>, inside the <code>button</code> element:</p>
<p><code>&lt;icon name="{ca234ae3-6340-40c3-a46b-51a126bb887c}.psd/layer" src="pbz"/&gt;</code>
</li>
<li>
<strong>Package your button into a <em>PBZ</em> file.</strong><br />
A <em>PBZ</em> file is nothing different than a ZIP archive containing your <em>PBF</em> (and the icon, if you want to use one), with its extension changed to <code>.pbz</code>. This file is basically your distribution package, so name it appropriately, since Picasa differentiates its buttons by their <em>PBZ</em> file names. One <em>PBZ</em> can also contain multiple <em>PBF</em> files for multiple buttons at once.</p>
</li>
</ol>
<p><b>Part 2: The ImageMagick batch script</b></p>
<p>Since the ImageMagick package provides command-line utilities, the simplest way to automate them in Windows is a batch file. Here is my <code>stitch.cmd</code> script for merging multiple images together vertically, resizing them all to match the first one&#8217;s width:</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>When called from the Picasa button, the script will get filenames of all currently selected images in Picasa as arguments, including full paths.</p>
<p>First, we change directory to where ImageMagick is installed, to avoid possible problems with PATH. Then we generate a filename for our montage, taking the folder path from the first argument (first selected image from Picasa) and adding our own filename.</p>
<p>After that, we apply a batch hack, using a <code>for</code> loop to save a command output (ImageMagick&#8217;s <code>identify</code>) into a variable. This gives us the width of the first image. Next, we call the ImageMagick&#8217;s <code>montage</code> tool, that will combine all our images in one, additionally providing it with the output filename as a last argument. </p>
<p><b>Part 3: Installation</b></p>
<p>The installation is a bit tricky. Picasa doesn&#8217;t support importing the buttons directly, it can only be done using a browser and a specially formed link to the file. You&#8217;ll need to place your <em>PBZ</em> at some location reachable via an <code>http://</code> link; since I have a local development server running on my PC, I used that. Here is an the HTML file I used to install my script in Picasa:</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>Just open the file in a browser of your choice and click the link. Picasa will open and prompt you to select the button you want to install (only one option here, unless your <em>PBZ</em> contains multiple buttons), and where to place it in the button bar. Do that, and you&#8217;re all done.</p>
<div class="bottomcontainerBox" style="">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Folex.biz%2Fsoftware%2Fusing-imagemagick-for-batch-image-processing-in-picasa%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://olex.biz/software/using-imagemagick-for-batch-image-processing-in-picasa/"></g:plusone>
			</div>
			<div style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://olex.biz/software/using-imagemagick-for-batch-image-processing-in-picasa/"  data-text="Using ImageMagick for batch image processing in Picasa" data-count="horizontal" data-via="olex">Tweet</a>
			</div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div>]]></content:encoded>
			<wfw:commentRss>http://olex.biz/software/using-imagemagick-for-batch-image-processing-in-picasa/feed/langswitch_lang/en/</wfw:commentRss>
		<slash:comments>0</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[Games]]></category>
		<category><![CDATA[openttd]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[games]]></category>

		<guid isPermaLink="false">http://olex.biz/?p=246</guid>
		<description><![CDATA[A tool to configure an OpenTTD server via web interface. Tested with OpenTTD 1.0.4, Apache2 and PHP 5.2.4 on Windows and Ubuntu Linux. No reason it shouldn&#8217;t work on any other platform, given PHP. Project hosted at the OpenTTDCoop DevZone: http://dev.openttdcoop.org/projects/ottd-webconfig Tweet]]></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>A tool to configure an <a href="http://olex.biz/blog/software/spiele/openttd-junctions/">OpenTTD</a> server via web interface.</p>
<p>Tested with OpenTTD 1.0.4, Apache2 and PHP 5.2.4 on Windows and Ubuntu Linux. No reason it shouldn&#8217;t work on any other platform, given PHP.</p>
<p>Project hosted at the <em>OpenTTDCoop DevZone</em>:<br />
<a href="http://dev.openttdcoop.org/projects/ottd-webconfig">http://dev.openttdcoop.org/projects/ottd-webconfig</a></p>
<div class="bottomcontainerBox" style="">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Folex.biz%2Fsoftware%2Fspiele%2Fopenttd-webconfig%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://olex.biz/software/spiele/openttd-webconfig/"></g:plusone>
			</div>
			<div style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://olex.biz/software/spiele/openttd-webconfig/"  data-text="OpenTTD WebConfig" data-count="horizontal" data-via="olex">Tweet</a>
			</div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div>]]></content:encoded>
			<wfw:commentRss>http://olex.biz/software/spiele/openttd-webconfig/feed/langswitch_lang/en/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>OpenTTD &#8211; Junctions and stations</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[Games]]></category>
		<category><![CDATA[openttd]]></category>
		<category><![CDATA[games]]></category>

		<guid isPermaLink="false">http://olex.biz/?p=241</guid>
		<description><![CDATA[OpenTTD is an open source remake and expansion of the 1995 Chris Sawyer game Transport Tycoon Deluxe. It is an &#8220;Urban planning and simulation game&#8221;. Wikipedia I&#8217;ve once again started playing OpenTTD &#8211; it&#8217;s been years now. OpenTTD, as stated above, is an open source remake of a strategy game called Transport Tycoon Deluxe from [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p><strong>OpenTTD</strong> is an open source remake and expansion of the 1995 Chris Sawyer game Transport Tycoon Deluxe. It is an &#8220;Urban planning and simulation game&#8221;.</p>
<div align="right"><i>Wikipedia</i></div>
</blockquote>
<p>I&#8217;ve once again started playing OpenTTD &#8211; it&#8217;s been years now. OpenTTD, as stated above, is an open source remake of a strategy game called Transport Tycoon Deluxe from the MS-DOS times. The goal is to create a transportation network for passengers and cargo using trains, trucks, ships and planes, and to make more money than your opponents. A couple of screenshots to illustrate:</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>Efficient rail networks in the game can become very complex, with hundreds of trains rolling on them. Such networks cannot be built without large intersections, and the traffic flow is strongly influenced by the junction design efficiency. In this post, I&#8217;ll collect a few junction and station designs I made, that could become helpful for some OpenTTD players out there.</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>
<div class="bottomcontainerBox" style="">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Folex.biz%2Fsoftware%2Fspiele%2Fopenttd-junctions%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://olex.biz/software/spiele/openttd-junctions/"></g:plusone>
			</div>
			<div style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://olex.biz/software/spiele/openttd-junctions/"  data-text="OpenTTD &#8211; Junctions and stations" data-count="horizontal" data-via="olex">Tweet</a>
			</div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div>]]></content:encoded>
			<wfw:commentRss>http://olex.biz/software/spiele/openttd-junctions/feed/langswitch_lang/en/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Android App: Darmstadt student canteens</title>
		<link>http://olex.biz/blog/android-mensa/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=android-mensa</link>
		<comments>http://olex.biz/blog/android-mensa/#comments</comments>
		<pubDate>Sun, 01 Nov 2009 21:34:30 +0000</pubDate>
		<dc:creator>Olexandr Savchuk</dc:creator>
				<category><![CDATA[android]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[code]]></category>

		<guid isPermaLink="false">http://olex.biz/?p=149</guid>
		<description><![CDATA[So I&#8217;ve got myself a new and shiny HTC Magic as a replacement for the old and dying Touch. And then I thought: hmm, Android is an open platform, and apps are natively written in Java. I know Java. Why not try to write something? A good idea soon came from a friend: a client [...]]]></description>
			<content:encoded><![CDATA[<p>So I&#8217;ve got myself a new and shiny HTC Magic as a replacement for the old and dying Touch. And then I thought: hmm, Android is an open platform, and apps are natively written in Java. I know Java. Why not try to write something?</p>
<p>A good idea soon came from a friend: a client for the menu of the Mensa, university&#8217;s cafeteria of sorts. So one can look, while walking from the lectures (or sitting in them), what there is to eat today, and whether one doesn&#8217;t rather want to walk straight home. And so, a day, lots of coffee and a lot of googling later, I present you this wonderous Android app to see and download:</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://lh6.ggpht.com/_fCjhR7xUM2U/Su38nCrEQDI/AAAAAAAABgM/s25WYAzN0UA/mensa-screen1.jpg?imgmax=800" rel="lightbox[2009-10-0-22-33-7]"><img src="http://lh6.ggpht.com/_fCjhR7xUM2U/Su38nCrEQDI/AAAAAAAABgM/s25WYAzN0UA/mensa-screen1.jpg?imgmax=144" alt="mensa-screen1.jpg" width="95" 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://lh3.ggpht.com/_fCjhR7xUM2U/Su38nencqNI/AAAAAAAABgQ/v2cwtCOsvPY/screen2.jpg?imgmax=800" rel="lightbox[2009-10-0-22-33-7]"><img src="http://lh3.ggpht.com/_fCjhR7xUM2U/Su38nencqNI/AAAAAAAABgQ/v2cwtCOsvPY/screen2.jpg?imgmax=144" alt="screen2.jpg" width="96" 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://lh5.ggpht.com/_fCjhR7xUM2U/Su38nceeb5I/AAAAAAAABgU/eFUODEy6RZo/screen3.jpg?imgmax=800" rel="lightbox[2009-10-0-22-33-7]"><img src="http://lh5.ggpht.com/_fCjhR7xUM2U/Su38nceeb5I/AAAAAAAABgU/eFUODEy6RZo/screen3.jpg?imgmax=144" alt="screen3.jpg" width="96" 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://lh3.ggpht.com/_fCjhR7xUM2U/Su38nke_1UI/AAAAAAAABgY/CYEVKBEMmhw/screen5.jpg?imgmax=800" rel="lightbox[2009-10-0-22-33-7]"><img src="http://lh3.ggpht.com/_fCjhR7xUM2U/Su38nke_1UI/AAAAAAAABgY/CYEVKBEMmhw/screen5.jpg?imgmax=144" alt="screen5.jpg" width="95" 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://lh5.ggpht.com/_fCjhR7xUM2U/Su3-gUemWhI/AAAAAAAABgc/GrtPEhZGH-w/screen1.jpg?imgmax=800" rel="lightbox[2009-10-0-22-33-7]"><img src="http://lh5.ggpht.com/_fCjhR7xUM2U/Su3-gUemWhI/AAAAAAAABgc/GrtPEhZGH-w/screen1.jpg?imgmax=144" alt="screen1.jpg" width="96" height="144" class="pie-img"/></a></p>
</div>
</div>
<p><!--<br />
The app is not on the market, since I can't be bothered to put it there. And at the install it says it wants access to your phone status and SD card data: I assure you it is the app's own will, I did not make it do that. The permission to use internet connection is intended, obviously, but that's all it does.--></p>
<p>The app is available from the Android Market, and can be found easiest by scanning the following QR Code (if you don&#8217;t have the Barcode Scanner app, go and install it from the Market now, it&#8217;s a must on Android):<br />
<img src="http://stuff.olex.biz/mensa-qr.png" alt="QR Code: Mensen Darmstadt" /></p>
<div class="bottomcontainerBox" style="">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Folex.biz%2Fblog%2Fandroid-mensa%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://olex.biz/blog/android-mensa/"></g:plusone>
			</div>
			<div style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://olex.biz/blog/android-mensa/"  data-text="Android App: Darmstadt student canteens" data-count="horizontal" data-via="olex">Tweet</a>
			</div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div>]]></content:encoded>
			<wfw:commentRss>http://olex.biz/blog/android-mensa/feed/langswitch_lang/en/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Winamp in Windows 7 — win7shell</title>
		<link>http://olex.biz/blog/winamp-windows-7-win7shell/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=winamp-windows-7-win7shell</link>
		<comments>http://olex.biz/blog/winamp-windows-7-win7shell/#comments</comments>
		<pubDate>Sun, 04 Oct 2009 14:04:59 +0000</pubDate>
		<dc:creator>Olexandr Savchuk</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[winamp]]></category>
		<category><![CDATA[windows 7]]></category>

		<guid isPermaLink="false">http://olex.biz/?p=110</guid>
		<description><![CDATA[Many users of Windows 7 are aware of the functions of the new taskbar &#8211; Aero peek, built-in progress bar, overlay status icons and jumplists. Many stock 7 apps use those, including Windows Media Player 12. For the ones who dislike WMP and prefer the old good Winamp, there now also is a possibility to [...]]]></description>
			<content:encoded><![CDATA[<p>Many users of Windows 7 are aware of the functions of the new taskbar &#8211; Aero peek, built-in progress bar, overlay status icons and jumplists. Many stock 7 apps use those, including Windows Media Player 12.</p>
<p>For the ones who dislike WMP and prefer the old good Winamp, there now also is a possibility to make use of these new possibilities. It is granted by a new Winamp plugin, win7shell, available here: <a href="http://code.google.com/p/win7shell/">http://code.google.com/p/win7shell/</a>.</p>
<p>This plugin implements the following:</p>
<p><span id="more-110"></span></p>
<ul>
<li>Progress bar showing the current position of the playing track. Becomes yellow when paused and red when stoppen:<br />
<img src="http://i29.tinypic.com/25uglqe.jpg" alt="image"/>&nbsp;<img src="http://i29.tinypic.com/2iut45x.png" alt="image"/>&nbsp;<img src="http://i26.tinypic.com/2kowb6.jpg" alt="image"/>&nbsp;<img src="http://i26.tinypic.com/fks7rc.jpg" alt="image"/>
</li>
<li>Overlay mini-icons for play, pause and stop, also combined with the progress bar:<br />
<img src="http://i26.tinypic.com/jjux5z.png" alt="image"/>&nbsp;<img src="http://i30.tinypic.com/apg3g2.jpg" alt="image"/>&nbsp;<img src="http://i27.tinypic.com/efnd46.jpg" alt="image"/>&nbsp;<img src="http://i26.tinypic.com/2dabps4.jpg" alt="image"/>
</li>
<li>Aero Peek &#8211; different options of displaying the track information, as well as album art and playback control buttons:<br />
<img src="http://i37.tinypic.com/1980li.png" alt="image"/>&nbsp;<img src="http://i38.tinypic.com/2lad7ih.png" alt="image"/>
</li>
<li>Jumplist &#8211; a list of the recent and most played tracks as well as some frequently used Winamp options, accessed with a right click:<br />
<img src="http://i35.tinypic.com/22kvnq.png" alt="image"/>
</li>
</ul>
<p>Plugin&#8217;s author is actively working on it, talking with the users on Google Code and releasing updates. I found out about this plugin yesterday and instantly recommend it to anyone using (or considering) Winamp on Windows 7.</p>
<div class="bottomcontainerBox" style="">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Folex.biz%2Fblog%2Fwinamp-windows-7-win7shell%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://olex.biz/blog/winamp-windows-7-win7shell/"></g:plusone>
			</div>
			<div style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://olex.biz/blog/winamp-windows-7-win7shell/"  data-text="Winamp in Windows 7 — win7shell" data-count="horizontal" data-via="olex">Tweet</a>
			</div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div>]]></content:encoded>
			<wfw:commentRss>http://olex.biz/blog/winamp-windows-7-win7shell/feed/langswitch_lang/en/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Java Sokoban</title>
		<link>http://olex.biz/software/java-sokoban/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=java-sokoban</link>
		<comments>http://olex.biz/software/java-sokoban/#comments</comments>
		<pubDate>Sun, 31 May 2009 15:54:57 +0000</pubDate>
		<dc:creator>Olexandr Savchuk</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[games]]></category>

		<guid isPermaLink="false">http://olex.biz/?p=29</guid>
		<description><![CDATA[At the end of my first semester as a computer science student, we had a project to complete. The project was a game we had to implement in Java. Sokoban is widely known and has many implementations in different languages, and this is what we managed to come up with &#8211; we even made it [...]]]></description>
			<content:encoded><![CDATA[<p>At the end of my first semester as a computer science student, we had a project to complete. The project was a game we had to implement in Java. Sokoban is widely known and has many implementations in different languages, and this is what we managed to come up with &#8211; we even made it to the course&#8217;s &#8220;Hall of Fame&#8221;.</p>
<p>[nggallery id=2]</p>
<p><table style="border: 1px solid #CCC;" cellpadding="3" width="100%">
  <tr>
    <td width="35">
      <img src="http://olex.biz/wp-content/plugins/downloads-manager/img/icons/winzip.gif" alt="http://olex.biz/wp-content/plugins/downloads-manager/img/icons/winzip.gif">
    </td>
    <td>
      <b>download:</b> <a href="http://olex.biz/?file_id=1">Sokoban</a> <small>(3.86MB)</small><br />
      <b>added:</b> 31/05/2009 <br />
      <b>clicks:</b> 625 <br />
    </td>
  </tr>
</table></p>
<div class="bottomcontainerBox" style="">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Folex.biz%2Fsoftware%2Fjava-sokoban%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://olex.biz/software/java-sokoban/"></g:plusone>
			</div>
			<div style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://olex.biz/software/java-sokoban/"  data-text="Java Sokoban" data-count="horizontal" data-via="olex">Tweet</a>
			</div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div>]]></content:encoded>
			<wfw:commentRss>http://olex.biz/software/java-sokoban/feed/langswitch_lang/en/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

