<?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>subtitles &#187; rechenmaschinen</title>
	<atom:link href="http://www.noroute.de/blog/category/rechenmaschinen/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.noroute.de/blog</link>
	<description>stating the obvious</description>
	<lastBuildDate>Sun, 15 Aug 2010 09:12:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Android frustrations: What&#8217;s in a platform</title>
		<link>http://www.noroute.de/blog/2010/08/android-frustrations-whats-in-a-platform/</link>
		<comments>http://www.noroute.de/blog/2010/08/android-frustrations-whats-in-a-platform/#comments</comments>
		<pubDate>Sun, 15 Aug 2010 08:45:58 +0000</pubDate>
		<dc:creator>Florian Thiel</dc:creator>
				<category><![CDATA[english]]></category>
		<category><![CDATA[marketing]]></category>
		<category><![CDATA[rechenmaschinen]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[phone]]></category>

		<guid isPermaLink="false">http://www.noroute.de/blog/?p=296</guid>
		<description><![CDATA[I&#8217;ve come to like the Android after my early heavy frustrations (there&#8217;s a post coming up on what&#8217;s fundamentally right (read: compared to iOS)), but I can&#8217;t shut up on some very fundamental, conceptual issues that will (for now) make some people less happy than they should be with their Androids: Customers have to specifically [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve come to like the Android after my early heavy frustrations (there&#8217;s a post coming up on what&#8217;s fundamentally right (read: compared to iOS)), but I can&#8217;t shut up on some very fundamental, conceptual issues that will (for now) make some people less happy than they should be with their Androids:</p>
<h3>Customers have to specifically decide on a feature set, not just on the platform</h3>
<p>It&#8217;s not enough to get &#8220;an Android phone&#8221;. There are two major differentiators on the Android platform that requires customers to look close to really get what they want: 1) the OS version and 2) the specific device capabilities. These two are interconnected (a device usually only comes with one specific OS version), but two devices with similar hardware can perform quite differently with different OSses.</p>
<p>The major differences customers can experience are along these lines (in no specific order):</p>
<ul>
<li>screen size</li>
<li>networks supported (3G/WiFi,GSM)</li>
<li>keyboard / touchscreen
<ul>
<li>multi-touch or just single-touch
<ul>
<li>(in the multi-touch case there are different qualities of multi-touch as well (number of simultaneous touches supported, robustness of detection)</li>
</ul>
</li>
</ul>
</li>
<li>camera
<ul>
<li>sensor quality</li>
<li>flash (yes/no/type)</li>
<li>front-facing camera (yes/no)</li>
</ul>
</li>
<li>GPS (yes/no)</li>
<li>pre-installed apps*</li>
<li>fundamental look and feel of the apps on the device*</li>
<li>availability of fundamental apps like navigation*</li>
<li>availability of tethering</li>
<li>size of internal memory
<ul>
<li>this is a big issue because pre-2.2 devices cannot install applications on SD cards and <a href="http://www.androidtapp.com/how-do-i-copy-apps-to-my-sd-card/">this limits the amount of installable apps dramatically</a></li>
</ul>
</li>
<li>Google certification*</li>
<li><a href="http://www.networkworld.com/community/node/49560">enterprise security features</a> *</li>
</ul>
<p><span style="color: #c0c0c0;">the items marked with a * will be subject to a future post because they require more detailed discussion</span></p>
<p>Many of these options that are not prominently advertised (and as such taken as a platform capability) make a difference for the applicability of your Android device (tethering? fundamental look and feel?). Also, all these options may lead to a <a href="http://en.wikipedia.org/wiki/The_Paradox_of_Choice:_Why_More_Is_Less">Paradox of choice</a> situation.</p>
<p>Now, to me it seems that the mobile devices market is mostly defined through devices, not so much through platforms, but that may be changing now. Apple delivers the iOS for different devices and Motorola calls it&#8217;s devices the Droids, so platform may be important.</p>
<p>The questions that remains to be answered: What are the <strong>defining</strong> properties of the Android platform from a customer perspective?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.noroute.de/blog/2010/08/android-frustrations-whats-in-a-platform/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android Frustrations: Samsung Mail Client</title>
		<link>http://www.noroute.de/blog/2010/08/android-frustrations-samsung-mail-client/</link>
		<comments>http://www.noroute.de/blog/2010/08/android-frustrations-samsung-mail-client/#comments</comments>
		<pubDate>Sat, 14 Aug 2010 11:59:30 +0000</pubDate>
		<dc:creator>Florian Thiel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[english]]></category>
		<category><![CDATA[rechenmaschinen]]></category>
		<category><![CDATA[sofware engineering]]></category>
		<category><![CDATA[wahnsinn]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[phone]]></category>
		<category><![CDATA[samsung]]></category>

		<guid isPermaLink="false">http://www.noroute.de/blog/?p=278</guid>
		<description><![CDATA[I&#8217;m under the impression that everybody who reviewed the Samsung Galaxy S I9000 and gave it big praise (even as an iPhone contender) has not really used the device for more than two minutes. There are so many annoyances and glitches that must not happen to well-designed user-friendly devices. The Samsung mail client Samsung has [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m under the impression that everybody who reviewed the Samsung Galaxy S I9000 and gave it big praise (<a href="http://www.knowyourmobile.com/comparisons/517419/samsung_galaxy_s_vs_iphone_4.html">even</a> <a href="http://www.pcworld.com/businesscenter/article/200071/samsung_galaxy_vs_apple_iphone_business_features.html">as</a> an iPhone contender) has not really used the device for more than two minutes. There are so many annoyances and glitches that must not happen to well-designed user-friendly devices.</p>
<h2>The Samsung mail client</h2>
<p>Samsung has put their own email client with IMAP/POP3 support on the phone. And I&#8217;ve never used an email client with so many fundamental flaws:</p>
<ul>
<li>it considers all mail it has not read <strong>itself</strong> to be <strong>unread</strong> on IMAP. (Yes, IMAP!)</li>
<li>you cannot copy text from received emails (!!!)</li>
<li>it does not support threading</li>
<li>folders are shown as an <strong>horizontal</strong> bar at the top. This is not helpful if you have 50+ folders
<ul>
<li>oh, and you cannot move/copy mails to folders anyway</li>
</ul>
</li>
<li>the &#8220;new mail&#8221; notification does not show subjects, only number of mails received</li>
<li>responding to mail does a fullquote and puts the text to the top; and no, there&#8217;s no way to do it another way</li>
</ul>
<p>And I forgot, it looks really ugly.</p>
<p>Fortunately there&#8217;s <a href="http://code.google.com/p/k9mail/">K9Mail</a> on the Android market that does most of these things better. But for an out-of-the-box experience (how many people exactly will be spending time looking for alternative clients) this is <strong>really</strong> bad. You can do better, Samsung.</p>
<div id="attachment_293" class="wp-caption alignleft" style="width: 190px"><a href="http://www.noroute.de/blog/wp-content/uploads/2010/08/mail.png"><img class="size-medium wp-image-293 " title="Samsung Mail" src="http://www.noroute.de/blog/wp-content/uploads/2010/08/mail-180x300.png" alt="" width="180" height="300" /></a><p class="wp-caption-text">Samsung&#39;s Mail app</p></div>
<div id="greasedLightboxError">
<p id="greasedLightboxErrorContext">
</div>
<p><img id="greasedLightboxPreload" alt="" /><img id="greasedLightboxPrefetch" alt="" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.noroute.de/blog/2010/08/android-frustrations-samsung-mail-client/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android frustrations: Overall system performance</title>
		<link>http://www.noroute.de/blog/2010/08/android-frustrations-overall-system-performance/</link>
		<comments>http://www.noroute.de/blog/2010/08/android-frustrations-overall-system-performance/#comments</comments>
		<pubDate>Tue, 03 Aug 2010 20:00:17 +0000</pubDate>
		<dc:creator>Florian Thiel</dc:creator>
				<category><![CDATA[rechenmaschinen]]></category>
		<category><![CDATA[sofware engineering]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[frustrations]]></category>
		<category><![CDATA[phone]]></category>
		<category><![CDATA[samsung]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.noroute.de/blog/?p=274</guid>
		<description><![CDATA[Update: Downgrading from the unofficial Froyo (2.2) release to an unofficial 2.1 release (2.1-update1, from the JM5 release which can be found on the internet) seems to improve things greatly: The &#8220;Active Applications&#8221; widget now shows 7 to 9 apps running without any significant slowdowns. &#8220;Force close&#8221;s are gone, lag is way down, battery seems [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Update:</strong> Downgrading from the unofficial Froyo (2.2) release to an unofficial 2.1 release (2.1-update1, from the JM5 release which can be found on the internet) seems to improve things greatly: The &#8220;Active Applications&#8221; widget now shows 7 to 9 apps running without any significant slowdowns. &#8220;Force close&#8221;s are gone, lag is way down, battery seems to last longer (though only the next days will show). I&#8217;m not yet sure about the clock (I don&#8217;t trust it) and the general problem of missing feedback on actions is still there but it&#8217;s less serious because everything&#8217;s fast, now. So, the next articles will be about some of the apps. Finally!</p>
<p>One of the most notable things (a 3rd generation iPod touch being my companion for over a year now) is the less-than-stellar performance of most things on the Samsung. I believe it&#8217;s caused more by the software than the hardware, the <a href="http://en.wikipedia.org/wiki/Samsung_i9000_Galaxy_S">Samsung Galaxy </a>sports a 1GHz processor and 512 MB of memory.</p>
<p>My most prominent (and hardest to bear) examples (using the unofficial Froyo images found on the web; performance was worse in 2.1):</p>
<ul>
<li><strong>clicking buttons</strong> often  does not offer any feedback (&gt; 30% of the cases, more like 70% if the phone has been running for some time)., so you&#8217;re always wondering if the phone actually recognized your clicks  This makes for a terrible user experience since it often takes 3-10 seconds to launch applications.</li>
<li>When someone calls you, the phone rings, the screen goes dark and after around 3 seconds the screen lights up again and you see who&#8217;s calling. This is pretty ugly for a device that&#8217;s dominantly a <strong>phone</strong>! (This was really bad with 2.1, around 10 sec)</li>
<li><strong>The clock runs</strong> <strong>7 minutes late after a single day of use. The C.L.O.C.K, can you believe it?<br />
</strong></li>
<li><strong>battery drain</strong> is really bad. Even mild use of 3G (downloading one small app, checking facebook once, twitter twice) means that the battery is down to 25% ofter one day (no phone use). This means you cannot take this device with you (on a trip) if you cannot be sure that you can charge it overnight. This also makes the navigation applications useless because the battery will not survive a trip longer than 2-3 hours.</li>
<li>applications seem to use <strong>blocking updates</strong> which makes the system unresponsive (instead of updating in the background in a separate thread). This should be blamed on the applications (since background updates are even <a href="http://developer.android.com/guide/practices/design/responsiveness.html">advertised as best practice</a> by Google) but the prevalence of applications that present a &#8220;wait or force close&#8221; screen after updates is high. Even Google&#8217;s <a href="http://listen.googlelabs.com/">Listen</a> stalls on me every few minutes. I hope, developer education will solve this one.</li>
<li>You see the <strong>&#8220;force close&#8221;</strong> screen much to often. This is almost certainly caused by generally low quality of apps in the Android market but even apps delivered stock with the phone crash way to often.</li>
</ul>
<p>These are my top-level frustrations and I think there are conceptual reasons for them:</p>
<ul>
<li> The code produced by the <a href="http://en.wikipedia.org/wiki/Dalvik_%28software%29">Dalvik VM</a> is still much slower than machine-specific code.</li>
<li>the Android OS gives applications a lot of freedom (which is a good thing), allowing them to do things in a non-optimal way</li>
<li>there is no review of applications enforcing strong quality standards. This is two-faced. It allows for innovation and crazy ideas but allows for a lot of bad user experience. I guess, even the apps produced by Google, Facebook or twitter might be better if they had to go through an Apple store-like review process.</li>
</ul>
<p>In the end, it&#8217;s still really hard to write good, working software. It&#8217;s even harder to write software that has a good user experience. And it&#8217;s still a lot harder to do this for smartphone-type devices where functionality is more limited and <strong>user experience is the only thing that really counts</strong>.</p>
<p>I love that now there i strong competition to the iPhone, but (at least for me) Android does not deliver, yet. But I&#8217;m not giving up. The platform does have a lot of interesting concepts (think of <a href="http://developer.android.com/reference/android/content/Intent.html">Intents</a>, e.g.).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.noroute.de/blog/2010/08/android-frustrations-overall-system-performance/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Android frustration a day</title>
		<link>http://www.noroute.de/blog/2010/08/android-frustration-a-day/</link>
		<comments>http://www.noroute.de/blog/2010/08/android-frustration-a-day/#comments</comments>
		<pubDate>Mon, 02 Aug 2010 19:27:01 +0000</pubDate>
		<dc:creator>Florian Thiel</dc:creator>
				<category><![CDATA[rechenmaschinen]]></category>
		<category><![CDATA[sofware engineering]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[phone]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.noroute.de/blog/?p=265</guid>
		<description><![CDATA[Since I own a Samsung Galaxy S I9000 Android device now and am not entirely happy with it, I decided to share my whining with you. The coming days, I&#8217;ll try to explain what&#8217;s wrong with the phone, Android and the apps. I don&#8217;t have months of experience with the device yet, but I&#8217;ve started [...]]]></description>
			<content:encoded><![CDATA[<p>Since I own a <a title="Samsung Galaxy S I9000" href="http://galaxys.samsungmobile.com/">Samsung Galaxy S I9000</a> Android device now and am not entirely happy with it, I decided to share my whining with you. The coming days, I&#8217;ll try to explain what&#8217;s wrong with the phone, Android and the apps. I don&#8217;t have months of experience with the device yet, but I&#8217;ve started to write some applications so I know at least a bit of the inner workings and don&#8217;t have to rely on wild guessing.<a href="http://www.noroute.de/blog/wp-content/uploads/2010/08/GT-I9000.jpg"><img class="alignright size-medium wp-image-270" title="GT-I9000" src="http://www.noroute.de/blog/wp-content/uploads/2010/08/GT-I9000-300x233.jpg" alt="" width="300" height="233" /></a></p>
<div id="greasedLightboxOverlay" style="display: none; height: 378px;">
<div id="greasedLightbox" style="display: none;"><img id="greasedLightboxImage" src="http://www.noroute.de/blog/wp-content/uploads/2010/08/GT-I9000.jpg" alt="" /></div>
</div>
<div id="greasedLightboxMenu" style="display: none;"><a id="greasedLightboxTitleLink" href="http://shiftingpixel.com/lightbox/">Greased Lightbox</a></p>
<div id="greasedLightboxButtons"><a id="greasedLightboxButtonRight" title="Next image (right arrow key)">→</a><a id="greasedLightboxButtonLeft" title="Previous image (left arrow key)">←</a><a id="greasedLightboxButtonPlus" title="Magnify image (+ key)">+</a><a id="greasedLightboxButtonMinus" title="Shrink image (- key)">-</a><a id="greasedLightboxButtonSlide" title="Start/stop slideshow">↻</a></div>
</div>
<div id="greasedLightboxLoading" style="visibility: visible; display: none; top: 0px; left: 239px;"><img style="border: medium none;" src="data:image/gif,GIF89a%80%00%80%00%A2%00%00%FF%FF%FF%DD%DD%DD%BB%BB%BB%99%99%99%00%00%FF%00%00%00%00%00%00%00%00%00!%FF%0BNETSCAPE2.0%03%01%00%00%00!%F9%04%05%05%00%04%00%2C%02%00%02%00%7C%00%7C%00%00%03%FFH%BA%DC%FE0%CA%06*%988%EB%CD%BB_%96%F5%8Ddibax%AEl%AB%A5%A2%2B%CF.%5C%D1x%3E%DA%97%EE%FF%12%1EpHT%08%8B%C8G%60%190%1DI%83%E8%20%F9a2K%CF%8FTJ%E5X%AD%A4lg%BB%EDj%BE%D7%9D%0DJ%8E%9A3%E8%B4G%BCis%DF%93%B8%9CC%CF%D8%EFx%12zMsk%1E%7FS%81%18%83%850%87%7F%8Apz%8D)%8Fv%91%92q%1D%7D%12%88%98%99%9A%1B%9C%10%88%89%9Fy%93%A2%86%1A%9E%A7%8B%8C%2F%AB%18%A5%AE%A0_%AA%8E%AC%90%B5%B6%60%19%A3%0D%AD%BC%AF%A1(%B2%9D%BB%C3%C4h%BF%C7%A4%C9%CA%A8%A9A%CE%0E%B4%D1%BD%7B%10%C0%0A%C2%D8%D2%C5%DB%D5%0C%D7%DF%CB%B7%13%B9%C8%97x%02%EE%02%2B%B0%D47%13%DEln%1E%EF%EF'%F2%2B%F6Zd%3A%E8%1Bhb%9A%3Fv%F7%DAp%18%C8%90%84%C1%13%D0%C6%94%CB%C0%B0%E2%08f2%14%02%2Ce%8A%FFb%C5%86U%B4%B5(%B3%91%A3%C0%8F%20%CD%CD%E2%08h!%CA%94*%AD%B1l%99%EF%25%C1%98%0Bf%D2%1Ca%F3fL%9D%F8X%F4%D4g%0EhG%17C%F7%0D3%EA%23%A9%3B%5EL%818u%054%C9P%AA%2C%DF%D8%C4%FA%8F%CAK%AE%08%15Y%AC%15%F6%13%D1%A5%3Bq%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3B4%DA%F5%1B_a%7F'%16%0D%0C%89%B0%E0h%86%13%F3%FD%A9%B8qV%95%8E%23%F7%85*%D9Me%B5%97%BB9f%1BY%AF%E7%CF%A0C%8B%1EM%BA%B4%E9%D3%A8S%AB%C6A%92r%D0Se1%C5~s8P%ED%24%26a%DF%1E2%13%EC%E4%1CUu%F7%06%12%D5wn%E0%C1%5D%0F%9FQ%1Cq%F2%83%3A1%3FO%F8Xzt%EA%C7%DB6%AFs%5D%EE%F4%95%D5%25%BEv%D1Z%7Cv%F0%BB%EB%05%CC%B8%DERz%99%BF%D5kd%11%91%C3y%F9%F3G%D4%2F%B1%DF~%FF%08%BC%F9%E9%F7_I%EDaW%12t%01%3EP%DE3%B3%B9g%DB%80%9A-%A8%20%84%8CAha%7C%90Q%A8!%85~a%B8!%87%CE5%18%8C%88%E4%80%88%16%89%25%26%C8%A0%8A%19%A2%98%93%8B%11%B2%D8!%8C1J%08%A0%89%9F%BC%97b%81%F8%C9x%A2%8F%F0%F1%D8%A3%8D%CA%E8%B8%23%91%2B%02)%9C%92%232y%24%92%C6%A55%E4x~%E0H%9B%95%04%60%89%A1%22%5B%06%09%E5%8D4%9Aa%A4%97RNY%26%97X%D6x%E6%3ANv%91%A6%9ATr%D7%26%15of%19%26%99q%E6(%A4%7Fs%929%E3Q%EE%7D%89%1Eiu%AAVhj%87%A2%96%E8i%8B%9A%D6%A8%A3%7B%AE%C6'%A0%AE%24%00%00!%F9%04%05%05%00%04%00%2C%0A%00%02%00W%000%00%00%03%FFH%BA%DC%FE0%BE%40%83%BC8%EB%3D%2B%E5%60(J%9E7%9E(WVi%EBv%EB%2B%BF%EB7%DFgm%E1%3C%A8%F7%23%81P%90%FA%A1%00H%40k8D%19G%C9%24%8A%C9%CC%D5N%D1%E8%89%DA%1C%3DCYi%90%2B%F4%5EEa%B1%88%DC%F5%9DAi%F5%9A-%FAn%E2%CA%14%9B%E8%8E%C1%E3.%7B!v%19x%2F%82*o%1A%86%87%88%1A%84%12xy%8Dd%89~%8B%803%7B%7C%19%90%10%928%8E%18%9E%0F%8C%A1t%9D%8A%91%99%3C%A2%24%AA%11%A6%AD%A8%17%A4%0C%B2%B3%B4%11%B6%0A%A0%40%0A%AE0%25%18%B8%3D%9B%B5%B0%0D%BE%BF%C0%BA%10%97%B1%AC%10%03%D4%03%81%CE%C2%C4%D2%0F%D5%D5K%D8G%DB%0D%DD%E4z%952%E2%E3%E4%E5c%5C3%E9%0C%EB%F2%EDm%E8Y%18%F2%F3se%3CZ%19%F9%FA%98%09%04%18P%E0%2F%82%EB%0C2C%C8N!%10%86%DD%1C%1E%84HMb%0F%8A%15-%F2%C0%A8%F1%13%22%C3%8E%0F%09%82%0C%99o%E4%C4%86%26IZK%A9!%01%00!%F9%04%05%05%00%04%00%2C%1F%00%02%00W%000%00%00%03%FFH%BA%DC%FEKH%01%AB%BD8%EB6%E7%FE%60%A8u%9Dh%9E%22%E9%A1l%5B%A9%92%2B%CF%04L%D1%F8i%E7%7C%B8%F7%A2%81p%C0%FA%9D%02%C8%40k8D%19E%C9%24%8A%C9%D4%C1%8EQ%A9%89%DA4%3DAYm%90%2B%F4%5E%A1a%E4%89%DC%05%7D5i%F1%98%9C%3A%83%E3K%B6%CF%BE%89%2B%F3tn%7Cpx.lD%1Fo%17~3%87%88%23%83%8B%8C%8Dz%1B%8A%15%93%94%95%19%97%0F~%7F4%87%96%91%98%859%A2%9C%A4%9E%A6%A7%9B%17%9D%0D%99%3C%A8%AF%AA%B1%AC%B3%B4%2F%B6%0B%9F%40%0B%BA%10%B0%0A%B2%40%8E%B5*%92%B8%C6%AE%C2%24%18%C5%BF%04%C1%0F%25%CAa.%00%DA%00%18%D4(%D1!%DB%DB%DD%812%CB%20%E2%E9%17%CD%2C%E7%1A%E9%F0%E4U8%D8%22%F0%F7%19%F39Q%26%F7%F8%D2%D2%FC%FD%03%D8C%E0%40%828%0C%C6C%C8C%A1%3A%86%09%1D%8E%83HC%E2D%8A3%2Cj%C3X%D1%14%22%C7%88%0A%3F%E6%08)r%A4%C0%92%05%17%A2L%B9%D1D%02%00!%F9%04%05%05%00%04%00%2C%3C%00%02%00B%00B%00%00%03%FEH4%3C%FA0%CAI%AB%9D%AD%DD%CD%7B%CD%99'%8E%16%A8%91hj2i%3B%AE%8E%2Bo%F0l%7F%EB%ADG%B5%2B%FC%82%DD%A3%97%02%02%85%8B%5C%D1x%DC%11I%CC%A6%EE)%8AJo%D4%8E%F5j%CBr%B6A%A1%F7%02F%26M%D0%ADy%5C)%AF%95Z7%92%3D%91%CF%E1%1Bp%F8%8D%8E%5B%CDCx%16v%7C%20~Q%80%81%7Ddj%89%0At%0Az%8E%8F%82u%8D%93%90%92%93%94!%8C%7F%9B%8A1%83%97.%01%A6%01%3B%84(%A7%A7%3A%A4%AB%AC%AC7%AF%22%B1%B6%AEL)%B6%BB%A9%5C%1E%BB%BC%A0%1B%C0%C1%C2%15%C4%C5%C6%12%C8%B7%CA%14%CC%B1%CE%13%D0%B2%D2%11%D4%AD%D6%D7%D8%A8%DA%10%DC%DE%CB%D0%E1%D3%C8%E4%CF%C4%E7%C7%CD%EA%EB%A6%ED%F0%F1%F2%F3%F4%F5%F6%F7%F8%F9%FA%FA%00%FD%FE%FF%00%03%024%26%B0%A0%C1%7F%A0%0E*4%B8i%A1%C3%81%93%1EJ%04%D0p%A2%C3%84%16%0F%12%CC(%03PA%02%00!%F9%04%05%05%00%04%00%2CN%00%0A%000%00W%00%00%03%ECH%BA%BC%F3%A3%C9I%2B%85%D0%EA%7Dq%E6%E0%E6%7Da)%8D%A4%A9%A2%A9Z%B2%91%BB%B2%B2%0B%D7%E6%8D%87p%BCs%BA%9F((%B4%10%8B%1D%14r%A8%5CV%8ENF%2F%9A%1CQ'%D3k%03z%E5%AA%04%60%81%91%B6%0B%87%9F%CD%9Ay%5D%C5%A8%D7%EC%B6%CF%04%AF%8F%1F%B2%BA%9D%AA%DF%3B%FB~H%80p%7C%83fQ%86%87%7F%89%60%85%8C%8E%86Z%89Z%0A%83%94%0B%80%97%0C%81%9A%95g%9D%A0%A1%A2%A3%A4%A5%A6%A7%A8%A9%AA*%01%AD%AE%AF%B0%B1%B05%B2%B5%B6%AF.%B7%BA%B6%AC%BB%BE%B8%26%BF%C2%01%BD%C3%BB%B9%C6%B7%B4%C9%B2%AB%CE%CF%D0%D1%D2%D3%D4%D52%00%D8%00%A5%D9%DC%A2%DC%DF%DA%9D%E0%DF%E2%E3%E4%94%E6%E3%E8%E9%E0Z%EC%ED%EE%EF%DD%F1%F2%D8%F4%F5%EB%F5%E1W%FA%FB%FC%F8%F9%D8%95K%17%8A%A0%B7s%A3%E6QH%00%00!%F9%04%05%05%00%04%00%2CN%00%1F%000%00W%00%00%03%E9H%BA%DC%FEn%C8%01%AB%BDmN%CC%3B%D1%A0'F%608%8Eez%8A%A9%BAb%AD%FBV%B1%3C%93%B5v%D3%B9%BE%E3%3D%CA%2F%13%94%0C%81%BD%231%A8D%B6%9A%8F%1C%14R%9B%F2L%D6%AB0%CB%EDz%BF%E0%B0xL.%9B%CF%5C%81z%CDn%BB%DB%B3%B7%7C%CE%5E%D1%EF%F3%13~%0F%1F%F1%FF%02z%80%7Bv%83tq%86oh%8B%8C%8D%8E%8F%90%91%92%93%0A%01%96%01f%97%9Ac%9A%9D%98%60%9E%9D%A0%A1%A2%5D%A4%A1%A6%A7%9E%5C%AA%AB%AC%AD%9B%AF%B0%96%B2%B3%A9%B3%9FY%B8%B9%10%00%BE%00%2F%B8%15%BF%BF%C1%B0%BD%C4%C5%C6%A7%C8%C9%C07%CC%0F%CE%CA%D0%A5%D2%D3%CF%3B%B1%C3%D8b%D8%BE%DE%DDa%DF%D9_%DFc%E7%E3%E2%EA%D3%E1%EB%E6%EF%5E%E4%EE%CE%E8%F1%5D%E9%EC%F5%FA%FB%60%F9%FE%ED%E8%11%23%D3%CF%1E%B8)%09%00%00!%F9%04%05%05%00%04%00%2C%3C%00%3C%00B%00B%00%00%03%F9H%BA%DC%FEP%8DI%AB%BD6%EA%1D%B1%FF%15'r%60%F9%8D%E8c%AEY%EAJl%FC%BE%B1%3C%BB%B5y%CF%F9%B9%FF%C0%A0pH%2C%1A%8F%C8%A4r%C9l%3A%9F%D0%A8tJ%10X%05%D4%D7u%9B%1Dm%BF%D8%AE%06%FC%15G%C8%60%B3%03MV3%D8mw%15%5E%96%CF%E9W%FB%1D%1Fv%F3%F3v%7FVz%82F%01%87%017%7FD%88%88%8AxC%8D%8D%3Bt%91%92%87%40l%96%97%89%99u%11%00%A1%00%1C%9C%98A%5C%1A%A2%A2%A4%A5O%AA%AA%1B%A5%A6L%AF%AB%B1%ADM%B5%A1%AC%B8K%BA%A3%BC%97%B9%BA%23%B2%B4%C4%22%C6%BE%C8%C9%BDH%BF(%B2%9D%CF%CC%CD%9CJ%D0%D1%CAG%D9%DA%D7%D4%B5%2F%DBE%DD%DE%C2%DC%D5%E6%92%E8%E1%E2%E3B%E5)%EFA%F1%F2%DFD%F5%EA%8E%E4%E9.%E7%FC%EDvLb%F7J%8F%83%7Cv%10%CAQ%E8%86%A1%1A%87%0F%0B%1A%7C%00kb%83%04%00!%F9%04%05%05%00%04%00%2C%1F%00N%00W%000%00%00%03%FFH%BA%DC%FE0%CA7%EA%988%EB%CD%89%FD%5D(%8E%CDg%5Ed%AAJ%A7%B9%BE%B0%D7%BAq%1D%CE%AD%ADkx%BE%FF%90%DE%09Ht%08i%C5%E4%11%94%2C.-M%E5%13%15%05N5%80%2C%E0'%E8%0AFO%8CV%AB%F3z%C1%C7%C9x%5C3%9BIB%F5%3A%DBvwU8%C9%9C%1C%B3%9F%F1H%10%7Bt%13%01%86%01%18~w%2BL%11%83%5B%85%87%86%89%8AQ%8F%90%11%92%92%13%8A%8BE%8F%18%9A%87%94~I%97%A1%A2%88%9C%9D%9F%83%19%A9%AA%AB%A5%40%A0%AF%A9%1A%AC%3F%B5%A8%A2%B8%95%3B%BB%BC%9A%1B%B95%A7%1A%B0%C4%C50%C1%C2%9B%CA%B3%CC%CD%91%BD%D0%D1%2B%D3%D4%C3%1C%CB)%D9%DA%CF%DC%BF*%DF%12%C9%1D%DD%22%E5%E6%B7!%E9%1C%C7%1D%E7%E8%EFX%AE%22%F3%F4%D7%1D%F7%F8%ED%22%E3B%F4%0B%91O%9F%1BokR%144%E8%89%04%1B%85%FFF%BC%A9%E2l%14%C5(%0B%2F%FE%C8%A8Q%13%07%C7%8E5%3E%82%84!r%E4%8Bj%26%89%84K%A9%20%01%00!%F9%04%05%05%00%04%00%2C%0A%00N%00W%000%00%00%03%FFH%BA%DC%0E%10%B8I%AB%BD8%B7%C8%B5%FF%E0%C7%8DRh%9E!9%A2lK%A9%A4%2B%B7%B0%3A%DF%60m%E3%3C%A6%C7%BD%E0%E4%B7%12%1A%17%C4%CEq%99%8C%2C%8FM%C8%13%DA%9CR%89%A7%806%20%1Cx%07%99dv%AB%ED%7D%BF%3E%1D%8AL%C6%9D%CF%97Z%8B%BDu%BF%BDi%25%8B%5E%BF%DD%D1qN.%7Ce%17%02%87%02%18%7FxV%04%84%5C%86%88%87%8A%8BV%8F%90%15%92%92%17%8B%8CK%8F%18%9A%88%94%7FO%97%A1%A2%89%9C%9D%9F%84%19%A9%AA%AB%A5F%A0%AF%A9%1A%ACB%B5%A8%A2%B8%95A%BB%BC%9A%1E%B98%A7%1A%B0%C4%C53%C1%C2%9B%CA%B3%CC%CD%91%BD%D0%D1%83%AE%1F%C9%1F%CB%7B%D9%DA%B7%20%DDc%7C!%DB%DC%BF%DE%E5%E6%E1%E2%E9%26%C7%20%E7%E8%EF%20%D3%C8%ED%EE%D7%F6%EB%26%F3%FAo%D6%F4cW%CDD%3D~mP%FC%03%E8I%60!%85%F9%0C%02jDm%18E%2B%0B%2F%0A%C9%A8%B1%12%07%C7%8E8%3E%82%9C!r%A4%8C%82%26%8D%3C%E3%91%00%00!%F9%04%05%05%00%04%00%2C%02%00%3C%00B%00B%00%00%03%F5H%04%DC%FE%F0%A9I%AB%BD%98%C6%CD%5D%FE%E0%D5%8D%5Ch%82d*%9D%AC%A5%BE%40%2BO%B0%3A%DF%F5x%EF%F9%B6%FF%C0%A0pH%2C%1A%8F%C8%A4r%C9l%3A%9F%D0%A8tJ%3D%05%AE%81%AA%0C%CB%D5%9A%B8%E0%AC7%13%06%8F%2F%E5%F0%99%92.%AF%09m%F7%3A%AE%3E%D3%CD%F6%3B%F6%AD%DF%E7%FB%7C%80%81w%3B%02%86%02Fz%85%87%86Et%3F%8C%8CDmA%91%87%8Ex%40%96%97%98WC%9B%8D%20%03%A3%03R%A0%88%A2%A4%A3P%A7%A8%19%AA%AAO%A7!%B0%A4N%AD%B4%B5%A5M%B3%B9%B5%BC%A0'%BA%BBK%BD%BE%B0L%C6%C7%B1J%B8%C2%BA%C5%C1%2C%C3%CD%CA%CB%B6I%D6%D7%ABH%DA%DB%C4F%DE%A9%BFG%E2%E3%C8%E1%E6%1F%D4%E9%9B%3B%ECE%D27%F0D%F23%F4%F5%91%40%F8%F9%A1%3F%FCo%26%00%0CH%60%60%40%83o%10%AEQx%86aCt%0410K%00%00!%F9%04%05%05%00%04%00%2C%02%00%1F%000%00W%00%00%03%E7H%BA%0C%0E%2C%CAIk%7B%CE%EAM%B1%E7%E0%E6%8Da)%8D%A8%A9%A2%A9Z%B2%AD%CB%C1%B1%AC%D1%A4%7D%E3%98.%F2%0F%DF%0E%08%11v%88E%E3%04%A9%AC%00%9B%16%1C4%0A%9B%0E%7B%D6_%26%CB%EDz%BF%E0%B0xL.%9B%CF%A1%80z%CDn%BB%DB%B6%B7%7C%CEv%D1%EFs%15~%0F7%F1%FF%01z%80%7Bv%83tq%86oh%8B%8C%8D%8E%8F%90%91%92%93h%02%96%02f%97%9Ac%9A%9D%98%60%9E%9D_%A1%9E%5D%A4%A1Y%A7%A8V%AA%A5S%AD%A2%AF%B0%97%A9%B3%96%AC%B6%9F%B2%B3%5C%B62%03%C0%03%16%BC.%C1%C1%15%AD6%C6%C6%14%A7%3E%CB%C7%CD%B1%3A%D0%D1%D2%B7B%D5%C0b%DA%C2a%DD%DE%60%DD%DC%E3%DF%DA%E4%D5c%E5%E2%E7%E6%ED%EC%E9%EE%F1%F0%D0%E8%F5%F6%CB%F8%CC%F2%F7%F4%F9%FA%DB%D4%CD%D3wf%9F%86%04%00!%F9%04%09%05%00%04%00%2C%02%00%02%00%7C%00%7C%00%00%03%FFH%BA%DC%FE0%CAI%AB%BD8%EB%CD%BB%FF%60(%8Edi%9Eh%AA%AEl%EB%BEp%2C%CFt%0A%DC%40%AD%938%BE%FF%9E%5E%0FH%CC%08%7D%C5%24%E5%88T%3A%1D%CC%E6sJ%88%E6%A8X%2B%96%AA%DDN%BB%5E%A5%F5%1AN%82%CB%C41%DA%1C%5D%B3%99%EEt%3B%0E%3C%D3i%EA%BB%CE%AE%8F%E5%FB3%7C%80%12%01%85%01!%82%83%0E%86%86%20%89%8A%0B%8C%92%1Fs%90%10%92%98%1D%95%96%8B%98%99%1BG%9C%11%9E%9E%1CC%A2%A3%A4%9F%A8%26%AA%A5%AC%AD%AE%93%B0%24%B2%B3%B4%23%B6%8C%B8%B5%BA%85%BC%22%BE%BF%C0!%C2%C4%C1%B6%C7%B9%AE%CA%CB%A4%CD%BD%B7%D0%CE%87%D3%D6%D7%D8%D9%DA%DB%DC%DD%DE%DF%E0%E1%C0%02%E4%E5%E6%E7%E8%E7%DC%E9%EC%ED%E6%DA%EE%F1%ED%D9%F2%F5%EA%D8%F6%F9%02%F4%FA%F5%F0%FD%EE%D6%01L'%AE%A0%C1%83%08%13*%5C%C8%B0%A1%C3%87h%06H%1C%00q%C1%C4%8B%10%2Fj%A4%D8pP%A3F%86%1E7*%0C%E9%11!%C9%92%07O%8A4%A8%F2%23%CB%96%13M%C2%94%98r%26%C7%970%13%CE%5C%98%93%E7I%87%24%2B%AE%ACH%00%23%D1%A3H%93*%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%16I%00%00%3B" alt="" /></p>
<p id="greasedLightboxLoadingText">Loading image</p>
<p id="greasedLightboxLoadingHelp">Click anywhere to cancel</p>
</div>
<div id="greasedLightboxError" style="visibility: visible; display: none; top: 54px; left: 169.5px;">
<p id="greasedLightboxErrorMessage">Image unavailable</p>
<p id="greasedLightboxErrorContext"><a href="http://www.noroute.de/blog/wp-content/uploads/2010/08/GT-I9000.jpg">View image in its original context</a></p>
</div>
<p><img id="greasedLightboxPreload" src="http://www.noroute.de/blog/wp-content/uploads/2010/08/GT-I9000.jpg" alt="" /><img id="greasedLightboxPrefetch" alt="" /></p>
<div id="greasedLightboxOverlay">
<div id="greasedLightbox"><img id="greasedLightboxImage" alt="" /></div>
</div>
<div id="greasedLightboxMenu"><a id="greasedLightboxTitleLink" href="http://shiftingpixel.com/lightbox/">Greased Lightbox</a></p>
<div id="greasedLightboxButtons"><a id="greasedLightboxButtonRight" title="Next image (right arrow key)">→</a><a id="greasedLightboxButtonLeft" title="Previous image (left arrow key)">←</a><a id="greasedLightboxButtonPlus" title="Magnify image (+ key)">+</a><a id="greasedLightboxButtonMinus" title="Shrink image (- key)">-</a><a id="greasedLightboxButtonSlide" title="Start/stop slideshow">↻</a></div>
</div>
<div id="greasedLightboxLoading"><img style="border: medium none;" src="data:image/gif,GIF89a%80%00%80%00%A2%00%00%FF%FF%FF%DD%DD%DD%BB%BB%BB%99%99%99%00%00%FF%00%00%00%00%00%00%00%00%00%21%FF%0BNETSCAPE2.0%03%01%00%00%00%21%F9%04%05%05%00%04%00%2C%02%00%02%00%7C%00%7C%00%00%03%FFH%BA%DC%FE0%CA%06*%988%EB%CD%BB_%96%F5%8Ddibax%AEl%AB%A5%A2%2B%CF.%5C%D1x%3E%DA%97%EE%FF%12%1EpHT%08%8B%C8G%60%190%1DI%83%E8%20%F9a2K%CF%8FTJ%E5X%AD%A4lg%BB%EDj%BE%D7%9D%0DJ%8E%9A3%E8%B4G%BCis%DF%93%B8%9CC%CF%D8%EFx%12zMsk%1E%7FS%81%18%83%850%87%7F%8Apz%8D%29%8Fv%91%92q%1D%7D%12%88%98%99%9A%1B%9C%10%88%89%9Fy%93%A2%86%1A%9E%A7%8B%8C%2F%AB%18%A5%AE%A0_%AA%8E%AC%90%B5%B6%60%19%A3%0D%AD%BC%AF%A1%28%B2%9D%BB%C3%C4h%BF%C7%A4%C9%CA%A8%A9A%CE%0E%B4%D1%BD%7B%10%C0%0A%C2%D8%D2%C5%DB%D5%0C%D7%DF%CB%B7%13%B9%C8%97x%02%EE%02%2B%B0%D47%13%DEln%1E%EF%EF%27%F2%2B%F6Zd%3A%E8%1Bhb%9A%3Fv%F7%DAp%18%C8%90%84%C1%13%D0%C6%94%CB%C0%B0%E2%08f2%14%02%2Ce%8A%FFb%C5%86U%B4%B5%28%B3%91%A3%C0%8F%20%CD%CD%E2%08h%21%CA%94*%AD%B1l%99%EF%25%C1%98%0Bf%D2%1Ca%F3fL%9D%F8X%F4%D4g%0EhG%17C%F7%0D3%EA%23%A9%3B%5EL%818u%054%C9P%AA%2C%DF%D8%C4%FA%8F%CAK%AE%08%15Y%AC%15%F6%13%D1%A5%3Bq%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3B4%DA%F5%1B_a%7F%27%16%0D%0C%89%B0%E0h%86%13%F3%FD%A9%B8qV%95%8E%23%F7%85*%D9Me%B5%97%BB9f%1BY%AF%E7%CF%A0C%8B%1EM%BA%B4%E9%D3%A8S%AB%C6A%92r%D0Se1%C5%7Es8P%ED%24%26a%DF%1E2%13%EC%E4%1CUu%F7%06%12%D5wn%E0%C1%5D%0F%9FQ%1Cq%F2%83%3A1%3FO%F8Xzt%EA%C7%DB6%AFs%5D%EE%F4%95%D5%25%BEv%D1Z%7Cv%F0%BB%EB%05%CC%B8%DERz%99%BF%D5kd%11%91%C3y%F9%F3G%D4%2F%B1%DF%7E%FF%08%BC%F9%E9%F7_I%EDaW%12t%01%3EP%DE3%B3%B9g%DB%80%9A-%A8%20%84%8CAha%7C%90Q%A8%21%85%7Ea%B8%21%87%CE5%18%8C%88%E4%80%88%16%89%25%26%C8%A0%8A%19%A2%98%93%8B%11%B2%D8%21%8C1J%08%A0%89%9F%BC%97b%81%F8%C9x%A2%8F%F0%F1%D8%A3%8D%CA%E8%B8%23%91%2B%02%29%9C%92%232y%24%92%C6%A55%E4x%7E%E0H%9B%95%04%60%89%A1%22%5B%06%09%E5%8D4%9Aa%A4%97RNY%26%97X%D6x%E6%3ANv%91%A6%9ATr%D7%26%15of%19%26%99q%E6%28%A4%7Fs%929%E3Q%EE%7D%89%1Eiu%AAVhj%87%A2%96%E8i%8B%9A%D6%A8%A3%7B%AE%C6%27%A0%AE%24%00%00%21%F9%04%05%05%00%04%00%2C%0A%00%02%00W%000%00%00%03%FFH%BA%DC%FE0%BE%40%83%BC8%EB%3D%2B%E5%60%28J%9E7%9E%28WVi%EBv%EB%2B%BF%EB7%DFgm%E1%3C%A8%F7%23%81P%90%FA%A1%00H%40k8D%19G%C9%24%8A%C9%CC%D5N%D1%E8%89%DA%1C%3DCYi%90%2B%F4%5EEa%B1%88%DC%F5%9DAi%F5%9A-%FAn%E2%CA%14%9B%E8%8E%C1%E3.%7B%21v%19x%2F%82*o%1A%86%87%88%1A%84%12xy%8Dd%89%7E%8B%803%7B%7C%19%90%10%928%8E%18%9E%0F%8C%A1t%9D%8A%91%99%3C%A2%24%AA%11%A6%AD%A8%17%A4%0C%B2%B3%B4%11%B6%0A%A0%40%0A%AE0%25%18%B8%3D%9B%B5%B0%0D%BE%BF%C0%BA%10%97%B1%AC%10%03%D4%03%81%CE%C2%C4%D2%0F%D5%D5K%D8G%DB%0D%DD%E4z%952%E2%E3%E4%E5c%5C3%E9%0C%EB%F2%EDm%E8Y%18%F2%F3se%3CZ%19%F9%FA%98%09%04%18P%E0%2F%82%EB%0C2C%C8N%21%10%86%DD%1C%1E%84HMb%0F%8A%15-%F2%C0%A8%F1%13%22%C3%8E%0F%09%82%0C%99o%E4%C4%86%26IZK%A9%21%01%00%21%F9%04%05%05%00%04%00%2C%1F%00%02%00W%000%00%00%03%FFH%BA%DC%FEKH%01%AB%BD8%EB6%E7%FE%60%A8u%9Dh%9E%22%E9%A1l%5B%A9%92%2B%CF%04L%D1%F8i%E7%7C%B8%F7%A2%81p%C0%FA%9D%02%C8%40k8D%19E%C9%24%8A%C9%D4%C1%8EQ%A9%89%DA4%3DAYm%90%2B%F4%5E%A1a%E4%89%DC%05%7D5i%F1%98%9C%3A%83%E3K%B6%CF%BE%89%2B%F3tn%7Cpx.lD%1Fo%17%7E3%87%88%23%83%8B%8C%8Dz%1B%8A%15%93%94%95%19%97%0F%7E%7F4%87%96%91%98%859%A2%9C%A4%9E%A6%A7%9B%17%9D%0D%99%3C%A8%AF%AA%B1%AC%B3%B4%2F%B6%0B%9F%40%0B%BA%10%B0%0A%B2%40%8E%B5*%92%B8%C6%AE%C2%24%18%C5%BF%04%C1%0F%25%CAa.%00%DA%00%18%D4%28%D1%21%DB%DB%DD%812%CB%20%E2%E9%17%CD%2C%E7%1A%E9%F0%E4U8%D8%22%F0%F7%19%F39Q%26%F7%F8%D2%D2%FC%FD%03%D8C%E0%40%828%0C%C6C%C8C%A1%3A%86%09%1D%8E%83HC%E2D%8A3%2Cj%C3X%D1%14%22%C7%88%0A%3F%E6%08%29r%A4%C0%92%05%17%A2L%B9%D1D%02%00%21%F9%04%05%05%00%04%00%2C%3C%00%02%00B%00B%00%00%03%FEH4%3C%FA0%CAI%AB%9D%AD%DD%CD%7B%CD%99%27%8E%16%A8%91hj2i%3B%AE%8E%2Bo%F0l%7F%EB%ADG%B5%2B%FC%82%DD%A3%97%02%02%85%8B%5C%D1x%DC%11I%CC%A6%EE%29%8AJo%D4%8E%F5j%CBr%B6A%A1%F7%02F%26M%D0%ADy%5C%29%AF%95Z7%92%3D%91%CF%E1%1Bp%F8%8D%8E%5B%CDCx%16v%7C%20%7EQ%80%81%7Ddj%89%0At%0Az%8E%8F%82u%8D%93%90%92%93%94%21%8C%7F%9B%8A1%83%97.%01%A6%01%3B%84%28%A7%A7%3A%A4%AB%AC%AC7%AF%22%B1%B6%AEL%29%B6%BB%A9%5C%1E%BB%BC%A0%1B%C0%C1%C2%15%C4%C5%C6%12%C8%B7%CA%14%CC%B1%CE%13%D0%B2%D2%11%D4%AD%D6%D7%D8%A8%DA%10%DC%DE%CB%D0%E1%D3%C8%E4%CF%C4%E7%C7%CD%EA%EB%A6%ED%F0%F1%F2%F3%F4%F5%F6%F7%F8%F9%FA%FA%00%FD%FE%FF%00%03%024%26%B0%A0%C1%7F%A0%0E*4%B8i%A1%C3%81%93%1EJ%04%D0p%A2%C3%84%16%0F%12%CC%28%03PA%02%00%21%F9%04%05%05%00%04%00%2CN%00%0A%000%00W%00%00%03%ECH%BA%BC%F3%A3%C9I%2B%85%D0%EA%7Dq%E6%E0%E6%7Da%29%8D%A4%A9%A2%A9Z%B2%91%BB%B2%B2%0B%D7%E6%8D%87p%BCs%BA%9F%28%28%B4%10%8B%1D%14r%A8%5CV%8ENF%2F%9A%1CQ%27%D3k%03z%E5%AA%04%60%81%91%B6%0B%87%9F%CD%9Ay%5D%C5%A8%D7%EC%B6%CF%04%AF%8F%1F%B2%BA%9D%AA%DF%3B%FB%7EH%80p%7C%83fQ%86%87%7F%89%60%85%8C%8E%86Z%89Z%0A%83%94%0B%80%97%0C%81%9A%95g%9D%A0%A1%A2%A3%A4%A5%A6%A7%A8%A9%AA*%01%AD%AE%AF%B0%B1%B05%B2%B5%B6%AF.%B7%BA%B6%AC%BB%BE%B8%26%BF%C2%01%BD%C3%BB%B9%C6%B7%B4%C9%B2%AB%CE%CF%D0%D1%D2%D3%D4%D52%00%D8%00%A5%D9%DC%A2%DC%DF%DA%9D%E0%DF%E2%E3%E4%94%E6%E3%E8%E9%E0Z%EC%ED%EE%EF%DD%F1%F2%D8%F4%F5%EB%F5%E1W%FA%FB%FC%F8%F9%D8%95K%17%8A%A0%B7s%A3%E6QH%00%00%21%F9%04%05%05%00%04%00%2CN%00%1F%000%00W%00%00%03%E9H%BA%DC%FEn%C8%01%AB%BDmN%CC%3B%D1%A0%27F%608%8Eez%8A%A9%BAb%AD%FBV%B1%3C%93%B5v%D3%B9%BE%E3%3D%CA%2F%13%94%0C%81%BD%231%A8D%B6%9A%8F%1C%14R%9B%F2L%D6%AB0%CB%EDz%BF%E0%B0xL.%9B%CF%5C%81z%CDn%BB%DB%B3%B7%7C%CE%5E%D1%EF%F3%13%7E%0F%1F%F1%FF%02z%80%7Bv%83tq%86oh%8B%8C%8D%8E%8F%90%91%92%93%0A%01%96%01f%97%9Ac%9A%9D%98%60%9E%9D%A0%A1%A2%5D%A4%A1%A6%A7%9E%5C%AA%AB%AC%AD%9B%AF%B0%96%B2%B3%A9%B3%9FY%B8%B9%10%00%BE%00%2F%B8%15%BF%BF%C1%B0%BD%C4%C5%C6%A7%C8%C9%C07%CC%0F%CE%CA%D0%A5%D2%D3%CF%3B%B1%C3%D8b%D8%BE%DE%DDa%DF%D9_%DFc%E7%E3%E2%EA%D3%E1%EB%E6%EF%5E%E4%EE%CE%E8%F1%5D%E9%EC%F5%FA%FB%60%F9%FE%ED%E8%11%23%D3%CF%1E%B8%29%09%00%00%21%F9%04%05%05%00%04%00%2C%3C%00%3C%00B%00B%00%00%03%F9H%BA%DC%FEP%8DI%AB%BD6%EA%1D%B1%FF%15%27r%60%F9%8D%E8c%AEY%EAJl%FC%BE%B1%3C%BB%B5y%CF%F9%B9%FF%C0%A0pH%2C%1A%8F%C8%A4r%C9l%3A%9F%D0%A8tJ%10X%05%D4%D7u%9B%1Dm%BF%D8%AE%06%FC%15G%C8%60%B3%03MV3%D8mw%15%5E%96%CF%E9W%FB%1D%1Fv%F3%F3v%7FVz%82F%01%87%017%7FD%88%88%8AxC%8D%8D%3Bt%91%92%87%40l%96%97%89%99u%11%00%A1%00%1C%9C%98A%5C%1A%A2%A2%A4%A5O%AA%AA%1B%A5%A6L%AF%AB%B1%ADM%B5%A1%AC%B8K%BA%A3%BC%97%B9%BA%23%B2%B4%C4%22%C6%BE%C8%C9%BDH%BF%28%B2%9D%CF%CC%CD%9CJ%D0%D1%CAG%D9%DA%D7%D4%B5%2F%DBE%DD%DE%C2%DC%D5%E6%92%E8%E1%E2%E3B%E5%29%EFA%F1%F2%DFD%F5%EA%8E%E4%E9.%E7%FC%EDvLb%F7J%8F%83%7Cv%10%CAQ%E8%86%A1%1A%87%0F%0B%1A%7C%00kb%83%04%00%21%F9%04%05%05%00%04%00%2C%1F%00N%00W%000%00%00%03%FFH%BA%DC%FE0%CA7%EA%988%EB%CD%89%FD%5D%28%8E%CDg%5Ed%AAJ%A7%B9%BE%B0%D7%BAq%1D%CE%AD%ADkx%BE%FF%90%DE%09Ht%08i%C5%E4%11%94%2C.-M%E5%13%15%05N5%80%2C%E0%27%E8%0AFO%8CV%AB%F3z%C1%C7%C9x%5C3%9BIB%F5%3A%DBvwU8%C9%9C%1C%B3%9F%F1H%10%7Bt%13%01%86%01%18%7Ew%2BL%11%83%5B%85%87%86%89%8AQ%8F%90%11%92%92%13%8A%8BE%8F%18%9A%87%94%7EI%97%A1%A2%88%9C%9D%9F%83%19%A9%AA%AB%A5%40%A0%AF%A9%1A%AC%3F%B5%A8%A2%B8%95%3B%BB%BC%9A%1B%B95%A7%1A%B0%C4%C50%C1%C2%9B%CA%B3%CC%CD%91%BD%D0%D1%2B%D3%D4%C3%1C%CB%29%D9%DA%CF%DC%BF*%DF%12%C9%1D%DD%22%E5%E6%B7%21%E9%1C%C7%1D%E7%E8%EFX%AE%22%F3%F4%D7%1D%F7%F8%ED%22%E3B%F4%0B%91O%9F%1BokR%144%E8%89%04%1B%85%FFF%BC%A9%E2l%14%C5%28%0B%2F%FE%C8%A8Q%13%07%C7%8E5%3E%82%84%21r%E4%8Bj%26%89%84K%A9%20%01%00%21%F9%04%05%05%00%04%00%2C%0A%00N%00W%000%00%00%03%FFH%BA%DC%0E%10%B8I%AB%BD8%B7%C8%B5%FF%E0%C7%8DRh%9E%219%A2lK%A9%A4%2B%B7%B0%3A%DF%60m%E3%3C%A6%C7%BD%E0%E4%B7%12%1A%17%C4%CEq%99%8C%2C%8FM%C8%13%DA%9CR%89%A7%806%20%1Cx%07%99dv%AB%ED%7D%BF%3E%1D%8AL%C6%9D%CF%97Z%8B%BDu%BF%BDi%25%8B%5E%BF%DD%D1qN.%7Ce%17%02%87%02%18%7FxV%04%84%5C%86%88%87%8A%8BV%8F%90%15%92%92%17%8B%8CK%8F%18%9A%88%94%7FO%97%A1%A2%89%9C%9D%9F%84%19%A9%AA%AB%A5F%A0%AF%A9%1A%ACB%B5%A8%A2%B8%95A%BB%BC%9A%1E%B98%A7%1A%B0%C4%C53%C1%C2%9B%CA%B3%CC%CD%91%BD%D0%D1%83%AE%1F%C9%1F%CB%7B%D9%DA%B7%20%DDc%7C%21%DB%DC%BF%DE%E5%E6%E1%E2%E9%26%C7%20%E7%E8%EF%20%D3%C8%ED%EE%D7%F6%EB%26%F3%FAo%D6%F4cW%CDD%3D%7EmP%FC%03%E8I%60%21%85%F9%0C%02jDm%18E%2B%0B%2F%0A%C9%A8%B1%12%07%C7%8E8%3E%82%9C%21r%A4%8C%82%26%8D%3C%E3%91%00%00%21%F9%04%05%05%00%04%00%2C%02%00%3C%00B%00B%00%00%03%F5H%04%DC%FE%F0%A9I%AB%BD%98%C6%CD%5D%FE%E0%D5%8D%5Ch%82d*%9D%AC%A5%BE%40%2BO%B0%3A%DF%F5x%EF%F9%B6%FF%C0%A0pH%2C%1A%8F%C8%A4r%C9l%3A%9F%D0%A8tJ%3D%05%AE%81%AA%0C%CB%D5%9A%B8%E0%AC7%13%06%8F%2F%E5%F0%99%92.%AF%09m%F7%3A%AE%3E%D3%CD%F6%3B%F6%AD%DF%E7%FB%7C%80%81w%3B%02%86%02Fz%85%87%86Et%3F%8C%8CDmA%91%87%8Ex%40%96%97%98WC%9B%8D%20%03%A3%03R%A0%88%A2%A4%A3P%A7%A8%19%AA%AAO%A7%21%B0%A4N%AD%B4%B5%A5M%B3%B9%B5%BC%A0%27%BA%BBK%BD%BE%B0L%C6%C7%B1J%B8%C2%BA%C5%C1%2C%C3%CD%CA%CB%B6I%D6%D7%ABH%DA%DB%C4F%DE%A9%BFG%E2%E3%C8%E1%E6%1F%D4%E9%9B%3B%ECE%D27%F0D%F23%F4%F5%91%40%F8%F9%A1%3F%FCo%26%00%0CH%60%60%40%83o%10%AEQx%86aCt%0410K%00%00%21%F9%04%05%05%00%04%00%2C%02%00%1F%000%00W%00%00%03%E7H%BA%0C%0E%2C%CAIk%7B%CE%EAM%B1%E7%E0%E6%8Da%29%8D%A8%A9%A2%A9Z%B2%AD%CB%C1%B1%AC%D1%A4%7D%E3%98.%F2%0F%DF%0E%08%11v%88E%E3%04%A9%AC%00%9B%16%1C4%0A%9B%0E%7B%D6_%26%CB%EDz%BF%E0%B0xL.%9B%CF%A1%80z%CDn%BB%DB%B6%B7%7C%CEv%D1%EFs%15%7E%0F7%F1%FF%01z%80%7Bv%83tq%86oh%8B%8C%8D%8E%8F%90%91%92%93h%02%96%02f%97%9Ac%9A%9D%98%60%9E%9D_%A1%9E%5D%A4%A1Y%A7%A8V%AA%A5S%AD%A2%AF%B0%97%A9%B3%96%AC%B6%9F%B2%B3%5C%B62%03%C0%03%16%BC.%C1%C1%15%AD6%C6%C6%14%A7%3E%CB%C7%CD%B1%3A%D0%D1%D2%B7B%D5%C0b%DA%C2a%DD%DE%60%DD%DC%E3%DF%DA%E4%D5c%E5%E2%E7%E6%ED%EC%E9%EE%F1%F0%D0%E8%F5%F6%CB%F8%CC%F2%F7%F4%F9%FA%DB%D4%CD%D3wf%9F%86%04%00%21%F9%04%09%05%00%04%00%2C%02%00%02%00%7C%00%7C%00%00%03%FFH%BA%DC%FE0%CAI%AB%BD8%EB%CD%BB%FF%60%28%8Edi%9Eh%AA%AEl%EB%BEp%2C%CFt%0A%DC%40%AD%938%BE%FF%9E%5E%0FH%CC%08%7D%C5%24%E5%88T%3A%1D%CC%E6sJ%88%E6%A8X%2B%96%AA%DDN%BB%5E%A5%F5%1AN%82%CB%C41%DA%1C%5D%B3%99%EEt%3B%0E%3C%D3i%EA%BB%CE%AE%8F%E5%FB3%7C%80%12%01%85%01%21%82%83%0E%86%86%20%89%8A%0B%8C%92%1Fs%90%10%92%98%1D%95%96%8B%98%99%1BG%9C%11%9E%9E%1CC%A2%A3%A4%9F%A8%26%AA%A5%AC%AD%AE%93%B0%24%B2%B3%B4%23%B6%8C%B8%B5%BA%85%BC%22%BE%BF%C0%21%C2%C4%C1%B6%C7%B9%AE%CA%CB%A4%CD%BD%B7%D0%CE%87%D3%D6%D7%D8%D9%DA%DB%DC%DD%DE%DF%E0%E1%C0%02%E4%E5%E6%E7%E8%E7%DC%E9%EC%ED%E6%DA%EE%F1%ED%D9%F2%F5%EA%D8%F6%F9%02%F4%FA%F5%F0%FD%EE%D6%01L%27%AE%A0%C1%83%08%13*%5C%C8%B0%A1%C3%87h%06H%1C%00q%C1%C4%8B%10%2Fj%A4%D8pP%A3F%86%1E7*%0C%E9%11%21%C9%92%07O%8A4%A8%F2%23%CB%96%13M%C2%94%98r%26%C7%970%13%CE%5C%98%93%E7I%87%24%2B%AE%ACH%00%23%D1%A3H%93*%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%16I%00%00%3B" alt="" /></p>
<p id="greasedLightboxLoadingText">Loading image</p>
<p id="greasedLightboxLoadingHelp">Click anywhere to cancel</p>
</div>
<div id="greasedLightboxError">
<p id="greasedLightboxErrorMessage">Image unavailable</p>
<p id="greasedLightboxErrorContext">
</div>
<p><img id="greasedLightboxPreload" alt="" /><img id="greasedLightboxPrefetch" alt="" /></p>
<div id="greasedLightboxOverlay">
<div id="greasedLightbox"><img id="greasedLightboxImage" alt="" /></div>
</div>
<div id="greasedLightboxMenu"><a id="greasedLightboxTitleLink" href="http://shiftingpixel.com/lightbox/">Greased Lightbox</a></p>
<div id="greasedLightboxButtons"><a id="greasedLightboxButtonRight" title="Next image (right arrow key)">→</a><a id="greasedLightboxButtonLeft" title="Previous image (left arrow key)">←</a><a id="greasedLightboxButtonPlus" title="Magnify image (+ key)">+</a><a id="greasedLightboxButtonMinus" title="Shrink image (- key)">-</a><a id="greasedLightboxButtonSlide" title="Start/stop slideshow">↻</a></div>
</div>
<div id="greasedLightboxLoading"><img style="border: medium none;" src="data:image/gif,GIF89a%80%00%80%00%A2%00%00%FF%FF%FF%DD%DD%DD%BB%BB%BB%99%99%99%00%00%FF%00%00%00%00%00%00%00%00%00!%FF%0BNETSCAPE2.0%03%01%00%00%00!%F9%04%05%05%00%04%00%2C%02%00%02%00%7C%00%7C%00%00%03%FFH%BA%DC%FE0%CA%06*%988%EB%CD%BB_%96%F5%8Ddibax%AEl%AB%A5%A2%2B%CF.%5C%D1x%3E%DA%97%EE%FF%12%1EpHT%08%8B%C8G%60%190%1DI%83%E8%20%F9a2K%CF%8FTJ%E5X%AD%A4lg%BB%EDj%BE%D7%9D%0DJ%8E%9A3%E8%B4G%BCis%DF%93%B8%9CC%CF%D8%EFx%12zMsk%1E%7FS%81%18%83%850%87%7F%8Apz%8D)%8Fv%91%92q%1D%7D%12%88%98%99%9A%1B%9C%10%88%89%9Fy%93%A2%86%1A%9E%A7%8B%8C%2F%AB%18%A5%AE%A0_%AA%8E%AC%90%B5%B6%60%19%A3%0D%AD%BC%AF%A1(%B2%9D%BB%C3%C4h%BF%C7%A4%C9%CA%A8%A9A%CE%0E%B4%D1%BD%7B%10%C0%0A%C2%D8%D2%C5%DB%D5%0C%D7%DF%CB%B7%13%B9%C8%97x%02%EE%02%2B%B0%D47%13%DEln%1E%EF%EF'%F2%2B%F6Zd%3A%E8%1Bhb%9A%3Fv%F7%DAp%18%C8%90%84%C1%13%D0%C6%94%CB%C0%B0%E2%08f2%14%02%2Ce%8A%FFb%C5%86U%B4%B5(%B3%91%A3%C0%8F%20%CD%CD%E2%08h!%CA%94*%AD%B1l%99%EF%25%C1%98%0Bf%D2%1Ca%F3fL%9D%F8X%F4%D4g%0EhG%17C%F7%0D3%EA%23%A9%3B%5EL%818u%054%C9P%AA%2C%DF%D8%C4%FA%8F%CAK%AE%08%15Y%AC%15%F6%13%D1%A5%3Bq%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3B4%DA%F5%1B_a%7F'%16%0D%0C%89%B0%E0h%86%13%F3%FD%A9%B8qV%95%8E%23%F7%85*%D9Me%B5%97%BB9f%1BY%AF%E7%CF%A0C%8B%1EM%BA%B4%E9%D3%A8S%AB%C6A%92r%D0Se1%C5~s8P%ED%24%26a%DF%1E2%13%EC%E4%1CUu%F7%06%12%D5wn%E0%C1%5D%0F%9FQ%1Cq%F2%83%3A1%3FO%F8Xzt%EA%C7%DB6%AFs%5D%EE%F4%95%D5%25%BEv%D1Z%7Cv%F0%BB%EB%05%CC%B8%DERz%99%BF%D5kd%11%91%C3y%F9%F3G%D4%2F%B1%DF~%FF%08%BC%F9%E9%F7_I%EDaW%12t%01%3EP%DE3%B3%B9g%DB%80%9A-%A8%20%84%8CAha%7C%90Q%A8!%85~a%B8!%87%CE5%18%8C%88%E4%80%88%16%89%25%26%C8%A0%8A%19%A2%98%93%8B%11%B2%D8!%8C1J%08%A0%89%9F%BC%97b%81%F8%C9x%A2%8F%F0%F1%D8%A3%8D%CA%E8%B8%23%91%2B%02)%9C%92%232y%24%92%C6%A55%E4x~%E0H%9B%95%04%60%89%A1%22%5B%06%09%E5%8D4%9Aa%A4%97RNY%26%97X%D6x%E6%3ANv%91%A6%9ATr%D7%26%15of%19%26%99q%E6(%A4%7Fs%929%E3Q%EE%7D%89%1Eiu%AAVhj%87%A2%96%E8i%8B%9A%D6%A8%A3%7B%AE%C6'%A0%AE%24%00%00!%F9%04%05%05%00%04%00%2C%0A%00%02%00W%000%00%00%03%FFH%BA%DC%FE0%BE%40%83%BC8%EB%3D%2B%E5%60(J%9E7%9E(WVi%EBv%EB%2B%BF%EB7%DFgm%E1%3C%A8%F7%23%81P%90%FA%A1%00H%40k8D%19G%C9%24%8A%C9%CC%D5N%D1%E8%89%DA%1C%3DCYi%90%2B%F4%5EEa%B1%88%DC%F5%9DAi%F5%9A-%FAn%E2%CA%14%9B%E8%8E%C1%E3.%7B!v%19x%2F%82*o%1A%86%87%88%1A%84%12xy%8Dd%89~%8B%803%7B%7C%19%90%10%928%8E%18%9E%0F%8C%A1t%9D%8A%91%99%3C%A2%24%AA%11%A6%AD%A8%17%A4%0C%B2%B3%B4%11%B6%0A%A0%40%0A%AE0%25%18%B8%3D%9B%B5%B0%0D%BE%BF%C0%BA%10%97%B1%AC%10%03%D4%03%81%CE%C2%C4%D2%0F%D5%D5K%D8G%DB%0D%DD%E4z%952%E2%E3%E4%E5c%5C3%E9%0C%EB%F2%EDm%E8Y%18%F2%F3se%3CZ%19%F9%FA%98%09%04%18P%E0%2F%82%EB%0C2C%C8N!%10%86%DD%1C%1E%84HMb%0F%8A%15-%F2%C0%A8%F1%13%22%C3%8E%0F%09%82%0C%99o%E4%C4%86%26IZK%A9!%01%00!%F9%04%05%05%00%04%00%2C%1F%00%02%00W%000%00%00%03%FFH%BA%DC%FEKH%01%AB%BD8%EB6%E7%FE%60%A8u%9Dh%9E%22%E9%A1l%5B%A9%92%2B%CF%04L%D1%F8i%E7%7C%B8%F7%A2%81p%C0%FA%9D%02%C8%40k8D%19E%C9%24%8A%C9%D4%C1%8EQ%A9%89%DA4%3DAYm%90%2B%F4%5E%A1a%E4%89%DC%05%7D5i%F1%98%9C%3A%83%E3K%B6%CF%BE%89%2B%F3tn%7Cpx.lD%1Fo%17~3%87%88%23%83%8B%8C%8Dz%1B%8A%15%93%94%95%19%97%0F~%7F4%87%96%91%98%859%A2%9C%A4%9E%A6%A7%9B%17%9D%0D%99%3C%A8%AF%AA%B1%AC%B3%B4%2F%B6%0B%9F%40%0B%BA%10%B0%0A%B2%40%8E%B5*%92%B8%C6%AE%C2%24%18%C5%BF%04%C1%0F%25%CAa.%00%DA%00%18%D4(%D1!%DB%DB%DD%812%CB%20%E2%E9%17%CD%2C%E7%1A%E9%F0%E4U8%D8%22%F0%F7%19%F39Q%26%F7%F8%D2%D2%FC%FD%03%D8C%E0%40%828%0C%C6C%C8C%A1%3A%86%09%1D%8E%83HC%E2D%8A3%2Cj%C3X%D1%14%22%C7%88%0A%3F%E6%08)r%A4%C0%92%05%17%A2L%B9%D1D%02%00!%F9%04%05%05%00%04%00%2C%3C%00%02%00B%00B%00%00%03%FEH4%3C%FA0%CAI%AB%9D%AD%DD%CD%7B%CD%99'%8E%16%A8%91hj2i%3B%AE%8E%2Bo%F0l%7F%EB%ADG%B5%2B%FC%82%DD%A3%97%02%02%85%8B%5C%D1x%DC%11I%CC%A6%EE)%8AJo%D4%8E%F5j%CBr%B6A%A1%F7%02F%26M%D0%ADy%5C)%AF%95Z7%92%3D%91%CF%E1%1Bp%F8%8D%8E%5B%CDCx%16v%7C%20~Q%80%81%7Ddj%89%0At%0Az%8E%8F%82u%8D%93%90%92%93%94!%8C%7F%9B%8A1%83%97.%01%A6%01%3B%84(%A7%A7%3A%A4%AB%AC%AC7%AF%22%B1%B6%AEL)%B6%BB%A9%5C%1E%BB%BC%A0%1B%C0%C1%C2%15%C4%C5%C6%12%C8%B7%CA%14%CC%B1%CE%13%D0%B2%D2%11%D4%AD%D6%D7%D8%A8%DA%10%DC%DE%CB%D0%E1%D3%C8%E4%CF%C4%E7%C7%CD%EA%EB%A6%ED%F0%F1%F2%F3%F4%F5%F6%F7%F8%F9%FA%FA%00%FD%FE%FF%00%03%024%26%B0%A0%C1%7F%A0%0E*4%B8i%A1%C3%81%93%1EJ%04%D0p%A2%C3%84%16%0F%12%CC(%03PA%02%00!%F9%04%05%05%00%04%00%2CN%00%0A%000%00W%00%00%03%ECH%BA%BC%F3%A3%C9I%2B%85%D0%EA%7Dq%E6%E0%E6%7Da)%8D%A4%A9%A2%A9Z%B2%91%BB%B2%B2%0B%D7%E6%8D%87p%BCs%BA%9F((%B4%10%8B%1D%14r%A8%5CV%8ENF%2F%9A%1CQ'%D3k%03z%E5%AA%04%60%81%91%B6%0B%87%9F%CD%9Ay%5D%C5%A8%D7%EC%B6%CF%04%AF%8F%1F%B2%BA%9D%AA%DF%3B%FB~H%80p%7C%83fQ%86%87%7F%89%60%85%8C%8E%86Z%89Z%0A%83%94%0B%80%97%0C%81%9A%95g%9D%A0%A1%A2%A3%A4%A5%A6%A7%A8%A9%AA*%01%AD%AE%AF%B0%B1%B05%B2%B5%B6%AF.%B7%BA%B6%AC%BB%BE%B8%26%BF%C2%01%BD%C3%BB%B9%C6%B7%B4%C9%B2%AB%CE%CF%D0%D1%D2%D3%D4%D52%00%D8%00%A5%D9%DC%A2%DC%DF%DA%9D%E0%DF%E2%E3%E4%94%E6%E3%E8%E9%E0Z%EC%ED%EE%EF%DD%F1%F2%D8%F4%F5%EB%F5%E1W%FA%FB%FC%F8%F9%D8%95K%17%8A%A0%B7s%A3%E6QH%00%00!%F9%04%05%05%00%04%00%2CN%00%1F%000%00W%00%00%03%E9H%BA%DC%FEn%C8%01%AB%BDmN%CC%3B%D1%A0'F%608%8Eez%8A%A9%BAb%AD%FBV%B1%3C%93%B5v%D3%B9%BE%E3%3D%CA%2F%13%94%0C%81%BD%231%A8D%B6%9A%8F%1C%14R%9B%F2L%D6%AB0%CB%EDz%BF%E0%B0xL.%9B%CF%5C%81z%CDn%BB%DB%B3%B7%7C%CE%5E%D1%EF%F3%13~%0F%1F%F1%FF%02z%80%7Bv%83tq%86oh%8B%8C%8D%8E%8F%90%91%92%93%0A%01%96%01f%97%9Ac%9A%9D%98%60%9E%9D%A0%A1%A2%5D%A4%A1%A6%A7%9E%5C%AA%AB%AC%AD%9B%AF%B0%96%B2%B3%A9%B3%9FY%B8%B9%10%00%BE%00%2F%B8%15%BF%BF%C1%B0%BD%C4%C5%C6%A7%C8%C9%C07%CC%0F%CE%CA%D0%A5%D2%D3%CF%3B%B1%C3%D8b%D8%BE%DE%DDa%DF%D9_%DFc%E7%E3%E2%EA%D3%E1%EB%E6%EF%5E%E4%EE%CE%E8%F1%5D%E9%EC%F5%FA%FB%60%F9%FE%ED%E8%11%23%D3%CF%1E%B8)%09%00%00!%F9%04%05%05%00%04%00%2C%3C%00%3C%00B%00B%00%00%03%F9H%BA%DC%FEP%8DI%AB%BD6%EA%1D%B1%FF%15'r%60%F9%8D%E8c%AEY%EAJl%FC%BE%B1%3C%BB%B5y%CF%F9%B9%FF%C0%A0pH%2C%1A%8F%C8%A4r%C9l%3A%9F%D0%A8tJ%10X%05%D4%D7u%9B%1Dm%BF%D8%AE%06%FC%15G%C8%60%B3%03MV3%D8mw%15%5E%96%CF%E9W%FB%1D%1Fv%F3%F3v%7FVz%82F%01%87%017%7FD%88%88%8AxC%8D%8D%3Bt%91%92%87%40l%96%97%89%99u%11%00%A1%00%1C%9C%98A%5C%1A%A2%A2%A4%A5O%AA%AA%1B%A5%A6L%AF%AB%B1%ADM%B5%A1%AC%B8K%BA%A3%BC%97%B9%BA%23%B2%B4%C4%22%C6%BE%C8%C9%BDH%BF(%B2%9D%CF%CC%CD%9CJ%D0%D1%CAG%D9%DA%D7%D4%B5%2F%DBE%DD%DE%C2%DC%D5%E6%92%E8%E1%E2%E3B%E5)%EFA%F1%F2%DFD%F5%EA%8E%E4%E9.%E7%FC%EDvLb%F7J%8F%83%7Cv%10%CAQ%E8%86%A1%1A%87%0F%0B%1A%7C%00kb%83%04%00!%F9%04%05%05%00%04%00%2C%1F%00N%00W%000%00%00%03%FFH%BA%DC%FE0%CA7%EA%988%EB%CD%89%FD%5D(%8E%CDg%5Ed%AAJ%A7%B9%BE%B0%D7%BAq%1D%CE%AD%ADkx%BE%FF%90%DE%09Ht%08i%C5%E4%11%94%2C.-M%E5%13%15%05N5%80%2C%E0'%E8%0AFO%8CV%AB%F3z%C1%C7%C9x%5C3%9BIB%F5%3A%DBvwU8%C9%9C%1C%B3%9F%F1H%10%7Bt%13%01%86%01%18~w%2BL%11%83%5B%85%87%86%89%8AQ%8F%90%11%92%92%13%8A%8BE%8F%18%9A%87%94~I%97%A1%A2%88%9C%9D%9F%83%19%A9%AA%AB%A5%40%A0%AF%A9%1A%AC%3F%B5%A8%A2%B8%95%3B%BB%BC%9A%1B%B95%A7%1A%B0%C4%C50%C1%C2%9B%CA%B3%CC%CD%91%BD%D0%D1%2B%D3%D4%C3%1C%CB)%D9%DA%CF%DC%BF*%DF%12%C9%1D%DD%22%E5%E6%B7!%E9%1C%C7%1D%E7%E8%EFX%AE%22%F3%F4%D7%1D%F7%F8%ED%22%E3B%F4%0B%91O%9F%1BokR%144%E8%89%04%1B%85%FFF%BC%A9%E2l%14%C5(%0B%2F%FE%C8%A8Q%13%07%C7%8E5%3E%82%84!r%E4%8Bj%26%89%84K%A9%20%01%00!%F9%04%05%05%00%04%00%2C%0A%00N%00W%000%00%00%03%FFH%BA%DC%0E%10%B8I%AB%BD8%B7%C8%B5%FF%E0%C7%8DRh%9E!9%A2lK%A9%A4%2B%B7%B0%3A%DF%60m%E3%3C%A6%C7%BD%E0%E4%B7%12%1A%17%C4%CEq%99%8C%2C%8FM%C8%13%DA%9CR%89%A7%806%20%1Cx%07%99dv%AB%ED%7D%BF%3E%1D%8AL%C6%9D%CF%97Z%8B%BDu%BF%BDi%25%8B%5E%BF%DD%D1qN.%7Ce%17%02%87%02%18%7FxV%04%84%5C%86%88%87%8A%8BV%8F%90%15%92%92%17%8B%8CK%8F%18%9A%88%94%7FO%97%A1%A2%89%9C%9D%9F%84%19%A9%AA%AB%A5F%A0%AF%A9%1A%ACB%B5%A8%A2%B8%95A%BB%BC%9A%1E%B98%A7%1A%B0%C4%C53%C1%C2%9B%CA%B3%CC%CD%91%BD%D0%D1%83%AE%1F%C9%1F%CB%7B%D9%DA%B7%20%DDc%7C!%DB%DC%BF%DE%E5%E6%E1%E2%E9%26%C7%20%E7%E8%EF%20%D3%C8%ED%EE%D7%F6%EB%26%F3%FAo%D6%F4cW%CDD%3D~mP%FC%03%E8I%60!%85%F9%0C%02jDm%18E%2B%0B%2F%0A%C9%A8%B1%12%07%C7%8E8%3E%82%9C!r%A4%8C%82%26%8D%3C%E3%91%00%00!%F9%04%05%05%00%04%00%2C%02%00%3C%00B%00B%00%00%03%F5H%04%DC%FE%F0%A9I%AB%BD%98%C6%CD%5D%FE%E0%D5%8D%5Ch%82d*%9D%AC%A5%BE%40%2BO%B0%3A%DF%F5x%EF%F9%B6%FF%C0%A0pH%2C%1A%8F%C8%A4r%C9l%3A%9F%D0%A8tJ%3D%05%AE%81%AA%0C%CB%D5%9A%B8%E0%AC7%13%06%8F%2F%E5%F0%99%92.%AF%09m%F7%3A%AE%3E%D3%CD%F6%3B%F6%AD%DF%E7%FB%7C%80%81w%3B%02%86%02Fz%85%87%86Et%3F%8C%8CDmA%91%87%8Ex%40%96%97%98WC%9B%8D%20%03%A3%03R%A0%88%A2%A4%A3P%A7%A8%19%AA%AAO%A7!%B0%A4N%AD%B4%B5%A5M%B3%B9%B5%BC%A0'%BA%BBK%BD%BE%B0L%C6%C7%B1J%B8%C2%BA%C5%C1%2C%C3%CD%CA%CB%B6I%D6%D7%ABH%DA%DB%C4F%DE%A9%BFG%E2%E3%C8%E1%E6%1F%D4%E9%9B%3B%ECE%D27%F0D%F23%F4%F5%91%40%F8%F9%A1%3F%FCo%26%00%0CH%60%60%40%83o%10%AEQx%86aCt%0410K%00%00!%F9%04%05%05%00%04%00%2C%02%00%1F%000%00W%00%00%03%E7H%BA%0C%0E%2C%CAIk%7B%CE%EAM%B1%E7%E0%E6%8Da)%8D%A8%A9%A2%A9Z%B2%AD%CB%C1%B1%AC%D1%A4%7D%E3%98.%F2%0F%DF%0E%08%11v%88E%E3%04%A9%AC%00%9B%16%1C4%0A%9B%0E%7B%D6_%26%CB%EDz%BF%E0%B0xL.%9B%CF%A1%80z%CDn%BB%DB%B6%B7%7C%CEv%D1%EFs%15~%0F7%F1%FF%01z%80%7Bv%83tq%86oh%8B%8C%8D%8E%8F%90%91%92%93h%02%96%02f%97%9Ac%9A%9D%98%60%9E%9D_%A1%9E%5D%A4%A1Y%A7%A8V%AA%A5S%AD%A2%AF%B0%97%A9%B3%96%AC%B6%9F%B2%B3%5C%B62%03%C0%03%16%BC.%C1%C1%15%AD6%C6%C6%14%A7%3E%CB%C7%CD%B1%3A%D0%D1%D2%B7B%D5%C0b%DA%C2a%DD%DE%60%DD%DC%E3%DF%DA%E4%D5c%E5%E2%E7%E6%ED%EC%E9%EE%F1%F0%D0%E8%F5%F6%CB%F8%CC%F2%F7%F4%F9%FA%DB%D4%CD%D3wf%9F%86%04%00!%F9%04%09%05%00%04%00%2C%02%00%02%00%7C%00%7C%00%00%03%FFH%BA%DC%FE0%CAI%AB%BD8%EB%CD%BB%FF%60(%8Edi%9Eh%AA%AEl%EB%BEp%2C%CFt%0A%DC%40%AD%938%BE%FF%9E%5E%0FH%CC%08%7D%C5%24%E5%88T%3A%1D%CC%E6sJ%88%E6%A8X%2B%96%AA%DDN%BB%5E%A5%F5%1AN%82%CB%C41%DA%1C%5D%B3%99%EEt%3B%0E%3C%D3i%EA%BB%CE%AE%8F%E5%FB3%7C%80%12%01%85%01!%82%83%0E%86%86%20%89%8A%0B%8C%92%1Fs%90%10%92%98%1D%95%96%8B%98%99%1BG%9C%11%9E%9E%1CC%A2%A3%A4%9F%A8%26%AA%A5%AC%AD%AE%93%B0%24%B2%B3%B4%23%B6%8C%B8%B5%BA%85%BC%22%BE%BF%C0!%C2%C4%C1%B6%C7%B9%AE%CA%CB%A4%CD%BD%B7%D0%CE%87%D3%D6%D7%D8%D9%DA%DB%DC%DD%DE%DF%E0%E1%C0%02%E4%E5%E6%E7%E8%E7%DC%E9%EC%ED%E6%DA%EE%F1%ED%D9%F2%F5%EA%D8%F6%F9%02%F4%FA%F5%F0%FD%EE%D6%01L'%AE%A0%C1%83%08%13*%5C%C8%B0%A1%C3%87h%06H%1C%00q%C1%C4%8B%10%2Fj%A4%D8pP%A3F%86%1E7*%0C%E9%11!%C9%92%07O%8A4%A8%F2%23%CB%96%13M%C2%94%98r%26%C7%970%13%CE%5C%98%93%E7I%87%24%2B%AE%ACH%00%23%D1%A3H%93*%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%16I%00%00%3B" alt="" /></p>
<p id="greasedLightboxLoadingText">Loading image</p>
<p id="greasedLightboxLoadingHelp">Click anywhere to cancel</p>
</div>
<div id="greasedLightboxError">
<p id="greasedLightboxErrorMessage">Image unavailable</p>
<p id="greasedLightboxErrorContext">
</div>
<p><img id="greasedLightboxPreload" alt="" /><img id="greasedLightboxPrefetch" alt="" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.noroute.de/blog/2010/08/android-frustration-a-day/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>China, Google PR und &#8220;Do no evil&#8221;</title>
		<link>http://www.noroute.de/blog/2010/01/china-google-pr-und-do-no-evil/</link>
		<comments>http://www.noroute.de/blog/2010/01/china-google-pr-und-do-no-evil/#comments</comments>
		<pubDate>Wed, 13 Jan 2010 11:57:50 +0000</pubDate>
		<dc:creator>Florian Thiel</dc:creator>
				<category><![CDATA[privacy]]></category>
		<category><![CDATA[rechenmaschinen]]></category>
		<category><![CDATA[wahnsinn]]></category>

		<guid isPermaLink="false">http://www.noroute.de/blog/?p=260</guid>
		<description><![CDATA[Man kann unterstellen, dass Googles &#8220;Do no evil&#8221;-Doktrin eigentlich eine &#8220;Do much good and drown everybody in it&#8221;-Doktrin ist, die Google einsetzt, um offensiv Diskussionen über die Probleme, die mit dem Geschäftsmodell von Google einhergehen (bei allen Beteuerungen zum Trotz, Picasas Namens-Tags lassen jede Überwachungskamera alt aussehen), zu vermeiden. In diesem Licht hat jedenfalls die [...]]]></description>
			<content:encoded><![CDATA[<p>Man kann unterstellen, dass Googles &#8220;Do no evil&#8221;-Doktrin eigentlich eine &#8220;Do much good and drown everybody in it&#8221;-Doktrin ist, die Google einsetzt, um offensiv Diskussionen über die Probleme, die mit dem Geschäftsmodell von Google einhergehen (bei allen Beteuerungen zum Trotz, <a href="http://picasa.google.com/intl/de/features-nametags.html">Picasas Namens-Tags</a> lassen jede Überwachungskamera alt aussehen), zu vermeiden. In diesem Licht hat jedenfalls die <a href="http://googleblog.blogspot.com/2010/01/new-approach-to-china.html">Absichtserklärung</a>, sich gegebenenfalls aus China zurückzuziehen, einen faden Beigeschmack (den auch <a href="http://www.netzpolitik.org/2010/google-vs-china/">Spreeblick andeutet</a>): Will Google nicht einfach nur vermeiden, dass den chinesischen &#8220;Regierungshackern&#8221; vielleicht doch einmal ein großer Datendiebstahl gelingt und die Welt sieht, welche Gefahren große, zentrale Datensilos beherbergen?</p>
<p>Google wird nicht müde, in unglaublicher Geschwindigkeit großartige Dienste zu veröffentlichen, das Web <a href="http://www.chromium.org/spdy/spdy-whitepaper">voranzubringen</a> und sich überall einzumischen, wo es was zu verbessern gibt, sei es <a href="http://www.google.com/intl/en/jobs/bold/">Bildung</a> oder <a href="http://www.google.org/advocacy.html">Umwelt</a>. Natürlich gibt es für sämtliche Google-Aktivitäten plausible ökonomische Gründe (manchmal mit ein bisschen Altruismus gewürzt), aber Google weiss, wie fragil seine dominante Position ist. Wenn die öffentliche Wahrnehmung von Google kippt, war&#8217;s das. Ein größerer Google-Hack mit Zugriff auf private Daten könnte dies verursachen..</p>
]]></content:encoded>
			<wfw:commentRss>http://www.noroute.de/blog/2010/01/china-google-pr-und-do-no-evil/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What&#8217;s wrong with WordPress?</title>
		<link>http://www.noroute.de/blog/2009/09/whats-wrong-with-wordpress/</link>
		<comments>http://www.noroute.de/blog/2009/09/whats-wrong-with-wordpress/#comments</comments>
		<pubDate>Mon, 07 Sep 2009 13:00:51 +0000</pubDate>
		<dc:creator>Florian Thiel</dc:creator>
				<category><![CDATA[rechenmaschinen]]></category>
		<category><![CDATA[sofware engineering]]></category>

		<guid isPermaLink="false">http://www.noroute.de/blog/?p=244</guid>
		<description><![CDATA[This blog is running WordPress, one of the most popular web-logging applications. Recently, another flaw in WordPress surfaced and caused some stir and panic. The issue was (in the end) missing type-checking on user-provided input, a well-known and well-understood flaw. This must not happen to a project of WordPress&#8217; popularity and professionalism. I looked at [...]]]></description>
			<content:encoded><![CDATA[<p>This blog is running <a href="http://wordpress.org/">WordPress</a>, one of the most popular web-logging applications. Recently, another <a href="http://lists.grok.org.uk/pipermail/full-disclosure/2009-August/070137.html">flaw</a> in WordPress surfaced and caused some <a href="http://scobleizer.com/2009/09/05/i-dont-feel-safe-with-wordpress-hackers-broke-in-and-took-things/">stir</a> and panic. The issue was (in the end) missing type-checking on user-provided input, a well-known and well-understood flaw. <strong>This must not happen to a project of WordPress&#8217; popularity and professionalism. </strong></p>
<p>I looked at WordPress while writing my <a href="https://www.mi.fu-berlin.de/wiki/pub/SE/ThesesHome/FlorianThiel_DA_ProcWebSec.pdf">Diploma Thesis</a> and found that WordPress lacks important means for consistent type-checking:</p>
<ol>
<li>There is no centralized definition (regexps and constraints) for all the data &#8216;types&#8217; WordPress uses</li>
<li>There is no general agreement on exactly when and how input and output filtering and sanitation take place. This leads to ad-hoc solutions like the one causing the current vulnerability.</li>
</ol>
<p>What WordPress really needs is a better architecture that solves the two problems stated above and as such makes vulnerabilities like this recent one very unlikely, not ever more ad-hoc hacks. Unless the WordPress project is willing to spend considerably effort on the architecture, using WordPress for professional means will become an intolerable liability. Software Engineering is about long-term stability and dependability, established in the process, not about &#8220;if you update your WordPress every few days, you&#8217;re safe&#8221; (as Matt Mullenweg <a href="http://wordpress.org/development/2009/09/keep-wordpress-secure/">suggested</a>).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.noroute.de/blog/2009/09/whats-wrong-with-wordpress/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Werkzeuge für den Polizeistaat</title>
		<link>http://www.noroute.de/blog/2009/04/werkzeuge-fur-den-polizeistaat/</link>
		<comments>http://www.noroute.de/blog/2009/04/werkzeuge-fur-den-polizeistaat/#comments</comments>
		<pubDate>Wed, 01 Apr 2009 10:44:41 +0000</pubDate>
		<dc:creator>Florian Thiel</dc:creator>
				<category><![CDATA[privacy]]></category>
		<category><![CDATA[rechenmaschinen]]></category>
		<category><![CDATA[wahnsinn]]></category>
		<category><![CDATA[wissen]]></category>

		<guid isPermaLink="false">http://www.noroute.de/blog/?p=195</guid>
		<description><![CDATA[Ich bin gestern über die neue Gesichtserkennungs und Tagging-Funktion in Googles Picasa gestolpert. Ich fasziniert, gleichzeitig ist mir unheimlich. Für diejenigen, die das noch nicht kennen: Googles Online-Foto-Album kann alle eigenen, online gestellten Bilder nach Gesichtern durchsuchen. Die kann man dann mit Namen und Mail-Adresse (Google-Mail-Adressbuch) verknüpfen. Dabei werden ähnliche Gesichter automatisch gruppiert, man kann [...]]]></description>
			<content:encoded><![CDATA[<p>Ich bin gestern über die neue Gesichtserkennungs und Tagging-Funktion in Googles <a href="http://picasaweb.google.com">Picasa</a> gestolpert. Ich fasziniert, gleichzeitig ist mir unheimlich. Für diejenigen, die das noch nicht kennen: Googles Online-Foto-Album kann alle eigenen, online gestellten Bilder nach Gesichtern durchsuchen. Die kann man dann mit Namen und Mail-Adresse (Google-Mail-Adressbuch) verknüpfen. Dabei werden ähnliche Gesichter automatisch gruppiert, man kann sie also gemeinsam einer Identität zuweisen.</p>
<p>Die Bedienung ist komfortabel, es gibt automatische Vervollständigung der Adressbucheinträge und Vorschläge über Ähnlichkeiten in schon getaggten Bildern.</p>
<p>Big deal, Foto-Taggen kann Facebook auch? Falsch!</p>
<ul>
<li>Facebook benutzt (so weit ich weiss) keine Gesichtserkennung und die Markierung funktioniert nur mit von Hand gesetzten Quadraten. Es werden keine Bilderkennungsverfahren eingesetzt, es entsteht nicht mehr Information, als dass eine Person auf einem Bild ist. Man kann also nach Bildern mit bestimmten Personen (innerhalb von Facebook) suchen, mehr nicht.</li>
<li>Google stellt durch die Gesichtserkennung eine Verbindung zwischen einem Muster (dem Gesicht) und einer Identität (Name+Mail bzw. Adressbucheintrag) her. Diese Information lässt sich prinzipiell dafür nutzen, ausreichend getaggte Personen (am Besten in verschiedenen Posen) in <strong>allen</strong> öffentlich zugänglichen Bildern zu finden. Die Muster, die Google sammelt, wären bestimmt auch nützlich, um automatische Personenerkennung für Überwachungskameras zu realisieren.</li>
<li>Wenn man (zufällig) auf einem Bild ist (Google erkennt auch Bilder im Hintergrund und bietet diese zum Taggen an), muss man damit rechnen, getaggt zu werden. Man verliert die Kontrolle über die eigene Findbarkeit. (Auch wenn man die Personen, die zufällig im Hintergrund stehen nicht kennt und somit nicht taggt, sind diese möglicherweise von jemand anderem getaggt worden; es ist ein Leichtes für Google, die Bilder zu verknüpfen)</li>
</ul>
<p>Google hat prinzipiell die Möglichkeit, die entstehenden Verknüpfungen zu nutzen, um auch alle Personen auf den Bildern zu erkennen, die Google sich im Web ercrawlt. Für mich stellt das eine neue Dimension des Privatspäreverlustes dar, weil selbst nicht-netzaffine Personen, die kein Material über sich selbst veröffentlichen, auf einmal im Netz per Bild auffindbar sind.</p>
<p>Ich glaube nicht, dass Google Böses mit den anfallenden, sehr wertvollen Daten vorhat. Aber alleine die Existenz dieser Daten birgt eine gewisses Risiko. Google sagt, dass es sich an geltendes Recht in den Staaten halten wird, in denen es operiert. Und wenn wir dann den nächsten Kinderschänderfall haben und &#8220;die Regierung&#8221; (oder der Volkszorn in Form der &#8220;Bild&#8221;) Google unter Druck setzt, Daten, die angeblich zur Verfolgung hilfreich sind, freizugeben&#8230;</p>
<p>Und jetzt? Alle Bekannten und Verwandten taggen? Weil das so praktisch ist. Oder lieber sein lassen? Die Verantwortung für seine Entscheidung muss jeder selber tragen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.noroute.de/blog/2009/04/werkzeuge-fur-den-polizeistaat/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Some progress/ some frustration</title>
		<link>http://www.noroute.de/blog/2008/12/some-progress-some-frustration/</link>
		<comments>http://www.noroute.de/blog/2008/12/some-progress-some-frustration/#comments</comments>
		<pubDate>Tue, 16 Dec 2008 19:06:35 +0000</pubDate>
		<dc:creator>Florian Thiel</dc:creator>
				<category><![CDATA[diploma thesis]]></category>
		<category><![CDATA[eigenreklame]]></category>
		<category><![CDATA[rechenmaschinen]]></category>
		<category><![CDATA[wissen]]></category>

		<guid isPermaLink="false">http://www.noroute.de/blog/?p=180</guid>
		<description><![CDATA[The Computer Security department of TU Berlin kindly agreed to host a presentation about my diploma thesis on Tuesday, Dec 18th. I was able to talk to a very technically versed audience about my (not so) new technical approach to XSS and SQLIA (&#8220;let the framework take care of it&#8221;). Thanks a lot, guys! Despite [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://www.agrs.tu-berlin.de/">Computer Security department</a> of <a href="http://www.tu-berlin.de/">TU Berlin</a> kindly agreed to host a presentation about my diploma thesis on Tuesday, Dec 18th. I was able to talk to a very technically versed audience about my (not so) new technical approach to XSS and SQLIA (&#8220;let the framework take care of it&#8221;). Thanks a lot, guys!</p>
<p>Despite the fruitful discussion I&#8217;m still not sure about the feasibility of a &#8220;rich types in frameworks&#8221; solution. There&#8217;s not too much to be gained over a conservative approach used in e.g. <a href="http://www.djangoproject.com/">Django</a> (escape everything, use other markup languages than HTML).</p>
<p>Nevertheless, here&#8217;s the presentation&#8230;</p>
<div id="__ss_859456" style="width: 477px; text-align: left;"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" title="2 Roads to Redemption - Thoughts on XSS and SQLIA" href="http://www.slideshare.net/guestfdcb8a/2-roads-to-redemption-thoughts-on-xss-and-sqlia-presentation?type=document">2 Roads to Redemption &#8211; Thoughts on XSS and SQLIA</a><object width="477" height="510" data="http://static.slideshare.net/swf/ssplayerd.swf?doc=tub20081216-1229686901598393-1&amp;stripped_title=2-roads-to-redemption-thoughts-on-xss-and-sqlia-presentation" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slideshare.net/swf/ssplayerd.swf?doc=tub20081216-1229686901598393-1&amp;stripped_title=2-roads-to-redemption-thoughts-on-xss-and-sqlia-presentation" /><param name="allowfullscreen" value="true" /></object></p>
<div style="font-size: 11px; font-family: tahoma,arial; height: 26px; padding-top: 2px;">View SlideShare <a style="text-decoration:underline;" title="View 2 Roads to Redemption - Thoughts on XSS and SQLIA on SlideShare" href="http://www.slideshare.net/guestfdcb8a/2-roads-to-redemption-thoughts-on-xss-and-sqlia-presentation?type=document">document</a> or <a style="text-decoration:underline;" href="http://www.slideshare.net/upload?type=document">Upload</a> your own. (tags: <a style="text-decoration:underline;" href="http://slideshare.net/tag/sqlia">sqlia</a> <a style="text-decoration:underline;" href="http://slideshare.net/tag/xss">xss</a>)</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.noroute.de/blog/2008/12/some-progress-some-frustration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vertane Chancen oder Warum man nicht mit SQL modelliert</title>
		<link>http://www.noroute.de/blog/2008/12/vertane-chance/</link>
		<comments>http://www.noroute.de/blog/2008/12/vertane-chance/#comments</comments>
		<pubDate>Wed, 03 Dec 2008 16:57:57 +0000</pubDate>
		<dc:creator>Florian Thiel</dc:creator>
				<category><![CDATA[rechenmaschinen]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[modellierung]]></category>
		<category><![CDATA[modelling]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://www.noroute.de/blog/?p=175</guid>
		<description><![CDATA[Ausdrucksschwache Sprache Ein Business-Model definiert man üblicherweise in einer Sprache, die ausdrucksfähig genug dazu ist. Wieso bildet die ActiveRecord Implementation bei Ruby on Rails dann ausgerechnet einfach das Datenbankschema ab? In SQL99 gibt es zwei numerische Typen, drei Datumstypen und Strings. Wie bitte schön kann ich ausdrücken, dass ein Attribut eine E-Mail Adresse ist? Oder [...]]]></description>
			<content:encoded><![CDATA[<h2>Ausdrucksschwache Sprache</h2>
<p>Ein Business-Model definiert man üblicherweise in einer Sprache, die ausdrucksfähig genug dazu ist. Wieso bildet die <a href="http://en.wikipedia.org/wiki/Active_record_pattern">ActiveRecord</a> Implementation bei <a href="http://www.rubyonrails.org/">Ruby on Rails</a> dann ausgerechnet einfach das Datenbankschema ab? In <a href="http://www.ncb.ernet.in/education/modules/dbms/SQL99/ansi-iso-9075-1-1999.pdf">SQL99</a> gibt es zwei numerische Typen, drei Datumstypen und Strings. Wie bitte schön kann ich ausdrücken, dass ein Attribut eine E-Mail Adresse ist? Oder eine Postleitzahl?</p>
<p>Überall, wo die Postleitzahl benutzt wird, muss der Entwickler aufpassen, dass diese auch ja wohlgeformt wird. Das ist eine klassische Aufgabe, die man dem Framework überlassen will. Aber das Modell ist hat keine ausreichende semantische Tiefe.</p>
<h2>Das richtige Ende</h2>
<p><a href="http://www.djangoproject.com/">Django</a> benutzt ebenfalls ActiveRecord, allerdings andersrum. Die Modell-Definitionen sind <a href="http://www.python.org/">Python</a>-Code, aus denen das Datenbankschema generiert wird. Hier hat man die komplette Ausdrucksfähigkeit von Python. Man könnte Validierungslogik und komplexe Bedingungen (&#8220;dieses numerische Feld darf nur Primzahlen enthalten&#8221;) formulieren.</p>
<p>Leider werden diese Möglichkeiten in Django noch nicht ausreichend genutzt. Nur einfache Typen wie Email oder Längenbeschränkungen können ausgedrückt werden. Für alles Andere muss wieder jeder Entwickler eine eigene Lösung finden und dabei Fehler machen.</p>
<h2>Wiederverwendung</h2>
<p>Damit die armen Entwickler von Webanwendungen nicht dazu verdammt sind, die immer gleichen Fehler wieder und wieder zu machen, sollte ein Framework auch eine Bibliothek von vordefinierten Datentypen (Name, Telefonnummer, URL, TextMitHTML) haben, die dann &#8220;sicher&#8221; in einer Anwendung verwendet werden können. Filterung, Validierung und Konvertierung (z.B. nach (X)HTML, JSON usw.) wären dann zentral definiert, vergessene Escapes (die einen grossen Teil der Injektionsattacken ausmachen) wären dann Schnee von gestern.</p>
<h2>Fazit</h2>
<ul>
<li>In Web-Applikationen könnte man viel mehr Funktionalität in das Applikationsframework auslagern, wenn man mehr über die Typen wüsste.</li>
<li>Modelliere in der ausdrucksstärkeren Sprache, nicht im kleinsten gemeinsamen Nenner.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.noroute.de/blog/2008/12/vertane-chance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Open Source, Processes, Web Security and my thesis</title>
		<link>http://www.noroute.de/blog/2008/11/open-source-processes-web-security-and-my-thesis/</link>
		<comments>http://www.noroute.de/blog/2008/11/open-source-processes-web-security-and-my-thesis/#comments</comments>
		<pubDate>Thu, 06 Nov 2008 12:09:14 +0000</pubDate>
		<dc:creator>Florian Thiel</dc:creator>
				<category><![CDATA[diploma thesis]]></category>
		<category><![CDATA[eigenreklame]]></category>
		<category><![CDATA[rechenmaschinen]]></category>
		<category><![CDATA[wissen]]></category>

		<guid isPermaLink="false">http://www.noroute.de/blog/?p=182</guid>
		<description><![CDATA[I&#8217;m in the process of writing my Diploma Thesis about how to prevent injection-related (XSS and SQLIA) vulnerabilities at the Software Engineering working group of the computer science department at Freie Universität Berlin. For now, there&#8217;s not much to see here. Please have a look at the wiki page about my thesis and a concept [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m in the process of writing my Diploma Thesis about how to prevent injection-related (XSS and SQLIA) vulnerabilities at the <a href="https://www.inf.fu-berlin.de/w/SE/WebHome">Software Engineering working group</a> of the <a href="https://www.inf.fu-berlin.de/">computer science department</a> at <a href="http://www.fu-berlin.de/">Freie Universität Berlin</a>.</p>
<p>For now, there&#8217;s not much to see here. Please have a look at the <a href="https://www.inf.fu-berlin.de/w/SE/ThesisProcWebSec">wiki page</a> about my thesis and a concept presentation I gave at the department on 11/06/2008:</p>
<div id="__ss_754592" style="width: 425px; text-align: left;"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" title="Whatever it takes - Fixing SQLIA and XSS in the process" href="http://www.slideshare.net/guest3379bd/whatever-it-takes-fixing-sqlia-and-xss-in-the-process-presentation?type=powerpoint">Whatever it takes &#8211; Fixing SQLIA and XSS in the process</a><object width="425" height="355" data="http://static.slideshare.net/swf/ssplayer2.swf?doc=bse20081106-1226706598155364-8&amp;stripped_title=whatever-it-takes-fixing-sqlia-and-xss-in-the-process-presentation" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=bse20081106-1226706598155364-8&amp;stripped_title=whatever-it-takes-fixing-sqlia-and-xss-in-the-process-presentation" /><param name="allowfullscreen" value="true" /></object></p>
<div style="font-size: 11px; font-family: tahoma,arial; height: 26px; padding-top: 2px;">View SlideShare <a style="text-decoration:underline;" title="View Whatever it takes - Fixing SQLIA and XSS in the process on SlideShare" href="http://www.slideshare.net/guest3379bd/whatever-it-takes-fixing-sqlia-and-xss-in-the-process-presentation?type=powerpoint">presentation</a> or <a style="text-decoration:underline;" href="http://www.slideshare.net/upload?type=powerpoint">Upload</a> your own. (tags: <a style="text-decoration:underline;" href="http://slideshare.net/tag/xss">xss</a> <a style="text-decoration:underline;" href="http://slideshare.net/tag/sqlia">sqlia</a>)</div>
</div>
<p>Check back soon, I&#8217;ll update the page with early draft versions of the thesis. There will also be articles about selected topics of my research in the blog.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.noroute.de/blog/2008/11/open-source-processes-web-security-and-my-thesis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
