<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-477328056224159588</id><updated>2024-09-21T12:37:25.504+02:00</updated><category term="hibernate"/><category term="java"/><category term="javassist"/><category term="jpa"/><category term="life lessons"/><title type='text'>Wickoo</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://wickoo.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/477328056224159588/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://wickoo.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/477328056224159588/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>81</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-477328056224159588.post-2255065123646993597</id><published>2011-10-17T16:50:00.002+02:00</published><updated>2011-10-17T16:50:19.988+02:00</updated><title type='text'>Latex</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
The typesetting software is pronounced /ˈlɑːtɛk/ or /ˈleɪtɛk/, and not&amp;nbsp;/ˈleɪteks/, there is no x at the end.&amp;nbsp;&amp;nbsp;/ˈleɪteks/&amp;nbsp;is what condoms are made of!&amp;nbsp;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wickoo.blogspot.com/feeds/2255065123646993597/comments/default' title='نظرات پیام'/><link rel='replies' type='text/html' href='http://wickoo.blogspot.com/2011/10/latex.html#comment-form' title='0 نظر'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/477328056224159588/posts/default/2255065123646993597'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/477328056224159588/posts/default/2255065123646993597'/><link rel='alternate' type='text/html' href='http://wickoo.blogspot.com/2011/10/latex.html' title='Latex'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-477328056224159588.post-6933691982013646401</id><published>2011-10-11T23:31:00.001+02:00</published><updated>2011-10-11T23:31:14.965+02:00</updated><title type='text'>Nach dem Spiel ist vor dem Spiel</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
After the game is before the game and&amp;nbsp;everything will remain the same as it was before...&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wickoo.blogspot.com/feeds/6933691982013646401/comments/default' title='نظرات پیام'/><link rel='replies' type='text/html' href='http://wickoo.blogspot.com/2011/10/nach-dem-spiel-ist-vor-dem-spiel.html#comment-form' title='0 نظر'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/477328056224159588/posts/default/6933691982013646401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/477328056224159588/posts/default/6933691982013646401'/><link rel='alternate' type='text/html' href='http://wickoo.blogspot.com/2011/10/nach-dem-spiel-ist-vor-dem-spiel.html' title='Nach dem Spiel ist vor dem Spiel'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-477328056224159588.post-2170292091750910573</id><published>2011-10-11T00:14:00.000+02:00</published><updated>2011-10-11T00:14:49.714+02:00</updated><title type='text'>Toothpaste vs. Shaving Gel</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div&gt;
If your toothpaste is something like this, pay attention to not put it next to the shaving gel. One night, when you are tired and want to brush your teeth, you&#39;ll feel that the toothpaste tastes awful...&lt;br /&gt;
&lt;br /&gt;
&lt;img height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcYn-AYj5nRvO7TGG2w7SEefr_T6tJhMWnpCTbAh3TfgxN4UP9vwaDUchrNu84s_iON4DaBdE-ar0nh2m6NkO34uwYtK_QgZRWbYVLTHOWH01dTmXjAOEzvbrAoEO2XTHC2Et-fE_72oR0/&quot; width=&quot;240&quot; /&gt;&lt;/div&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wickoo.blogspot.com/feeds/2170292091750910573/comments/default' title='نظرات پیام'/><link rel='replies' type='text/html' href='http://wickoo.blogspot.com/2011/10/toothpaste-vs-shaving-gel.html#comment-form' title='0 نظر'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/477328056224159588/posts/default/2170292091750910573'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/477328056224159588/posts/default/2170292091750910573'/><link rel='alternate' type='text/html' href='http://wickoo.blogspot.com/2011/10/toothpaste-vs-shaving-gel.html' title='Toothpaste vs. Shaving Gel'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcYn-AYj5nRvO7TGG2w7SEefr_T6tJhMWnpCTbAh3TfgxN4UP9vwaDUchrNu84s_iON4DaBdE-ar0nh2m6NkO34uwYtK_QgZRWbYVLTHOWH01dTmXjAOEzvbrAoEO2XTHC2Et-fE_72oR0/s72-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-477328056224159588.post-4432551979179173683</id><published>2011-10-10T23:39:00.001+02:00</published><updated>2011-10-10T23:43:00.634+02:00</updated><title type='text'>A Tribute to Gondo0o</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&quot;I&#39;m wondering whether all these people who are mourning for Steve Jobs, were willing to once suck his dick, when he was still alive...&quot; &lt;a href=&quot;http://allo0osh.wordpress.com/&quot;&gt;Gondo0o&lt;/a&gt;&lt;br /&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wickoo.blogspot.com/feeds/4432551979179173683/comments/default' title='نظرات پیام'/><link rel='replies' type='text/html' href='http://wickoo.blogspot.com/2011/10/tribute-to-gondo0o.html#comment-form' title='0 نظر'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/477328056224159588/posts/default/4432551979179173683'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/477328056224159588/posts/default/4432551979179173683'/><link rel='alternate' type='text/html' href='http://wickoo.blogspot.com/2011/10/tribute-to-gondo0o.html' title='A Tribute to Gondo0o'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-477328056224159588.post-736927032013178779</id><published>2011-10-10T11:58:00.001+02:00</published><updated>2011-10-10T12:03:48.687+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="life lessons"/><title type='text'>Life is too short</title><content type='html'>&lt;div&gt;&lt;p&gt;Life is too short to spend on listening to a girl&#39;s blah blah, with whom you&#39;re almost sure you&#39;ll never have sex!&lt;/p&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wickoo.blogspot.com/feeds/736927032013178779/comments/default' title='نظرات پیام'/><link rel='replies' type='text/html' href='http://wickoo.blogspot.com/2011/10/life-is-too-short.html#comment-form' title='0 نظر'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/477328056224159588/posts/default/736927032013178779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/477328056224159588/posts/default/736927032013178779'/><link rel='alternate' type='text/html' href='http://wickoo.blogspot.com/2011/10/life-is-too-short.html' title='Life is too short'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-477328056224159588.post-8320601738655713034</id><published>2011-09-25T09:48:00.001+02:00</published><updated>2011-09-25T09:48:36.026+02:00</updated><title type='text'>Stupidity</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
People who don&#39;t follow/know simple punctuation rules such as putting a space after &quot;,&quot; are stupid. Even if you are writing a stupid comment on Facebook!&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://wickoo.blogspot.com/feeds/8320601738655713034/comments/default' title='نظرات پیام'/><link rel='replies' type='text/html' href='http://wickoo.blogspot.com/2011/09/stupidity.html#comment-form' title='0 نظر'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/477328056224159588/posts/default/8320601738655713034'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/477328056224159588/posts/default/8320601738655713034'/><link rel='alternate' type='text/html' href='http://wickoo.blogspot.com/2011/09/stupidity.html' title='Stupidity'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-477328056224159588.post-7642891363035124438</id><published>2011-09-17T00:50:00.000+02:00</published><updated>2011-09-17T00:50:10.703+02:00</updated><title type='text'>Is it worth it?</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Tahoma, Arial, serif, sans-serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 12px;&quot;&gt;&quot;There is but one truly serious philosophical problem, and that is suicide. Judging whether life is or is not worth living amounts to answering the fundamental question of philosophy. All the rest, ..., comes afterwards.&quot; Albert Camus&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://wickoo.blogspot.com/feeds/7642891363035124438/comments/default' title='نظرات پیام'/><link rel='replies' type='text/html' href='http://wickoo.blogspot.com/2011/09/is-it-worth-it.html#comment-form' title='0 نظر'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/477328056224159588/posts/default/7642891363035124438'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/477328056224159588/posts/default/7642891363035124438'/><link rel='alternate' type='text/html' href='http://wickoo.blogspot.com/2011/09/is-it-worth-it.html' title='Is it worth it?'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-477328056224159588.post-7851598455528727730</id><published>2011-09-09T20:18:00.000+02:00</published><updated>2011-09-09T20:18:53.057+02:00</updated><title type='text'>واقعا که</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;rtl&quot; style=&quot;text-align: right;&quot;&gt;
یکی از دوستام داره میاد اینجا دو سه روزی پیشم...&lt;/div&gt;
&lt;div dir=&quot;rtl&quot; style=&quot;text-align: right;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir=&quot;rtl&quot; style=&quot;text-align: right;&quot;&gt;
نمی تونم کرم مرطوب کنندمو بزارم تو کیف دستیم تو هواپیما، چه کار کنم؟‌&amp;nbsp;&lt;/div&gt;
&lt;div dir=&quot;rtl&quot; style=&quot;text-align: right;&quot;&gt;
من: اینجا رطوبت هواش بالای نود درصده، کرم مرطوب کننده نمی خوای...&lt;/div&gt;
&lt;div dir=&quot;rtl&quot; style=&quot;text-align: right;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir=&quot;rtl&quot; style=&quot;text-align: right;&quot;&gt;
خوب حالا کرم ضد آفتابم چی؟&lt;/div&gt;
&lt;div dir=&quot;rtl&quot; style=&quot;text-align: right;&quot;&gt;
من: اینجا کلا تو تابستون هم دو روز بیشتر آفتابی نبوده، تا سال دیگه آفتاب نداریم، به کارت نمیاد..&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://wickoo.blogspot.com/feeds/7851598455528727730/comments/default' title='نظرات پیام'/><link rel='replies' type='text/html' href='http://wickoo.blogspot.com/2011/09/blog-post.html#comment-form' title='0 نظر'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/477328056224159588/posts/default/7851598455528727730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/477328056224159588/posts/default/7851598455528727730'/><link rel='alternate' type='text/html' href='http://wickoo.blogspot.com/2011/09/blog-post.html' title='واقعا که'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-477328056224159588.post-333412487045196661</id><published>2011-09-07T10:25:00.000+02:00</published><updated>2011-09-07T10:26:35.688+02:00</updated><title type='text'>What matters in life?</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div&gt;
I have pondered over this question for a long long time and now I think I know the answer.&amp;nbsp;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;
When even a printer company won&#39;t allow me to do my graduation project there, because I&#39;m coming from Iran, I think one of the most important factors of success in life is where you were born...&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://wickoo.blogspot.com/feeds/333412487045196661/comments/default' title='نظرات پیام'/><link rel='replies' type='text/html' href='http://wickoo.blogspot.com/2011/09/what-matters-in-life.html#comment-form' title='0 نظر'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/477328056224159588/posts/default/333412487045196661'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/477328056224159588/posts/default/333412487045196661'/><link rel='alternate' type='text/html' href='http://wickoo.blogspot.com/2011/09/what-matters-in-life.html' title='What matters in life?'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-477328056224159588.post-5401814160627361757</id><published>2011-08-22T01:39:00.000+02:00</published><updated>2011-08-22T01:39:45.402+02:00</updated><title type='text'>Facebook</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Why a non-english speaking friend of mine should share something like this about her husband on Facebook?&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3a12F0TIRgzfUvyymRx2x3YN5Ihyphenhyphen-PeueCeOFw8332uRRCsmKw3SFPI26osjIHkX7gm4vThWNxnhjVH6c92UscA_B6A06tDuQPdvv04z5FSWS_FBpPVwqpGVQqpgmqCzJbxU7ATFDMftV/s1600/Screen+Shot+2011-08-22+at+1.11.51+AM.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;162&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3a12F0TIRgzfUvyymRx2x3YN5Ihyphenhyphen-PeueCeOFw8332uRRCsmKw3SFPI26osjIHkX7gm4vThWNxnhjVH6c92UscA_B6A06tDuQPdvv04z5FSWS_FBpPVwqpGVQqpgmqCzJbxU7ATFDMftV/s400/Screen+Shot+2011-08-22+at+1.11.51+AM.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://wickoo.blogspot.com/feeds/5401814160627361757/comments/default' title='نظرات پیام'/><link rel='replies' type='text/html' href='http://wickoo.blogspot.com/2011/08/facebook.html#comment-form' title='1 نظر'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/477328056224159588/posts/default/5401814160627361757'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/477328056224159588/posts/default/5401814160627361757'/><link rel='alternate' type='text/html' href='http://wickoo.blogspot.com/2011/08/facebook.html' title='Facebook'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3a12F0TIRgzfUvyymRx2x3YN5Ihyphenhyphen-PeueCeOFw8332uRRCsmKw3SFPI26osjIHkX7gm4vThWNxnhjVH6c92UscA_B6A06tDuQPdvv04z5FSWS_FBpPVwqpGVQqpgmqCzJbxU7ATFDMftV/s72-c/Screen+Shot+2011-08-22+at+1.11.51+AM.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-477328056224159588.post-1090734620140693340</id><published>2011-08-17T01:37:00.003+02:00</published><updated>2011-08-17T01:37:40.840+02:00</updated><title type='text'>Seriously?</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
We are building a web application for testing some features of Hibernate for a database course. For the final presentation, I asked my teammate if he can make a pretty style for our web app, so that our presentation makes a good impression. After he committed the code, I updated and restarted the server. This is what I got:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPmp8aNxK2d6jLFLvSxbX59Su0fULQmKcRKIe89xAlX0NMHtPxAjC_vOEGDhQwfZmzfogxPIn4j3Jx4sIqSdFDY0g2hyphenhyphenWAUcVRYPnv_O796L5ob0HEL8JXljsXjF9lBupaCYG6kriSSuHm/s1600/Screen+Shot+2011-08-17+at+1.30.49+AM.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPmp8aNxK2d6jLFLvSxbX59Su0fULQmKcRKIe89xAlX0NMHtPxAjC_vOEGDhQwfZmzfogxPIn4j3Jx4sIqSdFDY0g2hyphenhyphenWAUcVRYPnv_O796L5ob0HEL8JXljsXjF9lBupaCYG6kriSSuHm/s400/Screen+Shot+2011-08-17+at+1.30.49+AM.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
I&#39;m just speechless. Seriously?&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://wickoo.blogspot.com/feeds/1090734620140693340/comments/default' title='نظرات پیام'/><link rel='replies' type='text/html' href='http://wickoo.blogspot.com/2011/08/seriously.html#comment-form' title='2 نظر'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/477328056224159588/posts/default/1090734620140693340'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/477328056224159588/posts/default/1090734620140693340'/><link rel='alternate' type='text/html' href='http://wickoo.blogspot.com/2011/08/seriously.html' title='Seriously?'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPmp8aNxK2d6jLFLvSxbX59Su0fULQmKcRKIe89xAlX0NMHtPxAjC_vOEGDhQwfZmzfogxPIn4j3Jx4sIqSdFDY0g2hyphenhyphenWAUcVRYPnv_O796L5ob0HEL8JXljsXjF9lBupaCYG6kriSSuHm/s72-c/Screen+Shot+2011-08-17+at+1.30.49+AM.png" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-477328056224159588.post-1974079931436885637</id><published>2011-08-15T02:06:00.002+02:00</published><updated>2011-08-15T02:06:39.990+02:00</updated><title type='text'>هم خونه ای احمق</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;rtl&quot; style=&quot;text-align: right;&quot;&gt;
امروز بعد از ظهر هم خونه ای هلندیمو تو آشپزخونه دیدم، میگه که نیلز اومده دیدیش؟ میگم نیلز کیه؟ میگه همون پسر آلمانیه که گفتم مسافرته. اتاقش کنار اتاق منه. بعدش می گم نه کسی نیومده! میگه چرا امروز داشتم رد میشدم دیدم صداش میاد با دوست دخترش حرف میزنه. گفتم که امروز فقط صدا اون لهستانیه میومد (دوست دختر هم نداره)! بعد یه تیکه هم اومد که زبان آلمانی با لهستانی رو تشخیص نمیدی از هم؟ می خواستم بگم آخه احمق من داشتم با اسکایپ با دختره فارسی حرف میزدم تو شنیدی. تو که فرق فارسی و آلمانی رو نمی فهمی، چرا تیکه بانمک میای؟ ولی گفتم ولش کن. اولا که نمی گیره چی میگم باید علمی توضیح بدم بهش، ثانیا همه باید با حماقت خودشون زندگی کنن و بمیرن، اینجوری واسشون بهتره!&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://wickoo.blogspot.com/feeds/1974079931436885637/comments/default' title='نظرات پیام'/><link rel='replies' type='text/html' href='http://wickoo.blogspot.com/2011/08/blog-post_15.html#comment-form' title='1 نظر'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/477328056224159588/posts/default/1974079931436885637'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/477328056224159588/posts/default/1974079931436885637'/><link rel='alternate' type='text/html' href='http://wickoo.blogspot.com/2011/08/blog-post_15.html' title='هم خونه ای احمق'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-477328056224159588.post-8030341555947336204</id><published>2011-08-13T22:12:00.000+02:00</published><updated>2011-08-13T22:12:02.779+02:00</updated><title type='text'>Google+</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div&gt;
I have seen quite a few status updates from friends in&amp;nbsp;Facebook, saying that they&#39;ve disabled their Google+ account, because of unknown people who add them to circles, which is indeed very annoying.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Some people never ever get how to write a program, while some programmers never get how to find a girlfriend. I think the same holds true for companies:&amp;nbsp;Google simply does not get Social Networking (Orkut, Buzz and now +), while a company like Microsoft does not get how to build a search engine. There are many other examples of this kind...&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://wickoo.blogspot.com/feeds/8030341555947336204/comments/default' title='نظرات پیام'/><link rel='replies' type='text/html' href='http://wickoo.blogspot.com/2011/08/google_13.html#comment-form' title='0 نظر'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/477328056224159588/posts/default/8030341555947336204'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/477328056224159588/posts/default/8030341555947336204'/><link rel='alternate' type='text/html' href='http://wickoo.blogspot.com/2011/08/google_13.html' title='Google+'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-477328056224159588.post-5990024508483132841</id><published>2011-08-13T01:30:00.000+02:00</published><updated>2011-08-13T01:30:18.237+02:00</updated><title type='text'>دست دادن</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;rtl&quot; style=&quot;text-align: right;&quot;&gt;
خیلی از رفتارهای ساده هست که سالهاست برامون عادت شده و برای اولین بار توی یک محیط اینترنشنال تازه می فهمیم که اکثر جاهای دنیا اینجوری نیست. مثلا همین دست دادن ساده رو در نظر بگیرین.&lt;/div&gt;
&lt;div dir=&quot;rtl&quot; style=&quot;text-align: right;&quot;&gt;
ما ایرانی ها خیلی زیاد دست میدیم. موقع سلام و خداحافظی که استاندارده. حتی اگه یک نفر رو ۲ ۳ بار هم تو روز جاهای مختلف ببینیم باز هم دست میدیم. معمولا توی فرهنگهای دیگه دست دادن خیلی به ندرت صورت می گیره اونم برای مواقع رسمی یا دیدن یک دوست بعد از مدت ها یا یک معرفی... تنها افراد غیر ایرانی که با من هر دفعه دست میدن (و حتی موقع خداحافظی) اینجا اسپانیایی زبانهای امریکای لاتین هستند که خوب انصافا مایه هم میذارن محکم دست میدن نه شل و ول مدل ایرانی.&lt;/div&gt;
&lt;div dir=&quot;rtl&quot; style=&quot;text-align: right;&quot;&gt;
نکته بعدی اینه که دخترها معمولا فقط تو موارد رسمی یا اولین معارفه دست میدن. تنها دخترایی که برای سلام احوالپرسی دست میدن ایرانیها هستن. حالا من به خوب و بد قضیه کار ندارم ولی یه اکبر داریم اینجا اینجا هنوز نگرفته که این دست دادن مدل ایرانی همه جا مرسوم نیست. تقریبا به سبک تو ایران موقع هر سلام خداحافظی به زور به همه دست میده. یعنی حتی پیش اومده که توی کافه همه دور میز نشسته باشن، وقتی که میرسه دور میز میچرخه و با همه دختر و پسرها دست میده (موقع خداحافظی هم همینطور). خلاصه خیلی صحنه به قول معروف awkward ای (کلمه معادل فارسی براش نیافتم) به وجود میاد...&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://wickoo.blogspot.com/feeds/5990024508483132841/comments/default' title='نظرات پیام'/><link rel='replies' type='text/html' href='http://wickoo.blogspot.com/2011/08/blog-post.html#comment-form' title='0 نظر'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/477328056224159588/posts/default/5990024508483132841'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/477328056224159588/posts/default/5990024508483132841'/><link rel='alternate' type='text/html' href='http://wickoo.blogspot.com/2011/08/blog-post.html' title='دست دادن'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-477328056224159588.post-6365083680864360716</id><published>2011-08-09T22:41:00.003+02:00</published><updated>2011-08-09T22:41:30.768+02:00</updated><title type='text'>Google+</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
A platform for uploading and sharing animated GIFs.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://wickoo.blogspot.com/feeds/6365083680864360716/comments/default' title='نظرات پیام'/><link rel='replies' type='text/html' href='http://wickoo.blogspot.com/2011/08/google.html#comment-form' title='0 نظر'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/477328056224159588/posts/default/6365083680864360716'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/477328056224159588/posts/default/6365083680864360716'/><link rel='alternate' type='text/html' href='http://wickoo.blogspot.com/2011/08/google.html' title='Google+'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-477328056224159588.post-9174522080612884026</id><published>2011-08-08T17:15:00.001+02:00</published><updated>2011-08-08T17:15:14.923+02:00</updated><title type='text'>Whole country on vacation</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
One week ago, I sent an email to my professor to ask him for a meeting for discussing the thesis and related stuff. He did not reply; Today, I thought maybe it&#39;s a good idea to ask his secretary if he&#39;s there or she knows when he comes back.&lt;br /&gt;
&lt;br /&gt;
Fortunately the secretary has set an automatic out-of-office email: &quot;&lt;i&gt;I am out of the office from Friday, the 5th of August up until Friday the 26th of August. I will reply upon my return.&lt;/i&gt;&quot;&lt;br /&gt;
&lt;br /&gt;
I think the whole country is on vacation now! What I&#39;m doing here then? :(&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://wickoo.blogspot.com/feeds/9174522080612884026/comments/default' title='نظرات پیام'/><link rel='replies' type='text/html' href='http://wickoo.blogspot.com/2011/08/whole-country-on-vacation.html#comment-form' title='0 نظر'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/477328056224159588/posts/default/9174522080612884026'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/477328056224159588/posts/default/9174522080612884026'/><link rel='alternate' type='text/html' href='http://wickoo.blogspot.com/2011/08/whole-country-on-vacation.html' title='Whole country on vacation'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-477328056224159588.post-8554684884914210703</id><published>2011-08-02T21:41:00.004+02:00</published><updated>2011-08-02T21:45:14.907+02:00</updated><title type='text'>Germanic Language Patterns</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Today, I was talking to one my friends who studies at NTNU in Norway. I was curious to find out what NTNU stands for. It is the acronym for &quot;Norges Teknisk-Naturvitenskapelige Universitet&quot;. &amp;nbsp;Though, it was the first Norwegian words I&#39;ve ever seen, I could guess the meaning easilty. In fact, it&#39;s very similar to its German and Dutch variant. Look at the following table which shows the word Science in different Germanic languages.&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;background-color: transparent;&quot;&gt;
&lt;div id=&quot;internal-source-marker_0.5306842622812837&quot;&gt;
&lt;table style=&quot;border-bottom-style: none; border-collapse: collapse; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial;&quot;&gt;&lt;tbody&gt;
&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border-bottom-color: rgb(170, 170, 170); border-bottom-style: dotted; border-bottom-width: 1px; border-left-color: rgb(170, 170, 170); border-left-style: dotted; border-left-width: 1px; border-right-color: rgb(170, 170, 170); border-right-style: dotted; border-right-width: 1px; border-top-color: rgb(170, 170, 170); border-top-style: dotted; border-top-width: 1px; padding-bottom: 7px; padding-left: 7px; padding-right: 7px; padding-top: 7px; vertical-align: top;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;German&lt;/span&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom-color: rgb(170, 170, 170); border-bottom-style: dotted; border-bottom-width: 1px; border-left-color: rgb(170, 170, 170); border-left-style: dotted; border-left-width: 1px; border-right-color: rgb(170, 170, 170); border-right-style: dotted; border-right-width: 1px; border-top-color: rgb(170, 170, 170); border-top-style: dotted; border-top-width: 1px; padding-bottom: 7px; padding-left: 7px; padding-right: 7px; padding-top: 7px; vertical-align: top;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Dutch&lt;/span&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom-color: rgb(170, 170, 170); border-bottom-style: dotted; border-bottom-width: 1px; border-left-color: rgb(170, 170, 170); border-left-style: dotted; border-left-width: 1px; border-right-color: rgb(170, 170, 170); border-right-style: dotted; border-right-width: 1px; border-top-color: rgb(170, 170, 170); border-top-style: dotted; border-top-width: 1px; padding-bottom: 7px; padding-left: 7px; padding-right: 7px; padding-top: 7px; vertical-align: top;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Norwegian&lt;/span&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom-color: rgb(170, 170, 170); border-bottom-style: dotted; border-bottom-width: 1px; border-left-color: rgb(170, 170, 170); border-left-style: dotted; border-left-width: 1px; border-right-color: rgb(170, 170, 170); border-right-style: dotted; border-right-width: 1px; border-top-color: rgb(170, 170, 170); border-top-style: dotted; border-top-width: 1px; padding-bottom: 7px; padding-left: 7px; padding-right: 7px; padding-top: 7px; vertical-align: top;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Swedish&lt;/span&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom-color: rgb(170, 170, 170); border-bottom-style: dotted; border-bottom-width: 1px; border-left-color: rgb(170, 170, 170); border-left-style: dotted; border-left-width: 1px; border-right-color: rgb(170, 170, 170); border-right-style: dotted; border-right-width: 1px; border-top-color: rgb(170, 170, 170); border-top-style: dotted; border-top-width: 1px; padding-bottom: 7px; padding-left: 7px; padding-right: 7px; padding-top: 7px; vertical-align: top;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Danish&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border-bottom-color: rgb(170, 170, 170); border-bottom-style: dotted; border-bottom-width: 1px; border-left-color: rgb(170, 170, 170); border-left-style: dotted; border-left-width: 1px; border-right-color: rgb(170, 170, 170); border-right-style: dotted; border-right-width: 1px; border-top-color: rgb(170, 170, 170); border-top-style: dotted; border-top-width: 1px; padding-bottom: 7px; padding-left: 7px; padding-right: 7px; padding-top: 7px; vertical-align: top;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Wissenschaft&lt;/span&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom-color: rgb(170, 170, 170); border-bottom-style: dotted; border-bottom-width: 1px; border-left-color: rgb(170, 170, 170); border-left-style: dotted; border-left-width: 1px; border-right-color: rgb(170, 170, 170); border-right-style: dotted; border-right-width: 1px; border-top-color: rgb(170, 170, 170); border-top-style: dotted; border-top-width: 1px; padding-bottom: 7px; padding-left: 7px; padding-right: 7px; padding-top: 7px; vertical-align: top;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;wetenschap&lt;/span&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom-color: rgb(170, 170, 170); border-bottom-style: dotted; border-bottom-width: 1px; border-left-color: rgb(170, 170, 170); border-left-style: dotted; border-left-width: 1px; border-right-color: rgb(170, 170, 170); border-right-style: dotted; border-right-width: 1px; border-top-color: rgb(170, 170, 170); border-top-style: dotted; border-top-width: 1px; padding-bottom: 7px; padding-left: 7px; padding-right: 7px; padding-top: 7px; vertical-align: top;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;vitenskap&lt;/span&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom-color: rgb(170, 170, 170); border-bottom-style: dotted; border-bottom-width: 1px; border-left-color: rgb(170, 170, 170); border-left-style: dotted; border-left-width: 1px; border-right-color: rgb(170, 170, 170); border-right-style: dotted; border-right-width: 1px; border-top-color: rgb(170, 170, 170); border-top-style: dotted; border-top-width: 1px; padding-bottom: 7px; padding-left: 7px; padding-right: 7px; padding-top: 7px; vertical-align: top;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;vetenskap&lt;/span&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom-color: rgb(170, 170, 170); border-bottom-style: dotted; border-bottom-width: 1px; border-left-color: rgb(170, 170, 170); border-left-style: dotted; border-left-width: 1px; border-right-color: rgb(170, 170, 170); border-right-style: dotted; border-right-width: 1px; border-top-color: rgb(170, 170, 170); border-top-style: dotted; border-top-width: 1px; padding-bottom: 7px; padding-left: 7px; padding-right: 7px; padding-top: 7px; vertical-align: top;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;videnskab&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;div id=&quot;internal-source-marker_0.5306842622812837&quot;&gt;
&lt;br /&gt;
They are extremely similar. Even more interesting is the fact that certain patterns occur in all these languages.&lt;/div&gt;
&lt;div id=&quot;internal-source-marker_0.5306842622812837&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div id=&quot;internal-source-marker_0.5306842622812837&quot;&gt;
Below is another example which shows the word community in the above-mentioned languages. As you can see the &lt;b&gt;schaft&lt;/b&gt; suffix and its forms in other languages are repeated.&lt;/div&gt;
&lt;div id=&quot;internal-source-marker_0.5306842622812837&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div id=&quot;internal-source-marker_0.5306842622812837&quot;&gt;
&lt;div style=&quot;background-color: transparent;&quot;&gt;
&lt;div id=&quot;internal-source-marker_0.12461952329613268&quot;&gt;
&lt;table style=&quot;border-bottom-style: none; border-collapse: collapse; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial;&quot;&gt;&lt;tbody&gt;
&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border-bottom-color: rgb(170, 170, 170); border-bottom-style: dotted; border-bottom-width: 1px; border-left-color: rgb(170, 170, 170); border-left-style: dotted; border-left-width: 1px; border-right-color: rgb(170, 170, 170); border-right-style: dotted; border-right-width: 1px; border-top-color: rgb(170, 170, 170); border-top-style: dotted; border-top-width: 1px; padding-bottom: 7px; padding-left: 7px; padding-right: 7px; padding-top: 7px; vertical-align: top;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;German&lt;/span&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom-color: rgb(170, 170, 170); border-bottom-style: dotted; border-bottom-width: 1px; border-left-color: rgb(170, 170, 170); border-left-style: dotted; border-left-width: 1px; border-right-color: rgb(170, 170, 170); border-right-style: dotted; border-right-width: 1px; border-top-color: rgb(170, 170, 170); border-top-style: dotted; border-top-width: 1px; padding-bottom: 7px; padding-left: 7px; padding-right: 7px; padding-top: 7px; vertical-align: top;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Dutch&lt;/span&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom-color: rgb(170, 170, 170); border-bottom-style: dotted; border-bottom-width: 1px; border-left-color: rgb(170, 170, 170); border-left-style: dotted; border-left-width: 1px; border-right-color: rgb(170, 170, 170); border-right-style: dotted; border-right-width: 1px; border-top-color: rgb(170, 170, 170); border-top-style: dotted; border-top-width: 1px; padding-bottom: 7px; padding-left: 7px; padding-right: 7px; padding-top: 7px; vertical-align: top;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Norwegian&lt;/span&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom-color: rgb(170, 170, 170); border-bottom-style: dotted; border-bottom-width: 1px; border-left-color: rgb(170, 170, 170); border-left-style: dotted; border-left-width: 1px; border-right-color: rgb(170, 170, 170); border-right-style: dotted; border-right-width: 1px; border-top-color: rgb(170, 170, 170); border-top-style: dotted; border-top-width: 1px; padding-bottom: 7px; padding-left: 7px; padding-right: 7px; padding-top: 7px; vertical-align: top;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Swedish&lt;/span&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom-color: rgb(170, 170, 170); border-bottom-style: dotted; border-bottom-width: 1px; border-left-color: rgb(170, 170, 170); border-left-style: dotted; border-left-width: 1px; border-right-color: rgb(170, 170, 170); border-right-style: dotted; border-right-width: 1px; border-top-color: rgb(170, 170, 170); border-top-style: dotted; border-top-width: 1px; padding-bottom: 7px; padding-left: 7px; padding-right: 7px; padding-top: 7px; vertical-align: top;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Danish&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border-bottom-color: rgb(170, 170, 170); border-bottom-style: dotted; border-bottom-width: 1px; border-left-color: rgb(170, 170, 170); border-left-style: dotted; border-left-width: 1px; border-right-color: rgb(170, 170, 170); border-right-style: dotted; border-right-width: 1px; border-top-color: rgb(170, 170, 170); border-top-style: dotted; border-top-width: 1px; padding-bottom: 7px; padding-left: 7px; padding-right: 7px; padding-top: 7px; vertical-align: top;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Gemeinschaft&lt;/span&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom-color: rgb(170, 170, 170); border-bottom-style: dotted; border-bottom-width: 1px; border-left-color: rgb(170, 170, 170); border-left-style: dotted; border-left-width: 1px; border-right-color: rgb(170, 170, 170); border-right-style: dotted; border-right-width: 1px; border-top-color: rgb(170, 170, 170); border-top-style: dotted; border-top-width: 1px; padding-bottom: 7px; padding-left: 7px; padding-right: 7px; padding-top: 7px; vertical-align: top;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;gemeenschap&lt;/span&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom-color: rgb(170, 170, 170); border-bottom-style: dotted; border-bottom-width: 1px; border-left-color: rgb(170, 170, 170); border-left-style: dotted; border-left-width: 1px; border-right-color: rgb(170, 170, 170); border-right-style: dotted; border-right-width: 1px; border-top-color: rgb(170, 170, 170); border-top-style: dotted; border-top-width: 1px; padding-bottom: 7px; padding-left: 7px; padding-right: 7px; padding-top: 7px; vertical-align: top;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;fellesskap&lt;/span&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom-color: rgb(170, 170, 170); border-bottom-style: dotted; border-bottom-width: 1px; border-left-color: rgb(170, 170, 170); border-left-style: dotted; border-left-width: 1px; border-right-color: rgb(170, 170, 170); border-right-style: dotted; border-right-width: 1px; border-top-color: rgb(170, 170, 170); border-top-style: dotted; border-top-width: 1px; padding-bottom: 7px; padding-left: 7px; padding-right: 7px; padding-top: 7px; vertical-align: top;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;gemenskap&lt;/span&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom-color: rgb(170, 170, 170); border-bottom-style: dotted; border-bottom-width: 1px; border-left-color: rgb(170, 170, 170); border-left-style: dotted; border-left-width: 1px; border-right-color: rgb(170, 170, 170); border-right-style: dotted; border-right-width: 1px; border-top-color: rgb(170, 170, 170); border-top-style: dotted; border-top-width: 1px; padding-bottom: 7px; padding-left: 7px; padding-right: 7px; padding-top: 7px; vertical-align: top;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;fællesskab&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;div id=&quot;internal-source-marker_0.12461952329613268&quot;&gt;
&lt;br /&gt;
Unfortunately, pronunciation (and hence listening experience) is very different in these languages and that&#39;s what actually learning a language is all about...&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;internal-source-marker_0.5306842622812837&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div id=&quot;internal-source-marker_0.5306842622812837&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://wickoo.blogspot.com/feeds/8554684884914210703/comments/default' title='نظرات پیام'/><link rel='replies' type='text/html' href='http://wickoo.blogspot.com/2011/08/germanic-language-patterns.html#comment-form' title='0 نظر'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/477328056224159588/posts/default/8554684884914210703'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/477328056224159588/posts/default/8554684884914210703'/><link rel='alternate' type='text/html' href='http://wickoo.blogspot.com/2011/08/germanic-language-patterns.html' title='Germanic Language Patterns'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-477328056224159588.post-4501108074399608452</id><published>2011-08-02T19:42:00.001+02:00</published><updated>2011-08-02T19:42:59.010+02:00</updated><title type='text'>GWT</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
I never liked GWT as a web framework. Simply working with it did not feel natural to me. Today, I came across the following assessment of GWT by &lt;a href=&quot;http://www.thoughtworks.com/sites/www.thoughtworks.com/files/files/thoughtworks-tech-radar-july-2011-us-color.pdf&quot;&gt;ThoughtWorks Technology Radar&lt;/a&gt;,&amp;nbsp;which I would like to share with you:&lt;br /&gt;
&quot;GWT is a reasonable implementation of a &lt;b&gt;poor architectural choice&lt;/b&gt;. GWT attempts to hide many of the details of the web as a platform by creating desktop metaphors in Java and generating JavaScript code to implement them. First, in many ways, &lt;b&gt;JavaScript is more powerful and expressive than Java&lt;/b&gt;, so we suspect that the generation is going in the wrong direction. Secondly, it is impossible to hide a complex abstraction difference like that from event-driven desktop to stateless-web without &lt;b&gt;&lt;a href=&quot;http://www.joelonsoftware.com/articles/LeakyAbstractions.html&quot;&gt;leaky abstraction&lt;/a&gt; &lt;/b&gt;headaches eventually popping up. Third, it suffers from &amp;nbsp;the same shortcomings of many elaborate frameworks, where &lt;b&gt;building simple, aligned applications is quick and easy, building more sophisticated but not supported functionality is possible but difficult, and building the level of sophistication required by any non-trivial application becomes either impossible or so difficult it isn’t reasonable.&lt;/b&gt;&quot;&lt;br /&gt;
&lt;br /&gt;
What do you think about GWT and the arguments made by Technology Radar?&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://wickoo.blogspot.com/feeds/4501108074399608452/comments/default' title='نظرات پیام'/><link rel='replies' type='text/html' href='http://wickoo.blogspot.com/2011/08/gwt.html#comment-form' title='0 نظر'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/477328056224159588/posts/default/4501108074399608452'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/477328056224159588/posts/default/4501108074399608452'/><link rel='alternate' type='text/html' href='http://wickoo.blogspot.com/2011/08/gwt.html' title='GWT'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-477328056224159588.post-2332912944559603866</id><published>2011-07-29T19:33:00.000+02:00</published><updated>2011-07-29T19:33:34.605+02:00</updated><title type='text'>Persian English</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;rtl&quot; style=&quot;text-align: right;&quot;&gt;
یک روز داشتیم با یکی از دوستای خارجیم توی غذاخوری اصلی دانشگاه می رفتیم که دو تا از دخترهای ایرانی رو دیدیم که نشستن دارن غذا می خورن. رفتیم جلو و سلام علیک و این حرفا. یکیشون با یک لهجه فارسی خیلی داغون جواب داد:&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
Hellooo, Havaaarioooo?&lt;/div&gt;
&lt;div dir=&quot;rtl&quot; style=&quot;text-align: right;&quot;&gt;
خندم گرفته بود بهش گفتم که این دیگه چیه می خوری. گفت؟&lt;br /&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
Dis is new food. It is veeery goood. &lt;b&gt;perais&lt;/b&gt; is very &lt;b&gt;laagical&lt;/b&gt;...&lt;/div&gt;
&lt;br /&gt;
حالا این لهجه ایرانی رو که اکثرا داریم ولی واقعا بعضی دخترا خیلی داغون انگلیسی حرف می زنن. ترجمه مستقیم از فارسی و نبودن article words هم رو که بهش اضافه کنیم میشه نمونه کامل انگلیسی ایرانی...&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://wickoo.blogspot.com/feeds/2332912944559603866/comments/default' title='نظرات پیام'/><link rel='replies' type='text/html' href='http://wickoo.blogspot.com/2011/07/persian-english.html#comment-form' title='4 نظر'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/477328056224159588/posts/default/2332912944559603866'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/477328056224159588/posts/default/2332912944559603866'/><link rel='alternate' type='text/html' href='http://wickoo.blogspot.com/2011/07/persian-english.html' title='Persian English'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-477328056224159588.post-1109572669185798907</id><published>2011-07-29T03:14:00.005+02:00</published><updated>2011-07-29T03:18:49.668+02:00</updated><title type='text'>دوست ما</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;rtl&quot; style=&quot;text-align: right;&quot;&gt;
&amp;nbsp;معمولا افرادی که به یک گروه (مذهب، شرکت یا حتی یک کشور) تعلق دارند، دوست دارن پیش غیرخودی ها از گروهی که بهش تعلق دارن بد نگن. مثل اینکه مشکلات فقط مال خودی هاست و کس دیگه ای نباید بدونه واقعا چه خبره... اما بعضی ها هم هستند که واقعا دوست دارن اون چیزی رو که بهش تعلق دارن رو خیلی بهتر از اون چیزی که هست نشون بدن...&lt;/div&gt;
&lt;div dir=&quot;rtl&quot; style=&quot;text-align: right;&quot;&gt;
یکی از چیزهای جالبی که تو این یک سال بهش برخوردم رفتار ایرانی های اینجاست. حالا دوست ندارم قانون کلی درست کنم ولی یک نفر رو اینجا میشناسم که اظهاراتش در مورد ایران جالبه. چند تا از اتفاقات رو اینجا با هم مرور می کنیم:&lt;/div&gt;
&lt;div dir=&quot;rtl&quot; style=&quot;text-align: right;&quot;&gt;
&lt;/div&gt;
&lt;ul dir=&quot;rtl&quot; style=&quot;text-align: right;&quot;&gt;
&lt;li&gt;سر کلاس زبان استاد از من پرسید که اگر من بخوام از تهران دیدن کنم چه جاهایی رو باید ببینم؟ گفتم والا تهران یه شهر بزرگ، زشت با ساختمان هایی که هر کدوم یه جور سر از زمین بیرون اوردن، بیشتر از ۱۲ میلیون آدم و پر از دود و دمه و واقعا چیزی نداره که ارزش دیدنشو داشته باشه... این دوست ما بعد از کلاس به من گفت که تو چرا در مورد تهران اینجوری گفتی، من واقعا تهران رو دوست دارم. خوب حالا من موندم این که تو تهران رو دوست داری، اونم به خاطر دور زدن با ماشین دور خیابونو و اون دخترایی که بهت پا می دادنو و ... کجای حرف منو نقض می کنه؟ باید حتما می گفتم گه آره بهترین شهر دنیاست از لحاظ جهانگردی؟؟؟&lt;/li&gt;
&lt;li&gt;موضوع دوم موقعی بود که داشتیم با دوچرخه می رفتیم سمت خونه و مسیرمون یکی بود. یک پسر ترک هم اونروز با ما بود و بحث دخترای دانشجوی ایرانی در ترکیه شد. گفت که تعداد زیادی دانشجوی دختر ایرانی توی دانشگاهای ترکیه تحصیل می کنند و جالبیش اینه از دوستاش شنیده که این دخترها خیلی زیاد مست میکنند و اصلا حد خودشونو رعایت نمی کنند و مثل بچه های ۱۷ ۱۸ ساله هستند توی مصرف الکل و ... . من گفتم که حالا فکر نمی کنم که همه اینجوری باشن ولی خوب محدودیت ها توی ایران برای دخترها زیاده و ممکنه وقتی می رن بیرون بعضیاشون اینجوری بشن. حتی اینجا هم توی جشن تولد یکی از دخترای ایرانی، اینقدر اون دختر خورده بود که ۳ ۴ بار زمین خورد وسط مهمونی...جالبیش این که اونم توی جشن تولد خودش... وقتی اون ‍پسر ترک از ما جدا شد، این رفیق ما در حالی که عصبانی بود به من می گفت دیدی چه آبرویی از ما بردن؟‌ الان این فکر میکنه همه دخترای ایرانی اینجورین... واقعا که! خب که چی؟؟؟ در ضمن اصلا این موضوع به من و تو چه ربطی داره؟ به هر حال هر کس آزاده هر کار دوست داشت انجام بده..&lt;/li&gt;
&lt;li&gt;این دوست ما برگشته ایران برای دیدار با خانواده: دوست دارم اینجا چند تا&amp;nbsp;استاتوس های فیسبوکشو بذارم:&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Good Morning Tehran, I love you&lt;/li&gt;
&lt;li&gt;Great Weather, view from my room, Tehran&lt;/li&gt;
&lt;li&gt;BBQ Time, Tehran&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;div dir=&quot;rtl&quot; style=&quot;text-align: right;&quot;&gt;
خوب اولیش رو که می دونستیم... دومیش خیلی برای من سوال برانگیزه که هوایی که اعلام شده که اینقدر آلوده است که هوای داخل کانالهای مترو از اون تمیز تره چجوری میتونه هوای فوق العاده به حساب بیاد اونم بالای ۴۰ درجه در حالی که هوای تمیز، مرطوب و ۲۰ درجه اینجا اصلا خوب نیست. سومی عکس یک منقل رو نشون میده که دارن روش کباب درست می کنند ولی خوب خارجیا حتما باید بدونن که ما هم مراسم BBQ داریم وگر نه من که یادم نمیاد کسی رفته باشه جوجه کباب بخوره و بعدش بگه که عجب BBQ ای بود.&lt;/div&gt;
&lt;div dir=&quot;rtl&quot; style=&quot;text-align: right;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir=&quot;rtl&quot; style=&quot;text-align: right;&quot;&gt;
اگر این استاتوس ها رو فارسی می نوشت من مشکل ندشتم ولی خوب چه می شود کرد، امیدوارم&amp;nbsp;‌‌BBQ Time خوش بگذرد...&lt;/div&gt;
&lt;div style=&quot;text-align: right;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://wickoo.blogspot.com/feeds/1109572669185798907/comments/default' title='نظرات پیام'/><link rel='replies' type='text/html' href='http://wickoo.blogspot.com/2011/07/blog-post.html#comment-form' title='1 نظر'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/477328056224159588/posts/default/1109572669185798907'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/477328056224159588/posts/default/1109572669185798907'/><link rel='alternate' type='text/html' href='http://wickoo.blogspot.com/2011/07/blog-post.html' title='دوست ما'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-477328056224159588.post-4955853809004205102</id><published>2010-06-17T17:51:00.012+02:00</published><updated>2010-06-17T22:30:39.604+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="hibernate"/><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="javassist"/><category scheme="http://www.blogger.com/atom/ns#" term="jpa"/><title type='text'>A very dynamic Java persistence application</title><content type='html'>&lt;div style=&quot;text-align: left;&quot; dir=&quot;ltr&quot;&gt;Since I have started my work at my current company about one and a half years age, there were a huge emphasis on MDA and code generation. Though I don&#39;t believe that we can build a magic box for generating applications for all different kind of domains, it might be helpful in certain domains. Also generating the redundant and mundane parts of the application like CRUDs can be a real time saver.&lt;br /&gt;&lt;br /&gt;One of the problems we had back then was the static nature of the Java language itself. We had to generate Java classes from different models and then compile and run it to see the result. Need to change model? You must go through the tedious generate-compile-run cycle. I didn&#39;t like it at all! &lt;br /&gt;&lt;br /&gt;In some dynamic languages like Ruby, you can define classes at run time and even change them. If our framework were based on something like Ruby, there were no need for the generation/compilation phase. The framework could read models at startup and define classes on the fly. Unlike ours, there are no intermediate artifacts in this approach.&lt;br /&gt;&lt;br /&gt;Recently I have found a way to do a similar thing with Java. Although it is not quite similar. In a language like Ruby, we don&#39;t have static type checking so if you know the call of a method in string format, you can send the method&#39;s name as a message to the Ruby object for the execution, but in Java you must use the Reflection API for this, which is supposed to be slower than normal method call.&lt;br /&gt;&lt;br /&gt;So how we can define classes in Java at runtime? The key is a library named &lt;a href=&quot;http://www.jboss.org/javassist&quot;&gt;Javassist&lt;/a&gt;. Javassist is really easy to use! Love it :)&lt;br /&gt;&lt;br /&gt;Enough for the history and theory, let&#39;s get our hand dirty and write some code to generate a class named Person using javassist. I have used the version 3.8 of this library which is also available in maven repositories.&lt;br /&gt;&lt;pre class=&quot;brush:java&quot;&gt;&lt;br /&gt;ClassPool cp = ClassPool.getDefault();&lt;br /&gt;CtClass ctClass = cp.makeClass(&quot;test.Person&quot;);&lt;br /&gt;&lt;br /&gt;CtField idField = new CtField(cp.get(Long.class.getName()), &quot;id&quot;, ctClass);&lt;br /&gt;ctClass.addField(idField);&lt;br /&gt;&lt;br /&gt;CtField nameField = new CtField(cp.get(String.class.getName()), &quot;name&quot;, ctClass);&lt;br /&gt;ctClass.addField(nameField);&lt;br /&gt;  &lt;br /&gt;CtField ageField = new CtField(cp.get(int.class.getName()), &quot;age&quot;, ctClass);&lt;br /&gt;ctClass.addField(ageField);&lt;br /&gt;&lt;br /&gt;Class&lt;?&gt; personClass = ctClass.toClass();&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The code is self-explanatory, but if you have further questions, please ask it in comments. Also there is a good tutorial available &lt;a href=&quot;http://www.csg.is.titech.ac.jp/~chiba/javassist/tutorial/tutorial2.html&quot;&gt;here&lt;/a&gt; if you are interested to learn more. Basically the code above, defines a class named &quot;Person&quot; which resides in the &quot;test&quot; package. It has three field: id of type Long, name of type String and age of type int. the last line creates the actual Java class and loads it in JVM.&lt;br /&gt;&lt;br /&gt;So now we have the Java class, like any other statically written one. How can we instantiate it and set its properties? The answer lies in the standard Java Reflection API.&lt;br /&gt;&lt;pre class=&quot;brush:java&quot;&gt;&lt;br /&gt;Object person = personClass.newInstance();&lt;br /&gt;Field field = personClass.getDeclaredField(&quot;name&quot;);&lt;br /&gt;field.set(person, &quot;Wickoo&quot;);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;If the main class that runs these lines of code is also in the &quot;test&quot; package, the code runs successfully, otherwise you get the java.lang.IllegalAccessException exception, because the name field has no access modifier yet (package access). To overcome this, you have multiple choices. The simpler and more obvious one is to call &lt;br /&gt;&lt;pre class=&quot;brush:java&quot;&gt;&lt;br /&gt;field.setAccessible(true);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;before accessing the field. Or you can generate a public field in the first place.&lt;br /&gt;&lt;pre class=&quot;brush:java&quot;&gt;&lt;br /&gt;CtField nameField = new CtField(cp.get(String.class.getName()), &quot;name&quot;, ctClass);&lt;br /&gt;nameField.setModifiers(Modifier.PUBLIC);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Or you can generate a setter:&lt;br /&gt;&lt;pre class=&quot;brush:java&quot;&gt;&lt;br /&gt;CtMethod setNameMethod = CtNewMethod.make(&quot;public void setName(String name) {this.name = name;}&quot;, ctClass);&lt;br /&gt;ctClass.addMethod(setNameMethod);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;And then invoke the setter method:&lt;br /&gt;&lt;pre class=&quot;brush:java&quot;&gt;&lt;br /&gt;Object person = personClass.newInstance();&lt;br /&gt;Method method = personClass.getDeclaredMethod(&quot;setName&quot;, String.class);&lt;br /&gt;method.invoke(person, &quot;Wickoo&quot;);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;I think now you must have a good idea about what Javassist is capable of. The aim of this post is to generate a class at runtime, instantiate it and the persist it. &lt;br /&gt;&lt;br /&gt;I&#39;m going to use JPA and Hibernate as its implementation here. For JPA you need to put a persistence.xml file inside META-INF folder in the class path. The content of persistence.xml are shown below:&lt;br /&gt;&lt;pre class=&quot;brush:xml&quot;&gt;&lt;br /&gt;&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&lt;br /&gt;&lt;persistence &lt;br /&gt;    xmlns=&quot;http://java.sun.com/xml/ns/persistence&quot;&lt;br /&gt;    xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;&lt;br /&gt;    xsi:schemaLocation=&quot;http://java.sun.com/xml/ns/persistence &lt;br /&gt;    http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd&quot;&lt;br /&gt;    version=&quot;1.0&quot;&gt;&lt;br /&gt;    &lt;persistence-unit name=&quot;dtest&quot;&gt;&lt;br /&gt;     &lt;provider&gt;org.hibernate.ejb.HibernatePersistence&lt;/provider&gt;&lt;br /&gt;        &lt;properties&gt;&lt;br /&gt;            &lt;property name=&quot;hibernate.dialect&quot; value=&quot;org.hibernate.dialect.MySQLDialect&quot;/&gt;&lt;br /&gt;            &lt;property name=&quot;hibernate.connection.driver_class&quot; value=&quot;com.mysql.jdbc.Driver&quot;/&gt;&lt;br /&gt;            &lt;property name=&quot;hibernate.connection.url&quot; value=&quot;jdbc:mysql://localhost:3306/dtest&quot;/&gt;&lt;br /&gt;            &lt;property name=&quot;hibernate.connection.username&quot; value=&quot;root&quot;/&gt;&lt;br /&gt;            &lt;property name=&quot;hibernate.connection.password&quot; value=&quot;root&quot;/&gt;&lt;br /&gt;            &lt;property name=&quot;hibernate.hbm2ddl.auto&quot; value=&quot;create-drop&quot;/&gt;&lt;br /&gt;            &lt;property name=&quot;hibernate.archive.autodetection&quot; value=&quot;class, hbm&quot;/&gt;&lt;br /&gt;            &lt;property name=&quot;hibernate.show_sql&quot; value=&quot;true&quot;/&gt;&lt;br /&gt;        &lt;/properties&gt;&lt;br /&gt;    &lt;/persistence-unit&gt;&lt;br /&gt;&lt;/persistence&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;In order to be able to persist a Java class using JPA, you need to annotate the class with @Entity or write a XML mapping file. Personally I like annotations. Also it shows the power of Javassit for generating annotations. So before proceeding further with the persistence let us generate an @Entity annotation for our class:&lt;br /&gt;&lt;pre class=&quot;brush:java&quot;&gt;&lt;br /&gt;AnnotationsAttribute attr = new AnnotationsAttribute(classFile&lt;br /&gt;    .getConstPool(), AnnotationsAttribute.visibleTag);&lt;br /&gt;Annotation entityAnnotation = new Annotation(Entity.class.getName(), classFile.getConstPool());&lt;br /&gt;attr.addAnnotation(entityAnnotation);&lt;br /&gt;classFile.addAttribute(attr);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;We also need two more annotations to go. @Id and @GeneratedValue on the id field. All other fields will be persisted to the corresponding columns with the same name by convention. So we change how we make idField to this:&lt;br /&gt;&lt;pre class=&quot;brush:java&quot;&gt;&lt;br /&gt;AnnotationsAttribute attribute = new AnnotationsAttribute(classFile&lt;br /&gt;    .getConstPool(), AnnotationsAttribute.visibleTag);&lt;br /&gt;&lt;br /&gt;Annotation idAnnotation = new Annotation(Id.class.getName(), classFile.getConstPool());&lt;br /&gt;attribute.addAnnotation(idAnnotation);&lt;br /&gt;&lt;br /&gt;Annotation gvAnnotation = new Annotation(GeneratedValue.class.getName(), classFile.getConstPool());&lt;br /&gt;attribute.addAnnotation(gvAnnotation);&lt;br /&gt;&lt;br /&gt;CtField idField = new CtField(cp.get(Long.class.getName()), &quot;id&quot;, ctClass);&lt;br /&gt;idField.getFieldInfo().addAttribute(attribute);&lt;br /&gt;ctClass.addField(idField);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Now we have everything in place. Let&#39;s try to persist it:&lt;br /&gt;&lt;pre class=&quot;brush:java&quot;&gt;&lt;br /&gt;EntityManagerFactory emf = Persistence.createEntityManagerFactory(&quot;dtest&quot;);&lt;br /&gt;EntityManager em = emf.createEntityManager();&lt;br /&gt;em.getTransaction().begin();&lt;br /&gt;Object person = personClass.newInstance();&lt;br /&gt;em.persist(person);&lt;br /&gt;em.getTransaction().commit();&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;After running this code, you&#39;ll get the &quot;java.lang.IllegalArgumentException: Unknown entity: test.Person&quot; exception. The reason for this is obvious! Hibernate can not find the entity&#39;s class anywhere. You must add it manually to Hibernate:&lt;br /&gt;&lt;pre class=&quot;brush:java&quot;&gt;&lt;br /&gt;Ejb3Configuration configuration = new Ejb3Configuration();&lt;br /&gt;configuration.addAnnotatedClass(personClass);&lt;br /&gt;configuration.configure(&quot;dtest&quot;, null);&lt;br /&gt;EntityManagerFactory emf = configuration.buildEntityManagerFactory();&lt;br /&gt;EntityManager em = emf.createEntityManager();&lt;br /&gt;em.getTransaction().begin();&lt;br /&gt;Object person = personClass.newInstance();&lt;br /&gt;em.persist(person);&lt;br /&gt;em.getTransaction().commit();&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Now you can check the database to see it with your own eyes that it works! Use the reflection methods described above to set person fields&#39; values if you don&#39;t want to persist an empty object.&lt;br /&gt;&lt;br /&gt;Please put your thoughts about this approach in the comments.&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wickoo.blogspot.com/feeds/4955853809004205102/comments/default' title='نظرات پیام'/><link rel='replies' type='text/html' href='http://wickoo.blogspot.com/2010/06/very-dynamic-java-persistence.html#comment-form' title='1 نظر'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/477328056224159588/posts/default/4955853809004205102'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/477328056224159588/posts/default/4955853809004205102'/><link rel='alternate' type='text/html' href='http://wickoo.blogspot.com/2010/06/very-dynamic-java-persistence.html' title='A very dynamic Java persistence application'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-477328056224159588.post-3256008961487652998</id><published>2010-05-31T18:14:00.004+02:00</published><updated>2010-05-31T19:10:13.168+02:00</updated><title type='text'>Equality for entities in a Hibernate application - part II</title><content type='html'>&lt;div style=&quot;text-align: left; direction: ltr&quot;&gt;&lt;br /&gt;Isn&#39;t the new code template in &lt;a href=&quot;http://wickoo.blogspot.com/2010/05/equality-for-entities-in-hibernate.html&quot;&gt;the previous part&lt;/a&gt; lovely? ha? In fact it is pretty easy task to do. Check this wonderful post out to do it yourself: &lt;a href=&quot;http://www.craftyfella.com/2010/01/syntax-highlighting-with-blogger-engine.html&quot;&gt;Syntax Higlighting&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I was reading Effective Java some time ago. It has a section devoted to implementing equals methods and after reading that, I thought it might be better if I revise my equals method. So I changed it to something like this:&lt;br /&gt;&lt;pre class=&quot;brush:java&quot;&gt;&lt;br /&gt; @Override&lt;br /&gt; public boolean equals(Object obj) {&lt;br /&gt;  if (this == obj) return true;&lt;br /&gt;  if(!(obj instanceof BaseEntity)) {&lt;br /&gt;   return false;&lt;br /&gt;  }&lt;br /&gt;  BaseEntity o = (BaseEntity) obj;&lt;br /&gt;  return getId() == null ? &lt;br /&gt;    o.getId() == null : getId().equals(o.getId());&lt;br /&gt; }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The new implementation is more compact and does not need HibernateProxyHelper. But this method does not behave exactly like before. Since it uses instanceof instead of getClass(), if you have a Car and a Dog entity instances, as long as they have equal ids, they are equal! In other words this method may not behave as expected when dealing with objects of a single hierarchy in a Java collection.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;instanceOf&lt;/span&gt; operator returns false when the object is null so there is no need for null checking.&lt;br /&gt;&lt;br /&gt;There is a huge problem in both these implementations. If you are anything like me and use Hibernate&#39;s automatic id generation, then the ids are not set until the object is persisted! Our implementation returns true when both ids are null and you should think twice about how equals should be implemented when two entities are not persisted yet. Maybe reference comparison is sufficient but it is largely application specific.&lt;br /&gt;&lt;br /&gt;Even I have a bigger question! Is using id a wise comparison method to implement equals method? Even when ids are database auto-generated values? I doubt it. Again consider cat and dog example. I persist each one in a separate table and MySQL uses 1 as start number for each table&#39;s id value. So a dog and a cat with ids equal to 1 are equal! The previous version that used getClass() did not have this problem, because it checked the exact uniqueness across tables guarantees uniqueness across classes. (Ids are not equal across whole database, they are just equal in a single table in MySQL)&lt;br /&gt;&lt;br /&gt;Perhpas it is better to implement the equals method in children and include some unique business keys if applicable! Like using national id but not all entities have unique business keys. hmm...&lt;br /&gt;&lt;br /&gt;How do you implement your equals method on objects in a database application?&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wickoo.blogspot.com/feeds/3256008961487652998/comments/default' title='نظرات پیام'/><link rel='replies' type='text/html' href='http://wickoo.blogspot.com/2010/05/equality-for-entities-in-hibernate_31.html#comment-form' title='1 نظر'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/477328056224159588/posts/default/3256008961487652998'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/477328056224159588/posts/default/3256008961487652998'/><link rel='alternate' type='text/html' href='http://wickoo.blogspot.com/2010/05/equality-for-entities-in-hibernate_31.html' title='Equality for entities in a Hibernate application - part II'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-477328056224159588.post-4548106478964874660</id><published>2010-05-30T16:37:00.010+02:00</published><updated>2010-05-31T19:09:16.757+02:00</updated><title type='text'>Equality for entities in a Hibernate application - part I</title><content type='html'>&lt;div style=&quot;text-align: left;&quot; dir=&quot;ltr&quot;&gt;Recently I&#39;ve been working on a web application, which used Hibernate as its object persistence layer. I had a super Entity class which holds Id and optimistic locking variable (@Version).&lt;br /&gt;I had a hard time writing equals and hashcode methods for entities and I haven&#39;t reached a conclusion so far. In this post I wanna share my thoughts with you on this subject. &lt;br /&gt;First I have started writing the class, put some annotation on it and commanded eclipse to generate equals and hashcode for me. You can see the result below:&lt;br /&gt;&lt;pre class=&quot;brush:java&quot;&gt;&lt;br /&gt;@MappedSuperclass&lt;br /&gt;public class BaseEntity {&lt;br /&gt; @Id @GeneratedValue&lt;br /&gt; private Long id;&lt;br /&gt; &lt;br /&gt; @Version&lt;br /&gt; private int version;&lt;br /&gt;&lt;br /&gt; public Long getId() { return id; }&lt;br /&gt;&lt;br /&gt; @Override&lt;br /&gt; public int hashCode() {&lt;br /&gt;  final int prime = 31;&lt;br /&gt;  int result = 1;&lt;br /&gt;  result = prime * result + ((id == null) ? 0 : id.hashCode());&lt;br /&gt;  result = prime * result + version;&lt;br /&gt;  return result;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; @Override&lt;br /&gt; public boolean equals(Object obj) {&lt;br /&gt;  if (this == obj) return true;&lt;br /&gt;  if (obj == null) return false;&lt;br /&gt;  if (getClass() != obj.getClass()) return false;&lt;br /&gt;  BaseEntity other = (BaseEntity) obj;&lt;br /&gt;  if (id == null) {&lt;br /&gt;   if (other.id != null)&lt;br /&gt;    return false;&lt;br /&gt;  } else if (!id.equals(other.id))&lt;br /&gt;   return false;&lt;br /&gt;  return true;&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;As Larry David always says it looked pretty pretty pretty, pretty good. But eeh, you know, it did not work. Equals and hashcode manifest themselves mostly in Java Collections API and my application has dozens of them. No luck in finding the wanted object in the collections. After hours of debugging I found out that the problem is in the equals method and exactly in this line:&lt;br /&gt;&lt;pre class=&quot;brush:java&quot;&gt;&lt;br /&gt;if (getClass() != obj.getClass()) return false;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Can you see what is wrong? Hibernate uses lazy initialization and most of the time the getClass() method doesn&#39;t return the real type (when is lazily initialized like in collections). Instead it returns a cglib-based proxy class. So this if condition sometimes returns false at this point. The solution I found was to get the real underlying class using the following Hibernate&#39;s utility class:&lt;br /&gt;&lt;pre class=&quot;brush:java&quot;&gt;&lt;br /&gt;Class clazz = HibernateProxyHelper.getClassWithoutInitializingProxy(obj);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;So I could compare the real underlying classes, but this alone did not solve the problem. There was an even harder to spot problem at this line:&lt;br /&gt;&lt;pre class=&quot;brush:java&quot;&gt;&lt;br /&gt;  if (id == null) {&lt;br /&gt;   if (other.id != null)&lt;br /&gt;    return false;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The objects were loaded from database so the id element was present. Why the hell it was null? The culprit was Hibernate lazy initialization mechanism again! My collections were lazily initialized and calling bare fields would return null! The solution is to call getters to give the entities a chance to initialize themselves, something like this:&lt;br /&gt;&lt;pre class=&quot;brush:java&quot;&gt;&lt;br /&gt;  if (getId() == null) {&lt;br /&gt;   if (other.getId() != null)&lt;br /&gt;    return false;&lt;br /&gt;   } &lt;br /&gt;    else if (!getId().equals(other.getId()))&lt;br /&gt;            return false;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Now it works like a charm! :) But there are even some problems here. Read on &lt;a href=&quot;http://wickoo.blogspot.com/2010/05/equality-for-entities-in-hibernate_31.html&quot;&gt;the next in part II&lt;/a&gt;.&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wickoo.blogspot.com/feeds/4548106478964874660/comments/default' title='نظرات پیام'/><link rel='replies' type='text/html' href='http://wickoo.blogspot.com/2010/05/equality-for-entities-in-hibernate.html#comment-form' title='0 نظر'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/477328056224159588/posts/default/4548106478964874660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/477328056224159588/posts/default/4548106478964874660'/><link rel='alternate' type='text/html' href='http://wickoo.blogspot.com/2010/05/equality-for-entities-in-hibernate.html' title='Equality for entities in a Hibernate application - part I'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-477328056224159588.post-3643881609497081900</id><published>2010-05-28T20:05:00.001+02:00</published><updated>2010-05-28T20:23:43.082+02:00</updated><title type='text'>Clean code with Uncle Bob</title><content type='html'>&lt;div style=&quot;text-align: left;&quot; dir=&quot;ltr&quot;&gt;For those of you interested in writing good code, I highly recommend this video from QCon 2010: &lt;a href=&quot;http://www.infoq.com/presentations/Robert-C.-Martin-Bad-Code&quot;&gt;Robert C. Martin: Bad code, Craftsmanship, Engineering and Certification&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot; dir=&quot;ltr&quot;&gt;In an extremely funny and witty way, Uncle Bob explains his core philosophy about writing clean code. Also he has a book named &lt;a href=&quot;http://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882&quot;&gt;Clean Code&lt;/a&gt; which is on my reading list for this summer. Hope you find it interesting either.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wickoo.blogspot.com/feeds/3643881609497081900/comments/default' title='نظرات پیام'/><link rel='replies' type='text/html' href='http://wickoo.blogspot.com/2010/05/clean-code-with-uncle-bob.html#comment-form' title='1 نظر'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/477328056224159588/posts/default/3643881609497081900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/477328056224159588/posts/default/3643881609497081900'/><link rel='alternate' type='text/html' href='http://wickoo.blogspot.com/2010/05/clean-code-with-uncle-bob.html' title='Clean code with Uncle Bob'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-477328056224159588.post-2946677720963353081</id><published>2010-04-25T16:53:00.004+02:00</published><updated>2010-04-25T17:03:41.957+02:00</updated><title type='text'>Curb your enthusiasm</title><content type='html'>&lt;div style=&quot;text-align: left;&quot; dir=&quot;ltr&quot;&gt;This is the first time in the last two and half years that I&#39;m not waiting for the next Ubuntu release! I believe the next Ubuntu would be just like the old ones. So this time I will curb my enthusiasm and suppress such geeky and idiotic tendencies to install the newest shit. I&#39;m going to stick to my lovely Windows 7 for a long long time...&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wickoo.blogspot.com/feeds/2946677720963353081/comments/default' title='نظرات پیام'/><link rel='replies' type='text/html' href='http://wickoo.blogspot.com/2010/04/curb-your-enthusiasm.html#comment-form' title='0 نظر'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/477328056224159588/posts/default/2946677720963353081'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/477328056224159588/posts/default/2946677720963353081'/><link rel='alternate' type='text/html' href='http://wickoo.blogspot.com/2010/04/curb-your-enthusiasm.html' title='Curb your enthusiasm'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>