<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Eight and a Half (Bits)</title>
	<atom:link href="http://812bits.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://812bits.wordpress.com</link>
	<description>Information Technology, Java and some decent ugly humor</description>
	<lastBuildDate>Fri, 27 Jan 2012 09:39:45 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='812bits.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Eight and a Half (Bits)</title>
		<link>http://812bits.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://812bits.wordpress.com/osd.xml" title="Eight and a Half (Bits)" />
	<atom:link rel='hub' href='http://812bits.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Grails &#8211; the search is over</title>
		<link>http://812bits.wordpress.com/2012/01/27/grails-the-search-is-over/</link>
		<comments>http://812bits.wordpress.com/2012/01/27/grails-the-search-is-over/#comments</comments>
		<pubDate>Fri, 27 Jan 2012 09:36:00 +0000</pubDate>
		<dc:creator>Simone Pezzano</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Java programming techniques]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Working IT]]></category>
		<category><![CDATA[Grails]]></category>
		<category><![CDATA[groovy]]></category>
		<category><![CDATA[mvc]]></category>
		<category><![CDATA[spring]]></category>
		<category><![CDATA[tomcat]]></category>

		<guid isPermaLink="false">http://812bits.wordpress.com/?p=322</guid>
		<description><![CDATA[ And it is over for real. Imagine a full blown on-rails platform that&#8230; - runs on almost any servlet container (Tomcat, Jetty, etc.); - allows you to create web applications using a beautiful integration of Spring MVC&#8230; - &#8230; using a nice dynamic language (Groovy) that is fully compatible with Java&#8230; - &#8230; but not stopping [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=812bits.wordpress.com&amp;blog=6849102&amp;post=322&amp;subd=812bits&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.grails.org" target="_blank"><img class="alignleft size-full wp-image-323" title="grails" src="http://812bits.files.wordpress.com/2012/01/grails.png?w=630" alt=""   /></a> And it is over for real. Imagine a full blown on-rails platform that&#8230;<br />
- runs on almost any servlet container (<strong>Tomcat</strong>, Jetty, etc.);<br />
- allows you to create web applications using a beautiful integration of <strong>Spring MVC</strong>&#8230;<strong><br />
</strong>- &#8230; using a nice dynamic language (<strong>Groovy</strong>) that is <strong>fully compatible with Java</strong>&#8230;<strong><br />
</strong>- &#8230; but not stopping you in any way to use Java itself if you like (for most functionalities);<br />
- interacts with the database with <strong>the most impressive Hibernate integration (GORM)</strong> I&#8217;ve ever seen;<br />
- makes it easy to create <strong>templates</strong> using a<strong> very simple yet powerful language (GSP)</strong>;<strong><br />
</strong>- has a huge availability of <strong>plugins</strong>, from captchas, to optimizations, from LDAP to analytics;<br />
- integrates a <strong>powerful testing suite</strong>;<strong><br />
</strong>- runs <strong>&#8216;convention-over-configuration&#8217;</strong> for 99% of the features;<br />
- the <strong>Eclipse plugins</strong> guide you during the development in the most useful way<img class="alignright" title="SpringSource" src="http://www.springsource.com/files/spring09_logo.png" alt="" width="240" height="50" />;<br />
- its <strong>learning curve is gentle</strong>;<strong><br />
</strong>- it&#8217;s created and maintained by <strong>SpringSource</strong>!</p>
<p>Now, I&#8217;ve never been much satisfied by on-rails platforms, seriously, it&#8217;s not my world. Even more, being more a software engineer than a web engineer, my interests in that kind of products have always been kinda mild.<br />
When I first met Grails (10 months ago) I was skeptical -as always- but it took me less than 1 hour to realize what was going on in my computer, and I was shocked. Everything was over the top. The persistence layer is SUPERB, the separation of the controllers and the UI is perfect as much as the languages needed to develop them (and their organization inside Grails). The time needed to understand all the basics? 1 hour.<br />
Still, I HAD to start a <em>test</em> project and see how much my first feeling was correct and be certain this marvel of technology was ready to suffer the pains of a real full blown production environment. Folks, it really met my expectations. This thing&#8230; is amazing.</p>
<p>Of course it has some downsides, in 10 months I had my oh-oh here and there.<br />
First of all, in production you might not need a super powerful machine to run it (unless your traffic needs it), but in development&#8230; well get ready to heat your processors and disk.<br />
Secondly (by the time I&#8217;m talking, I&#8217;ve haven&#8217;t seen Grails 2 yet), sometimes the development environment simply stops working. &#8220;This is broken, this does not compile&#8221; you know, the kind of mysteries that makes you bang on the keyboard like a monkey. You just need to get in touch with Grails common oopses to fix that in an instant, but the very first times, it&#8217;s going to be a little troublesome. Note: this kind of issue are likely related to the Eclipse plugin, rather than Grails itself.</p>
<p>I&#8217;m no fanboy. I hate fanboys. But this framework makes me very close to one&#8230;</p>
<h2 style="text-align:center;"><strong><a title="Grails" href="http://www.grails.org" target="_blank">GO GRAILS!</a> </strong></h2>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/812bits.wordpress.com/322/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/812bits.wordpress.com/322/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/812bits.wordpress.com/322/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/812bits.wordpress.com/322/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/812bits.wordpress.com/322/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/812bits.wordpress.com/322/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/812bits.wordpress.com/322/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/812bits.wordpress.com/322/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/812bits.wordpress.com/322/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/812bits.wordpress.com/322/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/812bits.wordpress.com/322/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/812bits.wordpress.com/322/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/812bits.wordpress.com/322/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/812bits.wordpress.com/322/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=812bits.wordpress.com&amp;blog=6849102&amp;post=322&amp;subd=812bits&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://812bits.wordpress.com/2012/01/27/grails-the-search-is-over/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fee83fa609f683616f930508d32bca14?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">theirish81</media:title>
		</media:content>

		<media:content url="http://812bits.files.wordpress.com/2012/01/grails.png" medium="image">
			<media:title type="html">grails</media:title>
		</media:content>

		<media:content url="http://www.springsource.com/files/spring09_logo.png" medium="image">
			<media:title type="html">SpringSource</media:title>
		</media:content>
	</item>
		<item>
		<title>A good article about the garbage collector</title>
		<link>http://812bits.wordpress.com/2011/12/05/a-good-article-about-the-garbage-collector/</link>
		<comments>http://812bits.wordpress.com/2011/12/05/a-good-article-about-the-garbage-collector/#comments</comments>
		<pubDate>Mon, 05 Dec 2011 15:39:04 +0000</pubDate>
		<dc:creator>Simone Pezzano</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Java programming techniques]]></category>
		<category><![CDATA[Java tips and tricks]]></category>
		<category><![CDATA[garbage collector]]></category>
		<category><![CDATA[JVM]]></category>

		<guid isPermaLink="false">http://812bits.wordpress.com/?p=317</guid>
		<description><![CDATA[Essential and very accurate article about JVM garbage collection by Alexey Ragozin: http://aragozin.blogspot.com/2011/12/garbage-collection-in-hotspot-jvm.html<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=812bits.wordpress.com&amp;blog=6849102&amp;post=317&amp;subd=812bits&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Essential and very accurate article about JVM garbage collection by Alexey Ragozin:</p>
<p><a href="http://aragozin.blogspot.com/2011/12/garbage-collection-in-hotspot-jvm.html">http://aragozin.blogspot.com/2011/12/garbage-collection-in-hotspot-jvm.html</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/812bits.wordpress.com/317/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/812bits.wordpress.com/317/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/812bits.wordpress.com/317/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/812bits.wordpress.com/317/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/812bits.wordpress.com/317/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/812bits.wordpress.com/317/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/812bits.wordpress.com/317/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/812bits.wordpress.com/317/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/812bits.wordpress.com/317/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/812bits.wordpress.com/317/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/812bits.wordpress.com/317/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/812bits.wordpress.com/317/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/812bits.wordpress.com/317/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/812bits.wordpress.com/317/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=812bits.wordpress.com&amp;blog=6849102&amp;post=317&amp;subd=812bits&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://812bits.wordpress.com/2011/12/05/a-good-article-about-the-garbage-collector/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fee83fa609f683616f930508d32bca14?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">theirish81</media:title>
		</media:content>
	</item>
		<item>
		<title>Apple: mind control</title>
		<link>http://812bits.wordpress.com/2011/11/13/apple-mind-control/</link>
		<comments>http://812bits.wordpress.com/2011/11/13/apple-mind-control/#comments</comments>
		<pubDate>Sun, 13 Nov 2011 15:36:00 +0000</pubDate>
		<dc:creator>Simone Pezzano</dc:creator>
				<category><![CDATA[Idiot thoughts]]></category>
		<category><![CDATA[Working IT]]></category>

		<guid isPermaLink="false">http://812bits.wordpress.com/?p=309</guid>
		<description><![CDATA[Ok, now I&#8217;m pissed. Apple: think different? No more. I&#8217;ve been using a Mac for 4 years now and I&#8217;m pretty pleased by the overall performance. The machines are pretty good, the OS mixes the best of the two worlds (*nix and Windows) with a nice added flavor. But what I discover these days is I&#8217;m [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=812bits.wordpress.com&amp;blog=6849102&amp;post=309&amp;subd=812bits&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Ok, now I&#8217;m pissed. Apple: think different? No more.</p>
<p>I&#8217;ve been using a Mac for 4 years now and I&#8217;m pretty pleased by the overall performance. The machines are pretty good, the OS mixes the best of the two worlds (*nix and Windows) with a nice added flavor. But what I discover these days is I&#8217;m not a Mac user. I will never be, nor I want to.<br />
The first signs that something wrong was happening showed up when the IPhone was released. It was nice, futuristic, Apple scented. And with a horrible Bluetooth layer that was making it impossible to have it talking to other devices but IPhones and Mac.<br />
&#8220;WTF&#8221; I said &#8220;&#8230; did they meet any technical limitations? Bluetooth generally sucks, but everybody managed to have it talking with almost everything&#8221;.<br />
&#8220;Nah&#8221; a Mac user friend of mine said &#8220;It&#8217;s their decision&#8221;.<br />
&#8220;Why&#8217;s that?&#8221; I asked, but the answer bothered me. &#8220;Well, they&#8217;re making their own business like that. If you want the device, you&#8217;ll eventually get into Apple&#8217;s world, totally&#8221;. Questioned about the fact this is &#8216;right or wrong&#8217;, that friend of mine said it&#8217;s &#8220;absolutely right&#8221;.<br />
At first I didn&#8217;t actually realized what it was going on.</p>
<p>Last  year, I upgraded my camera to a professional one. The camera manufacturer was making two professional models, I picked the smaller one. Ah, I was using Aperture by the way (at that time 192€).<br />
When I got back home with my first shoots I was all excited, but when I tried to import the pictures using Aperture I found out that Aperture wasn&#8217;t supporting the camera&#8217;s RAW format. &#8220;How strange&#8221; I thought, considering the Mac was easily able to read them. But not Aperture.<br />
After a small search, I discovered that Aperture was actually able to import the bigger camera version RAWs, but not the smaller one.<br />
&#8220;WTF, it&#8217;s the same format!&#8221; I thought and after a small search, I discovered that it was <strong>exactly</strong> the same format with a header field value that stated one model or the other.<br />
I thought of a mistake and searched other people having the same issue. I found that many reported the same problem.<br />
Some time later, Apple announced that there was a way to solve the problem: a <strong>paid</strong> upgrade to the new version of the software.<br />
Mac users, again, stated this is absolutely alright, because &#8220;they have to make money somehow&#8221;.</p>
<p>I did not upgrade and used IPhoto for the first import operation (irony&#8230;).</p>
<p>Now, today I&#8217;m working on some important pictures challenging at least 5 other depressing bugs (1 blocker) that Apple states to be fixed in the new fantastic version of Aperture. And again, Mac users say this is &#8220;normal&#8221;.</p>
<p>What puzzles me is not only how the stand there stating &#8220;you buy the toy and then shut the fuck up&#8221; but how they actually managed to brainwash any goddamned Mac user on the planet. How come people working in the IT field I would generally consider intelligent and competent in this discipline, would end up saying &#8220;if you don&#8217;t pay, you don&#8217;t get the bugfixes, it&#8217;s normal&#8221;.</p>
<p><strong>iMindControl.</strong></p>
<p>Let me finish with the famous Apple 80s TV ad, the one against the IBM &#8220;evil empire&#8221;.</p>
<p>Who&#8217;s  the evil empire now?</p>
<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='630' height='385' src='http://www.youtube.com/embed/s2PfOZTIlbA?version=3&amp;rel=1&amp;fs=1&amp;showsearch=0&amp;showinfo=1&amp;iv_load_policy=1&amp;wmode=transparent' frameborder='0'></iframe></span>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/812bits.wordpress.com/309/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/812bits.wordpress.com/309/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/812bits.wordpress.com/309/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/812bits.wordpress.com/309/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/812bits.wordpress.com/309/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/812bits.wordpress.com/309/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/812bits.wordpress.com/309/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/812bits.wordpress.com/309/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/812bits.wordpress.com/309/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/812bits.wordpress.com/309/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/812bits.wordpress.com/309/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/812bits.wordpress.com/309/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/812bits.wordpress.com/309/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/812bits.wordpress.com/309/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=812bits.wordpress.com&amp;blog=6849102&amp;post=309&amp;subd=812bits&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://812bits.wordpress.com/2011/11/13/apple-mind-control/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fee83fa609f683616f930508d32bca14?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">theirish81</media:title>
		</media:content>
	</item>
		<item>
		<title>Yet another JVM programming language : XTEND</title>
		<link>http://812bits.wordpress.com/2011/11/07/yet-another-jvm-programming-language-xtend/</link>
		<comments>http://812bits.wordpress.com/2011/11/07/yet-another-jvm-programming-language-xtend/#comments</comments>
		<pubDate>Mon, 07 Nov 2011 15:31:07 +0000</pubDate>
		<dc:creator>Simone Pezzano</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[groovy]]></category>
		<category><![CDATA[JVM]]></category>
		<category><![CDATA[language]]></category>
		<category><![CDATA[scala]]></category>

		<guid isPermaLink="false">http://812bits.wordpress.com/?p=301</guid>
		<description><![CDATA[Hello! Since this is my major trend these days, here&#8217;s another language for the JVM! Err&#8230; nope, not exactly. The language subject to our attention is a clean, fast language that then gets converted to Java language! Endorsed by the Eclipse Foundation  -people we like and respect-, XTEND includes all the must-have functionalities these new languages [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=812bits.wordpress.com&amp;blog=6849102&amp;post=301&amp;subd=812bits&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hello!</p>
<p>Since this is my major trend these days, here&#8217;s another language for the JVM! Err&#8230; nope, not exactly. The language subject to our attention is a clean, fast language that then gets converted to Java language!</p>
<p>Endorsed by the <a title="Eclipse" href="http://www.eclipse.org" target="_blank">Eclipse Foundation </a> -people we like and respect-, XTEND includes all the must-have functionalities these new languages must have.<br />
No intention to be mean&#8230; but the syntax looks quite like Groovy, but hey&#8230; I always agreed with the thesis that every good idea should be copied to extend the benefits of a great improvement, and I&#8217;m not going to regret it now!</p>
<p>Sure thing the Eclipse support is<strong> gorgeous</strong>.</p>
<p>Give it a look, it&#8217;s pretty neat!</p>
<p style="text-align:center;"><a title="XTend" href="http://www.eclipse.org/Xtext/xtend/" target="_blank">http://www.eclipse.org/Xtext/xtend/</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/812bits.wordpress.com/301/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/812bits.wordpress.com/301/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/812bits.wordpress.com/301/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/812bits.wordpress.com/301/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/812bits.wordpress.com/301/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/812bits.wordpress.com/301/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/812bits.wordpress.com/301/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/812bits.wordpress.com/301/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/812bits.wordpress.com/301/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/812bits.wordpress.com/301/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/812bits.wordpress.com/301/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/812bits.wordpress.com/301/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/812bits.wordpress.com/301/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/812bits.wordpress.com/301/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=812bits.wordpress.com&amp;blog=6849102&amp;post=301&amp;subd=812bits&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://812bits.wordpress.com/2011/11/07/yet-another-jvm-programming-language-xtend/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fee83fa609f683616f930508d32bca14?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">theirish81</media:title>
		</media:content>
	</item>
		<item>
		<title>Java&#8217;s not old, just needing a grandson</title>
		<link>http://812bits.wordpress.com/2011/10/26/javas-not-old-just-needing-a-grandson/</link>
		<comments>http://812bits.wordpress.com/2011/10/26/javas-not-old-just-needing-a-grandson/#comments</comments>
		<pubDate>Wed, 26 Oct 2011 06:49:20 +0000</pubDate>
		<dc:creator>Simone Pezzano</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Java programming techniques]]></category>
		<category><![CDATA[groovy]]></category>
		<category><![CDATA[language]]></category>
		<category><![CDATA[scala]]></category>

		<guid isPermaLink="false">http://812bits.wordpress.com/?p=295</guid>
		<description><![CDATA[For the ones saying Java is old and is following the path of Cobol: get lost. Java is and will be, for some long time, a bleeding edge in software programming. Sure it&#8217;s changing it&#8217;s target, and it&#8217;s doing that naturally. In the early &#8217;00s there were Java desktop application popping up anywhere. It was [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=812bits.wordpress.com&amp;blog=6849102&amp;post=295&amp;subd=812bits&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;">For the ones saying Java is old and is following the path of Cobol: get lost. Java is and will be, for some long time, a bleeding edge in software programming.</p>
<p style="text-align:justify;">Sure it&#8217;s changing it&#8217;s target, and it&#8217;s doing that naturally. In the early &#8217;00s there were Java desktop application popping up anywhere. It was slow, not responsive at all and ugly. Things changed during the years, <a title="SWT" href="http://www.eclipse.org/swt/" target="_blank">SWT</a> became a super glam framework in Java desktop programming and I used it A LOT with good results (but can&#8217;t say pleasure). I agree there are far better languages and frameworks for the client side, but no matter what Apple says, Java is here and will stay.</p>
<p style="text-align:justify;">But the truth is the best Java ecosystem is server side. J2EE applications rock the enterprise, servlet containers rock web applications.</p>
<p style="text-align:justify;">Still, Java is getting old. Being old means being wise, having a huge background and being able to face almost any situation. It&#8217;s not the framework. It&#8217;s the language. And languages are subject to fashion, changing needs, will to improve.<br />
Especially with this recent big interest in functional languages an mixed &#8220;compiled+interpreted&#8221; languages, Java is helplessly behind.<br />
Reinventing a language (some people do&#8230;)  must be a beautiful experience. I never tried that and probably never will, but it must shake your world. Still, as my friend and researcher<a title="Francesco Zanitti" href="http://www.linkedin.com/pub/francesco-zanitti/4/55b/371" target="_blank"> Francesco Zanitti</a> told me yesterday (he&#8217;s working on much more advanced stuff compared to my today&#8217;s topic), theory and real world are so distant in computer languages some can get demotivated.</p>
<p style="text-align:justify;">Java rocks, but is in need of a grandchild. A successor. A language that can take the hierarchy of Java and bring what&#8217;s been done so far to another level, adding new possibilities rather than limiting what&#8217;s available now to get to a new frontier. Some may say this limits the possibilities to improve, to invent, but the fact is this is not a contextual language, nor a scripting engine. I&#8217;m talking about a commercial language that has to be able to add spice to something that already works well. That can handle complexities that can scare the crap out of you. It doesn&#8217;t necessarily have to be &#8220;born from Java&#8221;, it can also come from elsewhere, but the fact stays: to obtain adoption, you have to pull current knowledge and wisdom out of Java.</p>
<p style="text-align:justify;">If I had solutions to this dilemma, I wouldn&#8217;t be here writing. Still I have some major suggestions for you to extend your interests on what&#8217;s out there:</p>
<p style="text-align:justify;"><a title="Scala" href="http://www.scala-lang.org/" target="_blank"><strong>Scala</strong></a> is a very intriguing, elegant programming language. It integrates both object oriented and functional programming and can interact with Java pretty well, resulting a flavour that is, in my opinion, unique. The project is mature and the success stories are not few: one for all <a title="Twitter" href="http://www.twitter.com" target="_blank">Twitter</a>.</p>
<p style="text-align:justify;">
<p style="text-align:justify;">
<p style="text-align:justify;"><em>my pick:</em><strong><a title="Groovy" href="http://groovy.codehaus.org/" target="_blank"><br />
Groovy</a></strong>  shares many things with Scala, also the syntax has a lot in common. Object oriented and functional programming work as one and the interaction with Java is absolutely surprising (no extra work at all). The learning curve is ridiculous because Groovy basically accepts all Java syntax and lets you learn what else it can offer. It&#8217;s not too elegant, nor too fast,  but incarnates beautifully what I meant in this article. The project is not fully mature in my opinion, but is endorsed by <a title="SpringSource" href="http://www.springsource.com/" target="_blank">SpringSource</a> and used as main language in the <a title="Grails" href="http://www.grails.org" target="_blank">Grails web framework</a> (that has many success stories).</p>
<p style="text-align:justify;">I&#8217;m certainly missing some great tools. These are just two good languages I had the luck to work with directly and had fun with. I&#8217;ll be writing more about Groovy soon, but in the meantime, take your time to try them yourself, it&#8217;s worth it.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/812bits.wordpress.com/295/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/812bits.wordpress.com/295/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/812bits.wordpress.com/295/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/812bits.wordpress.com/295/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/812bits.wordpress.com/295/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/812bits.wordpress.com/295/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/812bits.wordpress.com/295/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/812bits.wordpress.com/295/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/812bits.wordpress.com/295/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/812bits.wordpress.com/295/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/812bits.wordpress.com/295/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/812bits.wordpress.com/295/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/812bits.wordpress.com/295/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/812bits.wordpress.com/295/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=812bits.wordpress.com&amp;blog=6849102&amp;post=295&amp;subd=812bits&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://812bits.wordpress.com/2011/10/26/javas-not-old-just-needing-a-grandson/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fee83fa609f683616f930508d32bca14?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">theirish81</media:title>
		</media:content>
	</item>
		<item>
		<title>LinkedIn API, OAuth and Scribe</title>
		<link>http://812bits.wordpress.com/2011/07/12/linkedin-api-oauth-and-scribe/</link>
		<comments>http://812bits.wordpress.com/2011/07/12/linkedin-api-oauth-and-scribe/#comments</comments>
		<pubDate>Tue, 12 Jul 2011 06:20:08 +0000</pubDate>
		<dc:creator>Simone Pezzano</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Java tips and tricks]]></category>
		<category><![CDATA[oauth]]></category>
		<category><![CDATA[scribe]]></category>

		<guid isPermaLink="false">http://812bits.wordpress.com/?p=280</guid>
		<description><![CDATA[Hello everyone. We know OAuth is a beautiful authentication service&#8230; in terms of concept. But when it comes to implementation, it&#8217;s a real pain in the ass. I found myself into fighting against it using Java to authenticate on LinkedIn, the popular reputation network. After a few minutes I was crying like a baby. It&#8217;s [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=812bits.wordpress.com&amp;blog=6849102&amp;post=280&amp;subd=812bits&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hello everyone.<br />
We know OAuth is a beautiful authentication service&#8230; in terms of concept. But when it comes to implementation, it&#8217;s a real pain in the ass. I found myself into fighting against it using Java to authenticate on <a title="LinkedIn" href="http://www.linkedin.com" target="_blank">LinkedIn</a>, the popular reputation network. After a few minutes I was crying like a baby. It&#8217;s not impossible to do it by yourself, but the patience required is more than I could offer.</p>
<p>So I found out this library, named <strong><a title="Scribe" href="https://github.com/fernandezpablo85/scribe-java" target="_blank">Scribe</a> </strong>written by the brilliant software engineer <a title="Pablo Fernandez on LinkedIn" href="http://www.linkedin.com/in/fernandezpablo85" target="_blank">Pablo Fernandez </a> that definitely helped a lot.<br />
I copied and run his server side authentication example and worked like charm.</p>
<p>I&#8217;m taking his example for Twitter right from here site here (hope you don&#8217;t mind Pablo) <a href="https://github.com/fernandezpablo85/scribe-java/wiki/getting-started" target="_blank">https://github.com/fernandezpablo85/scribe-java/wiki/getting-started </a>:</p>
<pre>OAuthService service = new ServiceBuilder()
                           .provider(TwitterApi.class)
                           .apiKey("your_api_key")
                           .apiSecret("your_api_secret")
                           .build();
Token requestToken = service.getRequestToken();
<span class="Apple-style-span" style="font-family:monospace;">String authUrl = service.getAuthorizationUrl(requestToken); </span>Verifier v = new Verifier("verifier you got from the user");
Token accessToken = service.getAccessToken(requestToken, verifier); // the requestToken you had from step 2
OAuthRequest request = new OAuthRequest(Verb.GET, "http://api.twitter.com/1/account/verify_credentials.xml");
service.signRequest(accessToken, request); // the access token from step 4
Response response = request.send();
System.out.println(response.getBody());</pre>
<p>And guess what, it worked like charm with LinkedIn also (just changing a few details you can find by yourself).</p>
<p>This is all beautiful&#8230; a pity what I had to implement was a client side authentication. The user authenticates on a LinkedIn popup, generates a cookie with an auth token in it that is then sent to our server that must use it run an exchange with the LinkedIn server to obtain a real access token&#8230; This is a very powerful authentication process, but implementing it is, again, a work of patience.</p>
<p>And again, reading through LinkedIn developers forums, Scribe shows up again, used like this:</p>
<pre>OAuthRequest req = new OAuthRequest(Verb.POST, "https://api.linkedin.com/uas/oauth/accessToken");
req.addBodyParameter("xoauth_oauth2_access_token", jsnpToken);
Token token = new Token("","");
service.signRequest(token, req);
Response resp = req.send();
String body = resp.getBody();</pre>
<p>where &#8220;jsnpToken&#8221; is the auth token passed through the cookie and &#8220;body&#8221; contains a string describing the real access token you&#8217;ll use to sign further requests.</p>
<p>Wasn&#8217;t that easy?</p>
<p>Thanks Pablo!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/812bits.wordpress.com/280/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/812bits.wordpress.com/280/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/812bits.wordpress.com/280/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/812bits.wordpress.com/280/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/812bits.wordpress.com/280/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/812bits.wordpress.com/280/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/812bits.wordpress.com/280/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/812bits.wordpress.com/280/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/812bits.wordpress.com/280/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/812bits.wordpress.com/280/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/812bits.wordpress.com/280/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/812bits.wordpress.com/280/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/812bits.wordpress.com/280/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/812bits.wordpress.com/280/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=812bits.wordpress.com&amp;blog=6849102&amp;post=280&amp;subd=812bits&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://812bits.wordpress.com/2011/07/12/linkedin-api-oauth-and-scribe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fee83fa609f683616f930508d32bca14?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">theirish81</media:title>
		</media:content>
	</item>
		<item>
		<title>Circles: It&#8217;s a PLUS!</title>
		<link>http://812bits.wordpress.com/2011/07/11/circles-its-a-plus/</link>
		<comments>http://812bits.wordpress.com/2011/07/11/circles-its-a-plus/#comments</comments>
		<pubDate>Mon, 11 Jul 2011 08:16:10 +0000</pubDate>
		<dc:creator>Simone Pezzano</dc:creator>
				<category><![CDATA[Idiot thoughts]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[plus]]></category>
		<category><![CDATA[privacy]]></category>
		<category><![CDATA[social]]></category>

		<guid isPermaLink="false">http://812bits.wordpress.com/?p=272</guid>
		<description><![CDATA[I don&#8217;t need to hide the fact that I liked almost everything Google did. I&#8217;m not a &#8220;fan&#8221;, I just like the way they do things, technically accurate, simple in terms of user experience but wonderfully hi-tech. So I looked forward this Google+ a lot  and managed to get an invitation to try it before [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=812bits.wordpress.com&amp;blog=6849102&amp;post=272&amp;subd=812bits&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t need to hide the fact that I liked almost everything Google did. I&#8217;m not a &#8220;fan&#8221;, I just like the way they do things, technically accurate, simple in terms of user experience but wonderfully hi-tech.<br />
So I looked forward this <strong>Google+</strong> a lot  and managed to get an invitation to try it before it gets crowded.<br />
As it happened for Twitter, except for the beautifully clean UI,  I didn&#8217;t quite get what the big deal was, until something in my head unlocked.</p>
<p>The circles are more than another paradigm to express Facebook friendships.<br />
Of course they&#8217;re different because you can belong to more circles, creating feed groups. For instance, I have a &#8220;metalheads&#8221; circle where I put my friends who enjoy heavy metal and post videos and music streams just for them, without spamming around. So circles actually are <em>circles of interest</em>, increasing the quality of your feed. Some of them also belong to the &#8220;technocrats&#8221; circle where I post technology news. In an ideal world where everybody uses it this way, your feed would be always pertinent to your interests.</p>
<p>But it&#8217;s not &#8220;friendship&#8221;. Or is it?<br />
Ironically, this paradigm expresses the concept of friendship much better than FB friendship.<br />
Think of it: <span style="text-decoration:underline;">friends are, first of all, people you share interests with</span>. Moreover, you can consider someone &#8220;friend&#8221; without the counterpart to do the same. You might want to share something with him/her, but he/she might not be interested in doing the same and at the same time, find your entries interesting and pertinent.<br />
In FB Friendship, the relationship must be mutual. But in Google+ it doesn&#8217;t happen.</p>
<p>So belonging to a circle must not be &#8220;approved&#8221; by the counterpart, but ironically, the whole system allows a much greater privacy. In Facebook all friends have almost equal right to read your information (with some exceptions you can set in your privacy settings), on the contrary on Google+, you have a  smooth, powerful discriminant that is <span style="text-decoration:underline;">the reason you&#8217;re related to that person</span> and this is a killer feature for other platforms.</p>
<p>What I hope is people will be able to quickly understand the best way to use it, increasing the quality of everyone&#8217;s experience in Google+.</p>
<p>Though I&#8217;m quite sure most people joined Google+ because there&#8217;s no FarmVille&#8230;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/812bits.wordpress.com/272/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/812bits.wordpress.com/272/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/812bits.wordpress.com/272/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/812bits.wordpress.com/272/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/812bits.wordpress.com/272/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/812bits.wordpress.com/272/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/812bits.wordpress.com/272/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/812bits.wordpress.com/272/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/812bits.wordpress.com/272/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/812bits.wordpress.com/272/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/812bits.wordpress.com/272/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/812bits.wordpress.com/272/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/812bits.wordpress.com/272/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/812bits.wordpress.com/272/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=812bits.wordpress.com&amp;blog=6849102&amp;post=272&amp;subd=812bits&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://812bits.wordpress.com/2011/07/11/circles-its-a-plus/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fee83fa609f683616f930508d32bca14?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">theirish81</media:title>
		</media:content>
	</item>
		<item>
		<title>Java : Final oddity</title>
		<link>http://812bits.wordpress.com/2011/03/14/java-final-oddity/</link>
		<comments>http://812bits.wordpress.com/2011/03/14/java-final-oddity/#comments</comments>
		<pubDate>Mon, 14 Mar 2011 08:37:56 +0000</pubDate>
		<dc:creator>Simone Pezzano</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Java tips and tricks]]></category>
		<category><![CDATA[reflection]]></category>

		<guid isPermaLink="false">http://812bits.wordpress.com/?p=251</guid>
		<description><![CDATA[Hey, I&#8217;m back. I was captured in optimization facts lately and I ended up chasing the true advantages in using final stuff correctly (in Java of course). But much before I could state I have an opinion, I found myself trapped in a strange JVM&#8230; mystery. What I wanted to understand is if the JVM [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=812bits.wordpress.com&amp;blog=6849102&amp;post=251&amp;subd=812bits&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hey, I&#8217;m back.</p>
<p>I was captured in optimization facts lately and I ended up chasing the true advantages in using <strong>final</strong> stuff correctly (in Java of course). But much before I could state I have an opinion, I found myself trapped in a strange JVM&#8230; mystery.<br />
What I wanted to understand is if the JVM can listen to our &#8216;hints&#8217; to take the <strong>final</strong> stuff  and use it inline.<br />
This topic has been subject of many talks, mostly because it&#8217;s hard for the JVM to determine whether a field won&#8217;t change at runtime or not. This could be obvious at first sight: final fields won&#8217;t change. But when <strong>reflections</strong> come into play, well&#8230; you&#8217;ll never know.<br />
So can reflections change a final field? This is the question. And the answer is: WHO KNOWS? If you look at <a href="http://www.javaspecialists.eu/archive/Issue096.html">this document</a>, you&#8217;ll notice it&#8217;s a long and painful story.</p>
<p>Since there&#8217;s nothing better than trying stuff yourself, I tried to discover it by doing a simple test program.</p>
<pre>public class Malicious {
	public final int testField = 5;

	public static void main(String[] args) throws Exception{
		Malicious m = new Malicious();
		Field f = m.getClass().getField("testField");
		f.setAccessible(true);
		f.setInt(m, 7);
		System.out.println("f: "+f.getInt(m));
		System.out.println("m.testField: "+m.testField);
	}
}</pre>
<p>Before I tell you the results, let me first say that I used:</p>
<p>- MacOSX 10.6.4<br />
- 1.6.0_22<br />
So you won&#8217;t get upset if you get different results on different environments.</p>
<p><strong>RESULTS:<br />
</strong><strong>f: 7<br />
</strong><strong>m.testField: 5</strong></p>
<p>Honestly, this makes no sense. No security exceptions, nothing, just different values. And of course, if I remove the final keyword, what I get is:<br />
<strong>f: 7</strong><br />
<strong>m.testField: 7</strong></p>
<p>I&#8217;m honestly happy to state that a final field cannot be modified via reflections. I&#8217;m less happy to say the behavior is not supported by a homogeneous communication because I only got a security exception when I tried to remove the setAccessible line.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/812bits.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/812bits.wordpress.com/251/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/812bits.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/812bits.wordpress.com/251/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/812bits.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/812bits.wordpress.com/251/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/812bits.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/812bits.wordpress.com/251/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/812bits.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/812bits.wordpress.com/251/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/812bits.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/812bits.wordpress.com/251/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/812bits.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/812bits.wordpress.com/251/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=812bits.wordpress.com&amp;blog=6849102&amp;post=251&amp;subd=812bits&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://812bits.wordpress.com/2011/03/14/java-final-oddity/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fee83fa609f683616f930508d32bca14?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">theirish81</media:title>
		</media:content>
	</item>
		<item>
		<title>SVNKit, OSX, WebDAV and a wagon of shit</title>
		<link>http://812bits.wordpress.com/2010/05/18/svnkit-osx-webdav-and-a-wagon-of-shit/</link>
		<comments>http://812bits.wordpress.com/2010/05/18/svnkit-osx-webdav-and-a-wagon-of-shit/#comments</comments>
		<pubDate>Tue, 18 May 2010 13:49:57 +0000</pubDate>
		<dc:creator>Simone Pezzano</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[svnkit]]></category>

		<guid isPermaLink="false">http://812bits.wordpress.com/?p=241</guid>
		<description><![CDATA[Hello everyone, I&#8217;m back writing on this abandoned blog telling you a sad story about unstable technologies and epic fails. SVNKit is a marvelous library that lets you write programs which interact with Subversion repositories and working copies. If you&#8217;re Eclipse users you&#8217;re probably using it as connector in Subversive. It&#8217;s a wonderful tool, I love [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=812bits.wordpress.com&amp;blog=6849102&amp;post=241&amp;subd=812bits&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hello everyone,</p>
<p>I&#8217;m back writing on this abandoned blog telling you a sad story about unstable technologies and <strong>epic fails</strong>.</p>
<p><a href="http://www.svnkit.com/" target="_blank">SVNKit</a> is a marvelous library that lets you write programs which interact with <a href="http://subversion.apache.org/" target="_blank">Subversion</a> repositories and working copies. If you&#8217;re <a href="http://www.eclipse.org">Eclipse</a> users you&#8217;re probably using it as connector in <a href="http://www.eclipse.org/subversive/" target="_blank">Subversive</a>.</p>
<p>It&#8217;s a wonderful tool, I love it but the disaster I&#8217;m going to tell you about&#8230; well, will clearly show you that not all the glitter is gold.</p>
<p>Scenario:</p>
<p>- A WebDAV server<br />
- Various OSX clients with Eclipse (and SVNKit of course) on board which mount a personal remote FS</p>
<p>The users easily connects to the webdav server, connects Eclipse workspace to the remote FS, work work work, and then commit. Work work work, and then commit. Work work work and then commit.</p>
<p>The big FAIL in this story is as follow:<br />
The commit operation via SVNKit brought the  mounted unit in a strange state where whenever you save, the saved data never reach the WebDAV server. Everything looks good on the client, but the server does not get a single update. The only one understanding there&#8217;s something wrong is SVN that, if asked, tells you no resources have been modified since last commit, but of course you don&#8217;t keep checking over and over do you?<br />
<strong>If you disconnect the unit at this point, all changes since last commit will be lost!</strong></p>
<p>I&#8217;ve checked and double checked, ANY program based on SVNKit melts your mounted unit.</p>
<p>Using native Subversion solves the problem entirely, but how many tears did I cry for this? LOTS.</p>
<p>Hope this helps!</p>
<p><em>Ah, almost forgot: useless to say that on Linux and Windows worked like charm!</em></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/812bits.wordpress.com/241/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/812bits.wordpress.com/241/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/812bits.wordpress.com/241/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/812bits.wordpress.com/241/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/812bits.wordpress.com/241/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/812bits.wordpress.com/241/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/812bits.wordpress.com/241/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/812bits.wordpress.com/241/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/812bits.wordpress.com/241/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/812bits.wordpress.com/241/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/812bits.wordpress.com/241/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/812bits.wordpress.com/241/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/812bits.wordpress.com/241/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/812bits.wordpress.com/241/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=812bits.wordpress.com&amp;blog=6849102&amp;post=241&amp;subd=812bits&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://812bits.wordpress.com/2010/05/18/svnkit-osx-webdav-and-a-wagon-of-shit/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fee83fa609f683616f930508d32bca14?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">theirish81</media:title>
		</media:content>
	</item>
		<item>
		<title>Mad snippet of the day (too much power for a useless idea&#8230;)</title>
		<link>http://812bits.wordpress.com/2010/02/18/mad-snippet-of-the-day/</link>
		<comments>http://812bits.wordpress.com/2010/02/18/mad-snippet-of-the-day/#comments</comments>
		<pubDate>Thu, 18 Feb 2010 17:19:05 +0000</pubDate>
		<dc:creator>Simone Pezzano</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Java tips and tricks]]></category>
		<category><![CDATA[reflections]]></category>

		<guid isPermaLink="false">http://812bits.wordpress.com/?p=229</guid>
		<description><![CDATA[Especially written for a servlet container&#8230; just guess what it does&#8230; public &#60;E&#62;E toObject(HttpServletRequest request, Class&#60;E&#62; type) throws InstantiationException, IllegalAccessException { E inst = type.newInstance(); Method[] mets = inst.getClass().getDeclaredMethods(); for(Method m : mets){ if(m.getName().startsWith("set"))try{ String varName = m.getName(). substring(m.getName().indexOf("set")+3); varName = Character.toLowerCase(varName.charAt(0))+ varName.substring(1); String val = request.getParameter(varName); if(m.getParameterTypes()[0]==Integer.class) m.invoke(inst, Integer.valueOf(val)); if(m.getParameterTypes()[0]==Boolean.class) m.invoke(inst, Boolean.valueOf(val)); if(m.getParameterTypes()[0]==String.class) m.invoke(inst, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=812bits.wordpress.com&amp;blog=6849102&amp;post=229&amp;subd=812bits&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Especially written for a servlet container&#8230; just guess what it does&#8230;</p>
<pre>public &lt;E&gt;E toObject(HttpServletRequest request, Class&lt;E&gt; type)
                 throws InstantiationException, IllegalAccessException {
  E inst = type.newInstance();
  Method[] mets = inst.getClass().getDeclaredMethods();
  for(Method m : mets){
    if(m.getName().startsWith("set"))try{
       String varName = m.getName().
                           substring(m.getName().indexOf("set")+3);
       varName = Character.toLowerCase(varName.charAt(0))+
                                         varName.substring(1);
       String val = request.getParameter(varName);
       if(m.getParameterTypes()[0]==Integer.class)
           m.invoke(inst, Integer.valueOf(val));
       if(m.getParameterTypes()[0]==Boolean.class)
           m.invoke(inst, Boolean.valueOf(val));
       if(m.getParameterTypes()[0]==String.class)
           m.invoke(inst, val);
      }catch(Exception e){e.printStackTrace();continue;}
     }
   return inst;
}</pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/812bits.wordpress.com/229/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/812bits.wordpress.com/229/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/812bits.wordpress.com/229/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/812bits.wordpress.com/229/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/812bits.wordpress.com/229/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/812bits.wordpress.com/229/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/812bits.wordpress.com/229/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/812bits.wordpress.com/229/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/812bits.wordpress.com/229/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/812bits.wordpress.com/229/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/812bits.wordpress.com/229/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/812bits.wordpress.com/229/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/812bits.wordpress.com/229/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/812bits.wordpress.com/229/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=812bits.wordpress.com&amp;blog=6849102&amp;post=229&amp;subd=812bits&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://812bits.wordpress.com/2010/02/18/mad-snippet-of-the-day/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fee83fa609f683616f930508d32bca14?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">theirish81</media:title>
		</media:content>
	</item>
	</channel>
</rss>
