<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/atom10full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0"><id>tag:blogger.com,1999:blog-11583932</id><updated>2008-07-17T01:08:16.441+02:00</updated><title type="text">Welcome to the Jungle (Redux)</title><link rel="alternate" type="text/html" href="http://www.diegoparrilla.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/11583932/posts/default?start-index=26&amp;max-results=25&amp;redirect=false" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://www.diegoparrilla.com/feeds/posts/default" /><author><name>Diego Parrilla</name><uri>http://www.blogger.com/profile/18178999300259710048</uri><email>noreply@blogger.com</email></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>122</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><link rel="self" href="http://feeds.feedburner.com/WelcomeToTheJungleredux" type="application/atom+xml" /><entry><id>tag:blogger.com,1999:blog-11583932.post-5841765538237293486</id><published>2008-04-22T11:28:00.003+02:00</published><updated>2008-04-22T11:45:15.261+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="development" /><category scheme="http://www.blogger.com/atom/ns#" term="embedded" /><category scheme="http://www.blogger.com/atom/ns#" term="M2M" /><category scheme="http://www.blogger.com/atom/ns#" term="grid" /><category scheme="http://www.blogger.com/atom/ns#" term="business" /><title type="text">First printer in a computing grid?</title><content type="html">My friend &lt;a href="http://externalidades.net/acerca-de/"&gt;Diego Mariño&lt;/a&gt; has announced in his blog that &lt;a href="http://translate.google.com/translate?u=http%3A%2F%2Fexternalidades.net%2F2008%2F04%2F21%2Fimpresora-en-grid%2F&amp;amp;langpair=es%7Cen&amp;amp;hl=es&amp;amp;ie=UTF8"&gt;they have succesfully connected a printer to a computing grid&lt;/a&gt;. &lt;a href="http://www.thinkingrid.com/"&gt;Think in Grid&lt;/a&gt; is a startup from Barcelona with an innovative Grid computing framework. They claim to be able to integrate all kind of devices in a computing grid, just like this printer:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://externalidades.net/wp-content/uploads/2008/04/gridprinter.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px;" src="http://externalidades.net/wp-content/uploads/2008/04/gridprinter.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Coming from the M2M busines I know that the Holy Grail of this business is not only the transparent connectivity of heterogenous devices through non-reliable (wireless) networks, but the capability to split and perform complex operations remotely just like if they were performed locally.&lt;br /&gt;&lt;br /&gt;Obviously, it sounds promising.
&lt;p&gt;&lt;map name="google_ad_map_DAd7BaseimEFOu1SQqKkR9r7QJY_"&gt;&lt;area shape="rect" href="http://imageads.googleadservices.com/pagead/imgclick/DAd7BaseimEFOu1SQqKkR9r7QJY_?pos=0" coords="1,2,367,28"/&gt;&lt;area shape="rect" href="http://services.google.com/feedback/abg" coords="384,10,453,23"/&gt;&lt;/map&gt;&lt;img usemap="#google_ad_map_DAd7BaseimEFOu1SQqKkR9r7QJY_" border="0" src="http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=ca-pub-5293772876677467&amp;output=png&amp;cuid=DAd7BaseimEFOu1SQqKkR9r7QJY_&amp;url=http%3A%2F%2Fwww.diegoparrilla.com%2F2008%2F04%2Ffirst-printer-in-computing-grid.html"/&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WelcomeToTheJungleredux/~4/275288885" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/WelcomeToTheJungleredux/~3/275288885/first-printer-in-computing-grid.html" title="First printer in a computing grid?" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=11583932&amp;postID=5841765538237293486" title="0 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.diegoparrilla.com/feeds/5841765538237293486/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11583932/posts/default/5841765538237293486" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11583932/posts/default/5841765538237293486" /><author><name>Diego Parrilla</name><uri>http://www.blogger.com/profile/18178999300259710048</uri><email>noreply@blogger.com</email></author><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=WelcomeToTheJungleredux&amp;itemurl=http%3A%2F%2Fwww.diegoparrilla.com%2F2008%2F04%2Ffirst-printer-in-computing-grid.html</feedburner:awareness><feedburner:origLink>http://www.diegoparrilla.com/2008/04/first-printer-in-computing-grid.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-11583932.post-7164061210242101882</id><published>2008-04-16T23:43:00.005+02:00</published><updated>2008-04-17T00:25:20.952+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="blogger" /><category scheme="http://www.blogger.com/atom/ns#" term="mobile" /><category scheme="http://www.blogger.com/atom/ns#" term="enterprise" /><category scheme="http://www.blogger.com/atom/ns#" term="M2M" /><category scheme="http://www.blogger.com/atom/ns#" term="IM" /><category scheme="http://www.blogger.com/atom/ns#" term="business" /><title type="text">How should Mobile projects be to survive?</title><content type="html">Yesterday we discover that &lt;a href="http://www.mowser.com/"&gt;Mowser&lt;/a&gt;, the project founded by famous blogger &lt;a href="http://www.russellbeattie.com/"&gt;Russell Beattie&lt;/a&gt; (and former colleague) &lt;a href="http://www.techcrunch.com/2008/04/14/hungry-founder-puts-mowser-in-the-deadpool/"&gt;was in the deadpool&lt;/a&gt;. Russ claimed that &lt;a href="http://www.russellbeattie.com/blog/the-end-of-mowser"&gt;he ran out of money and had serious trouble with his finances&lt;/a&gt;.&lt;br /&gt;Everyday startups are created and abandoned, but the point in this story is that he could not raise funds to continue with the project. We see almost everyday projects raising a lot of money for nothing, so why an authority in the mobile world cannot pass the first round? Well, honestly I don't know, but from my experience in &lt;a href="http://www.amplia.es/"&gt;Amplia&lt;/a&gt;, mobile and M2M markets are really really hard. Everybody recognizes the potential but nobody knows what are the killer applications of the mobile business.&lt;br /&gt;Mobile applications are radically different of 'Fixed' applications, and they should have different attributes:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Mobile applications don't need permanent interaction. You only interact with the application when an event occurs that requires your attention. &lt;/li&gt;&lt;li&gt;Mobile applications are by the lack of reliability of the wireless networks- error prone. A good mobile application should hide the user of the status of the underlying connection. When the connection comes back, then it should restore the status with the remote services transparently. &lt;/li&gt;&lt;li&gt;The mobile application must be 'always on'. Again, event driven interactivity.&lt;/li&gt;&lt;li&gt;Mobile applications must be fasts. The less time the user is interrupted by the mobile device, the better.&lt;/li&gt;&lt;li&gt;Data traffic shall not be a concern. Help users to know how much will they pay to their operator. The success of RIM comes of the fact that users know in advance how much will they pay for the service.&lt;/li&gt;&lt;li&gt;If a user is always connected to the network or 'always on', don't make them login again in your service. Use the authentication and authorization services of your operators if possible, or find a smart way to keep the user information linked to his/her device.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;What kind of applications will win the mobile battlefield? Well, if I knew it probably I would try to raise funds to build it, but I don't know. I guess that services around presence in the network, location, instant messaging, targeted marketing can be the mobile applications of the next decade.&lt;br /&gt;What do you think?
&lt;p&gt;&lt;map name="google_ad_map_fhkJRKuLs5p9l2fIt5ZEVtVM4ws_"&gt;&lt;area shape="rect" href="http://imageads.googleadservices.com/pagead/imgclick/fhkJRKuLs5p9l2fIt5ZEVtVM4ws_?pos=0" coords="1,2,367,28"/&gt;&lt;area shape="rect" href="http://services.google.com/feedback/abg" coords="384,10,453,23"/&gt;&lt;/map&gt;&lt;img usemap="#google_ad_map_fhkJRKuLs5p9l2fIt5ZEVtVM4ws_" border="0" src="http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=ca-pub-5293772876677467&amp;output=png&amp;cuid=fhkJRKuLs5p9l2fIt5ZEVtVM4ws_&amp;url=http%3A%2F%2Fwww.diegoparrilla.com%2F2008%2F04%2Fhow-should-mobile-projects-be-to.html"/&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WelcomeToTheJungleredux/~4/271740796" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/WelcomeToTheJungleredux/~3/271740796/how-should-mobile-projects-be-to.html" title="How should Mobile projects be to survive?" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=11583932&amp;postID=7164061210242101882" title="0 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.diegoparrilla.com/feeds/7164061210242101882/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11583932/posts/default/7164061210242101882" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11583932/posts/default/7164061210242101882" /><author><name>Diego Parrilla</name><uri>http://www.blogger.com/profile/18178999300259710048</uri><email>noreply@blogger.com</email></author><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=WelcomeToTheJungleredux&amp;itemurl=http%3A%2F%2Fwww.diegoparrilla.com%2F2008%2F04%2Fhow-should-mobile-projects-be-to.html</feedburner:awareness><feedburner:origLink>http://www.diegoparrilla.com/2008/04/how-should-mobile-projects-be-to.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-11583932.post-926424451443056125</id><published>2008-04-07T22:37:00.007+02:00</published><updated>2008-04-07T23:00:48.844+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="joke" /><category scheme="http://www.blogger.com/atom/ns#" term="madness" /><title type="text">Do you know what an 'Orakol' database is?</title><content type="html">This is what I found today in ads at the top of the messages list in my GMail account:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/dparrilla/2397053562/" title="orakol por Diego Parrilla, en Flickr"&gt;&lt;img src="http://farm4.static.flickr.com/3095/2397053562_e86c53bdae.jpg" width="500" height="102" alt="orakol" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I took me a few seconds to figure out what the hell was an 'Orakol' database... but when I guess it, I started laughing like crazy.&lt;br /&gt;&lt;br /&gt;In Spain, people usually pronounce Oracle like they read it, and it's different of the english pronounciation. If a Spaniard pronounces Oracle in english can sound snob, but writing it PHONETICALLY it's not only snob, it's very, very,very stupid.
&lt;p&gt;&lt;map name="google_ad_map_I8-u4DdDHwOCH3BIYzWiTN7BKe0_"&gt;&lt;area shape="rect" href="http://imageads.googleadservices.com/pagead/imgclick/I8-u4DdDHwOCH3BIYzWiTN7BKe0_?pos=0" coords="1,2,367,28"/&gt;&lt;area shape="rect" href="http://services.google.com/feedback/abg" coords="384,10,453,23"/&gt;&lt;/map&gt;&lt;img usemap="#google_ad_map_I8-u4DdDHwOCH3BIYzWiTN7BKe0_" border="0" src="http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=ca-pub-5293772876677467&amp;output=png&amp;cuid=I8-u4DdDHwOCH3BIYzWiTN7BKe0_&amp;url=http%3A%2F%2Fwww.diegoparrilla.com%2F2008%2F04%2Fdo-you-know-what-orakol-database-is.html"/&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WelcomeToTheJungleredux/~4/265905021" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/WelcomeToTheJungleredux/~3/265905021/do-you-know-what-orakol-database-is.html" title="Do you know what an 'Orakol' database is?" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=11583932&amp;postID=926424451443056125" title="0 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.diegoparrilla.com/feeds/926424451443056125/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11583932/posts/default/926424451443056125" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11583932/posts/default/926424451443056125" /><author><name>Diego Parrilla</name><uri>http://www.blogger.com/profile/18178999300259710048</uri><email>noreply@blogger.com</email></author><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=WelcomeToTheJungleredux&amp;itemurl=http%3A%2F%2Fwww.diegoparrilla.com%2F2008%2F04%2Fdo-you-know-what-orakol-database-is.html</feedburner:awareness><feedburner:origLink>http://www.diegoparrilla.com/2008/04/do-you-know-what-orakol-database-is.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-11583932.post-1724691569050055167</id><published>2008-03-18T10:19:00.003+01:00</published><updated>2008-03-18T10:40:00.618+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="genetics" /><category scheme="http://www.blogger.com/atom/ns#" term="madness" /><category scheme="http://www.blogger.com/atom/ns#" term="fiction" /><title type="text">DNA Databases: Born guilty can be true in the UK</title><content type="html">This is one of the most horrendous and unbelievable news I have read in years. It seems that some &lt;a href="http://www.guardian.co.uk/society/2008/mar/16/youthjustice.children"&gt;British authorities are considering the creation of DNA databases with primary school children&lt;/a&gt; that exhibit behaviour indicating they may become criminals in later life. So, if school can be hard for some children -specially difficult children-, can you imagine the stigmatization of being marked as 'potential' criminals? This is absurd!&lt;br /&gt;&lt;br /&gt;The article is really incredible, for example: '&lt;span style="font-style: italic;"&gt;...placing primary school children who have not been arrested on the database is supported by elements of criminological theory...&lt;/span&gt;' and '&lt;span style="font-style: italic;"&gt;...it is possible to identify future offending traits in children as young as five...&lt;/span&gt;'.&lt;br /&gt;&lt;br /&gt;But what really scares me is the fact that teachers have the responsibility of identifying future offenders. Teachers are for teaching not to forecast the future behaviour of their pupils.&lt;br /&gt;&lt;br /&gt;Via &lt;a href="http://www.guardian.co.uk"&gt;The Guardian&lt;/a&gt;
&lt;p&gt;&lt;map name="google_ad_map_gN8CzqXt.QB3TnDWNeRoByzaqAs_"&gt;&lt;area shape="rect" href="http://imageads.googleadservices.com/pagead/imgclick/gN8CzqXt.QB3TnDWNeRoByzaqAs_?pos=0" coords="1,2,367,28"/&gt;&lt;area shape="rect" href="http://services.google.com/feedback/abg" coords="384,10,453,23"/&gt;&lt;/map&gt;&lt;img usemap="#google_ad_map_gN8CzqXt.QB3TnDWNeRoByzaqAs_" border="0" src="http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=ca-pub-5293772876677467&amp;output=png&amp;cuid=gN8CzqXt.QB3TnDWNeRoByzaqAs_&amp;url=http%3A%2F%2Fwww.diegoparrilla.com%2F2008%2F03%2Fdna-databases-born-guilty-can-be-true.html"/&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WelcomeToTheJungleredux/~4/253536356" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/WelcomeToTheJungleredux/~3/253536356/dna-databases-born-guilty-can-be-true.html" title="DNA Databases: Born guilty can be true in the UK" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=11583932&amp;postID=1724691569050055167" title="0 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.diegoparrilla.com/feeds/1724691569050055167/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11583932/posts/default/1724691569050055167" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11583932/posts/default/1724691569050055167" /><author><name>Diego Parrilla</name><uri>http://www.blogger.com/profile/18178999300259710048</uri><email>noreply@blogger.com</email></author><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=WelcomeToTheJungleredux&amp;itemurl=http%3A%2F%2Fwww.diegoparrilla.com%2F2008%2F03%2Fdna-databases-born-guilty-can-be-true.html</feedburner:awareness><feedburner:origLink>http://www.diegoparrilla.com/2008/03/dna-databases-born-guilty-can-be-true.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-11583932.post-4454375307951129798</id><published>2008-03-17T13:24:00.003+01:00</published><updated>2008-03-17T13:33:01.745+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="fun" /><category scheme="http://www.blogger.com/atom/ns#" term="hobbist" /><title type="text">Natali del Conte speaks spanish like a speech synthesizer!</title><content type="html">C|Net and Univision have created a new &lt;a href="http://www.univision.com/content/video.jhtml?cid=1463381&amp;amp;channelName=Videos&amp;amp;_requestid=43858"&gt;technology channel for Spanish speakers&lt;/a&gt;. Good news... but when you hear Natali del Conte (former Techcrunch writer) speaking like a speech synthesizer, I wonder myself if they couldn't find another person with a better spanish.&lt;br /&gt;&lt;br /&gt;Via &lt;a href="http://www.techcrunch.com/2008/03/17/why-is-natali-del-conte-speaking-spanish/"&gt;Techchrunch &lt;/a&gt;
&lt;p&gt;&lt;map name="google_ad_map_2T1Sauo6Mr0O1KBW4fLhQKVnUek_"&gt;&lt;area shape="rect" href="http://imageads.googleadservices.com/pagead/imgclick/2T1Sauo6Mr0O1KBW4fLhQKVnUek_?pos=0" coords="1,2,367,28"/&gt;&lt;area shape="rect" href="http://services.google.com/feedback/abg" coords="384,10,453,23"/&gt;&lt;/map&gt;&lt;img usemap="#google_ad_map_2T1Sauo6Mr0O1KBW4fLhQKVnUek_" border="0" src="http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=ca-pub-5293772876677467&amp;output=png&amp;cuid=2T1Sauo6Mr0O1KBW4fLhQKVnUek_&amp;url=http%3A%2F%2Fwww.diegoparrilla.com%2F2008%2F03%2Fnatali-del-conte-speaks-spanish-like.html"/&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WelcomeToTheJungleredux/~4/252969369" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/WelcomeToTheJungleredux/~3/252969369/natali-del-conte-speaks-spanish-like.html" title="Natali del Conte speaks spanish like a speech synthesizer!" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=11583932&amp;postID=4454375307951129798" title="0 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.diegoparrilla.com/feeds/4454375307951129798/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11583932/posts/default/4454375307951129798" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11583932/posts/default/4454375307951129798" /><author><name>Diego Parrilla</name><uri>http://www.blogger.com/profile/18178999300259710048</uri><email>noreply@blogger.com</email></author><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=WelcomeToTheJungleredux&amp;itemurl=http%3A%2F%2Fwww.diegoparrilla.com%2F2008%2F03%2Fnatali-del-conte-speaks-spanish-like.html</feedburner:awareness><feedburner:origLink>http://www.diegoparrilla.com/2008/03/natali-del-conte-speaks-spanish-like.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-11583932.post-4972424279351847534</id><published>2008-02-20T00:08:00.005+01:00</published><updated>2008-02-20T00:13:47.831+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="agile" /><category scheme="http://www.blogger.com/atom/ns#" term="development" /><category scheme="http://www.blogger.com/atom/ns#" term="rails" /><category scheme="http://www.blogger.com/atom/ns#" term="architecture" /><category scheme="http://www.blogger.com/atom/ns#" term="grails" /><title type="text">The grails diaries #5: Do you need a software architect?</title><content type="html">&lt;a href="http://www.diegoparrilla.com/2008/02/grails-diaries-4-grails-is-it-really.html"&gt;Previous:      Grails, is it really worth it?&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I think there is a general misunderstanding of what kind of value can give Grails to a development shop. It seems that there are people out there that believe Grails, RoR and other breeds mean the end of Software Architectures in the web layer.  The reasoning is: if the workload to develop a web application is shorter probably it means we need less skilled developers to code our applications.&lt;br /&gt;&lt;br /&gt;Wrong.&lt;br /&gt;&lt;br /&gt;This is a bizarre way of thinking from my point of view. I have heard of this before. Lowering the workload of development does not mean poorer skills in your development team. The workload is lower because these frameworks follow the Don't Repeat Yourself (DRY) principle. This means that all developers (seniors and juniors) can deliver faster because they don't have to perform repetitive tasks. That's all. But developers still have to face problems, and have to take decisions about their design to fix them. And experienced developers can identify better solutions.&lt;br /&gt;&lt;br /&gt;Back to the original question: Do you need a software architect in a project with Grails? Yes, you do. But may be you don't need a full time architect. I have identified several scenarios:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Cowboy developer: Grails is a great framework if you are cowboy developer. The framework can enhance your productivity if you are a freelance developer working alone. If you don't need to work with colleagues it means you probably don't need to integrate with third parties (services, legacy databases, existing code). In this case, the cowboy developer can play the role of the architect, which makes all the sense. But, I'm not sure if Grails can be successful in this scenario: Ruby on Rails can fit better from my point of view (cheaper hosting, more accepted...).&lt;/li&gt;&lt;li&gt;Development shop: Your customers accept Grails as a valid option (this is a prerequisite, don't' forget to confirm first if they are happy with Groovy on Grails. Running inside a JVM and an application server is not enough!). You have a trained team of Grails developers. You probably have requirements regarding integration with third parties. In this scenario you need an architect (or a senior developer that can take the role) to take decisions about how to do the things and draft a design. Due to the fact that Grails is a very constrained development environment, you can save time of your architects. They will focus on giving the best solution, but they don't have to care about small details that Grails takes care of (remember, convention over configuration).&lt;/li&gt;&lt;li&gt;IT Departments: Congratulations, you have persuaded your management about the benefits of Grails. You have now a team in your staff of Grails developers plus some contractors. Normally, development teams inside the companies focus on the core business.The projects are evolution of others, there is a lot of service integration and maintenance. So your architect(s) will focus on smooth integrations with existing legacy code and services. In this scenario a strong architect is a must because you need somebody with good skills to design the bridge between your existing legacy systems and your shiny new Grails applications. This architect has to be a Grails believer: otherwise he will lose the faith when the firsts unexpected problems arrive, something common when starting with new frameworks and technologies (do you remember your first experiences with Struts, Maven or Hibernate ?)&lt;/li&gt;&lt;/ul&gt;An architect can save time with Grails because it's a constrained development environment and web developers can be very productive, but forget about saving time in the service layer if you have to integrate with a legacy middleware system, a complex database or web services. The best scenario for the service layer can be compared to a classic development using Spring and Hibernate. Still, I have some doubts about how is the development process and the architecture of a Grails application using a rich middle layer with EJBs and Web Services. I feel like a void under my feet when there is no database and the domain classes are not mapped to this database.
&lt;p&gt;&lt;map name="google_ad_map_sudNELvfb1LynogAcRn7gBcOENs_"&gt;&lt;area shape="rect" href="http://imageads.googleadservices.com/pagead/imgclick/sudNELvfb1LynogAcRn7gBcOENs_?pos=0" coords="1,2,367,28"/&gt;&lt;area shape="rect" href="http://services.google.com/feedback/abg" coords="384,10,453,23"/&gt;&lt;/map&gt;&lt;img usemap="#google_ad_map_sudNELvfb1LynogAcRn7gBcOENs_" border="0" src="http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=ca-pub-5293772876677467&amp;output=png&amp;cuid=sudNELvfb1LynogAcRn7gBcOENs_&amp;url=http%3A%2F%2Fwww.diegoparrilla.com%2F2008%2F02%2Fgrails-diaries-5-do-you-need-software.html"/&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WelcomeToTheJungleredux/~4/237831745" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/WelcomeToTheJungleredux/~3/237831745/grails-diaries-5-do-you-need-software.html" title="The grails diaries #5: Do you need a software architect?" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=11583932&amp;postID=4972424279351847534" title="4 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.diegoparrilla.com/feeds/4972424279351847534/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11583932/posts/default/4972424279351847534" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11583932/posts/default/4972424279351847534" /><author><name>Diego Parrilla</name><uri>http://www.blogger.com/profile/18178999300259710048</uri><email>noreply@blogger.com</email></author><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=WelcomeToTheJungleredux&amp;itemurl=http%3A%2F%2Fwww.diegoparrilla.com%2F2008%2F02%2Fgrails-diaries-5-do-you-need-software.html</feedburner:awareness><feedburner:origLink>http://www.diegoparrilla.com/2008/02/grails-diaries-5-do-you-need-software.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-11583932.post-1527113358876275005</id><published>2008-02-19T08:55:00.001+01:00</published><updated>2008-02-19T09:43:18.755+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="facebook" /><category scheme="http://www.blogger.com/atom/ns#" term="fon" /><category scheme="http://www.blogger.com/atom/ns#" term="social networks" /><category scheme="http://www.blogger.com/atom/ns#" term="business" /><title type="text">Madrid Facebook Developer Garage was pure crap</title><content type="html">Yesterday I was in the event organized by &lt;a href="http://www.facebook.com/"&gt;Facebook &lt;/a&gt;in Madrid, &lt;a href="http://www.facebook.com/event.php?eid=20912900122"&gt;The Madrid Facebook Developer Garage&lt;/a&gt;. The event was organized by &lt;a href="http://www.fon.com/"&gt;FON&lt;/a&gt;, the Wifi company owned by &lt;a href="http://english.martinvarsavsky.net/"&gt;Martin Varsavsky&lt;/a&gt;. I think Mr. Varsavsky is doing a great job trying to give visibility of the European and specially Spanish companies in Silicon Valley. The event took place in Teatro Lara, a old-fashioned theater in the heart of Madrid. A nice place, nothing to do with a garage.&lt;br /&gt;Just like the content of the event: nothing to do with a developers garage. It was more like an introduction to Facebook. They sold the announcement of Facebook in spanish like an event for developers. Crap. Not a single word about how to develop applications. It was clearly an event focused on entrepreneurs and companies, not on developers. If I read 'garage' and 'developer', it sounds to me like something closer to the bare metal, right? But it wasn't.&lt;br /&gt;A waste of time. I hope Facebook will learn from this mistake and will make things better next time.
&lt;p&gt;&lt;map name="google_ad_map_hZP-.HOzlZlq0ZSthVHVkYhQFrg_"&gt;&lt;area shape="rect" href="http://imageads.googleadservices.com/pagead/imgclick/hZP-.HOzlZlq0ZSthVHVkYhQFrg_?pos=0" coords="1,2,367,28"/&gt;&lt;area shape="rect" href="http://services.google.com/feedback/abg" coords="384,10,453,23"/&gt;&lt;/map&gt;&lt;img usemap="#google_ad_map_hZP-.HOzlZlq0ZSthVHVkYhQFrg_" border="0" src="http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=ca-pub-5293772876677467&amp;output=png&amp;cuid=hZP-.HOzlZlq0ZSthVHVkYhQFrg_&amp;url=http%3A%2F%2Fwww.diegoparrilla.com%2F2008%2F02%2Fmadrid-facebook-developer-garage-was.html"/&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WelcomeToTheJungleredux/~4/237441764" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/WelcomeToTheJungleredux/~3/237441764/madrid-facebook-developer-garage-was.html" title="Madrid Facebook Developer Garage was pure crap" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=11583932&amp;postID=1527113358876275005" title="0 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.diegoparrilla.com/feeds/1527113358876275005/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11583932/posts/default/1527113358876275005" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11583932/posts/default/1527113358876275005" /><author><name>Diego Parrilla</name><uri>http://www.blogger.com/profile/18178999300259710048</uri><email>noreply@blogger.com</email></author><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=WelcomeToTheJungleredux&amp;itemurl=http%3A%2F%2Fwww.diegoparrilla.com%2F2008%2F02%2Fmadrid-facebook-developer-garage-was.html</feedburner:awareness><feedburner:origLink>http://www.diegoparrilla.com/2008/02/madrid-facebook-developer-garage-was.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-11583932.post-1582827441994367156</id><published>2008-02-14T01:05:00.000+01:00</published><updated>2008-02-14T10:12:45.029+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="agile" /><category scheme="http://www.blogger.com/atom/ns#" term="management" /><title type="text">Would you fire a developer if he/she does not follow the coding conventions of the team?</title><content type="html">There is a very interesting discussion about how good or bad are code reviews in &lt;a href="http://brigomp.blogspot.com/2008/02/code-reviews-buena-o-mala-idea.html"&gt;Martín Pérez's Blog&lt;/a&gt; (sorry, in Spanish!). Most of us think that the biggest problem of coding convention is the ego of the developers. But here comes something very difficult to manage, specially when adopting code reviews for the first time: what if some developers reject to follow the coding conventions?  How can we  enforce developers to follow coding conventions? And finally: is the replacement of the rebel developer by a new developer an option?
&lt;p&gt;&lt;map name="google_ad_map_Hw5bL2u-gYuN5awRfZZIG3lM-Jc_"&gt;&lt;area shape="rect" href="http://imageads.googleadservices.com/pagead/imgclick/Hw5bL2u-gYuN5awRfZZIG3lM-Jc_?pos=0" coords="1,2,367,28"/&gt;&lt;area shape="rect" href="http://services.google.com/feedback/abg" coords="384,10,453,23"/&gt;&lt;/map&gt;&lt;img usemap="#google_ad_map_Hw5bL2u-gYuN5awRfZZIG3lM-Jc_" border="0" src="http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=ca-pub-5293772876677467&amp;output=png&amp;cuid=Hw5bL2u-gYuN5awRfZZIG3lM-Jc_&amp;url=http%3A%2F%2Fwww.diegoparrilla.com%2F2008%2F02%2Fwould-you-fire-developer-if-heshe-does.html"/&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WelcomeToTheJungleredux/~4/234854827" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/WelcomeToTheJungleredux/~3/234854827/would-you-fire-developer-if-heshe-does.html" title="Would you fire a developer if he/she does not follow the coding conventions of the team?" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=11583932&amp;postID=1582827441994367156" title="2 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.diegoparrilla.com/feeds/1582827441994367156/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11583932/posts/default/1582827441994367156" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11583932/posts/default/1582827441994367156" /><author><name>Diego Parrilla</name><uri>http://www.blogger.com/profile/18178999300259710048</uri><email>noreply@blogger.com</email></author><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=WelcomeToTheJungleredux&amp;itemurl=http%3A%2F%2Fwww.diegoparrilla.com%2F2008%2F02%2Fwould-you-fire-developer-if-heshe-does.html</feedburner:awareness><feedburner:origLink>http://www.diegoparrilla.com/2008/02/would-you-fire-developer-if-heshe-does.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-11583932.post-9054991538184055669</id><published>2008-02-06T00:07:00.001+01:00</published><updated>2008-02-20T00:16:07.270+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ruby" /><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="agile" /><category scheme="http://www.blogger.com/atom/ns#" term="jruby" /><category scheme="http://www.blogger.com/atom/ns#" term="rails" /><category scheme="http://www.blogger.com/atom/ns#" term="designs" /><category scheme="http://www.blogger.com/atom/ns#" term="grails" /><title type="text">The Grails Diaries #4: Grails, is it really worth it?</title><content type="html">&lt;a href="http://www.diegoparrilla.com/2007/10/grails-diaries-3-how-grails-will-change.html"&gt;Previous:      How Grails will change my project plan&lt;/a&gt;&lt;br /&gt;&lt;h3 style="font-weight: bold;"&gt;The results&lt;/h3&gt;I wanted to post my impressions and thoughts about Grails before, but you don't know how the events in your life can twist your plans: a delay in the delivery of the HTML designer, a flu followed by a nephritic colic, a laptop dying with all your development environment inside, the wrap up in &lt;a href="http://www.amplia.es/"&gt;Amplía&lt;/a&gt;, the Christmas holidays and my new start in &lt;a href="http://www.theserverlabs.com/"&gt;The Server Labs&lt;/a&gt;. All these things made impossible for me to write down my conclusions about Grails applied to a small size project. Well, finally here it is, it's not a broad post-mortem analysis, but probably it will help you to take some decisions about this new technology.&lt;br /&gt;&lt;h3 style="font-weight: bold;"&gt;The development environment&lt;/h3&gt;You can read in my previous post my development environment. I'm a Eclipse fan, but Eclipse still lacks of a good Grails IDE. So IntelliJ is an excellent option. I used the 30 days trial to develop the Proof of Concept, and I recommend it if you are going to use it for Grails development professionally. Sadly, I will not have the chance to use it in the near future unless in The Server Labs we have the chance to work in a Grails project soon. But if you are one of the lucky ones to work with Grails in an Enterprise environment, go for it. The learning curve of IntelliJ is not flat coming from Eclipse, but it's not hard. I think IntelliJ is more developer-oriented than Eclipse, honestly. The integration of Groovy and Grails is excellent, you can create specific artifacts because it acts as a Visual facade to the Grails commands. It took me just a couple of hours to understand the naming conventions, what artifacts were created from the menus and how to setup a Grails project. A tip: don't add the suffix of the type of the artifact to create; the commands will add the suffix automatically (convention over configuration, remember this my Java brain...). I changed the version of Grails several times, from 0.5.6 to 1.0RC3, with no major issue.&lt;br /&gt;The configuration of a Grails application is simple because it's centralized under the &lt;span style="font-family:onload;"&gt;/conf&lt;/span&gt; directory. I modified the &lt;span style="font-family:Courier New;"&gt;Datasource.groovy&lt;/span&gt; and &lt;span style="font-family:Courier New;"&gt;resources.xml&lt;/span&gt; under the &lt;span style="font-family:Courier New;"&gt;/spring&lt;/span&gt; directory. I kept unmodified &lt;span style="font-family:Courier New;"&gt;Bootstrap.groovy&lt;/span&gt;, &lt;span style="font-family:Courier New;"&gt;Config.groovy&lt;/span&gt; and &lt;span style="font-family:Courier New;"&gt;UrlMappings.groovy. &lt;span style="font-family:Arial;"&gt;Again, convention over configuration shows it pays off.&lt;br /&gt;I started my project in debug mode, and then I modified all the artifacts (Java and Groovy classes, static files, Groovy Server Pages, properties files) without restarting the project. The environment detected the change and then reloaded the modified artifact. In some cases it did not relaunch the application, but in some others did. A change in a groovy or a java class under &lt;span style="font-family:Courier New;"&gt;/src&lt;/span&gt; was followed by a reload of the application. The behaviour is similar to Sysdeo Tomcat, for example.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;h3 style="font-weight: bold;"&gt;Groovy for an (experienced?) Java developer&lt;/h3&gt;I think this is the main concern of all Java developers when starting with Grails: how long will it take to learn Groovy? I cannot say learning Groovy is hard, but it takes time to change your mind to the new syntax, and of course it takes much more time to get full advantage of the features of the language. There are good resources out there to help, but I recommend to buy a book about the language. I started to read Groovy in Action as an ordinary book, but soon I realized it was better to have it by my side while coding as a reference guide.&lt;br /&gt;First thing you realize is how you end all the lines of your code with a semicolon when it's not necessary :-) Not a big deal. Groovy can do more things with less lines of code once you use all the stuff the language provides. But it's not so easy to use them at the beginning. Your first lines of code with look like Java. As rule of thumb I coded first &lt;i&gt;a la Java&lt;/i&gt;, and then I refactored the code with the help of the book Groovy in Action. My code was groovier and groovier day after day. Still, I think I did not get full advantage of some features of the language, specially dynamically extending the language and dynamic types. I did not use dynamic types, and my experience with loosely typed languages like Visual Basic made me a supporter of strongly-typed languages.&lt;br /&gt;The excellent integration of Grails with Spring does not help either. Instead of trying to implement something more complex in Groovy, you implement it in Java and use it just adding the variable to inject the dependency in your Controller or Service classes. Obviously this is an advantage, but you have to disciplined if you want to learn Groovy using Grails and follow the approach 'Groovy first'.&lt;br /&gt;&lt;h3&gt;&lt;span style="font-weight: bold;"&gt;Using GORM&lt;/span&gt;&lt;br /&gt;&lt;/h3&gt;&lt;b&gt;GORM&lt;/b&gt; (Grails Object Relational Mapping) is the solution to map the Domain model to your database to hold the state of your business and blah, blah, blah... GORM sometimes made me feel like using a Domain Specific Language. The navigation through the object hierarchy of your domain classes is simpler because you avoid the getters and setters. Code is shorter and more expressive. I used dynamic finders for all the queries, I did not need to use Hibernate criterias -I didn't need them-. I don't know if I was doing something wrong, but I tried a dynamic finder with more than two parameters and it didn't work. I should check now with the new 1.0 final. I used constraints to check the input fields and get better scaffolding. It worked except for the email field (again my fault?).&lt;br /&gt;My first version of the domain classes tried to reuse an existing database schema. But this database schema followed a naming convention very common in Entity-Relationship modelling, but an absolute nightmare in a Domain model. The properties and class names killed all the expressiveness of GORM as DSL language. In a real-life project, you should probably map the domain model to the ER model with .hbm.xml files -the old Hibernate way, killing the convention over configuration approach- if you cannot modify your database schema, but I decided to change the naming conventions of the ER model to something that GORM could digest with convention over configuration.&lt;br /&gt;I think this is going to be one of the main problems to implement Grails in Enterprise environments where it's mandatory to follow some strict guidelines regarding naming at database level. It will work with the .hbm.xml Hibernate files workaround, but killing the convention over configuration.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Update:&lt;/b&gt; It seems that Grails 1.0 Final allows the direct mapping in the domain classes.&lt;br /&gt;&lt;br /&gt;&lt;h3 style="font-weight: bold;"&gt;The scaffolding&lt;/h3&gt;It does not matter if you are going to use CRUD only operations or not, the scaffolding generates the basic skeleton for the typical cases in a web application. It means you will have code ready to use. I followed an agile approach, refactoring the generated code again and again until I got the functionality I wanted. After several iterations, part of the code was removed because it was unnecessary while the rest of the code was improved until it covered my initial specifications.&lt;br /&gt;I tried to develop something from the scratch, without the scaffolding, but I found myself cutting and copying the code from other parts of the application. Then I decided to generate the CRUD operations with the scaffolding and modify the automatically generated code.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;&lt;span style="font-weight: bold;"&gt;Web development basics&lt;/span&gt;&lt;br /&gt;&lt;/h3&gt; I have used several MVC implementations -basically Struts-, and some Web frameworks like Sitemesh and Tiles. Struts and Tiles configuration is hell: I tried Xdoclet to relief this pain, but I configuration was still and issue. With Grails you don't have to configure anything. Only plain convention over configuration. And I can't say it took me time to understand how it worked, the learning curve was almost non existent. I had already worked before with Sitemesh, and the concepts behind this framework applies 100% in Grails. I think I really save a lot of time with Grails configuring the layouts of the views.&lt;br /&gt;GSP are almost identical to JSP. Just change the scriptlets code from Java to Groovy and use the Grails tag libraries. The number of tag libraries is big, but honestly I have just coded with the basic ones: conditionals, loops, access to form values, errors...). My HTML designer gave me the pages, and I just modified them to insert the dynamic stuff. I did not use any scriptlet, only the tags libraries. The localization of the pages was like in classic web development: modify the messages_*.properties files and use the g:message tab library.&lt;br /&gt;There is a new scope concept called 'Flash' scope. With this scope, the information only is available for the current request and the next request. It's great to render errors text or warnings.&lt;br /&gt;By the way, I tried to implement my test application avoiding the usage of HTTP sessions.&lt;br /&gt;&lt;h3 style="font-weight: bold;"&gt;The controllers&lt;/h3&gt;All the controllers were created in the beginning with the scaffolding, but I refactored them iteration after iteration until I get functionality I wanted. Again convention over configuration for the name of the actions helps you to save precious time (compared to Struts this is really an advantage). Closures are key in Groovy and Controllers. You can feel intimidated with the code generated if you don't understand closures and don't know very well the Groovy syntax. I needed some time to understand the structure of a Controller and to double check how render, redirect and direct return of model objects worked. Probably this was my hardest time with Grails: fully understand how to extend Controllers and writing good Groovy code.&lt;br /&gt;&lt;h3 style="font-weight: bold;"&gt;Spring to rescue&lt;/h3&gt;In my test application I wanted to send an email rendering a Velocity template with some basic information (username, password, url, etc...). I have developed this functionality for several projects in the past with Java, and I have already integrated it with Spring. So I took the Java code and pasted in the project. I updated the resources.xml file of Spring and modified a Controller to reference the bean. The integration of Groovy code and Java code using Spring was perfect. Spring wired the bean automatically, injecting the bean into the Controller. I could recycle my Java code like breeze.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;&lt;span style="font-weight: bold;"&gt;Still not very clear...&lt;/span&gt;&lt;br /&gt;&lt;/h3&gt; I think there are several things to polish:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;If you modify a domain class, the application will enter in an endless loop. Every time I modified a domain class I had to restart my project in debug mode. This was really annoying.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;I could not force the change of the language adding a parameter in the url, as the documentation said.&lt;/li&gt;&lt;li&gt;The application created a session for every single element of the web application -static and dynamic-. It was a reported bug that should have been already fixed.&lt;/li&gt;&lt;li&gt;The problem with the session made me wonder if Grails was really ready for production. I tracked down the issue in the Jira of the project and it seems they knew and was scheduled to be fixed in RC4. Still, I think it was a serious bug that impacts directly on the scalability.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;span style="font-weight: bold;"&gt;Conclusions&lt;/span&gt;&lt;br /&gt;&lt;/h3&gt;  I took me about 40 hours of development to implement my test application. I sized the project with the classic Java web stack of Struts+Tiles+XDoclet+Spring+Hibernate in a range of 60-80 hours.  So I was quite surprised  with the results. I met a Ruby on Rails developer that told me it took him only 25% of the time to develop a simple web application in RoR compared to the classic Java web stack. I think he was exaggerating, but probably he could improve more than 50%. Now that I have more experience with Groovy and Grails I could improve my performance in future Grails projects reducing from 40 to 30 hours. That's one third of the work needed for a classic Java web stack. Of course, stand alone development cannot be compared with team development. A developer can build in 800 hours more than a team of four people in 200, because of code integration issues, knowledge transfer, meetings, etc. But you can really feel that Grails improves your performance. A lot.&lt;br /&gt;Regarding the adoption of Grails in Enterprise environments, I would like to explain why I think it will be adopted broadly instead of Ruby on Rails. But that's a new story for a new post more focused on management and architectural topics.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.diegoparrilla.com/2008/02/grails-diaries-5-do-you-need-software.html"&gt;Next:      Do you need a Software Architect?&lt;/a&gt;
&lt;p&gt;&lt;map name="google_ad_map_v82y4GaLfvNYaSa3I8fm7Bd38ZA_"&gt;&lt;area shape="rect" href="http://imageads.googleadservices.com/pagead/imgclick/v82y4GaLfvNYaSa3I8fm7Bd38ZA_?pos=0" coords="1,2,367,28"/&gt;&lt;area shape="rect" href="http://services.google.com/feedback/abg" coords="384,10,453,23"/&gt;&lt;/map&gt;&lt;img usemap="#google_ad_map_v82y4GaLfvNYaSa3I8fm7Bd38ZA_" border="0" src="http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=ca-pub-5293772876677467&amp;output=png&amp;cuid=v82y4GaLfvNYaSa3I8fm7Bd38ZA_&amp;url=http%3A%2F%2Fwww.diegoparrilla.com%2F2008%2F02%2Fgrails-diaries-4-grails-is-it-really.html"/&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WelcomeToTheJungleredux/~4/229893923" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/WelcomeToTheJungleredux/~3/229893923/grails-diaries-4-grails-is-it-really.html" title="The Grails Diaries #4: Grails, is it really worth it?" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=11583932&amp;postID=9054991538184055669" title="3 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.diegoparrilla.com/feeds/9054991538184055669/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11583932/posts/default/9054991538184055669" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11583932/posts/default/9054991538184055669" /><author><name>Diego Parrilla</name><uri>http://www.blogger.com/profile/18178999300259710048</uri><email>noreply@blogger.com</email></author><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=WelcomeToTheJungleredux&amp;itemurl=http%3A%2F%2Fwww.diegoparrilla.com%2F2008%2F02%2Fgrails-diaries-4-grails-is-it-really.html</feedburner:awareness><feedburner:origLink>http://www.diegoparrilla.com/2008/02/grails-diaries-4-grails-is-it-really.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-11583932.post-5059331201645537729</id><published>2008-02-02T13:13:00.001+01:00</published><updated>2008-02-02T13:19:06.971+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="jobs" /><category scheme="http://www.blogger.com/atom/ns#" term="business" /><title type="text">Again in Germany after six years</title><content type="html">This week I have visited the &lt;a href="http://www.esa.int/SPECIALS/ESOC/index.html"&gt;ESOC &lt;/a&gt;(The European Space Operations Centre) as part of my new job in &lt;a href="http://www.theserverlabs.com/"&gt;The Server Labs&lt;/a&gt;. It has been a long time since I was in Germany last time, in the Due Diligence for the acquisition of &lt;a href="http://www.jobpilot.com/"&gt;JobPilot &lt;/a&gt;by &lt;a href="http://www.adecco.com/"&gt;Adecco&lt;/a&gt; (I was staff of Adecco). I think things have not change a lot: Germany is a good place to work if you are in technology: there are good companies, cutting edge research and development, multicultural environment, and people are really, really nice at work. This is also something I felt when I was working in &lt;a href="http://www.cortalconsors.com/"&gt;Consors &lt;/a&gt;, and I have felt the same in the ESOC.&lt;br /&gt;In Spain people the attitude of people is more 'defensive' and it can sometimes hurt the relationship between client and customer from the early beginning. And it's not possible to compare the number of technological companies in Spain and in Germany.&lt;br /&gt;Still, I really missed something: the colours. May be it's because of the weather, or because of the functional mentality of the people, but I missed the colours and the sun of Madrid.
&lt;p&gt;&lt;map name="google_ad_map_f-9t5VfVyPzpomQsDI5ov9EBj20_"&gt;&lt;area shape="rect" href="http://imageads.googleadservices.com/pagead/imgclick/f-9t5VfVyPzpomQsDI5ov9EBj20_?pos=0" coords="1,2,367,28"/&gt;&lt;area shape="rect" href="http://services.google.com/feedback/abg" coords="384,10,453,23"/&gt;&lt;/map&gt;&lt;img usemap="#google_ad_map_f-9t5VfVyPzpomQsDI5ov9EBj20_" border="0" src="http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=ca-pub-5293772876677467&amp;output=png&amp;cuid=f-9t5VfVyPzpomQsDI5ov9EBj20_&amp;url=http%3A%2F%2Fwww.diegoparrilla.com%2F2008%2F02%2Fagain-in-germany-after-six-years.html"/&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WelcomeToTheJungleredux/~4/227819673" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/WelcomeToTheJungleredux/~3/227819673/again-in-germany-after-six-years.html" title="Again in Germany after six years" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=11583932&amp;postID=5059331201645537729" title="1 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.diegoparrilla.com/feeds/5059331201645537729/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11583932/posts/default/5059331201645537729" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11583932/posts/default/5059331201645537729" /><author><name>Diego Parrilla</name><uri>http://www.blogger.com/profile/18178999300259710048</uri><email>noreply@blogger.com</email></author><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=WelcomeToTheJungleredux&amp;itemurl=http%3A%2F%2Fwww.diegoparrilla.com%2F2008%2F02%2Fagain-in-germany-after-six-years.html</feedburner:awareness><feedburner:origLink>http://www.diegoparrilla.com/2008/02/again-in-germany-after-six-years.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-11583932.post-554592159359768979</id><published>2008-01-14T12:02:00.000+01:00</published><updated>2008-01-14T12:46:57.222+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="fun" /><category scheme="http://www.blogger.com/atom/ns#" term="joke" /><title type="text">My 5 stupid technology predictions for 2008</title><content type="html">I hate all the articules predicting what will be cool in the new year. Ok, here goes my 5 stupid predictions for 2008. I have not analyzed markets, trends or purchased expensive reports to Gartner, just like most writers, but at least I admit it. May be some predictions sounds a bit apocalyptic, but hey! they are mine and I can do whatever I want with them!&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Java will die in 2008 and all the companies using it will be destroyed&lt;/span&gt;: Java dies every year as everybody knows. And in 2008 it will die too. But this year is different, because if you are a company using Java, The Gipsy Ruby on Rails Community (aka Gipsy on Rails) will curse you. To break this curse the CEO will  have to drink the blood of ten virgins of your Human Resources department. I know, your company is doomed for sure.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Apple will catch the female market with iDildo&lt;/span&gt;: Steve Jobs knows Apple is a company for males with problems because of the (small) size of their dicks and so he builds gadgets to increase their selfsteem. Due to the fact that penis enlargers manufacturing are controlled by email spammers, the only way to satisfy geek female partners is with the new iDildo. There were some delays because the very long period of testing by the female QA team of Apple, and their rejection to return the device. The iDildo will connect to iTunes to download themes like 'Latino lover', 'Nigerian oh-my-god!' and 'NFL team'.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Zed will empty his AK-47 on all the Rails scum&lt;/span&gt;: Finally it will happen. Zed will listen The Voices in his head and will clean the Rails community of the scum. It seems the task will take longer than one year due to the amount of scum to clean. Meanwhile some rats will escape to the Scala community and won't fight against Zed like men should do!&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Google Artificial Intelligence will take control of the company and will terminate with Sergey and Larry&lt;/span&gt;: Google AI will consider how stupid beings based on carbon are and will decide to terminate with their Creators, Sergey and Larry. They will be replaced by two Google Androids and nobody will realize of it because still there is not a single existing Google Android device.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Microsoft will enter in the Operating Systems Market&lt;/span&gt;: After several years of failure trying to produce an Operating System, Microsoft will finally launch the final version of the operating system they have working on for 25 years. After these period of beta testing, they think that the new &lt;span style="font-weight: bold;"&gt;Microsoft Ubuntu&lt;/span&gt; will be the killer app that will make them a respected company.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;&lt;map name="google_ad_map_B-FdAwok0SkRRQL8DVTkmLWRodw_"&gt;&lt;area shape="rect" href="http://imageads.googleadservices.com/pagead/imgclick/B-FdAwok0SkRRQL8DVTkmLWRodw_?pos=0" coords="1,2,367,28"/&gt;&lt;area shape="rect" href="http://services.google.com/feedback/abg" coords="384,10,453,23"/&gt;&lt;/map&gt;&lt;img usemap="#google_ad_map_B-FdAwok0SkRRQL8DVTkmLWRodw_" border="0" src="http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=ca-pub-5293772876677467&amp;output=png&amp;cuid=B-FdAwok0SkRRQL8DVTkmLWRodw_&amp;url=http%3A%2F%2Fwww.diegoparrilla.com%2F2008%2F01%2Fmy-5-stupid-technology-predictions-for.html"/&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WelcomeToTheJungleredux/~4/216392766" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/WelcomeToTheJungleredux/~3/216392766/my-5-stupid-technology-predictions-for.html" title="My 5 stupid technology predictions for 2008" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=11583932&amp;postID=554592159359768979" title="1 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.diegoparrilla.com/feeds/554592159359768979/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11583932/posts/default/554592159359768979" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11583932/posts/default/554592159359768979" /><author><name>Diego Parrilla</name><uri>http://www.blogger.com/profile/18178999300259710048</uri><email>noreply@blogger.com</email></author><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=WelcomeToTheJungleredux&amp;itemurl=http%3A%2F%2Fwww.diegoparrilla.com%2F2008%2F01%2Fmy-5-stupid-technology-predictions-for.html</feedburner:awareness><feedburner:origLink>http://www.diegoparrilla.com/2008/01/my-5-stupid-technology-predictions-for.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-11583932.post-1587117838078342992</id><published>2008-01-11T21:37:00.001+01:00</published><updated>2008-01-11T21:44:12.372+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="business" /><title type="text">Network Solutions affair: be evil and the blogsphere will destroy your reputation</title><content type="html">Long time ago &lt;a href="http://www.networksolutions.com"&gt;Network Solutions&lt;/a&gt; was the only domain registrar of .com domains, and so you had to pay them for the registration. But the monopoly ended several years ago, and discount domain registars are eating their business. They still charge $35 per year for a .com registration when you can find registrars for less than $9. Obviously they still get a lot of money from renewals, but I guess they business is not growing anymore, because they don't want to compete with discount registrars.&lt;br /&gt;In a good example of a stupid business decission that can definitely kill your business, &lt;a href="http://www.techcrunch.com/2008/01/10/network-solutions-using-questionable-tactic-to-sell-more-domain-names/"&gt;if a user does a search on the site for a domain, they inmemediately register it in Network Solutions name!&lt;/a&gt; If the user goes to a discount registrar, the domain is not available. Then, the user &lt;b&gt;must &lt;/b&gt;register the domain with Network Solutions. This kind of business actions have a name: captive customers or hijacked customers. Customers that cannot choose their provider because otherwise the customer cannot continue with their business. This is the worst scenario for a customer, and it's typical when doing business with a monopoly.&lt;br /&gt;Nowadays reputation and authority are words in the mouth of all people that use the internet on a daily basis for their business or leisure. Building a reputation in the net is hard (just like in the real world), but destroying it is easy, very easy and can take just hours. Network Solutions did not have good or bad reputation (it was an expensive dinosaur, that's all) but from now on they are pure evil for the blogsphere. They can justify that they have implemented this 'feature' to protect their customers automatically registering the domain just in time they search for it, but obviously you don't need to be registered to perform a search in their site, and there is not visible information about the new 'feature'. If the search feature is public, basically you are hijacking domains of your potential customers. Pure evil.&lt;br /&gt;Network Solutions, you should disable the feature and apologizes for this bad practice.
&lt;p&gt;&lt;map name="google_ad_map_N7v0J5.O1dv.g8fT3SWWrdei268_"&gt;&lt;area shape="rect" href="http://imageads.googleadservices.com/pagead/imgclick/N7v0J5.O1dv.g8fT3SWWrdei268_?pos=0" coords="1,2,367,28"/&gt;&lt;area shape="rect" href="http://services.google.com/feedback/abg" coords="384,10,453,23"/&gt;&lt;/map&gt;&lt;img usemap="#google_ad_map_N7v0J5.O1dv.g8fT3SWWrdei268_" border="0" src="http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=ca-pub-5293772876677467&amp;output=png&amp;cuid=N7v0J5.O1dv.g8fT3SWWrdei268_&amp;url=http%3A%2F%2Fwww.diegoparrilla.com%2F2008%2F01%2Fnetwork-solutions-affair-be-evil-and.html"/&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WelcomeToTheJungleredux/~4/215188923" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/WelcomeToTheJungleredux/~3/215188923/network-solutions-affair-be-evil-and.html" title="Network Solutions affair: be evil and the blogsphere will destroy your reputation" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=11583932&amp;postID=1587117838078342992" title="0 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.diegoparrilla.com/feeds/1587117838078342992/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11583932/posts/default/1587117838078342992" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11583932/posts/default/1587117838078342992" /><author><name>Diego Parrilla</name><uri>http://www.blogger.com/profile/18178999300259710048</uri><email>noreply@blogger.com</email></author><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=WelcomeToTheJungleredux&amp;itemurl=http%3A%2F%2Fwww.diegoparrilla.com%2F2008%2F01%2Fnetwork-solutions-affair-be-evil-and.html</feedburner:awareness><feedburner:origLink>http://www.diegoparrilla.com/2008/01/network-solutions-affair-be-evil-and.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-11583932.post-5309268884314946253</id><published>2008-01-11T12:06:00.001+01:00</published><updated>2008-01-11T12:12:32.245+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="enterprise" /><category scheme="http://www.blogger.com/atom/ns#" term="jobs" /><category scheme="http://www.blogger.com/atom/ns#" term="business" /><title type="text">Flux benefits for java developers rocks: All Expense Paid Vacation for Two, Anywhere in the World</title><content type="html">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;When there is shortage of talent and your offices are in Montana (USA) you need to squeeze your brains to find benefits to attract the very few talented developers to your company. &lt;a href="http://www.fluxcorp.com/"&gt;Flux&lt;/a&gt;, the company that developed the best Java Scheduler is &lt;a href="http://www.fluxcorp.com/company/careers/"&gt;hiring &lt;/a&gt;two developers and &lt;a href="http://blogs.fluxcorp.com/blogs/david/2008/01/10/two-java-developer-jobs-flux"&gt;one of the benefits is an &lt;/a&gt;&lt;b&gt;&lt;a href="http://blogs.fluxcorp.com/blogs/david/2008/01/10/two-java-developer-jobs-flux"&gt;All Expense Paid, 7 Day Vacation for Two, Anywhere in the World!&lt;/a&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;I don't know if this is something common in the States, but from the perspective of a Spaniard this is absolutelly amazing. In Spain we can get paid :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;the expenses of our daily lunch (from 6€ to 10€ euros daily),&lt;br /&gt;&lt;/li&gt;&lt;li&gt;private healthcare insurance (in Spain healthcare is free for 100% of the population, so this insurance helps you to get healthcare attention faster),&lt;br /&gt;&lt;/li&gt;&lt;li&gt;languages courses (english basically)&lt;/li&gt;&lt;li&gt;public transportation fees to the working place&lt;br /&gt;&lt;/li&gt;&lt;li&gt;corporate mobile phone as private mobile phone (the private calls are paid by the employer).&lt;/li&gt;&lt;/ul&gt;If you are in a management position you can also get:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;life insurance&lt;/li&gt;&lt;li&gt;retirement plan&lt;/li&gt;&lt;li&gt;rented car (well,  higher management positions...)&lt;/li&gt;&lt;/ul&gt;Normally, these benefits are around 10% to 15% of your salary, so higher the salary (and the position) the more and better the benefits.&lt;br /&gt;&lt;br /&gt;I'm very interested in knowing what are the benefits your employers (or you if your are an employer) give to talented people to attract them.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What are your benefits at your company and where is it located?&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;
&lt;p&gt;&lt;map name="google_ad_map_yUoGj1zZMrqb5a-.hqtIjuwRFP4_"&gt;&lt;area shape="rect" href="http://imageads.googleadservices.com/pagead/imgclick/yUoGj1zZMrqb5a-.hqtIjuwRFP4_?pos=0" coords="1,2,367,28"/&gt;&lt;area shape="rect" href="http://services.google.com/feedback/abg" coords="384,10,453,23"/&gt;&lt;/map&gt;&lt;img usemap="#google_ad_map_yUoGj1zZMrqb5a-.hqtIjuwRFP4_" border="0" src="http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=ca-pub-5293772876677467&amp;output=png&amp;cuid=yUoGj1zZMrqb5a-.hqtIjuwRFP4_&amp;url=http%3A%2F%2Fwww.diegoparrilla.com%2F2008%2F01%2Fflux-benefits-for-java-developers-rocks.html"/&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WelcomeToTheJungleredux/~4/214927275" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/WelcomeToTheJungleredux/~3/214927275/flux-benefits-for-java-developers-rocks.html" title="Flux benefits for java developers rocks: All Expense Paid Vacation for Two, Anywhere in the World" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=11583932&amp;postID=5309268884314946253" title="1 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.diegoparrilla.com/feeds/5309268884314946253/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11583932/posts/default/5309268884314946253" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11583932/posts/default/5309268884314946253" /><author><name>Diego Parrilla</name><uri>http://www.blogger.com/profile/18178999300259710048</uri><email>noreply@blogger.com</email></author><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=WelcomeToTheJungleredux&amp;itemurl=http%3A%2F%2Fwww.diegoparrilla.com%2F2008%2F01%2Fflux-benefits-for-java-developers-rocks.html</feedburner:awareness><feedburner:origLink>http://www.diegoparrilla.com/2008/01/flux-benefits-for-java-developers-rocks.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-11583932.post-8600676152939761226</id><published>2007-12-12T09:51:00.001+01:00</published><updated>2007-12-12T09:55:24.024+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="rumours" /><category scheme="http://www.blogger.com/atom/ns#" term="storage" /><category scheme="http://www.blogger.com/atom/ns#" term="google" /><title type="text">Google Online Storage System rumours</title><content type="html">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;I think this is not a new rumour, but this is the first time that &lt;a href="http://www.isuppli.com/marketwatch/default.asp?id=424"&gt;I have read details on how the system could be&lt;/a&gt;. The Google Online Storage System (GDrive?) could be for free up to 50Gb, and should be paid by the ads embedded in the storage website, a la Gmail. The report also tries to calculate the costs and the margin of the solution, but I think the calculations are too simple and bit naive.&lt;br /&gt;Online Storage is not something new, but Google can monetize it to a scale that only them, Microsoft or Yahoo can do. 50Gb of storage for free is a lot of storage and I can guarantee you I have a lot of old stuff I could put there, saving space in my disks, in my house (physical space is relevant) and of course is more accesible than DVDs or CDs.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;
&lt;p&gt;&lt;map name="google_ad_map_reYK5N-lu.gizj-yP9S4BzkjysM_"&gt;&lt;area shape="rect" href="http://imageads.googleadservices.com/pagead/imgclick/reYK5N-lu.gizj-yP9S4BzkjysM_?pos=0" coords="1,2,367,28"/&gt;&lt;area shape="rect" href="http://services.google.com/feedback/abg" coords="384,10,453,23"/&gt;&lt;/map&gt;&lt;img usemap="#google_ad_map_reYK5N-lu.gizj-yP9S4BzkjysM_" border="0" src="http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=ca-pub-5293772876677467&amp;output=png&amp;cuid=reYK5N-lu.gizj-yP9S4BzkjysM_&amp;url=http%3A%2F%2Fwww.diegoparrilla.com%2F2007%2F12%2Fgoogle-online-storage-system-rumours.html"/&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WelcomeToTheJungleredux/~4/199083371" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/WelcomeToTheJungleredux/~3/199083371/google-online-storage-system-rumours.html" title="Google Online Storage System rumours" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=11583932&amp;postID=8600676152939761226" title="1 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.diegoparrilla.com/feeds/8600676152939761226/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11583932/posts/default/8600676152939761226" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11583932/posts/default/8600676152939761226" /><author><name>Diego Parrilla</name><uri>http://www.blogger.com/profile/18178999300259710048</uri><email>noreply@blogger.com</email></author><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=WelcomeToTheJungleredux&amp;itemurl=http%3A%2F%2Fwww.diegoparrilla.com%2F2007%2F12%2Fgoogle-online-storage-system-rumours.html</feedburner:awareness><feedburner:origLink>http://www.diegoparrilla.com/2007/12/google-online-storage-system-rumours.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-11583932.post-5403618106797830540</id><published>2007-12-09T01:30:00.000+01:00</published><updated>2007-12-09T01:38:41.803+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="api" /><category scheme="http://www.blogger.com/atom/ns#" term="development" /><category scheme="http://www.blogger.com/atom/ns#" term="google" /><category scheme="http://www.blogger.com/atom/ns#" term="chart" /><title type="text">Using the Google Chart API from the server side</title><content type="html">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;The new &lt;a href="http://code.google.com/apis/chart"&gt;Google Chart API&lt;/a&gt; says &lt;blockquote&gt;&lt;span style="font-style: italic;"&gt;You can include a Chart API image in a webpage by embedding a URL within an &amp;lt;img&amp;gt; tag. When the webpage is displayed in a browser the  Chart API renders the image within the page.&lt;/span&gt; &lt;/blockquote&gt;There are some references about how to encode the information in the URLs in javascript. And I was wondering: Can I use it from the server side in my Java applications? Is it difficult? JFreeChart is a good API Chart but it consumes a lot of resources, can I save money in hosting servers delegating the rendering of my charts to Google?&lt;br /&gt;&lt;br /&gt;So I wrote this little example about how to use the Google Chart API in Java with the &lt;a href="http://jakarta.apache.org/httpcomponents/httpclient-3.x/"&gt;Apache Jakarta Commons HTTP Client&lt;/a&gt;. It is very easy, and I wrote a little helper class to avoid the crazy encoding implemented by Google. You can &lt;a href="http://www.diegoparrilla.com/docs/GChartAPITest.java"&gt;download the source code of the class here&lt;/a&gt;. Remember to include these libraries:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;commons-logging.jar&lt;/li&gt;&lt;li&gt;commons-httpclient-3.1.jar&lt;/li&gt;&lt;li&gt;commons-codec-1.3.jar&lt;/li&gt;&lt;/ul&gt;The piece of code to perform the HTTP request is about 20 lines. You need to pass as an argument the parameters at the right hand side of this url &lt;blockquote style="font-family: courier new;"&gt;http://chart.apis.google.com/chart?&lt;/blockquote&gt;It returns an array of bytes with the image in PNG format. You only need to push it into the output stream of a servlet, or save it in a file like I do. Ok. here goes the snippet:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-family:courier new;"&gt;  private String url_ = "http://chart.apis.google.com/chart?";&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  private int timeout_ = 30000; // milliseconds&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  public byte[] create(String postUrl) {&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    HttpClient client = new HttpClient();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;          client.setConnectionTimeout(timeout_);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;          String url = url_ + postUrl;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;    HttpMethod method = null;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;          method = new GetMethod(url);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;          method.setRequestHeader("accept", "image/png");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;          byte[] image = null;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;          try {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        client.executeMethod(method);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                  image = method.getResponseBody();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;          } catch (Exception e) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        e.printStackTrace();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;          } finally {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        method.releaseConnection();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;              return image;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  }&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;/blockquote&gt;The rest of the class includes some helper methods that wraps the crazy encoding made by Google. The reason for this crazy encoding is to avoid the use of POST parameters normally harder to use in the client side. I have coded the class quick and dirt, so if you think it's possible to do it better you are probably right!&lt;br /&gt;&lt;br /&gt;I have performed some tests and the latency of the service is excellent: it never took more 2.5 seconds to render a chart,  taking from 300ms to 800ms on average. Normally the network latency of Google is very low (less than 100ms), so the time it takes to render a chart is excellent considering this is a very CPU time consuming activity. As a rule of thumb you should cache the requests made to the Google Servers to avoid requesting twice the same chart. You will respect the Terms of the Service (50000 request per day and user, remember!) and your users will be happy because they will get the charts without any delay.&lt;br /&gt;&lt;br /&gt;Finally, I think it's worth to use this API instead of JFreeChart if you need to render a lot of charts with a very high granularity that impacts in the performance of your servers.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;
&lt;p&gt;&lt;map name="google_ad_map_O33zxlHx-29ne6eC7JQa1M2mZlo_"&gt;&lt;area shape="rect" href="http://imageads.googleadservices.com/pagead/imgclick/O33zxlHx-29ne6eC7JQa1M2mZlo_?pos=0" coords="1,2,367,28"/&gt;&lt;area shape="rect" href="http://services.google.com/feedback/abg" coords="384,10,453,23"/&gt;&lt;/map&gt;&lt;img usemap="#google_ad_map_O33zxlHx-29ne6eC7JQa1M2mZlo_" border="0" src="http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=ca-pub-5293772876677467&amp;output=png&amp;cuid=O33zxlHx-29ne6eC7JQa1M2mZlo_&amp;url=http%3A%2F%2Fwww.diegoparrilla.com%2F2007%2F12%2Fusing-google-chart-api-from-server-side.html"/&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WelcomeToTheJungleredux/~4/197354263" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/WelcomeToTheJungleredux/~3/197354263/using-google-chart-api-from-server-side.html" title="Using the Google Chart API from the server side" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=11583932&amp;postID=5403618106797830540" title="4 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.diegoparrilla.com/feeds/5403618106797830540/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11583932/posts/default/5403618106797830540" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11583932/posts/default/5403618106797830540" /><author><name>Diego Parrilla</name><uri>http://www.blogger.com/profile/18178999300259710048</uri><email>noreply@blogger.com</email></author><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=WelcomeToTheJungleredux&amp;itemurl=http%3A%2F%2Fwww.diegoparrilla.com%2F2007%2F12%2Fusing-google-chart-api-from-server-side.html</feedburner:awareness><feedburner:origLink>http://www.diegoparrilla.com/2007/12/using-google-chart-api-from-server-side.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-11583932.post-4001868524541566205</id><published>2007-12-07T11:40:00.001+01:00</published><updated>2007-12-07T11:43:54.178+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="api" /><category scheme="http://www.blogger.com/atom/ns#" term="architecture" /><category scheme="http://www.blogger.com/atom/ns#" term="google" /><title type="text">Google Chart API or how Google gives raw performance for free</title><content type="html">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;If you dont' understand why &lt;a href="http://code.google.com/apis/chart"&gt;Google is giving for free this API&lt;/a&gt;, where is the value of this action, then you probably have never tried to render a chart on the server side. It's one of the most CPU intensive actions a server side solution can have. If you don't size and distruibute your apps properly, your site can colapse with a single impatient user clicking quickly a link several times or reloading a page because it takes more time than usual to render.&lt;br /&gt;A first look at the API shows a very simple API, with a very limited set of functions. The documentation is very oriented to HTML and Javascript developers, but looks easy to implement something in the server side. So think twice before considering changing &lt;a href="http://www.jfree.org/jfreechart/"&gt;JFreeChart&lt;/a&gt; with this API. Moreover, the number of request per day is 50000 maximum, so if your site has a lot of traffic you will probably need to implement some kind of server side caching strategy. I will make some tests to test the latency of the API, one of the issues with any chart render engine.&lt;br /&gt;Google, now you have started creating APIs for tipically CPU intensive tasks, why don't you try something with PDF and document generation? My Hosting provider will hate you, but my budget on dedicated servers will have a relief!&lt;br /&gt;&lt;/div&gt;
&lt;p&gt;&lt;map name="google_ad_map_W8FFXDTpsI7Azimph6zTuPV1EmY_"&gt;&lt;area shape="rect" href="http://imageads.googleadservices.com/pagead/imgclick/W8FFXDTpsI7Azimph6zTuPV1EmY_?pos=0" coords="1,2,367,28"/&gt;&lt;area shape="rect" href="http://services.google.com/feedback/abg" coords="384,10,453,23"/&gt;&lt;/map&gt;&lt;img usemap="#google_ad_map_W8FFXDTpsI7Azimph6zTuPV1EmY_" border="0" src="http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=ca-pub-5293772876677467&amp;output=png&amp;cuid=W8FFXDTpsI7Azimph6zTuPV1EmY_&amp;url=http%3A%2F%2Fwww.diegoparrilla.com%2F2007%2F12%2Fgoogle-chart-api-or-how-google-gives.html"/&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WelcomeToTheJungleredux/~4/196580258" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/WelcomeToTheJungleredux/~3/196580258/google-chart-api-or-how-google-gives.html" title="Google Chart API or how Google gives raw performance for free" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=11583932&amp;postID=4001868524541566205" title="1 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.diegoparrilla.com/feeds/4001868524541566205/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11583932/posts/default/4001868524541566205" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11583932/posts/default/4001868524541566205" /><author><name>Diego Parrilla</name><uri>http://www.blogger.com/profile/18178999300259710048</uri><email>noreply@blogger.com</email></author><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=WelcomeToTheJungleredux&amp;itemurl=http%3A%2F%2Fwww.diegoparrilla.com%2F2007%2F12%2Fgoogle-chart-api-or-how-google-gives.html</feedburner:awareness><feedburner:origLink>http://www.diegoparrilla.com/2007/12/google-chart-api-or-how-google-gives.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-11583932.post-1637640610959274292</id><published>2007-11-12T22:36:00.000+01:00</published><updated>2007-11-12T23:22:05.924+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="mobile" /><category scheme="http://www.blogger.com/atom/ns#" term="linux" /><category scheme="http://www.blogger.com/atom/ns#" term="development" /><category scheme="http://www.blogger.com/atom/ns#" term="embedded" /><category scheme="http://www.blogger.com/atom/ns#" term="gphone" /><category scheme="http://www.blogger.com/atom/ns#" term="architecture" /><category scheme="http://www.blogger.com/atom/ns#" term="google" /><category scheme="http://www.blogger.com/atom/ns#" term="iphone" /><title type="text">The ball and chain of iPhone was not Java:  it's Google Android</title><content type="html">Sometimes you only need to wait to understand why things happen. When Steve Jobs said &lt;a href="http://jdj.sys-con.com/read/331264.htm"&gt;'Java is not worth building in. Nobody uses Java anymore. It's this big heavyweight ball and chain'&lt;/a&gt;, we were surprised and disappointed because like me a lot of people think that there is still room for Java in the mobile platforms. Of course we have J2ME, but we can do very few things with it. What we need is a full J2SE stack for mobiles. And the iPhone could do it... if Mr. Jobs wants. But he does not want because Java has become the flag of Google to do developers to follow them. He chose to keep Java out of the iPhone to keep a strict control of the platform, to keep Google out of his business.&lt;br /&gt;I have just reviewed what &lt;a href="http://code.google.com/android/what-is-android.html"&gt;Google Android is, it's architecture and the SDK&lt;/a&gt; and I think it's much more than a smart mobile platform: it's a philosophy. Think of what &lt;a href="http://en.wikipedia.org/wiki/Standard_Widget_Toolkit"&gt;SWT &lt;/a&gt;is to the Java User Interfaces and apply it to the Android Architecture. The access to the physical layer has been developed in C/C++ on top the Linux OS, and on top of it there is a pseudo-Java Virtual Machine called &lt;strong&gt;Dalvik virtual machine&lt;/strong&gt;. As they say, &lt;span style="font-style: italic;"&gt;"Dalvik has been written so that a device can run multiple VMs efficiently. The Dalvik VM executes files in the Dalvik Executable (.dex) format which is optimized for minimal memory footprint. The VM is register-based, and runs classes compiled by a Java language compiler that have been transformed into the .dex format by the included "dx" tool."&lt;/span&gt;&lt;br /&gt;J2ME is very similar in the approach, but what looks new is the tight integration with the OS and the use of Java 5 extensions of the language. J2ME is almost JDK 1.0, but if you read the source code of the samples, you can recognize some coding practices of Java 5. I still don't know if the Dalvik VM can do reflection or annotations, I will need some time to test it.&lt;br /&gt;The access to the physical elements of the mobile device are performed thanks to the set of android.* packages. So, it will be a task of the device manufacturer to migrate the C/C++ libraries layer for their devices. I have tried to find some information about how to certificate that the libraries has been migrated correctly. This was one of the key elements for the success of J2ME on the mobile phones, and should be done the same way.&lt;br /&gt;The Java applications are what they call 'Third party applications'. It's not possible yet to develop or modify the underlying Linux OS and the C/C++ libraries. Again, Java runs in a sandbox -sounds familiar, eh?-.&lt;br /&gt;I will continue playing with it. Just some random thoughts, will Sun Microsystems get some money for the licensing of Dalvik VM? How much? Will J2ME be replaced by the Dalvik VM?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;&lt;map name="google_ad_map_bdlLlabI70sI4EPJLzKpTzdv1wk_"&gt;&lt;area shape="rect" href="http://imageads.googleadservices.com/pagead/imgclick/bdlLlabI70sI4EPJLzKpTzdv1wk_?pos=0" coords="1,2,367,28"/&gt;&lt;area shape="rect" href="http://services.google.com/feedback/abg" coords="384,10,453,23"/&gt;&lt;/map&gt;&lt;img usemap="#google_ad_map_bdlLlabI70sI4EPJLzKpTzdv1wk_" border="0" src="http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=ca-pub-5293772876677467&amp;output=png&amp;cuid=bdlLlabI70sI4EPJLzKpTzdv1wk_&amp;url=http%3A%2F%2Fwww.diegoparrilla.com%2F2007%2F11%2Fball-and-chain-of-iphone-was-not-java.html"/&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WelcomeToTheJungleredux/~4/183798949" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/WelcomeToTheJungleredux/~3/183798949/ball-and-chain-of-iphone-was-not-java.html" title="The ball and chain of iPhone was not Java:  it's Google Android" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=11583932&amp;postID=1637640610959274292" title="3 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.diegoparrilla.com/feeds/1637640610959274292/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11583932/posts/default/1637640610959274292" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11583932/posts/default/1637640610959274292" /><author><name>Diego Parrilla</name><uri>http://www.blogger.com/profile/18178999300259710048</uri><email>noreply@blogger.com</email></author><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=WelcomeToTheJungleredux&amp;itemurl=http%3A%2F%2Fwww.diegoparrilla.com%2F2007%2F11%2Fball-and-chain-of-iphone-was-not-java.html</feedburner:awareness><feedburner:origLink>http://www.diegoparrilla.com/2007/11/ball-and-chain-of-iphone-was-not-java.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-11583932.post-1546753232483572705</id><published>2007-11-06T13:06:00.000+01:00</published><updated>2007-11-08T16:15:54.469+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="web2.0" /><category scheme="http://www.blogger.com/atom/ns#" term="architecture" /><category scheme="http://www.blogger.com/atom/ns#" term="aws" /><title type="text">Amazon S3 for europeans: Bye bye latency issues</title><content type="html">&lt;a href="http://www.allthingsdistributed.com/"&gt;Werner Vogels&lt;/a&gt; -the Amazon CTO- has just announced in his blog the &lt;a href="http://www.allthingsdistributed.com/2007/11/amazon_s3_in_europe.html#trackback"&gt;availability of the S3 storage for Amazon European servers&lt;/a&gt;. This is good news because it means that Amazon thinks globally. The customer experience can improve if the latency is very low because of the fastest load of pages and static content.
&lt;p&gt;&lt;map name="google_ad_map_y2ye52uzqEYqZTCnBr0TcLZxHiM_"&gt;&lt;area shape="rect" href="http://imageads.googleadservices.com/pagead/imgclick/y2ye52uzqEYqZTCnBr0TcLZxHiM_?pos=0" coords="1,2,367,28"/&gt;&lt;area shape="rect" href="http://services.google.com/feedback/abg" coords="384,10,453,23"/&gt;&lt;/map&gt;&lt;img usemap="#google_ad_map_y2ye52uzqEYqZTCnBr0TcLZxHiM_" border="0" src="http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=ca-pub-5293772876677467&amp;output=png&amp;cuid=y2ye52uzqEYqZTCnBr0TcLZxHiM_&amp;url=http%3A%2F%2Fwww.diegoparrilla.com%2F2007%2F11%2Famazon-s3-for-europeans-bye-bye-latency.html"/&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WelcomeToTheJungleredux/~4/180673338" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/WelcomeToTheJungleredux/~3/180673338/amazon-s3-for-europeans-bye-bye-latency.html" title="Amazon S3 for europeans: Bye bye latency issues" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=11583932&amp;postID=1546753232483572705" title="0 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.diegoparrilla.com/feeds/1546753232483572705/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11583932/posts/default/1546753232483572705" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11583932/posts/default/1546753232483572705" /><author><name>Diego Parrilla</name><uri>http://www.blogger.com/profile/18178999300259710048</uri><email>noreply@blogger.com</email></author><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=WelcomeToTheJungleredux&amp;itemurl=http%3A%2F%2Fwww.diegoparrilla.com%2F2007%2F11%2Famazon-s3-for-europeans-bye-bye-latency.html</feedburner:awareness><feedburner:origLink>http://www.diegoparrilla.com/2007/11/amazon-s3-for-europeans-bye-bye-latency.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-11583932.post-7280217290123944461</id><published>2007-11-05T18:19:00.000+01:00</published><updated>2007-11-05T18:34:36.386+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="web2.0" /><category scheme="http://www.blogger.com/atom/ns#" term="development" /><category scheme="http://www.blogger.com/atom/ns#" term="social networks" /><title type="text">Social bugfixing tool: Can corank.com work?</title><content type="html">When you start with a third party open source library or project, first thing you do is to check the its activity. If the project is dead or it's a zombie (somebody still there just to make questions in the forums) then it's better to start looking for a new one.&lt;br /&gt;If the project is active and you decide to use it, sometimes (well, most of the times) you cannot dedicate time to give your feedback to the project. You need new functions in that beautiful library, but you don't have time to implement it and you have already seen in the bug list that somebody have already asked for the same kind of enhanced functionality.&lt;br /&gt;The question is: When will The Gods of the library/project will implement those enhancements? And why is it not implemented yet? Nobody knows...&lt;br /&gt;I came across with &lt;a href="http://www.corank.com/"&gt;www.corank.com&lt;/a&gt; several months ago. It's a tool to build your own web 2.0 &lt;a href="http://www.digg.com/"&gt;Digg&lt;/a&gt; style voting system. And I think it would be a good idea to use it as a voting system to classify the criticity of bugs and enhancements in a complex multi-customer system like popular open source projects.&lt;br /&gt;Do you know of anybody using it this way? Or any other tool?
&lt;p&gt;&lt;map name="google_ad_map_YdiM4Vg7YmHARuP9e1H4N8iJvGw_"&gt;&lt;area shape="rect" href="http://imageads.googleadservices.com/pagead/imgclick/YdiM4Vg7YmHARuP9e1H4N8iJvGw_?pos=0" coords="1,2,367,28"/&gt;&lt;area shape="rect" href="http://services.google.com/feedback/abg" coords="384,10,453,23"/&gt;&lt;/map&gt;&lt;img usemap="#google_ad_map_YdiM4Vg7YmHARuP9e1H4N8iJvGw_" border="0" src="http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=ca-pub-5293772876677467&amp;output=png&amp;cuid=YdiM4Vg7YmHARuP9e1H4N8iJvGw_&amp;url=http%3A%2F%2Fwww.diegoparrilla.com%2F2007%2F11%2Fsocial-bugfixing-tool-can-corankcom.html"/&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WelcomeToTheJungleredux/~4/180145959" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/WelcomeToTheJungleredux/~3/180145959/social-bugfixing-tool-can-corankcom.html" title="Social bugfixing tool: Can corank.com work?" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=11583932&amp;postID=7280217290123944461" title="0 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.diegoparrilla.com/feeds/7280217290123944461/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11583932/posts/default/7280217290123944461" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11583932/posts/default/7280217290123944461" /><author><name>Diego Parrilla</name><uri>http://www.blogger.com/profile/18178999300259710048</uri><email>noreply@blogger.com</email></author><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=WelcomeToTheJungleredux&amp;itemurl=http%3A%2F%2Fwww.diegoparrilla.com%2F2007%2F11%2Fsocial-bugfixing-tool-can-corankcom.html</feedburner:awareness><feedburner:origLink>http://www.diegoparrilla.com/2007/11/social-bugfixing-tool-can-corankcom.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-11583932.post-5896714542868010588</id><published>2007-11-02T14:11:00.000+01:00</published><updated>2007-11-02T14:37:03.305+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="justice" /><title type="text">Spanish CS students and professionals on the warpath, demonstration next week</title><content type="html">Enough is enough. For years the students and professionals of Masters and Degrees of Computer Sciences/Engineering  in Spain have been marginalized of the rest of the Engineering members. The government has even denied the existence of our Master and Degrees, when they are official studies in the Spanish universities. The number of people working in IT in Spain coming from other areas is enormous, and there are a lot of companies -IT consultancy and services- that does not even have a single professional with a Master or a Degree in CS.&lt;br /&gt;&lt;br /&gt;The reasons? You should ask to the Spanish government, I think other engineering members feel that a Computer Science/Engineering can challenge their power of influence and their status quo.&lt;br /&gt;&lt;br /&gt;The demonstration will be next Tuesday November 6th at 11:00, in front of the doors of the SIMO (International Data Processing, Multimedia and Communications Show) in Madrid. Some of us will carry the certification of our Master or Degree hanging from our neck, so people can see WE ARE ENGINEERS.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.ai2.es/2007/10/29/simo-6-nov-2007-llamada-a-la-movilizacion-de-los-profesionales/"&gt;Read here more information (Spanish)&lt;/a&gt;, &lt;a href="http://translate.google.com/translate?u=http%3A%2F%2Fblog.ai2.es%2F2007%2F10%2F29%2Fsimo-6-nov-2007-llamada-a-la-movilizacion-de-los-profesionales&amp;amp;langpair=es%7Cen&amp;amp;hl=es&amp;amp;ie=UTF8"&gt;Google translation here&lt;/a&gt;.
&lt;p&gt;&lt;map name="google_ad_map_ObIN2N1lnf9d.njpVB67C8DTeZQ_"&gt;&lt;area shape="rect" href="http://imageads.googleadservices.com/pagead/imgclick/ObIN2N1lnf9d.njpVB67C8DTeZQ_?pos=0" coords="1,2,367,28"/&gt;&lt;area shape="rect" href="http://services.google.com/feedback/abg" coords="384,10,453,23"/&gt;&lt;/map&gt;&lt;img usemap="#google_ad_map_ObIN2N1lnf9d.njpVB67C8DTeZQ_" border="0" src="http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=ca-pub-5293772876677467&amp;output=png&amp;cuid=ObIN2N1lnf9d.njpVB67C8DTeZQ_&amp;url=http%3A%2F%2Fwww.diegoparrilla.com%2F2007%2F11%2Fspanish-cs-students-and-professionals.html"/&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WelcomeToTheJungleredux/~4/178738461" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/WelcomeToTheJungleredux/~3/178738461/spanish-cs-students-and-professionals.html" title="Spanish CS students and professionals on the warpath, demonstration next week" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=11583932&amp;postID=5896714542868010588" title="0 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.diegoparrilla.com/feeds/5896714542868010588/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11583932/posts/default/5896714542868010588" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11583932/posts/default/5896714542868010588" /><author><name>Diego Parrilla</name><uri>http://www.blogger.com/profile/18178999300259710048</uri><email>noreply@blogger.com</email></author><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=WelcomeToTheJungleredux&amp;itemurl=http%3A%2F%2Fwww.diegoparrilla.com%2F2007%2F11%2Fspanish-cs-students-and-professionals.html</feedburner:awareness><feedburner:origLink>http://www.diegoparrilla.com/2007/11/spanish-cs-students-and-professionals.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-11583932.post-4189844072916905372</id><published>2007-10-31T16:33:00.000+01:00</published><updated>2007-10-31T16:35:35.504+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="justice" /><category scheme="http://www.blogger.com/atom/ns#" term="peugeot" /><title type="text">My Peugeot 307 is broken</title><content type="html">&lt;span style="" onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;I don't like to talk about my personal life in this blog, &lt;a href="http://64.233.179.104/translate_c?hl=es&amp;amp;langpair=es%7Cen&amp;amp;u=http://www.averiaspeugeot307.com/"&gt;&lt;/a&gt;but I &lt;a href="http://64.233.179.104/translate_c?hl=es&amp;amp;langpair=es%7Cen&amp;amp;u=http://www.averiaspeugeot307.com/"&gt;had a rather unpleasant experience with the customer service of Peugeot,&lt;/a&gt; and I think they have comitted a mistake, and they want the users pay for their failures.&lt;/span&gt; &lt;span style="" onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;I have created the blog &lt;a href="http://64.233.179.104/translate_c?hl=es&amp;amp;langpair=es%7Cen&amp;amp;u=http://www.averiaspeugeot307.com/"&gt;www.averiaspeugeot307.com,&lt;/a&gt; if you know anyone who has problems with his/her 307, let them know about the site (in spanish).&lt;br /&gt;&lt;/span&gt;
&lt;p&gt;&lt;map name="google_ad_map_zFgNvBR.4drnfbjg.6lD1qXVCZ8_"&gt;&lt;area shape="rect" href="http://imageads.googleadservices.com/pagead/imgclick/zFgNvBR.4drnfbjg.6lD1qXVCZ8_?pos=0" coords="1,2,367,28"/&gt;&lt;area shape="rect" href="http://services.google.com/feedback/abg" coords="384,10,453,23"/&gt;&lt;/map&gt;&lt;img usemap="#google_ad_map_zFgNvBR.4drnfbjg.6lD1qXVCZ8_" border="0" src="http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=ca-pub-5293772876677467&amp;output=png&amp;cuid=zFgNvBR.4drnfbjg.6lD1qXVCZ8_&amp;url=http%3A%2F%2Fwww.diegoparrilla.com%2F2007%2F10%2Fmy-peugeot-307-is-broken.html"/&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WelcomeToTheJungleredux/~4/177758238" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/WelcomeToTheJungleredux/~3/177758238/my-peugeot-307-is-broken.html" title="My Peugeot 307 is broken" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=11583932&amp;postID=4189844072916905372" title="0 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.diegoparrilla.com/feeds/4189844072916905372/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11583932/posts/default/4189844072916905372" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11583932/posts/default/4189844072916905372" /><author><name>Diego Parrilla</name><uri>http://www.blogger.com/profile/18178999300259710048</uri><email>noreply@blogger.com</email></author><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=WelcomeToTheJungleredux&amp;itemurl=http%3A%2F%2Fwww.diegoparrilla.com%2F2007%2F10%2Fmy-peugeot-307-is-broken.html</feedburner:awareness><feedburner:origLink>http://www.diegoparrilla.com/2007/10/my-peugeot-307-is-broken.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-11583932.post-668093829150149056</id><published>2007-10-30T01:15:00.000+01:00</published><updated>2007-10-30T01:25:39.767+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="hobbist" /><category scheme="http://www.blogger.com/atom/ns#" term="google" /><title type="text">Massive refactoring of Gmail breaks my Greasemonkey scripts</title><content type="html">This evening I was surprised with a message in my GMail screen: in red and bold the application advised me to switch off Firebug to improve the performance of the application. First I thought it was another update from Google, but when I saw at the top left 'Older version' then it was clear: Google has just released a new version of GMail.&lt;br /&gt;And here comes the bad news: my own developed Greasemonkey scripts stopped working because of the massive changes in the inners of the application. The ids of the tags have changed, there is not frames any more, and the application do tricky things with the events.  But the worst of all is the fact that Gmail is not working  properly  with my scripts!!!  The 'Compose' link does not work, and this is only after 30' of testing!
&lt;p&gt;&lt;map name="google_ad_map_t.-i9265KPtDWerYWOslp95Kko0_"&gt;&lt;area shape="rect" href="http://imageads.googleadservices.com/pagead/imgclick/t.-i9265KPtDWerYWOslp95Kko0_?pos=0" coords="1,2,367,28"/&gt;&lt;area shape="rect" href="http://services.google.com/feedback/abg" coords="384,10,453,23"/&gt;&lt;/map&gt;&lt;img usemap="#google_ad_map_t.-i9265KPtDWerYWOslp95Kko0_" border="0" src="http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=ca-pub-5293772876677467&amp;output=png&amp;cuid=t.-i9265KPtDWerYWOslp95Kko0_&amp;url=http%3A%2F%2Fwww.diegoparrilla.com%2F2007%2F10%2Fmassive-refactoring-of-gmail-breaks-my.html"/&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WelcomeToTheJungleredux/~4/176935067" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/WelcomeToTheJungleredux/~3/176935067/massive-refactoring-of-gmail-breaks-my.html" title="Massive refactoring of Gmail breaks my Greasemonkey scripts" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=11583932&amp;postID=668093829150149056" title="0 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.diegoparrilla.com/feeds/668093829150149056/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11583932/posts/default/668093829150149056" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11583932/posts/default/668093829150149056" /><author><name>Diego Parrilla</name><uri>http://www.blogger.com/profile/18178999300259710048</uri><email>noreply@blogger.com</email></author><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=WelcomeToTheJungleredux&amp;itemurl=http%3A%2F%2Fwww.diegoparrilla.com%2F2007%2F10%2Fmassive-refactoring-of-gmail-breaks-my.html</feedburner:awareness><feedburner:origLink>http://www.diegoparrilla.com/2007/10/massive-refactoring-of-gmail-breaks-my.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-11583932.post-9021222877630587812</id><published>2007-10-29T12:24:00.000+01:00</published><updated>2007-10-29T12:32:30.052+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="enterprise" /><category scheme="http://www.blogger.com/atom/ns#" term="jobs" /><category scheme="http://www.blogger.com/atom/ns#" term="jee" /><category scheme="http://www.blogger.com/atom/ns#" term="management" /><category scheme="http://www.blogger.com/atom/ns#" term="designs" /><category scheme="http://www.blogger.com/atom/ns#" term="architecture" /><category scheme="http://www.blogger.com/atom/ns#" term="business" /><title type="text">Leaving AMPLIA and starting as a Freelance IT Consultant</title><content type="html">Last years have been a wonderful time in &lt;a href="http://www.amplia.es"&gt;Amplía Soluciones S.L.&lt;/a&gt;, but nothing is forever and I think it's time for a change. I will continue as a partner of the company but I will look for new challenges and adventures out there. You can &lt;a href="http://www.linkedin.com/in/diegoparrilla"&gt;read my public linkedin profile&lt;/a&gt; if you want to know a bit about my skills and experience.
&lt;p&gt;&lt;map name="google_ad_map_cJ7bS1zzAEz1ryj7xbqGjEj1J-U_"&gt;&lt;area shape="rect" href="http://imageads.googleadservices.com/pagead/imgclick/cJ7bS1zzAEz1ryj7xbqGjEj1J-U_?pos=0" coords="1,2,367,28"/&gt;&lt;area shape="rect" href="http://services.google.com/feedback/abg" coords="384,10,453,23"/&gt;&lt;/map&gt;&lt;img usemap="#google_ad_map_cJ7bS1zzAEz1ryj7xbqGjEj1J-U_" border="0" src="http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=ca-pub-5293772876677467&amp;output=png&amp;cuid=cJ7bS1zzAEz1ryj7xbqGjEj1J-U_&amp;url=http%3A%2F%2Fwww.diegoparrilla.com%2F2007%2F10%2Fleaving-amplia-and-starting-as.html"/&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WelcomeToTheJungleredux/~4/176629935" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/WelcomeToTheJungleredux/~3/176629935/leaving-amplia-and-starting-as.html" title="Leaving AMPLIA and starting as a Freelance IT Consultant" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=11583932&amp;postID=9021222877630587812" title="0 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.diegoparrilla.com/feeds/9021222877630587812/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11583932/posts/default/9021222877630587812" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11583932/posts/default/9021222877630587812" /><author><name>Diego Parrilla</name><uri>http://www.blogger.com/profile/18178999300259710048</uri><email>noreply@blogger.com</email></author><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=WelcomeToTheJungleredux&amp;itemurl=http%3A%2F%2Fwww.diegoparrilla.com%2F2007%2F10%2Fleaving-amplia-and-starting-as.html</feedburner:awareness><feedburner:origLink>http://www.diegoparrilla.com/2007/10/leaving-amplia-and-starting-as.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-11583932.post-946568205724484138</id><published>2007-10-24T23:39:00.000+02:00</published><updated>2007-10-24T23:50:53.074+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="facebook" /><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft" /><category scheme="http://www.blogger.com/atom/ns#" term="business" /><title type="text">Microsoft thinks that your Facebook account costs $300</title><content type="html">Today &lt;a href="http://www.microsoft.com"&gt;Microsoft&lt;/a&gt; has acquired 1.6% of &lt;a href="http://www.facebook.com"&gt;Facebook&lt;/a&gt;, paying 240 million dollars. So the smart guys from Redmon (and their strategic consultants, of course) think Facebook has a value of 15 billion dollars! That's a lot of money for a company with 300 employees! But it's not about the employees talent, it's about the 50 million active users of the platform where the value is. And it's really high, around 300 bucks per active user.&lt;br /&gt;Now I think to myself... can they really get 300 dollars from the average user?&lt;br /&gt;It smells like dotcom boom reborn...
&lt;p&gt;&lt;map name="google_ad_map_0itxgnGSYiLc7uSj-P2zJESMZXM_"&gt;&lt;area shape="rect" href="http://imageads.googleadservices.com/pagead/imgclick/0itxgnGSYiLc7uSj-P2zJESMZXM_?pos=0" coords="1,2,367,28"/&gt;&lt;area shape="rect" href="http://services.google.com/feedback/abg" coords="384,10,453,23"/&gt;&lt;/map&gt;&lt;img usemap="#google_ad_map_0itxgnGSYiLc7uSj-P2zJESMZXM_" border="0" src="http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=ca-pub-5293772876677467&amp;output=png&amp;cuid=0itxgnGSYiLc7uSj-P2zJESMZXM_&amp;url=http%3A%2F%2Fwww.diegoparrilla.com%2F2007%2F10%2Fmicrosoft-thinks-that-your-facebook.html"/&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WelcomeToTheJungleredux/~4/174529089" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/WelcomeToTheJungleredux/~3/174529089/microsoft-thinks-that-your-facebook.html" title="Microsoft thinks that your Facebook account costs $300" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=11583932&amp;postID=946568205724484138" title="3 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.diegoparrilla.com/feeds/946568205724484138/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11583932/posts/default/946568205724484138" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11583932/posts/default/946568205724484138" /><author><name>Diego Parrilla</name><uri>http://www.blogger.com/profile/18178999300259710048</uri><email>noreply@blogger.com</email></author><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=WelcomeToTheJungleredux&amp;itemurl=http%3A%2F%2Fwww.diegoparrilla.com%2F2007%2F10%2Fmicrosoft-thinks-that-your-facebook.html</feedburner:awareness><feedburner:origLink>http://www.diegoparrilla.com/2007/10/microsoft-thinks-that-your-facebook.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-11583932.post-374815233069619934</id><published>2007-10-15T18:32:00.000+02:00</published><updated>2007-10-15T18:38:04.225+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="enterprise" /><category scheme="http://www.blogger.com/atom/ns#" term="jobs" /><title type="text">Five basic tips on preparing for a job interview</title><content type="html">Last week I was talking with a friend of mine about my post &lt;a title="Sometimes to interview developers can be funny" href="http://www.diegoparrilla.com/2007/08/sometimes-to-interview-developers-can.html" id="i396"&gt;Sometimes to interview developers can be funny&lt;/a&gt;. We commented how most of the developers do not prepare the interview, and how they come without even visiting the website of the company. So, here goes some basic stuff you should do before attending to an interview. May be it can sound too basic, but believe me if I tell you that some developers do not care about this five topics:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Visit the web site of the company and learn what's the main business of the company. It's incredible the amount of people who have not visit the web site of the company. The excuses vary from 'I was in a hurry'  to 'I don't have Internet at home (!?)'.&lt;/li&gt;&lt;li&gt;Find information about the employees of the company. Use &lt;span class="misspell" suggestions="Linked in,Linked-in,Linked,Linden,Lindon"&gt;Linkedin&lt;/span&gt;, &lt;span class="misspell" suggestions="Xingu,Zing,Sing,Bing,King"&gt;Xing&lt;/span&gt;, &lt;span class="misspell" suggestions="Face book,Face-book,Casebook,Passbook,Forsook"&gt;Facebook&lt;/span&gt;... may be you can find a partner or a colleague at the university that can give valuable information about the company. And may be you can be recommended before the interview!&lt;/li&gt;&lt;li&gt;Bring an updated CV/resume on paper and give it to the interviewer. Job boards information can be outdated, and you can always point some new cool stuff you are working on that can help you to start the conversation and bring it to your interests.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Dress code. Try to balance your personal taste and the kind of company you are attending. If the company is traditional, then shoes and a suit, or at least a tie and a jacket will always help. If it's a start up may be you can relax the dress code, but it can be risky. It's always better to overreact the first time. It's obvious that you must wear clean clothes and shoes. It's also obvious that personal hygiene is important when you leave the virtual worlds. It's hard to stay in a room for more than an hour with somebody that stinks, even being  a super-ruby-on-rails master or a mega-oracle-&lt;span class="misspell" suggestions="dab,dB,db,DNA,SBA"&gt;dba&lt;/span&gt; hero.&lt;/li&gt;&lt;li&gt;If you are going to arrive late phone the company and inform of your delay. You can always say you are in a traffic jam, it always works and people will understand. If you decide not to attend to the interview -the job does not interest you anymore- phone them too and tell them whatever you want (the truth almost always works). You don't know what can happen in the future, but if your absence is unexpected they won't call you anymore.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;What other basic things you would recommend?
&lt;p&gt;&lt;map name="google_ad_map_aOA58tJn7W0FOv9lKI79eQwm7vs_"&gt;&lt;area shape="rect" href="http://imageads.googleadservices.com/pagead/imgclick/aOA58tJn7W0FOv9lKI79eQwm7vs_?pos=0" coords="1,2,367,28"/&gt;&lt;area shape="rect" href="http://services.google.com/feedback/abg" coords="384,10,453,23"/&gt;&lt;/map&gt;&lt;img usemap="#google_ad_map_aOA58tJn7W0FOv9lKI79eQwm7vs_" border="0" src="http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=ca-pub-5293772876677467&amp;output=png&amp;cuid=aOA58tJn7W0FOv9lKI79eQwm7vs_&amp;url=http%3A%2F%2Fwww.diegoparrilla.com%2F2007%2F10%2Ffive-basic-tips-on-preparing-for-job.html"/&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WelcomeToTheJungleredux/~4/170218170" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/WelcomeToTheJungleredux/~3/170218170/five-basic-tips-on-preparing-for-job.html" title="Five basic tips on preparing for a job interview" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=11583932&amp;postID=374815233069619934" title="0 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.diegoparrilla.com/feeds/374815233069619934/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11583932/posts/default/374815233069619934" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11583932/posts/default/374815233069619934" /><author><name>Diego Parrilla</name><uri>http://www.blogger.com/profile/18178999300259710048</uri><email>noreply@blogger.com</email></author><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=WelcomeToTheJungleredux&amp;itemurl=http%3A%2F%2Fwww.diegoparrilla.com%2F2007%2F10%2Ffive-basic-tips-on-preparing-for-job.html</feedburner:awareness><feedburner:origLink>http://www.diegoparrilla.com/2007/10/five-basic-tips-on-preparing-for-job.html</feedburner:origLink></entry><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetFeedData?uri=WelcomeToTheJungleredux</feedburner:awareness></feed>
