<?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>about: things &#187; java</title>
	<atom:link href="http://www.sofasportler.de/dirk.blog/category/coding/java/feed" rel="self" type="application/rss+xml" />
	<link>http://www.sofasportler.de/dirk.blog</link>
	<description>on me and coding and some things</description>
	<lastBuildDate>Mon, 27 Oct 2008 00:47:44 +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>ruby user group berlin: JRuby, YARV/1.9, omdb.de and more</title>
		<link>http://www.sofasportler.de/dirk.blog/articles/ruby-user-group-berlin-jruby-yarv19-omdbde-and-more</link>
		<comments>http://www.sofasportler.de/dirk.blog/articles/ruby-user-group-berlin-jruby-yarv19-omdbde-and-more#comments</comments>
		<pubDate>Sat, 03 Mar 2007 12:55:17 +0000</pubDate>
		<dc:creator>crux</dc:creator>
				<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[english]]></category>
		<category><![CDATA[events]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[understanding: IT]]></category>
		<category><![CDATA[whatever]]></category>

		<guid isPermaLink="false">http://www.sofasportler.de/dirk.blog/2007/03/03/ruby-user-group-berlin-jruby-yarv19-o</guid>
		<description><![CDATA[We had our 2nd ruby users group berlin meeting yesterday with two speakers and the demo of the yet to be released omdb.org project. First was Tim Lossen giving a good round-up of the JRuby developments. Not of much interest to me because i have’t touched Java in a while. There was a common understanding [...]]]></description>
			<content:encoded><![CDATA[<p>We had our 2nd <a href="http://www.rubyonrails-ug.de/wiki/berlin">ruby users group berlin</a> meeting yesterday with two speakers and the demo of the yet to be released <a href="http://www.omdb.org">omdb.org</a> project.</p>

<p>First was <a href="http://www.rubyonrails-ug.de/wiki/timlossen">Tim Lossen</a> giving a good round-up of the <strong>JRuby developments</strong>. Not of much interest to me because i have’t touched Java in a while. There was a common understanding that <a href="http://jruby.codehaus.org/">JRuby</a> is a good thing and will pave Rubys way into the enterprise world, and with Sun now as official backing partner, <a href="http://jruby.codehaus.org/">JRuby</a> is heading for a 1.0 release this summer for Javaworld confererence. You can already run <a href="http://jruby.codehaus.org/">JRuby</a> based Rails applications inside you <span class="caps">IBM</span> Websphere Application server, Yeah! But can you run a Rails application with <a href="http://jruby.codehaus.org/">JRuby</a> from inside a Java applet on your client browser? Hm, interesting idea, we couldn’t answer that yesterday.</p>

<p>Next was the talk by <a href="http://forum.ruby-portal.de/profile.php?mode=viewprofile&#038;u=73&#038;sid=c3be0574577a752cce3b13fde159eded">Murphy</a> about the state of the ruby 1.9 release. Murphy mainly used <a href="http://eigenclass.org/hiki.rb?Changes+in+Ruby+1.9">Mauricio Fernandez eigenclass</a> for reference and gave a really great overview around the three main themes of this topic: Roadmap, New and changed features and performance. Everybody loves the hand drawn roadmap image(which i can’t find now) and while a <strong>Ruby2.0 release</strong> being something from a far utopian future, we might see a 1.9 release later this year. I’m actually not following the <strong>1.9 developments</strong> but became inspired to check again. Enumerators for examples reminded me to my <span class="caps">STL</span>/C++ years, just now without the template pains :-)
Interessting were his <strong>comments on performance</strong>. Tim already showed some charts which related the <a href="http://jruby.codehaus.org/">JRuby</a> to some other implementations and Murphy made some own benchmarks which were pretty much in line with Tims data. The general information is that <strong>1.9(==YARV) is a couple of times faster</strong>, ranging from 3 to 10 times faster. <strong><span class="caps">BUT</span>!</strong> and that is a big but, Murphy did report that on the real life applications he tested, the speed-up was close to insignificant for various applications. This is because the the performance tuning in 1.9 seems to be focussing on benchmark relevant stuff. And <strong>real life application are hardly build from benchmark functionallity</strong>.  This sounds like, been there, seen that before. History(benchmark tweaking) is repeating itself. For me it doesn’t matter. When others can do <a href="http://joyeur.com/2007/02/04/a-brief-update-with-some-numbers-for-hardware-load-balanced-mongrels">4000 requests/second</a>, ruby/rails is definitly fast enough for me.</p>

<p>Finally <a href="http://www.rubyonrails-ug.de/wiki/benjaminkrause">Benjamin Krause</a> showcased his upcoming <a href="http://www.omdb.org"><span class="caps">OMDB</span></a> project(<a href="http://blog.omdb-beta.org/">tech blog</a>, <a href="http://www.omdb-beta.org/">development version</a>, <a href="http://www.omdb.org">live</a>).  <a href="http://www.omdb.org"><span class="caps">OMDB</span></a> is a <a href="http://imdb.com">IMDb</a> in wikipedia style with a <a href="http://creativecommons.org/">creative commons</a> licence. <strong>16501 People</strong>(see comment) <strong><strike>16000 movies</strike> </strong><strong>are already in the database</strong> and once it will open up, everybody can extend it. Thats a cool idea conceptually and what he showed technically was nothing less than the equivalent to an “Full House” in poker. For example the subsecond async response times for fetching actors from a huge database which were made possible by his <a href="http://ferret.davebalmain.com/trac/">ferret</a> magic. impressive.</p>

<p>And this also led to the <a href="http://www.rubyonrails-ug.de/wiki/doku.php#agenda_treffen">agenda for the next meeting</a> where Benjamin will give a talk about <a href="http://ferret.davebalmain.com/trac/">ferret</a> on Rails. Everybody wanted to see more of it. Also we will have a talk by <a href="http://www.rubyonrails-ug.de/wiki/adamgroves">Adam</a> about <em>AmzonWebServices: S3 and Rails on <span class="caps">EC2</span></em> . I’m looking forward to it. And about the open mic section, i’m pretty sure <a href="http://prodev.idmedia.com">we</a> are releasing our <a href="http://foto-foo.com">foto-foo</a> into the wild.</p>

<p>And for you to have some fun, we plan to record the talks next time and put them up as podcasts to fit with your online consumption habits. Murphy and Tim also promised to upload their talks for online viewing <a href="http://www.rubyonrails-ug.de/wiki/berlin">(to the wiki i guess)</a>.</p>

<p>looks like the <strong>ruby users group berlin</strong> is consolidating.</p>

<p>Technorati Tags: <a class="performancingtags" rel="tag" href="http://technorati.com/tag/ruby">ruby</a>, <a class="performancingtags" rel="tag" href="http://technorati.com/tag/usergroup">usergroup</a>, <a class="performancingtags" rel="tag" href="http://technorati.com/tag/YARV">YARV</a>, <a class="performancingtags" rel="tag" href="http://technorati.com/tag/jruby">jruby</a>, <a class="performancingtags" rel="tag" href="http://technorati.com/tag/omdb">omdb</a>, <a class="performancingtags" rel="tag" href="http://technorati.com/tag/imdb">imdb</a>, <a class="performancingtags" rel="tag" href="http://technorati.com/tag/idmedia">idmedia</a>, <a class="performancingtags" rel="tag" href="http://technorati.com/tag/berlin">berlin</a>, <a class="performancingtags" rel="tag" href="http://technorati.com/tag/" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sofasportler.de/dirk.blog/articles/ruby-user-group-berlin-jruby-yarv19-omdbde-and-more/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Next big language predicted(kind of)</title>
		<link>http://www.sofasportler.de/dirk.blog/articles/next-big-language-predictedkind-of</link>
		<comments>http://www.sofasportler.de/dirk.blog/articles/next-big-language-predictedkind-of#comments</comments>
		<pubDate>Sun, 11 Feb 2007 11:20:27 +0000</pubDate>
		<dc:creator>crux</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[understanding: IT]]></category>

		<guid isPermaLink="false">http://www.sofasportler.de/dirk.blog/2007/02/11/next-big-language-predictedkind-of/</guid>
		<description><![CDATA[In his blog Steve Yegg rants abouts the next big language and has some nice things to say about ruby as well. He equals refusing to use Ruby with &#8220;refusing to use an electric car because there&#8217;s no place to put the gasoline&#8221;. &#8230; it lacks automated refactoring tools. Ruby doesn&#8217;t actually need them in [...]]]></description>
			<content:encoded><![CDATA[<p>In his blog <a href="http://steve-yegge.blogspot.com/2007/02/next-big-language.html">Steve Yegg rants abouts the next big language</a> and has some nice things to say about ruby as well. He equals refusing to use Ruby with <span style="font-style: italic;">&#8220;refusing to use an electric car because there&#8217;s no place to put the gasoline&#8221;</span>.<br /><br /></p>

<blockquote>&#8230; it lacks automated refactoring tools. Ruby doesn&#8217;t actually need them in the way Java does&#8230;<br /></blockquote>

<blockquote>&#8230;But programmers are a stubborn bunch, and to win them over you have to give them what they think they want.<br /></blockquote>

<p><br />and right he is i think. Steve does not spoill his inside knowledge about what the next big language will be, but his commenters are concluding pretty much on it to be ECMA script. Well, may be it so, that will not be for some time. <br /><br />Meanwhile from the <a href="http://www.google.de/search?q=sneaking+ruby+through+the+system&amp;ie=utf-8&amp;oe=utf-8&amp;rls=org.mozilla:en-US:official">sneaking ruby through the system</a> department we got more and more reports from the field like the one from <a href="http://stephannoske.de">my colleague</a>. In a nice guerilla tactics approach they contaminated the working place with <a href="http://stephannoske.de/wp/?p=428">making ruby an integral part of the ant based build system</a>. And this in an all java only development group. congrats comrades.<br /><br /><br /> <br /><br />Technorati Tags: <a class="performancingtags" href="http://technorati.com/tag/programming" rel="tag">programming</a>, <a class="performancingtags" href="http://technorati.com/tag/ruby" rel="tag">ruby</a>, <a class="performancingtags" href="http://technorati.com/tag/" rel="tag"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sofasportler.de/dirk.blog/articles/next-big-language-predictedkind-of/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I dropped YAML in favour of plain ruby for config files</title>
		<link>http://www.sofasportler.de/dirk.blog/articles/i-dropped-yaml-in-favour-of-plain-ruby-for-config-files</link>
		<comments>http://www.sofasportler.de/dirk.blog/articles/i-dropped-yaml-in-favour-of-plain-ruby-for-config-files#comments</comments>
		<pubDate>Sun, 28 Jan 2007 09:46:50 +0000</pubDate>
		<dc:creator>crux</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://www.sofasportler.de/dirk.blog/2007/01/28/i-dropped-yaml-in-favour-of-plain-rub</guid>
		<description><![CDATA[write: h = { :a => 123, :b => "321", 'c' => 0.123 } instead of --- :a: 123 c: 0.123 :b: "321" like a lot of people i put config values in hashes and used YAML to read them from file. Take database.yml in Rails for example. YAML feels like coder nirvana when you [...]]]></description>
			<content:encoded><![CDATA[<p>write: <code class="ruby">h = { :a => 123, :b => "321", 'c' => 0.123 }</code></p>

<p>instead of
<pre><code class="ruby">---
 :a: 123
 c: 0.123
 :b: "321"
</code></pre>
like a lot of people i put config values in hashes and used YAML to read them from file. Take <code>database.yml</code> in Rails for example. YAML feels like coder nirvana when you have suffered from XML pain in Java land for many years. YAML syntax is so much nicer.  But to express ruby values, plain ruby syntax for me is even more straight forward. To check syntax I always had to try and err  before use with <code>YAML.dump {:foo=>"bar"}</code>.</p>

<p><span style="font-family: monospace;"></span>I thought about just writing plain ruby and <span style="font-style: italic;">eval</span> it. Problem is, <span style="font-style: italic;">eval</span> avoids polluting the global namespace and the variables you set in an evaled file will not show up anywhere. Using global variables(yuck), constants, @@ variables or similar constructs would defy the purpose of getting a nice syntax for the user.</p>

<p>Then I got the idea of using the introspecitve powers of ruby to the retrieve the local variables which got defined on evaling a file from the binding. I wrote a function which does exactly this. From a known binding it extracts the loaded variables afterwards. The values are then injected into a hash an returned.
<pre>def load_values_from_file(filepath)
    b = binding
    v1 = eval "local_variables", b
    eval IO.read(filepath), b
    v2 = eval "local_variables", b
    (v2 - v1).inject({}) do |c, key|
        c[key.to_sym] = eval "#{key}", b
        c
    end
end</pre></p>

<p>and my future config files will be plain ruby, which I know better than YAML syntax.</p>

<p>Technorati Tags: <a class="performancingtags" href="http://technorati.com/tag/ruby" rel="tag">ruby</a>, <a class="performancingtags" href="http://technorati.com/tag/yaml" rel="tag">yaml</a>, <a class="performancingtags" href="http://technorati.com/tag/DSL" rel="tag">DSL</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sofasportler.de/dirk.blog/articles/i-dropped-yaml-in-favour-of-plain-ruby-for-config-files/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>ruby declared programming language of year 2006!</title>
		<link>http://www.sofasportler.de/dirk.blog/articles/ruby-declared-programming-language-of-year-2006</link>
		<comments>http://www.sofasportler.de/dirk.blog/articles/ruby-declared-programming-language-of-year-2006#comments</comments>
		<pubDate>Fri, 05 Jan 2007 18:59:20 +0000</pubDate>
		<dc:creator>joe.sixpack</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[understanding: IT]]></category>

		<guid isPermaLink="false">http://www.sofasportler.de/dirk.blog/2007/01/05/ruby-declared-programming-language-of</guid>
		<description><![CDATA[see for yourself on the TIOBE index.Java, c/c++, PHP, Perl, C#, Python and Javascript are still ahead but non of the other languages gained a whopping 11 positions and Ruby is now in the Top10. Where will &#8217;007 lead us? seven? five? Ruby is mainstream now.UPDATE: thank you for the screenshot:]]></description>
			<content:encoded><![CDATA[<p>see for yourself on <a href="http://www.tiobe.com/tpci.htm">the TIOBE index</a>.<br /><br />Java, c/c++, PHP, Perl, C#, Python and Javascript are still ahead but non of the other languages gained a whopping 11 positions and Ruby is now in the Top10. Where will &#8217;007 lead us? seven? five? Ruby is mainstream now.<br /><br />UPDATE: <a href="http://www.lacaraoscura.com/2007/01/06/tiobe-declaro-a-ruby-como-el-lenguaje-de-programacion-del-2006/">thank you for the screenshot</a>: <br /><br /><a href="http://www.lacaraoscura.com/2007/01/06/tiobe-declaro-a-ruby-como-el-lenguaje-de-programacion-del-2006/"><img id="image375" src="http://www.lacaraoscura.com/wp-content/uploads/tiobe-2007.png" alt="tiobe-2007.png" /></a><br /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sofasportler.de/dirk.blog/articles/ruby-declared-programming-language-of-year-2006/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Widgets, widgets, widgets everywhere!</title>
		<link>http://www.sofasportler.de/dirk.blog/articles/widgets-widgets-widgets-everywhere</link>
		<comments>http://www.sofasportler.de/dirk.blog/articles/widgets-widgets-widgets-everywhere#comments</comments>
		<pubDate>Fri, 05 Jan 2007 14:47:53 +0000</pubDate>
		<dc:creator>joe.sixpack</dc:creator>
				<category><![CDATA[evaluation]]></category>
		<category><![CDATA[fun]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[test]]></category>
		<category><![CDATA[understanding: IT]]></category>
		<category><![CDATA[whatever]]></category>

		<guid isPermaLink="false">http://www.sofasportler.de/dirk.blog/2007/01/05/widgets-widgets-widgets-everywhere/</guid>
		<description><![CDATA[Widgets sind der Hit der Stunde. Das hat der ein oder andere ja sicher schon mitbekommen(wenn er die letzten monate nicht unter einem Stein verbracht hat). Nachdem die versprochene Wiederverwendbarkeit der Java Enterprise Architekturen ja nicht wirklich eingetreten ist und nun die Rebellen schon den Sieg über den zur Rettung gerufenen WS Todestern erklären, findet [...]]]></description>
			<content:encoded><![CDATA[<iframe class="MajikWidget" src="http://www.majikwidget.com/mw/api/poll1/poll1.php?id=061412e4a03c02f9902576ec55ebbe77" frameborder="0" height="365" scrolling="no" width="350"></iframe>

<p><br />Widgets sind der Hit der Stunde. Das hat der ein oder andere ja sicher schon mitbekommen(wenn er die letzten monate nicht unter einem Stein verbracht hat). Nachdem die<span style="font-weight: bold;"></span> <a href="http://www-128.ibm.com/developerworks/websphere/library/techarticles/0312_hepper/hepper.html">versprochene Wiederverwendbarkeit</a> der <a href="http://java.sun.com/javaee/">Java Enterprise Architekturen</a> ja nicht wirklich eingetreten ist und nun <a href="http://www.rubyonrails.org/">die Rebellen</a> schon den <a href="http://www.loudthinking.com/arc/000602.html">Sieg über den zur Rettung gerufenen WS Todestern</a> erklären, findet alldieweil die <a href="http://www.amazon.de/Distributed-Systems-Principles-Paradigms-Tanenbaum/dp/0131217860">Vision der verteilten Systeme</a> unterdessen ihre Erfüllung im unternehmerischen Pragmatismus der <a href="http://mashable.com/">Web2.0</a> <a href="http://mashable.com/">Mash-ups</a>. Diese wiederum konstituieren sich zusehends über generische, <span style="font-style: italic;">hier-klicken-kein-coding</span> Angeboten von immer mehr Widget Anbietern. Sogar eine <a href="http://widgetslive.com/">eigene Konferenz</a> zum Thema wurde schon abgehalten.<br /><br />Obige Umfrage hab ich mir auf <a href="http://www.majikwidget.com">http://www.majikwidget.com</a> in zwei minuten zusammengeklickt, inklusive Registrierung. Dort bekommt man eine handvoll Widgets, und pro Verwendung verlangen sie einen Credit, wobei die 25 Gratiscredits aus der Registrierung erstmal reichen werden.<span style="font-style: italic;"> 24 Polls to go!</span><br /><br />Blogpimping leichtgemacht! Die Web1.x Lieferanten und ihre <a href="http://www.google.com/search?ie=UTF-8&amp;oe=UTF-8&amp;sourceid=navclient&amp;gfns=1&amp;q=IBM%20Global%Solutions">Consultants</a> werden nicht mehr gebraucht.<br /><br />Und wer nun noch weiss von wem die Frage stammt bekommt einen extra-bonus.<br /><br />Technorati Tags: <a class="performancingtags" href="http://technorati.com/tag/marketing" rel="tag">marketing</a>, <a class="performancingtags" href="http://technorati.com/tag/widgets" rel="tag">widgets</a>, <a class="performancingtags" href="http://technorati.com/tag/businessmodel" rel="tag">businessmodel</a>, <a class="performancingtags" href="http://technorati.com/tag/" rel="tag"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sofasportler.de/dirk.blog/articles/widgets-widgets-widgets-everywhere/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sexy Java?!</title>
		<link>http://www.sofasportler.de/dirk.blog/articles/sexy-java</link>
		<comments>http://www.sofasportler.de/dirk.blog/articles/sexy-java#comments</comments>
		<pubDate>Tue, 31 Oct 2006 15:50:42 +0000</pubDate>
		<dc:creator>joe.sixpack</dc:creator>
				<category><![CDATA[horror]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[understanding: IT]]></category>

		<guid isPermaLink="false">http://www.sofasportler.de/dirk.blog/2006/10/31/sexy-java/</guid>
		<description><![CDATA[Ich moechte ja keinem zu nahe treten, aber war das schlau? Sich im Halloween Kostuem mit einer Frage zum sex appeal von Java fotographieren zu lassen? Auf der anderen Seite ist es aber natuerlich auch etwas befremdlich wenn man auf der suche nach &#8220;MAC/OS/X&#8221; als ersten Treffer &#8220;Ruby on Rails&#8221; geliefert bekommt. komisch, aber verstaendlich [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://weblogs.java.net/blog/javakiddy/archive/2006/10/is_java_sexy.html">
<img src="http://www.sofasportler.de/dirk.blog/wp-content/sexy-java.png" /></a></p>

<p>Ich moechte ja keinem zu nahe treten, aber war das schlau? Sich im Halloween Kostuem mit einer Frage zum sex appeal von Java fotographieren zu lassen?</p>

<p>Auf der anderen Seite ist es aber natuerlich auch etwas befremdlich wenn man auf der suche nach &#8220;MAC/OS/X&#8221; als ersten Treffer &#8220;Ruby on Rails&#8221; geliefert bekommt.</p>

<p><img src="http://www.sofasportler.de/dirk.blog/wp-content/Lehmanns-Mac-Rails.png" /></p>

<p>komisch, aber verstaendlich wenn man sich die Java PR so anschaut.</p>

<p>have fun</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sofasportler.de/dirk.blog/articles/sexy-java/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

