<?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/"
	>

<channel>
	<title>Odeley</title>
	<atom:link href="http://blog.odeley.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://blog.odeley.com</link>
	<description>... about software development (Ruby, Java), Web-sightings and my strange taste in music</description>
	<pubDate>Fri, 06 Mar 2009 23:25:08 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>WPtouch: WordPress on iPhone, iPod &amp; Android</title>
		<link>http://blog.odeley.com/?p=76</link>
		<comments>http://blog.odeley.com/?p=76#comments</comments>
		<pubDate>Fri, 06 Mar 2009 23:25:08 +0000</pubDate>
		<dc:creator>mercy</dc:creator>
		
		<category><![CDATA[mobile]]></category>

		<category><![CDATA[web sightings]]></category>

		<guid isPermaLink="false">http://blog.odeley.com/?p=76</guid>
		<description><![CDATA[
WPtouch is a great Wordpress plugin to get your blog rendered perfectly for mobile browsers.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.bravenewcode.com/wptouch/"><img class="size-medium wp-image-77 alignnone" title="wptouch" src="http://blog.odeley.com/wp-content/uploads/wptouch-300x173.png" alt="wptouch" width="300" height="173" /></a></p>
<p><a href="http://www.bravenewcode.com/wptouch/"></a><a title="WPtouch" href="http://www.bravenewcode.com/wptouch/" target="_blank">WPtouch</a> is a great Wordpress plugin to get your blog rendered perfectly for mobile browsers.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.odeley.com/?feed=rss2&amp;p=76</wfw:commentRss>
		</item>
		<item>
		<title>Techniques used for Touradero</title>
		<link>http://blog.odeley.com/?p=75</link>
		<comments>http://blog.odeley.com/?p=75#comments</comments>
		<pubDate>Mon, 29 Dec 2008 07:55:30 +0000</pubDate>
		<dc:creator>mercy</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.odeley.com/?p=75</guid>
		<description><![CDATA[For Touradero, my second Ruby on Rails baby I used the following techniques:
plugins/libraries:

attachment_fu
for uploading and handling images
geokit
for geolocating the Venues
YM4R
greatest plugin for doing all the GoogleMaps stuff
prototip
Javascript library for easy rendering of complex tooltips
Redcloth
to allow Users to rich-format their content
calendardateselect
a great datepicker with rails integration
a sligthly tweaked version of John Resig&#8217;s prettyDate snippet
to display several [...]]]></description>
			<content:encoded><![CDATA[<p>For <a title="Touradero" href="http://www.touradero.com/" target="_blank">Touradero</a>, my second Ruby on Rails baby I used the following techniques:</p>
<p><strong>plugins/libraries:</strong></p>
<ul>
<li><a title="attachment_fu" href="http://clarkware.com/cgi/blosxom/2007/02/24" target="_blank">attachment_fu</a><br />
for uploading and handling images</li>
<li><a title="geokit" href="http://geokit.rubyforge.org/" target="_blank">geokit</a><br />
for geolocating the Venues</li>
<li><a title="YM4R" href="http://ym4r.rubyforge.org/" target="_blank">YM4R</a><br />
greatest plugin for doing all the GoogleMaps stuff</li>
<li><a title="prototip" href="http://www.nickstakenburg.com/projects/prototip/" target="_blank">prototip</a><br />
Javascript library for easy rendering of complex tooltips</li>
<li><a href="whytheluckystiff.net/ruby/redcloth/" target="_blank">Redcloth</a><br />
to allow Users to rich-format their content</li>
<li><a href="http://code.google.com/p/calendardateselect/" target="_blank">calendardateselect</a><br />
a great datepicker with rails integration</li>
<li>a sligthly tweaked version of John Resig&#8217;s <a title="prettyDate" href="http://ejohn.org/blog/javascript-pretty-date/" target="_blank">prettyDate</a> snippet<br />
to display several timestamps in the format &#8220;3 weeks ago&#8221;</li>
</ul>
<p><strong>techniques:</strong></p>
<ul>
<li>partial caching<br />
&#8230; I heavely used <em>partial caching</em> to keep this baby fast</li>
<li>MySql full text search<br />
after trying around with ferret I decided to use &#8220;MySql full text search&#8221;. For me it is the best choice, even though I had to <a title="MySQL FULLTEXT and its strange behaviors" href="http://blog.odeley.com/?p=68" target="_self">learn some things</a> about it.</li>
</ul>
<p>The whole system is running on a busy 256 MB VPS using <a title="mod_rails" href="http://www.modrails.com/" target="_blank">mod_rails</a> and <a href="http://www.rubyenterpriseedition.com/" target="_blank">Ruby Enterprise Edition.</a> &#8230; and for that low server profile I am quite happy about the speed.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.odeley.com/?feed=rss2&amp;p=75</wfw:commentRss>
		</item>
		<item>
		<title>Touradero.com</title>
		<link>http://blog.odeley.com/?p=74</link>
		<comments>http://blog.odeley.com/?p=74#comments</comments>
		<pubDate>Wed, 24 Dec 2008 19:05:03 +0000</pubDate>
		<dc:creator>mercy</dc:creator>
		
		<category><![CDATA[rails]]></category>

		<category><![CDATA[web sightings]]></category>

		<guid isPermaLink="false">http://blog.odeley.com/?p=74</guid>
		<description><![CDATA[Some time ago I released my second RoR webapp:
Touradero is thought as a platform for venues and artists. Venues can be added to the database. Further on, Artists may search for Venues that  fit their musical style or their art form.
At the moment Touradero is in a good beta phase. For now my plan [...]]]></description>
			<content:encoded><![CDATA[<p>Some time ago I released my second RoR webapp:</p>
<blockquote><p><a title="Touradero" href="http://www.touradero.com/" target="_blank">Touradero</a> is thought as a platform for venues and artists. Venues can be added to the database. Further on, Artists may search for Venues that  fit their musical style or their art form.</p></blockquote>
<p>At the moment Touradero is in a good beta phase. For now my plan is to get as many as possible venues as entries. After that is done I will introduce the site to the bigger user base.</p>
<p>So if you are somehow connected with venues or you want to ask at your favorite venue if they want to add to Touradero, then I will love you forever!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.odeley.com/?feed=rss2&amp;p=74</wfw:commentRss>
		</item>
		<item>
		<title>Beware the ClassCastException (a tale of a native Memory Leak)</title>
		<link>http://blog.odeley.com/?p=73</link>
		<comments>http://blog.odeley.com/?p=73#comments</comments>
		<pubDate>Sat, 15 Nov 2008 11:51:39 +0000</pubDate>
		<dc:creator>mercy</dc:creator>
		
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://blog.odeley.com/?p=73</guid>
		<description><![CDATA[Far too long we were struggling with a Java memory leak obviously produced by one of our 3rd party libraries that we were using.
Fortunately, we had the source code.
After weeks, Heli my coworker had the right clue!
He wrote a detailed article about what JVM bug we ran into:
Beware the ClassCastException (a tale of a native [...]]]></description>
			<content:encoded><![CDATA[<p>Far too long we were struggling with a Java memory leak obviously produced by one of our 3rd party libraries that we were using.</p>
<p>Fortunately, we had the source code.</p>
<p>After weeks, Heli my coworker had the right clue!</p>
<p>He wrote a detailed article about what JVM bug we ran into:</p>
<p><a href="http://juskewycz.com/2008/11/beware-the-classcastexception-a-tale-of-a-native-memory-leak/">Beware the ClassCastException (a tale of a native Memory Leak)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.odeley.com/?feed=rss2&amp;p=73</wfw:commentRss>
		</item>
		<item>
		<title>mod_rails - the tryout - the success</title>
		<link>http://blog.odeley.com/?p=67</link>
		<comments>http://blog.odeley.com/?p=67#comments</comments>
		<pubDate>Fri, 05 Sep 2008 10:27:29 +0000</pubDate>
		<dc:creator>mercy</dc:creator>
		
		<category><![CDATA[mod_rails]]></category>

		<category><![CDATA[rails]]></category>

		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://blog.odeley.com/?p=67</guid>
		<description><![CDATA[Some months ago I wrote this post: mod_rails - the tryout - the failure (for my situation) where I addressed my problems running a RoR application on a VPS using mod_rails.
In the meantime, according to their blog, the Phusion guys have addressed this issue:
In the last couple of days I took the chance to try [...]]]></description>
			<content:encoded><![CDATA[<p>Some months ago I wrote this post: <a title="Permanent Link to mod_rails - the tryout - the failure (for my situation)" rel="bookmark" href="../?p=53">mod_rails - the tryout - the failure (for my situation)</a> where I addressed my problems running a RoR application on a <strong>VPS </strong>using <a title="mod_rails" href="http://www.modrails.com/" target="_blank">mod_rails</a>.</p>
<p>In the meantime, according to their blog, the <a title="Phusion blog" href="http://blog.phusion.nl/" target="_blank">Phusion</a> guys have addressed this issue:<br />
In the last couple of days I took the chance to try it once again.</p>
<p>And today, I am a lucky guy. Having a stable webapplication running under mod_rails and <a href="http://www.rubyenterpriseedition.com/" target="_blank">Ruby Enterprise Edition.</a></p>
<p>It&#8217;s stable, phreaking fast and the memory footprint is great (even better than a mongrel system).</p>
<p><a title="mod_rails" href="http://www.modrails.com/" target="_blank">mod_rails</a> really is ready for VPS enviroments!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.odeley.com/?feed=rss2&amp;p=67</wfw:commentRss>
		</item>
		<item>
		<title>Tupalo.com / The Gap Magazine ARS Electronica After-Party</title>
		<link>http://blog.odeley.com/?p=71</link>
		<comments>http://blog.odeley.com/?p=71#comments</comments>
		<pubDate>Tue, 26 Aug 2008 10:35:25 +0000</pubDate>
		<dc:creator>mercy</dc:creator>
		
		<category><![CDATA[fun]]></category>

		<guid isPermaLink="false">http://blog.odeley.com/?p=71</guid>
		<description><![CDATA[Tupalo.com, my favorite places application, and the Gap Magazine invite us all to their
ARS Electronica Festival after-party

The ARS Electronica Festival is a big festival for electronic art in Linz, Austria
Monday September 8, 2008  at             9:00pm
Cafe Strom

Kirchengasse 4
Linz, Oberösterreich 4040

Tupalo.com / The Gap [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://tupalo.com/" target="_blank">Tupalo.com</a>, my favorite places application, and the <a href="http://thegap.at/" target="_blank">Gap Magazine</a> invite us all to their</p>
<p style="text-align: center;"><strong>ARS Electronica Festival after-party</strong></p>
<p style="text-align: center;">
<p>The <a href="http://www.aec.at/en/festival2008/" target="_blank">ARS Electronica Festival</a> is a big festival for electronic art in Linz, Austria</p>
<div class="venue location vcard"><abbr class="dtstart" title="20080908T210000">Monday September 8, 2008 </abbr> at             9:00pm<br />
<span class="fn org"><a href="http://upcoming.yahoo.com/venue/207763/">Cafe Strom</a></span></div>
<div class="venue location vcard">
<div class="address adr"><span class="street-address">Kirchengasse 4</span><br />
<span class="locality">Linz</span>, <span class="region">Oberösterreich</span> <span class="postal-code">4040</span></div>
</div>
<p><a href="http://upcoming.yahoo.com/event/1030345/" target="_blank">Tupalo.com / The Gap Magazine ARS Electronica After-Party @ Upcoming </a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.odeley.com/?feed=rss2&amp;p=71</wfw:commentRss>
		</item>
		<item>
		<title>Tips from a Top Sports Team Coach</title>
		<link>http://blog.odeley.com/?p=69</link>
		<comments>http://blog.odeley.com/?p=69#comments</comments>
		<pubDate>Thu, 21 Aug 2008 11:48:44 +0000</pubDate>
		<dc:creator>mercy</dc:creator>
		
		<category><![CDATA[GTD]]></category>

		<category><![CDATA[agile]]></category>

		<category><![CDATA[business]]></category>

		<guid isPermaLink="false">http://blog.odeley.com/?p=69</guid>
		<description><![CDATA[Wow! Great Great article: Tips from a Top Sports Team Coach
Urs Peter attended a coaching seminar where Marc Lammers, the (very successful) coach of the Dutch women&#8217;s national field hockey team, gave the keynote speech.
Urs Peter took some great quotes from Mr. Marc Lammers and translated them in his one way what it could mean [...]]]></description>
			<content:encoded><![CDATA[<p>Wow! Great Great article: <a href="http://www.infoq.com/articles/sport-coaching-and-agile" target="_blank">Tips from a Top Sports Team Coach</a></p>
<p>Urs Peter attended a coaching seminar where <a href="http://www.marclammers.nl" target="_blank">Marc Lammers</a>, the (very successful) coach of the Dutch women&#8217;s national field hockey team, gave the keynote speech.</p>
<p>Urs Peter took some great quotes from Mr. Marc Lammers and translated them in his one way what it could mean in the world of Software development.</p>
<p>For me a must-read!</p>
<p>[via <a href="http://www.infoq.com/" target="_blank">InfoQ</a>]</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.odeley.com/?feed=rss2&amp;p=69</wfw:commentRss>
		</item>
		<item>
		<title>MySQL FULLTEXT and its strange behaviors</title>
		<link>http://blog.odeley.com/?p=68</link>
		<comments>http://blog.odeley.com/?p=68#comments</comments>
		<pubDate>Sat, 16 Aug 2008 15:06:09 +0000</pubDate>
		<dc:creator>mercy</dc:creator>
		
		<category><![CDATA[ferret]]></category>

		<category><![CDATA[mysql]]></category>

		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://blog.odeley.com/?p=68</guid>
		<description><![CDATA[As written some time ago, I switched from implementing fulltext search from Ferret to MySql FULLTEXT!
&#8230;. and I was quite happy with that decision for some time, MySql FULLTEXT:

was fast enough
seemed to bring up the results I was expecting
it works with every charset
after adjusting ft_min_word_len it was indexing short enough terms
rails specific: it was just [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.odeley.com/?p=44">As written some time ago</a>, I switched from implementing fulltext search from <a title="Ferret" href="http://ferret.davebalmain.com/trac/wiki" target="_blank">Ferret </a>to <strong>MySql FULLTEXT</strong>!</p>
<p>&#8230;. and I was quite happy with that decision for some time, MySql FULLTEXT:</p>
<ul>
<li>was fast enough</li>
<li>seemed to bring up the results I was expecting</li>
<li>it works with every charset</li>
<li>after adjusting <em>ft_min_word_len</em> it was indexing short enough terms</li>
<li>rails specific: it was just a SQL call, so easy to integrate with e.g. pagination plugins</li>
</ul>
<p>&#8230; but after some time, adding more data, and playing around, I discovered more and more some <strong>strange behavior</strong>:<br />
Searches that were returning plausible results in the past were suddenly returning a empty result list!</p>
<p>Every straw I found on the Internet, like rebuilding the index etc. did not bring any more light to this situation.</p>
<p>So I was a good boy and really RTFM: <a title="Natural Language Full-Text Searches" href="http://dev.mysql.com/doc/refman/5.1/en/fulltext-natural-language.html" target="_self">MySQL Fulltext manual</a></p>
<blockquote><p>The <strong>search result is empty because</strong> the word “<span class="quote">MySQL</span>”         is <strong>present in at least 50% of the rows</strong>. As such, it is         effectively <strong>treated as a stopword</strong>. For large data sets, this is         the most desirable behavior: A natural language query should not         return every second row from a 1GB table. For small data sets,         it may be less desirable.</p>
<p>A word that matches half of the rows in a table is less likely         to locate relevant documents. In fact, it most likely finds         plenty of irrelevant documents. We all know this happens far too         often when we are trying to find something on the Internet with         a search engine. It is with this reasoning that rows containing         the word are assigned a low semantic value for <span class="emphasis"><em>the         particular data set in which they occur</em></span>. A given word         may reach the 50% threshold in one data set but not another.</p></blockquote>
<p>Aha, that&#8217;s it:<br />
Since I was indexing e.g. <em>countries and even tags</em> via this index, It was most likely that there where more than 50% of datasets having this term and so they automatically were seen as stopwords.</p>
<p>Ok, nice standard behavior. But not for me!!!<br />
So how to get rid of it:</p>
<blockquote><p>The 50% threshold for natural language searches is             determined by the particular weighting scheme chosen. To             disable it, look for the following line in             <code class="filename">storage/myisam/ftdefs.h</code>:</p>
<pre class="programlisting">#define GWS_IN_USE GWS_PROB
</pre>
<p>Change that line to this:</p>
<pre class="programlisting">#define GWS_IN_USE GWS_FREQ
</pre>
<p>Then recompile MySQL. There is no need to rebuild the             indexes in this case.</p></blockquote>
<p>No, f*** off! I don&#8217;t want to recompile MySQL to get Fulltext working. My MySQL build from my Debian distribution is working quite fine.</p>
<p>Is there no other solution? Yes there is:</p>
<blockquote><p>Users who need to         bypass the 50% limitation can use the boolean search mode; see         <a title="11.8.2. Boolean Full-Text Searches" href="http://dev.mysql.com/doc/refman/5.1/en/fulltext-boolean.html">Section 11.8.2, “Boolean Full-Text Searches”</a>.</p></blockquote>
<p>So adding a short <strong>&#8220;IN BOOLEAN MODE&#8221;</strong> to the SQL query was the perfect solution! (&#8230; for me, hopefully using boolean mode works for you)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.odeley.com/?feed=rss2&amp;p=68</wfw:commentRss>
		</item>
		<item>
		<title>RedCloth and &#8216;target&#8217; for links</title>
		<link>http://blog.odeley.com/?p=66</link>
		<comments>http://blog.odeley.com/?p=66#comments</comments>
		<pubDate>Wed, 30 Jul 2008 23:42:55 +0000</pubDate>
		<dc:creator>mercy</dc:creator>
		
		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://blog.odeley.com/?p=66</guid>
		<description><![CDATA[I always wondered why RedCloth, or more exact the underlying Textile, does not give you any possibility to define &#8216;target&#8217; attributes for links.
Searching the web for a solution ended up with no pleasing results. What I found were a bunch of fellows who suffered like I did  
So I coded this little snippet that [...]]]></description>
			<content:encoded><![CDATA[<p>I always wondered why <a title="RedCloth" href="http://whytheluckystiff.net/ruby/redcloth/" target="_blank">RedCloth</a>, or more exact the underlying <a title="Textile" href="http://hobix.com/textile/" target="_blank">Textile</a>, does not give you any possibility to define <em>&#8216;target&#8217;</em> attributes for links.</p>
<p>Searching the web for a solution ended up with no pleasing results. What I found were a bunch of fellows who suffered like I did <img src='http://blog.odeley.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p>So I coded this little snippet that does exactly what I wanted. It add to all links <em>&#8220;target=&#8217;blank&#8217;&#8221;</em>. I use this method as replacement for <em>texitilize</em></p>
<p style="text-align: left;"><code>def redclothify(text, add_blank_targets_to_link = true)<br />
res = RedCloth.new(text).to_html<br />
res.gsub!(/&lt;a/,"&lt;a target='_blank' ") if add_blank_targets_to_link<br />
return res<br />
end</code></p>
<p>Way far from being perfect, but does just that what I needed. &#8230; and maybe some tip for a fellow out there to dig deeper!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.odeley.com/?feed=rss2&amp;p=66</wfw:commentRss>
		</item>
		<item>
		<title>Barcamp Traunsee 08</title>
		<link>http://blog.odeley.com/?p=63</link>
		<comments>http://blog.odeley.com/?p=63#comments</comments>
		<pubDate>Sat, 26 Jul 2008 12:16:27 +0000</pubDate>
		<dc:creator>mercy</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.odeley.com/?p=63</guid>
		<description><![CDATA[

Datum: 22. - 23. August 2008
Uhrzeit: Freitag ab 16 Uhr bis Samstag 20 Uhr
Ort:  Traunkirchen am Traunsee, Jagerweh und Klosterstube
]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;"><a href="http://www.barcamp.at/BarCamp_Traunsee" target="_blank"><img class="alignnone size-medium wp-image-65" title="400px-logo_barcamp_traunsee" src="http://blog.odeley.com/wp-content/uploads/400px-logo_barcamp_traunsee-300x77.png" alt="" width="300" height="77" /></a></p>
<p style="text-align: left;">
<p style="text-align: left;"><big><strong>Datum</strong>: 22. - 23. August 2008</big><br />
<big><strong>Uhrzeit</strong>: Freitag ab 16 Uhr bis Samstag 20 Uhr</big><br />
<big><strong>Ort</strong>:  Traunkirchen am Traunsee, Jagerweh und Klosterstube</big></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.odeley.com/?feed=rss2&amp;p=63</wfw:commentRss>
		</item>
	</channel>
</rss>
