<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-13838184</id><updated>2011-11-28T01:53:58.868+01:00</updated><category term='ruby'/><category term='clustering'/><category term='datanucleus'/><category term='odbms'/><category term='workflow'/><category term='bug'/><category term='etl'/><category term='poker'/><category term='pojo'/><category term='jpox'/><category term='amiga'/><category term='prettycode'/><category term='event'/><category term='regexp'/><category term='terracotta'/><category term='open source'/><category term='go-kart'/><category term='roma'/><category term='conference'/><category term='echo2'/><category term='validation'/><category term='logo'/><category term='asset'/><category term='orientdb'/><category term='mda'/><category term='grails'/><category term='cracking'/><category term='web 2.0'/><category term='javapolis'/><category term='rails'/><category term='luca'/><category term='xpath'/><category term='sun'/><category term='zen'/><category term='video'/><category term='portal'/><category term='loa'/><category term='nosql'/><category term='performance'/><category term='eclipse'/><category term='jasper'/><category term='romaframework'/><category term='mokabyte'/><category term='wave'/><category term='past'/><category term='database'/><category term='eng'/><category term='linux'/><category term='apache'/><category term='javafx'/><category term='xml'/><category term='ow2'/><category term='java'/><category term='graphdb'/><category term='seam'/><category term='refactoring'/><category term='jug'/><category term='ajax'/><category term='sourceforge'/><category term='jdo'/><category term='jvm'/><category term='javaday'/><category term='dbms'/><category term='irlanda'/><category term='portlet'/><category term='db4o'/><category term='commodore'/><category term='romulus'/><category term='ddd'/><category term='jasperreports'/><category term='freshmeat'/><category term='texas'/><category term='jpa'/><category term='ita'/><category term='persistence'/><category term='jboss'/><category term='tevere'/><category term='microsoft'/><category term='ror'/><category term='antipatterns'/><category term='fun'/><category term='framework'/><category term='jazoon'/><category term='attrazione'/><category term='acer'/><category term='assetdata'/><category term='gmail'/><category term='vista'/><category term='ide'/><category term='google'/><category term='intervista'/><title type='text'>Luca Garulli - The Zion City</title><subtitle type='html'>Luca works as &lt;b&gt;C.T.O.&lt;/b&gt; for &lt;b&gt;&lt;a href="http://www.AssetData.it"&gt;Asset Data&lt;/a&gt;&lt;/b&gt; company, a Software House specialized in the development and integration of open source products. He's the project leader of &lt;b&gt;&lt;a href="http://www.orientechnologies.com"&gt;OrientDB NoSQL Document DBMS&lt;/a&gt;&lt;/b&gt; and &lt;b&gt;&lt;a href="http://www.romaframework.org"&gt;Roma Meta Framework&lt;/a&gt;&lt;/b&gt; Open Source projects and member of &lt;b&gt;JDO 1.0&lt;/b&gt; and &lt;b&gt;JDO 2.0&lt;/b&gt; Expert Groups.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default?start-index=101&amp;max-results=100'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>131</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-13838184.post-4032599792462918430</id><published>2011-04-28T11:54:00.014+02:00</published><updated>2011-04-28T21:25:19.951+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='orientdb'/><title type='text'>GraphDB benchmark part II</title><content type='html'>&lt;div&gt;After some months since my last post about &lt;a href="http://www.orientechnologies.com/"&gt;OrientDB&lt;/a&gt; (sorry but I prefer &lt;a href="http://twitter.com/#!/lgarulli"&gt;micro-blogging&lt;/a&gt; than blogging...) I'm back to write some news about the &lt;a href="http://www.orientechnologies.com/"&gt;OrientDB&lt;/a&gt; engine.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The hard work has been the optimization at many levels:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;minimize the wasted space created by set/delete operations (HOLES)&lt;/li&gt;&lt;li&gt;minimize marshalling/unmarshalling operations, specially on LinkSet type responsible of relationships between vertices and edges&lt;/li&gt;&lt;li&gt;fine tuning of Transactions&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;The main difficulty has been reduce the Disk I/O when you update a record. In facts when you execute an update, rarely the serialized content size will be the same of the original size. In this case you've a new HOLE, namely a free space marked to being reused.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The problems I found with the HOLES were that small spaces aren't reused at all and huge defragmentation was present. This caused a global slowness and the growth of the database on disk (in some cases many times the original size). After 2 weeks of work I've published in the SVN and maven the new version of the &lt;a href="http://www.orientechnologies.com/"&gt;OrientDB&lt;/a&gt; storage with:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;In-line defrag&lt;/b&gt;: something like some File Systems already do by joining small holes all together. In-line defrag works while the database is online and in use&lt;/li&gt;&lt;li&gt;Improved the management of &lt;b&gt;small changes to records&lt;/b&gt;&lt;/li&gt;&lt;li&gt;2 &lt;b&gt;configurable strategies&lt;/b&gt; of how to find the best hole to join during defrag process&lt;/li&gt;&lt;li&gt;&lt;b&gt;configurable hole distance&lt;/b&gt; to decide when to join multiple holes all together&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;The gain of overall speed has been perceived by a lot of users. Since there are not benchmarks against GraphDB yet I've re-run the &lt;a href="https://github.com/tinkerpop/blueprints/wiki/"&gt;TinkerPop Blueprints&lt;/a&gt; Test Cases (see my &lt;a href="http://zion-city.blogspot.com/2010/09/orientdb-fastest-graphdb-available.html"&gt;previous post about this&lt;/a&gt;).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This test suite is part of &lt;a href="https://github.com/tinkerpop/blueprints/wiki/"&gt;TinkerPop Blueprints&lt;/a&gt; project and is &lt;b&gt;NOT a BENCHMARK&lt;/b&gt;, but just a lot of tests against GraphDB implementations to test the compliance level of them. So please don't flame about this. It's not an official benchmark, just a way to test how &lt;a href="http://www.orientechnologies.com/"&gt;OrientDB&lt;/a&gt; performs in comparison with other GraphDBs and with the previous releases of the same &lt;a href="http://www.orientechnologies.com/"&gt;OrientDB&lt;/a&gt;. More how OrientDB performs on different platforms. The comparison in this case is only with Neo4J (the market leader?) since DEX supports only few Test Cases and it wouldn't be fair. Note that both GraphDBs run with default settings.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;These are the results on a cheap Linux server (Linux CentOS, Intel Atom Dual Core 330 1,6Ghz, 1GB Ram DDR2, HD U-ATA 7200rpm):&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;table frame="VOID" cellspacing="0" cols="4" rules="NONE" border="0"&gt;  &lt;colgroup&gt;&lt;col width="199"&gt;&lt;col width="190"&gt;&lt;col width="86"&gt;&lt;col width="127"&gt;&lt;/colgroup&gt;  &lt;tbody&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" rowspan="2" width="199" height="42" align="CENTER"&gt;&lt;b&gt;Test name&lt;/b&gt;&lt;/td&gt;    &lt;td colspan="3" width="403" align="CENTER"&gt;&lt;i&gt;Times in ms. Less is better = faster&lt;/i&gt;&lt;/td&gt;    &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" bgcolor="#FF950E"&gt;OrientDB 1.0rc1 snapshot&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" bgcolor="#E6E6FF"&gt;Neo4J 1.3&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" bgcolor="#E6E6FF"&gt;+ faster, - slower&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="20" align="LEFT"&gt;VertexTestSuite&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" bgcolor="#FF950E" bg="" sdval="11190,8" sdnum="1040;2057;#,##0.00;[RED]-#,##0.00"&gt;&lt;span&gt;11,190.80&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" bgcolor="#E6E6FF" sdval="48354,85" sdnum="1040;2057;#,##0.00"&gt;48,354.85&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" bgcolor="#E6E6FF" sdval="4,32094667047932" sdnum="1040;0;&amp;quot;+&amp;quot;#.##0,0%;[RED]-#.##0,0%"&gt;+432,1%&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="20" align="LEFT"&gt;EdgeTestSuite&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" bgcolor="#FF950E" sdval="6421,55" sdnum="1040;2057;#,##0.00;[RED]-#,##0.00"&gt;6,421.55&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" bgcolor="#E6E6FF" sdval="24361,78" sdnum="1040;2057;#,##0.00"&gt;24,361.78&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" bgcolor="#E6E6FF" sdval="3,7937538444768" sdnum="1040;0;&amp;quot;+&amp;quot;#.##0,0%;[RED]-#.##0,0%"&gt;+379,4%&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="20" align="LEFT"&gt;GraphTestSuite&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" bgcolor="#FF950E" sdval="12642,21" sdnum="1040;2057;#,##0.00;[RED]-#,##0.00"&gt;12,642.21&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" bgcolor="#E6E6FF" sdval="36932,11" sdnum="1040;2057;#,##0.00"&gt;36,932.11&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" bgcolor="#E6E6FF" sdval="2,92133337446538" sdnum="1040;0;&amp;quot;+&amp;quot;#.##0,0%;[RED]-#.##0,0%"&gt;+292,1%&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="20" align="LEFT"&gt;IndexableGraphTestSuite&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" bgcolor="#FF950E" sdval="1173,55" sdnum="1040;2057;#,##0.00;[RED]-#,##0.00"&gt;1,173.55&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" bgcolor="#E6E6FF" sdval="2618" sdnum="1040;2057;#,##0.00"&gt;2,618.00&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" bgcolor="#E6E6FF" sdval="2,23083805547271" sdnum="1040;0;&amp;quot;+&amp;quot;#.##0,0%;[RED]-#.##0,0%"&gt;+223,1%&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="20" align="LEFT"&gt;IndexTestSuite&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" bgcolor="#FF950E" sdval="462,7" sdnum="1040;2057;#,##0.00;[RED]-#,##0.00"&gt;462.70&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" bgcolor="#E6E6FF" sdval="1052,32" sdnum="1040;2057;#,##0.00"&gt;1,052.32&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" bgcolor="#E6E6FF" sdval="2,27430300410633" sdnum="1040;0;&amp;quot;+&amp;quot;#.##0,0%;[RED]-#.##0,0%"&gt;+227,4%&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="20" align="LEFT"&gt;AutomaticIndexTestSuite&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" bgcolor="#FF950E" sdval="1719,91" sdnum="1040;2057;#,##0.00;[RED]-#,##0.00"&gt;1,719.91&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" bgcolor="#E6E6FF" sdval="4912,81" sdnum="1040;2057;#,##0.00"&gt;4,912.81&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" bgcolor="#E6E6FF" sdval="2,85643434830892" sdnum="1040;0;&amp;quot;+&amp;quot;#.##0,0%;[RED]-#.##0,0%"&gt;+285,6%&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="20" align="LEFT"&gt;TransactionGraphTestSuite&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" bgcolor="#FF950E" sdval="1603,59" sdnum="1040;2057;#,##0.00;[RED]-#,##0.00"&gt;1,603.59&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" bgcolor="#E6E6FF" sdval="4237,17" sdnum="1040;2057;#,##0.00"&gt;4,237.17&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" bgcolor="#E6E6FF" sdval="2,6423025835781" sdnum="1040;0;&amp;quot;+&amp;quot;#.##0,0%;[RED]-#.##0,0%"&gt;+264,2%&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="20" align="LEFT"&gt;GraphMLReaderTestSuite&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" bgcolor="#FF950E" sdval="1291,93" sdnum="1040;2057;#,##0.00;[RED]-#,##0.00"&gt;1,291.93&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" bgcolor="#E6E6FF" sdval="2365,85" sdnum="1040;2057;#,##0.00"&gt;2,365.85&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" bgcolor="#E6E6FF" sdval="1,83125246723894" sdnum="1040;0;&amp;quot;+&amp;quot;#.##0,0%;[RED]-#.##0,0%"&gt;+183,1%&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="20" align="LEFT"&gt;&lt;b&gt;Total&lt;/b&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" bgcolor="#FF950E" sdval="36506,24" sdnum="1040;2057;#,##0.00;[RED]-#,##0.00"&gt;&lt;b&gt;36,506.24&lt;/b&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" bgcolor="#E6E6FF" sdval="124834,89" sdnum="1040;2057;#,##0.00;[RED]-#,##0.00"&gt;&lt;b&gt;124,834.89&lt;/b&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" bgcolor="#E6E6FF" sdval="3,41954937018986" sdnum="1040;0;&amp;quot;+&amp;quot;#.##0,0%;[RED]-#.##0,0%"&gt;&lt;b&gt;+342,0%&lt;/b&gt;&lt;/td&gt;   &lt;/tr&gt;  &lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.orientechnologies.com/"&gt;OrientDB&lt;/a&gt; completes all the tests in less than a third of the time of Neo4J: &lt;b&gt;+342%&lt;/b&gt; faster than Neo4J!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The difference is lower running the same test against a MacBook Pro (OS X 10.6.7 64bit, 4GB Ram, CPU Intel core 2 duo 2.4ghz, HD 5400rpm):&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;table frame="VOID" cellspacing="0" cols="4" rules="NONE" border="0"&gt;  &lt;colgroup&gt;&lt;col width="199"&gt;&lt;col width="190"&gt;&lt;col width="86"&gt;&lt;col width="127"&gt;&lt;/colgroup&gt;  &lt;tbody&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" rowspan="2" width="199" height="41" align="CENTER"&gt;&lt;b&gt;Test name&lt;/b&gt;&lt;/td&gt;    &lt;td colspan="3" width="403" align="CENTER"&gt;&lt;i&gt;Times in ms. Less is better = faster&lt;/i&gt;&lt;/td&gt;    &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" bgcolor="#FF950E"&gt;OrientDB 1.0rc1 snapshot&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" bgcolor="#E6E6FF"&gt;Neo4J 1.3&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" bgcolor="#E6E6FF"&gt;+ faster, - slower&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="20" align="LEFT"&gt;VertexTestSuite&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" bg="" sdval="13380,67" bgcolor="#FF950E" sdnum="1040;2057;#,##0.00;[RED]-#,##0.00"&gt;&lt;span&gt;13,380.67&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" bgcolor="#E6E6FF" sdval="23647,54" sdnum="1040;2057;#,##0.00"&gt;23,647.54&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" bgcolor="#E6E6FF" sdval="1,7672911745077" sdnum="1040;0;&amp;quot;+&amp;quot;#.##0,0%;[RED]-#.##0,0%"&gt;+176,7%&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="20" align="LEFT"&gt;EdgeTestSuite&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" bgcolor="#FF950E" sdval="7508,78" sdnum="1040;2057;#,##0.00;[RED]-#,##0.00"&gt;7,508.78&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" bgcolor="#E6E6FF" sdval="14139,71" sdnum="1040;2057;#,##0.00"&gt;14,139.71&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" bgcolor="#E6E6FF" sdval="1,88309019574418" sdnum="1040;0;&amp;quot;+&amp;quot;#.##0,0%;[RED]-#.##0,0%"&gt;+188,3%&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="20" align="LEFT"&gt;GraphTestSuite&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" bgcolor="#FF950E" sdval="9514,58" sdnum="1040;2057;#,##0.00;[RED]-#,##0.00"&gt;9,514.58&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" bgcolor="#E6E6FF" sdval="18664,99" sdnum="1040;2057;#,##0.00"&gt;18,664.99&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" bgcolor="#E6E6FF" sdval="1,96172505775347" sdnum="1040;0;&amp;quot;+&amp;quot;#.##0,0%;[RED]-#.##0,0%"&gt;+196,2%&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="20" align="LEFT"&gt;IndexableGraphTestSuite&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" bgcolor="#FF950E" sdval="523,92" sdnum="1040;2057;#,##0.00;[RED]-#,##0.00"&gt;523.92&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" bgcolor="#E6E6FF" sdval="969,06" sdnum="1040;2057;#,##0.00"&gt;969.06&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" bgcolor="#E6E6FF" sdval="1,84963353183692" sdnum="1040;0;&amp;quot;+&amp;quot;#.##0,0%;[RED]-#.##0,0%"&gt;+185,0%&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="20" align="LEFT"&gt;IndexTestSuite&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" bgcolor="#FF950E" sdval="263,58" sdnum="1040;2057;#,##0.00;[RED]-#,##0.00"&gt;263.58&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" bgcolor="#E6E6FF" sdval="640,8" sdnum="1040;2057;#,##0.00"&gt;640.80&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" bgcolor="#E6E6FF" sdval="2,43114045071705" sdnum="1040;0;&amp;quot;+&amp;quot;#.##0,0%;[RED]-#.##0,0%"&gt;+243,1%&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="20" align="LEFT"&gt;AutomaticIndexTestSuite&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" bgcolor="#FF950E" sdval="1672,92" sdnum="1040;2057;#,##0.00;[RED]-#,##0.00"&gt;1,672.92&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" bgcolor="#E6E6FF" sdval="2943,86" sdnum="1040;2057;#,##0.00"&gt;2,943.86&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" bgcolor="#E6E6FF" sdval="1,75971355474261" sdnum="1040;0;&amp;quot;+&amp;quot;#.##0,0%;[RED]-#.##0,0%"&gt;+176,0%&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="20" align="LEFT"&gt;TransactionGraphTestSuite&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" bgcolor="#FF950E" sdval="1378,59" sdnum="1040;2057;#,##0.00;[RED]-#,##0.00"&gt;1,378.59&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" bgcolor="#E6E6FF" sdval="3047,77" sdnum="1040;2057;#,##0.00"&gt;3,047.77&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" bgcolor="#E6E6FF" sdval="2,21078783394628" sdnum="1040;0;&amp;quot;+&amp;quot;#.##0,0%;[RED]-#.##0,0%"&gt;+221,1%&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="20" align="LEFT"&gt;GraphMLReaderTestSuite&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" bgcolor="#FF950E" sdval="1418,21" sdnum="1040;2057;#,##0.00;[RED]-#,##0.00"&gt;1,418.21&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" bgcolor="#E6E6FF" sdval="1805,27" sdnum="1040;2057;#,##0.00"&gt;1,805.27&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" bgcolor="#E6E6FF" sdval="1,27292149963687" sdnum="1040;0;&amp;quot;+&amp;quot;#.##0,0%;[RED]-#.##0,0%"&gt;+127,3%&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="20" align="LEFT"&gt;&lt;b&gt;Total&lt;/b&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" bgcolor="#FF950E" sdval="35661,25" sdnum="1040;2057;#,##0.00;[RED]-#,##0.00"&gt;&lt;b&gt;35,661.25&lt;/b&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" bgcolor="#E6E6FF" sdval="65859" sdnum="1040;2057;#,##0.00;[RED]-#,##0.00"&gt;&lt;b&gt;65,859.00&lt;/b&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" bgcolor="#E6E6FF" sdval="1,84679448981738" sdnum="1040;0;&amp;quot;+&amp;quot;#.##0,0%;[RED]-#.##0,0%"&gt;&lt;b&gt;+184,7%&lt;/b&gt;&lt;/td&gt;   &lt;/tr&gt;  &lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In this case &lt;a href="http://www.orientechnologies.com/"&gt;OrientDB&lt;/a&gt; completes all the tests in about half time: &lt;b&gt;+184,7%&lt;/b&gt; faster than Neo4J. I was not able to complete all the tests on Windows 7 machine (Intel i7 720q, 4GB Ram, HD 7200rpm) since Neo4J gives errors and break the test suite:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;table frame="VOID" cellspacing="0" cols="4" rules="NONE" border="0"&gt;  &lt;colgroup&gt;&lt;col width="199"&gt;&lt;col width="190"&gt;&lt;col width="86"&gt;&lt;col width="127"&gt;&lt;/colgroup&gt;  &lt;tbody&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" rowspan="2" width="199" height="41" align="CENTER"&gt;&lt;b&gt;Test name&lt;/b&gt;&lt;/td&gt;    &lt;td colspan="3" width="403" align="CENTER"&gt;&lt;i&gt;Times in ms. Less is better = faster&lt;/i&gt;&lt;/td&gt;    &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" bgcolor="#FF950E"&gt;OrientDB 1.0rc1 snapshot&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" bgcolor="#E6E6FF"&gt;Neo4J 1.3&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" bgcolor="#E6E6FF"&gt;+ faster, - slower&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="20" align="LEFT"&gt;VertexTestSuite&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" bg="" sdval="7762,61" bgcolor="#FF950E" sdnum="1040;2057;#,##0.00;[RED]-#,##0.00"&gt;&lt;span&gt;7,762.61&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" bgcolor="#E6E6FF" sdval="51474,76" sdnum="1040;2057;#,##0.00"&gt;51,474.76&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" bgcolor="#E6E6FF" sdval="6,63111505022151" sdnum="1040;0;&amp;quot;+&amp;quot;#.##0,0%;[RED]-#.##0,0%"&gt;+663,1%&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="20" align="LEFT"&gt;EdgeTestSuite&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" bgcolor="#FF950E" sdval="6737,59" sdnum="1040;2057;#,##0.00;[RED]-#,##0.00"&gt;6,737.59&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" bgcolor="#E6E6FF" sdval="71479,28" sdnum="1040;2057;#,##0.00"&gt;71,479.28&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" bgcolor="#E6E6FF" sdval="10,6090278571418" sdnum="1040;0;&amp;quot;+&amp;quot;#.##0,0%;[RED]-#.##0,0%"&gt;+1.060,9%&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="20" align="LEFT"&gt;GraphTestSuite&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" bgcolor="#FF950E" sdval="7280,43" sdnum="1040;2057;#,##0.00;[RED]-#,##0.00"&gt;7,280.43&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" bgcolor="#E6E6FF" sdval="75695,77" sdnum="1040;2057;#,##0.00"&gt;75,695.77&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" bgcolor="#E6E6FF" sdval="10,3971564866361" sdnum="1040;0;&amp;quot;+&amp;quot;#.##0,0%;[RED]-#.##0,0%"&gt;+1.039,7%&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="20" align="LEFT"&gt;IndexableGraphTestSuite&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" bgcolor="#FF950E" sdval="2766,07" sdnum="1040;2057;#,##0.00;[RED]-#,##0.00"&gt;2,766.07&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" bg="" sdnum="1040;2057;#,##0.00"&gt;&lt;span&gt;Error&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" bgcolor="#E6E6FF" sdnum="1040;0;&amp;quot;+&amp;quot;#.##0,0%;[RED]-#.##0,0%"&gt;n.a.&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="20" align="LEFT"&gt;IndexTestSuite&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" bgcolor="#FF950E" sdval="1064,49" sdnum="1040;2057;#,##0.00;[RED]-#,##0.00"&gt;1,064.49&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" bg="" sdnum="1040;2057;#,##0.00"&gt;&lt;span&gt;Error&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" bgcolor="#E6E6FF" sdnum="1040;0;&amp;quot;+&amp;quot;#.##0,0%;[RED]-#.##0,0%"&gt;n.a.&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="20" align="LEFT"&gt;AutomaticIndexTestSuite&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" bgcolor="#FF950E" sdval="2796,08" sdnum="1040;2057;#,##0.00;[RED]-#,##0.00"&gt;2,796.08&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" bg="" sdnum="1040;2057;#,##0.00"&gt;&lt;span&gt;Error&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" bgcolor="#E6E6FF" sdnum="1040;0;&amp;quot;+&amp;quot;#.##0,0%;[RED]-#.##0,0%"&gt;n.a.&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="20" align="LEFT"&gt;TransactionGraphTestSuite&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" bgcolor="#FF950E" sdval="3471,8" sdnum="1040;2057;#,##0.00;[RED]-#,##0.00"&gt;3,471.80&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" bg="" sdnum="1040;2057;#,##0.00"&gt;&lt;span&gt;Error&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" bgcolor="#E6E6FF" sdnum="1040;0;&amp;quot;+&amp;quot;#.##0,0%;[RED]-#.##0,0%"&gt;n.a.&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="20" align="LEFT"&gt;GraphMLReaderTestSuite&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" bgcolor="#FF950E" sdval="3067,81" sdnum="1040;2057;#,##0.00;[RED]-#,##0.00"&gt;3,067.81&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" bg="" sdnum="1040;2057;#,##0.00"&gt;&lt;span&gt;Error&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" bgcolor="#E6E6FF" sdnum="1040;0;&amp;quot;+&amp;quot;#.##0,0%;[RED]-#.##0,0%"&gt;n.a.&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="20" align="LEFT"&gt;&lt;b&gt;Total&lt;/b&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" bgcolor="#FF950E" sdval="34946,88" sdnum="1040;2057;#,##0.00;[RED]-#,##0.00"&gt;&lt;b&gt;34,946.88&lt;/b&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" bgcolor="#E6E6FF" sdval="198649,81" sdnum="1040;2057;#,##0.00;[RED]-#,##0.00"&gt;&lt;b&gt;198,649.81&lt;/b&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" bgcolor="#E6E6FF" sdval="9,21243313133313" sdnum="1040;0;&amp;quot;+&amp;quot;#.##0,0%;[RED]-#.##0,0%"&gt;&lt;b&gt;+921,2%&lt;/b&gt;&lt;/td&gt;   &lt;/tr&gt;  &lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;However by looking at the 3 available tests &lt;a href="http://www.orientechnologies.com/"&gt;OrientDB&lt;/a&gt; outperforms Neo4J also on Windows machines of &lt;b&gt;+921,2%&lt;/b&gt;!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Another interesting point is about the platforms. Linux CentOS performs very well even if the underlying HW is cheaper &amp;amp; older than the other 2 machines.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I'm pretty satisfied of these results in relation to the previous ones where Neo4J performed better in some circumstances. Thank you to all the &lt;a href="http://www.orientechnologies.com/"&gt;OrientDB&lt;/a&gt; contributors and users that have made this possible! &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It's not time to rest or sleep, because the work is not yet ended: all the efforts now are for the 1.0 release.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"&gt;How to execute these test on my PC?&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To re-execute the same test on your machine just install &lt;a href="http://www.java.com/en/"&gt;Java 6&lt;/a&gt;, &lt;a href="http://git-scm.com/"&gt;Git&lt;/a&gt; and &lt;a href="http://maven.apache.org/"&gt;Apache Maven&lt;/a&gt;. Then execute these command in a shell (or command prompt if you've MS Windows):&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&amp;gt; git clone git://github.com/tinkerpop/blueprints.git&lt;/div&gt;&lt;div&gt;&amp;gt; cd blueprints&lt;/div&gt;&lt;div&gt;&amp;gt; mvn install&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now wait that all the software is compiled and all the tests start. Now you've your results. Please share them to the &lt;a href="https://groups.google.com/forum/#!forum/orient-database"&gt;OrientDB Group&lt;/a&gt; attaching your HW/SW configuration!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-4032599792462918430?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/4032599792462918430/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=4032599792462918430' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/4032599792462918430'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/4032599792462918430'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2011/04/graphdb-benchmark-part-ii.html' title='GraphDB benchmark part II'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-8476956229126329127</id><published>2010-11-23T12:05:00.010+01:00</published><updated>2010-11-23T12:15:30.052+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='event'/><title type='text'>Codemotion 2011, the most important Italian conference about programming</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.codemotion.it/sites/codemotion.it/files/image/codemotion_468_60.gif"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 468px; height: 60px;" src="http://www.codemotion.it/sites/codemotion.it/files/image/codemotion_468_60.gif" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span&gt;&lt;h3 style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; "&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-size: 13px; font-weight: normal; line-height: 19px;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;Save this date: March 5th 2011! In Rome, Italy there will be the most important conference about programming. The event is totally &lt;b&gt;FREE&lt;/b&gt;. About 1,500 attendees. Sessions in English and Italian languages.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;For information: &lt;a href="http://www.codemotion.it/"&gt;http://www.codemotion.it&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 20px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; color: rgb(82, 82, 77); line-height: 19px; "&gt;&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-8476956229126329127?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/8476956229126329127/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=8476956229126329127' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/8476956229126329127'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/8476956229126329127'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2010/11/codemotion-most-important-italian.html' title='Codemotion 2011, the most important Italian conference about programming'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-7171785949095844158</id><published>2010-10-19T15:26:00.001+02:00</published><updated>2010-10-19T15:26:55.277+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='zen'/><title type='text'>When someone is criticizing something you care...</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Arial, 'Helvetica Neue', sans-serif; font-size: 15px; color: rgb(68, 68, 68); line-height: 19px; "&gt;When someone is criticizing something you care, don't defend it till death, but ask him what's his idea to improve it! Both will growth. Lvc@&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-7171785949095844158?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/7171785949095844158/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=7171785949095844158' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/7171785949095844158'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/7171785949095844158'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2010/10/when-someone-is-criticizing-something.html' title='When someone is criticizing something you care...'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-7076362876722137856</id><published>2010-10-14T20:12:00.007+02:00</published><updated>2010-10-14T20:58:02.562+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='orientdb'/><category scheme='http://www.blogger.com/atom/ns#' term='graphdb'/><title type='text'>A standard for GraphDB</title><content type='html'>&lt;div&gt;Yesterday GraphDBs have covered a niche market. In the last period things are changed and they are becoming much more popular than ever. This is due to:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;The always growing need to have data &lt;b&gt;strongly interconnected&lt;/b&gt;. What better than a GraphDB for it?&lt;/li&gt;&lt;li&gt;Applications are much more "&lt;b&gt;social&lt;/b&gt;" than before. And social means relationships among subjects that perfectly bound to the Graph model&lt;/li&gt;&lt;li&gt;&lt;b&gt;Performance &lt;/b&gt;on large datasets. You can live without a pure GraphDB, and therefore continue to use a Relational DBMS, until you need a real fast access to your data&lt;/li&gt;&lt;li&gt;The &lt;b&gt;NoSQL&lt;/b&gt; movement has contributed a lot to change the mind of developers to focus to DBMS different (and sometime very different) from the Relational model.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: 13px; font-family: arial, sans-serif; "&gt;&lt;p style="max-width: 65em; "&gt;&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;&lt;span&gt;The GraphDB has few but strong concepts. Graphs are composed by:&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Vertex &lt;/b&gt;or Node, the linked entity. Vertexes can have properties.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Edge &lt;/b&gt;or Arc, as the link between the Vertexes. Edges can have properties and can be unidirectional or bidirectional&lt;/li&gt;&lt;li&gt;&lt;b&gt;Property&lt;/b&gt;, is a value to assign to Vertexes and Edges. A property has a name and a value&lt;/li&gt;&lt;/ul&gt;&lt;span&gt;&lt;span&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;Each GraphDB product is based upon the above concepts, but features can be very different among them. Furthermore there isn't a standard for them and an application can't migrate from one to another one at zero or low cost.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;This is the reason why I want to introduce the &lt;/span&gt;&lt;/span&gt;&lt;a href="http://github.com/tinkerpop/blueprints/wiki"&gt;&lt;b&gt;Tinkerpop Blueprints&lt;/b&gt;&lt;/a&gt;. This Open Source project aims to have a shared set of basic interfaces to abstract the concepts of Graph, Vertex, Edge and Property. In this way applications can easily migrate to another available implementation of the specification. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Furthermore &lt;a href="http://www.tinkerpop.com/"&gt;&lt;b&gt;Tinkerpop&lt;/b&gt;&lt;/a&gt;&lt;b&gt; &lt;/b&gt;has created a complete stack of tools and framework to work with Graphs. Below the main ones:&lt;/div&gt;&lt;span&gt;&lt;span&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://wiki.github.com/tinkerpop/gremlin"&gt;&lt;b&gt;Gremlin&lt;/b&gt;&lt;/a&gt;&lt;b&gt; &lt;/b&gt;is a Turing-complete, graph-based programming language designed for key/value-pair multi-relational graphs. Gremlin makes use of an XPath-like syntax to support complex graph traversals. This language has application in the areas of graph query, analysis, and manipulation.&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;a href="http://rexster.tinkerpop.com/"&gt;Rexster&lt;/a&gt; &lt;/b&gt;is a RESTful graph shell that exposes any Blueprints graph as a standalone server. Extensions support standard traversal goals such as search, score, rank, and, in concert, recommendation. Rexster makes extensive use of Blueprints, Pipes, and Gremlin. In this way its possible to run Rexster over various graph systems.&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;a href="http://pipes.tinkerpop.com/"&gt;Pipes&lt;/a&gt; &lt;/b&gt;is a graph-based data flow framework for Java 1.6+. A process graph is composed of a set of process vertices connected to one another by a set of communication edges. Pipes supports the splitting, merging, and transformation of data from input to output.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;(1) What do you think about this effort to standardize GraphDB?&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;(2) What is missed today in &lt;a href="http://github.com/tinkerpop/blueprints/wiki"&gt;Tinkerpop Blueprints&lt;/a&gt; API?&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;(3) Does a .NET porting make sense?&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; "&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-7076362876722137856?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/7076362876722137856/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=7076362876722137856' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/7076362876722137856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/7076362876722137856'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2010/10/standard-for-graphdb.html' title='A standard for GraphDB'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-9005356467101914584</id><published>2010-09-28T22:37:00.008+02:00</published><updated>2010-09-28T23:02:03.619+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='orientdb'/><category scheme='http://www.blogger.com/atom/ns#' term='nosql'/><title type='text'>Working on large datasets in OrientDB</title><content type='html'>I was really busy in the last 5 days because I'was working in a huge rewriting of the RB+Tree algorithm that is behind the &lt;a href="http://www.orientechnologies.com"&gt;OrientDB&lt;/a&gt; index system. All is started some days ago when in the &lt;a href="http://groups.google.com/group/orient-database"&gt;OrientDB Group&lt;/a&gt; the user &lt;a href="http://groups.google.com/group/orient-database/browse_thread/thread/186c175dd4ac7884/3fb89a572224c011#3fb89a572224c011"&gt;Mark Harwood&lt;/a&gt; was sharing the first experiences in the import of the entire &lt;a href="http://www.imdb.com/"&gt;Internet Movie Data Base (IMDB)&lt;/a&gt; inside an OrientDB instance. We're talking about 13 millions of &lt;a href="http://en.wikipedia.org/wiki/Vertex_(graph_theory)"&gt;Vertices&lt;/a&gt; and about 8 millions of Edges.&lt;br /&gt;&lt;br /&gt;Well, performance seemed good, specially in comparison with Neo4J, but the insertion time was not-linear and after some millions of records the engine slow down a lot. Furthermore a nasty bug in the management of multiple segments broke the import job after some minutes in his machine while on my PC all went correctly.&lt;br /&gt;&lt;br /&gt;This is the reason why I stopped the development of the Cluster feature in favor of a strong review of the RB+Tree algorithm. Indexing has been alway fast, but the Mark Harwood's case stressed the engine as no one did until now. The reason is in the import process itself that executes random reads into the index while the RB+Tree seemed optimized for sequential insertion and retrieval.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I'm fixing all the pending issues but first benchmarks show a speed improvement in Indexing between 100% and 800%! Furthermore times now are really linear. Inserting the first millions of Vertices is the same of the last million. This is a big result to the already super-fast OrientDB engine.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Once finished the test phase (with new Unit tests, of course) I'll commit all the changes in SVN to be reviewed by the community before the next release.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-9005356467101914584?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/9005356467101914584/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=9005356467101914584' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/9005356467101914584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/9005356467101914584'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2010/09/working-on-large-datasets-in-orientdb.html' title='Working on large datasets in OrientDB'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-4433677324074467768</id><published>2010-09-16T10:21:00.006+02:00</published><updated>2010-09-16T12:37:27.362+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='orientdb'/><category scheme='http://www.blogger.com/atom/ns#' term='nosql'/><title type='text'>Started the development of OrientDB clustering</title><content type='html'>Today is a new day, the day after the official release of OrientDB version 0.9.22. I apologize to all the requesters of the issues planned for this release and not yet finished and postponed to the 0.9.24. What is the reason?&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: center;"&gt;---&gt; &lt;b&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Replication, Clustering, Fault-Tolerance &lt;/span&gt;&lt;/b&gt;&lt;---&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Seems that the most missed feature in OrientDB is the support for clustering, and therefore&lt;i&gt; high scalability&lt;/i&gt;, &lt;i&gt;high availability&lt;/i&gt; and &lt;i&gt;high volume of transactions&lt;/i&gt; that a single node can't handle. In the last months I studied the whole different architectures of other NoSQL solutions for clustering.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Today is a new day because I'll start the development of clustering for OrientDB with the following features:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Master-Slaves&lt;/b&gt; type, where it can be only &lt;b&gt;one Master&lt;/b&gt; and &lt;b&gt;N Slaves&lt;/b&gt;. If the Master crashes a Slave is elected to be the new Master&lt;/li&gt;&lt;li&gt;&lt;b&gt;IP multicast&lt;/b&gt; to discover cluster nodes&lt;/li&gt;&lt;li&gt;Configuration of nodes using &lt;b&gt;TCP/IP&lt;/b&gt;, useful for Clouds that don't allow the IP multicast&lt;/li&gt;&lt;li&gt;Two sync modes: &lt;b&gt;full &lt;/b&gt;where all the database is compressed and sent over the network, and &lt;b&gt;partial &lt;/b&gt;by sending only the changes happened since the last sync&lt;/li&gt;&lt;li&gt;New database handled by the Master OrientDB Server instance to store all the pending records until a configurable &lt;b&gt;threshold&lt;/b&gt;. Up this threshold the logs are deleted and the node need a full-sync on startup&lt;/li&gt;&lt;li&gt;New console commands to &lt;b&gt;display nodes&lt;/b&gt;, &lt;b&gt;listen&lt;/b&gt; clustering messages and &lt;b&gt;elect &lt;/b&gt;the master manually&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;The release 0.9.23 is planned for the October 15th, 2010. Stay tuned and contribute with comments, ideas or critiques.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-4433677324074467768?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/4433677324074467768/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=4433677324074467768' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/4433677324074467768'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/4433677324074467768'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2010/09/started-development-of-orientdb.html' title='Started the development of OrientDB clustering'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-6505914063255817990</id><published>2010-09-15T18:09:00.002+02:00</published><updated>2010-09-15T18:19:46.160+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='orientdb'/><category scheme='http://www.blogger.com/atom/ns#' term='graphdb'/><category scheme='http://www.blogger.com/atom/ns#' term='nosql'/><category scheme='http://www.blogger.com/atom/ns#' term='dbms'/><title type='text'>Released OrientDB 0.9.22</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; "&gt;&lt;span style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; "&gt;Hi all,&lt;/span&gt;&lt;div&gt;&lt;span style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; "&gt;many thanks to all the contributors for this new piece of software. A new version of &lt;b&gt;OrientDB &lt;/b&gt;has been released after more than 1 month of work (and holidays).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; "&gt;Starting from this version you can use OrientDB as a pure &lt;b&gt;GraphDB &lt;/b&gt;using the custom API (&lt;/span&gt;&lt;a href="http://code.google.com/p/orient/wiki/GraphDatabase" target="_blank" style="color: rgb(20, 125, 186); "&gt;http://code.google.com/p/&lt;wbr&gt;orient/wiki/GraphDatabase&lt;/a&gt;), by the &lt;b&gt;&lt;a href="http://www.tinkerpop.com"&gt;Tinkerpop&lt;/a&gt; &lt;/b&gt;stack (Blueprints, Gremlin, Pipes, etc.) or again by using the Erlang language with the &lt;b&gt;Cali &lt;/b&gt;project (&lt;a href="http://github.com/dmitriid/cali" target="_blank" style="color: rgb(20, 125, 186); "&gt;http://github.com/dmitriid/&lt;wbr&gt;cali&lt;/a&gt;).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; "&gt;Direct URL to download: &lt;a href="http://orient.googlecode.com/files/orientdb-0.9.22.zip" target="_blank" style="color: rgb(20, 125, 186); "&gt;http://orient.googlecode.&lt;wbr&gt;com/files/orient-database-0.9.&lt;wbr&gt;22.zip&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;New features:&lt;/div&gt;&lt;div&gt;- Issue  21: Full text index against schema fields&lt;/div&gt;&lt;div&gt;- Issue  91: SQL UPDATE against collections and maps&lt;/div&gt;&lt;div&gt;- Issue  94: Support for GREMLIN graph language&lt;/div&gt;&lt;div&gt;- Issue 108: Regular expression support in WHERE clause&lt;/div&gt;&lt;div&gt;- Issue 109: Support for memory clusters inside regular persistent database&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Bugs:&lt;/div&gt;&lt;div&gt;- Issue  86: Cannot insert record from console&lt;/div&gt;&lt;div&gt;- Issue  87: Cannot query records from OrientDB Studio Command-page&lt;/div&gt;&lt;div&gt;- Issue 100: Transaction does not work as expected&lt;/div&gt;&lt;div&gt;- Issue 101: Error in using orient queries having ' character&lt;/div&gt;&lt;div&gt;- Issue 104: Bulk record creation in cluster with pre-created indices causes ClassCastException&lt;/div&gt;&lt;div&gt;- Issue 105: Error in using UPDATE query&lt;/div&gt;&lt;div&gt;- Fixed other minor bugs&lt;/div&gt;&lt;br /&gt;The next release is planned for the end of September 2010 with the first version of Clustering support. Here the details: &lt;a href="http://code.google.com/p/orient/issues/list?q=label:v0.9.23" target="_blank" style="color: rgb(20, 125, 186); "&gt;http://code.google.&lt;wbr&gt;com/p/orient/issues/list?q=&lt;wbr&gt;label:v0.9.23&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;To test the OrientDB Studio go here: &lt;a href="http://www.moobilis.com:2480/" target="_blank" style="color: rgb(20, 125, 186); "&gt;http://www.moobilis.com:&lt;wbr&gt;2480&lt;/a&gt;. Users: reader/reader and writer/writer. To manage the server: root/root.&lt;br /&gt;&lt;br /&gt;If you'd like to suggest some new feature for the next releases please open a New Issue as "New feature": &lt;a href="http://code.google.com/p/orient/issues/entry?template=New%20feature" target="_blank" style="color: rgb(20, 125, 186); "&gt;http://code.google.&lt;wbr&gt;com/p/orient/issues/entry?&lt;wbr&gt;template=New%20feature&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-6505914063255817990?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/6505914063255817990/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=6505914063255817990' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/6505914063255817990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/6505914063255817990'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2010/09/released-orientdb-0922.html' title='Released OrientDB 0.9.22'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-5713955456976189279</id><published>2010-09-11T21:45:00.004+02:00</published><updated>2010-09-15T18:07:23.517+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='orientdb'/><category scheme='http://www.blogger.com/atom/ns#' term='graphdb'/><title type='text'>Erlang interface for OrientDB and micro-benchmark between NoSQL DBMSs</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Ng9D76byQk0/TIvfny3RBXI/AAAAAAAAAwo/E8raah2EfZE/s1600/erlang-bench.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 190px;" src="http://2.bp.blogspot.com/_Ng9D76byQk0/TIvfny3RBXI/AAAAAAAAAwo/E8raah2EfZE/s400/erlang-bench.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5515748043406771570" /&gt;&lt;/a&gt;&lt;div style="text-align: left;"&gt;&lt;a href="http://github.com/dmitriid"&gt;Dmitrii 'Mamut' Dimandt&lt;/a&gt; made a micro benchmark against &lt;a href="http://neo4j.org/"&gt;Neo4J&lt;/a&gt;, &lt;a href="http://code.google.com/p/redis/"&gt;Redis&lt;/a&gt;, ThinkerGraph (in memory only) and &lt;a href="http://www.orientechnologies.com/"&gt;OrientDB&lt;/a&gt; using the erlang language. These are the results:&lt;a href="http://github.com/dmitriid/cali/wiki/Benchmarks-of-sorts"&gt;http://github.com/dmitriid/cali/wiki/Benchmarks-of-sorts&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.orientechnologies.com/"&gt;OrientDB&lt;/a&gt; is the fastest implementation (only ThinkerGraph is faster but it's not a DBMS since works only in memory). It's nice to see that &lt;a href="http://www.orientechnologies.com/"&gt;OrientDB&lt;/a&gt; performance are very close to the in-memory only implementation.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-5713955456976189279?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/5713955456976189279/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=5713955456976189279' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/5713955456976189279'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/5713955456976189279'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2010/09/erlang-interface-for-orientdb-and-micro.html' title='Erlang interface for OrientDB and micro-benchmark between NoSQL DBMSs'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Ng9D76byQk0/TIvfny3RBXI/AAAAAAAAAwo/E8raah2EfZE/s72-c/erlang-bench.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-7435168545611580900</id><published>2010-09-09T15:06:00.016+02:00</published><updated>2010-09-15T18:07:38.833+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='orientdb'/><category scheme='http://www.blogger.com/atom/ns#' term='graphdb'/><title type='text'>OrientDB the fastest GraphDB available today?</title><content type='html'>Two days ago I've finished the integration of the last part of the &lt;a href="http://github.com/tinkerpop/blueprints"&gt;Blueprints&lt;/a&gt;: the Index. Now &lt;a href="http://www.orientechnologies.com/"&gt;OrientDB&lt;/a&gt; can be used as for &lt;a href="http://neo4j.org/"&gt;Neo4J&lt;/a&gt; with the entire &lt;a href="http://www.tinkerpop.com/"&gt;ThinkerPop&lt;/a&gt; stack. This include the &lt;a href="http://github.com/tinkerpop/gremlin"&gt;Gremlin&lt;/a&gt; language as well.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;First tests shows that &lt;a href="http://www.orientechnologies.com/"&gt;OrientDB&lt;/a&gt; outperforms &lt;a href="http://neo4j.org/"&gt;Neo4J&lt;/a&gt;, the market leader of GraphDB, in all the tests but the iteration (and therefore counting). This is due to the implementation of the Blueprints that need to create a new wrapper object to contain the &lt;a href="http://www.orientechnologies.com/"&gt;OrientDB&lt;/a&gt;'s OGraphVertex and OGraphEdge objects. I've some ideas to improve it, but I need more time for it. Maybe in the next weeks or earlier if some users need it. However using native &lt;a href="http://www.orientechnologies.com/"&gt;OrientDB&lt;/a&gt; Graph APIs this overhead is removed.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;These are the results:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;table frame="VOID" cellspacing="0" cols="5" rules="NONE" border="0"&gt;  &lt;colgroup&gt;&lt;col width="183"&gt;&lt;col width="328"&gt;&lt;col width="96"&gt;&lt;col width="59"&gt;&lt;col width="116"&gt;&lt;/colgroup&gt;  &lt;tbody&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" rowspan="2" width="183" height="34" align="CENTER"&gt;&lt;b&gt;&lt;span style="font-size:78%;"&gt;Test name&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" rowspan="2" width="328" align="LEFT"&gt;&lt;b&gt;&lt;span style="font-size:78%;"&gt;Description&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" colspan="2" width="154" align="CENTER"&gt;&lt;b&gt;&lt;span style="font-size:78%;"&gt;Time in ms (less is better)&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" width="116" align="CENTER"&gt;&lt;b&gt;&lt;span style="font-size:78%;"&gt;OrientDB vs Neo4J&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER"&gt;&lt;b&gt;&lt;span style="font-size:78%;"&gt;OrientDB 0.9.22&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER"&gt;&lt;b&gt;&lt;span style="font-size:78%;"&gt;Neo4J&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER"&gt;&lt;b&gt;&lt;span style="font-size:78%;"&gt;+ faster, - slower&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="17" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;testVertexEquality&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;1 vertex added and retrieved in&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="4,74" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;span class="Apple-style-span" style="color:#FF0000;"&gt;4.74&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="2,33" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;span class="Apple-style-span" style="color:#FF0000;"&gt;2.33&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" sdval="-2,0343347639485" sdnum="1040;0;+#.##0,0%;[RED]-#.##0,0%"&gt;&lt;span style="font-size:78%;"&gt;&lt;span class="Apple-style-span" style="color:#FF0000;"&gt;-203,4%&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="17" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;testRemoveVertexNullId&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;1000 vertices added in &lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="216,73" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;216.73&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="2070,74" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;2,070.74&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" sdval="9,55446869376644" sdnum="1040;0;+#.##0,0%;[RED]-#.##0,0%"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;+955,4%&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="17" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;1000 vertices deleted in&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="1093,71" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;1,093.71&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="1910,02" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;1,910.02&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" sdval="1,74636786716771" sdnum="1040;0;+#.##0,0%;[RED]-#.##0,0%"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;+174,6%&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="17" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;testVertexIterator&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;5000 vertices added in&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="476,62" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;4&lt;b&gt;76.62&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="8314,04" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;8,314.04&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" sdval="17,4437497377366" sdnum="1040;0;+#.##0,0%;[RED]-#.##0,0%"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;+1.744,4%&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="17" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;5000 vertices counted in&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="86,94" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;span class="Apple-style-span" style="color:#FF0000;"&gt;86.94&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="1,6" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;span class="Apple-style-span" style="color:#FF0000;"&gt;1.60&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" sdval="-54,3375" sdnum="1040;0;+#.##0,0%;[RED]-#.##0,0%"&gt;&lt;span style="font-size:78%;"&gt;&lt;span class="Apple-style-span" style="color:#FF0000;"&gt;-5.433,8% &lt;span class="Apple-style-span" style="font-size:medium;"&gt;*&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="17" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;testAddManyVertexProperties&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;750 vertex properties added (with vertices being added too) in&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="72,34" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;72.34&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="43437,29" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;43,437.29&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" sdval="600,460188001106" sdnum="1040;0;+#.##0,0%;[RED]-#.##0,0%"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;+60.046,0%&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="17" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;testAddEdges&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;6 elements added and checked in&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="0,79" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;0.79&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="30,7" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;30.70&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" sdval="38,8607594936709" sdnum="1040;0;+#.##0,0%;[RED]-#.##0,0%"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;+3.886,1%&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="17" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;testAddManyEdges&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;3000 elements added in&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="2314,44" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;2,314.44&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="8031,12" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;8,031.12&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" sdval="3,47000570332348" sdnum="1040;0;+#.##0,0%;[RED]-#.##0,0%"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;+347,0%&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="17" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;1000 edges counted in&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="8,45" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;8.45&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="12,54" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;12.54&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" sdval="1,48402366863905" sdnum="1040;0;+#.##0,0%;[RED]-#.##0,0%"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;+148,4%&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="17" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;2000 vertices counted in&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="31,62" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;span class="Apple-style-span" style="color:#FF0000;"&gt;31.62&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="0,51" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;span class="Apple-style-span" style="color:#FF0000;"&gt;0.51&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" sdval="-62" sdnum="1040;0;+#.##0,0%;[RED]-#.##0,0%"&gt;&lt;span style="font-size:78%;"&gt;&lt;span class="Apple-style-span" style="color:#FF0000;"&gt;-6.200,0% &lt;span class="Apple-style-span" style="font-size:medium;"&gt;*&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="17" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;2000 vertices checked in&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="98,27" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;span class="Apple-style-span" style="color:#FF0000;"&gt;98.27&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="14,05" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;span class="Apple-style-span" style="color:#FF0000;"&gt;14.05&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" sdval="-6,99430604982206" sdnum="1040;0;+#.##0,0%;[RED]-#.##0,0%"&gt;&lt;span style="font-size:78%;"&gt;&lt;span class="Apple-style-span" style="color:#FF0000;"&gt;-699,4% &lt;span class="Apple-style-span" style="font-size:medium;"&gt;*&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="17" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;testGetEdges&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;3 edges retrieved in&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="0,45" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;span class="Apple-style-span" style="color:#FF0000;"&gt;0.45&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="0,12" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;span class="Apple-style-span" style="color:#FF0000;"&gt;0.12&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" sdval="-3,75" sdnum="1040;0;+#.##0,0%;[RED]-#.##0,0%"&gt;&lt;span style="font-size:78%;"&gt;&lt;span class="Apple-style-span" style="color:#FF0000;"&gt;-375,0%&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="17" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;testRemoveManyEdges&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;200 vertices counted in&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="167,28" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;span class="Apple-style-span" style="color:#FF0000;"&gt;167.28&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="0,14" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;span class="Apple-style-span" style="color:#FF0000;"&gt;0.14&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" sdval="-1194,85714285714" sdnum="1040;0;+#.##0,0%;[RED]-#.##0,0%"&gt;&lt;span style="font-size:78%;"&gt;&lt;span class="Apple-style-span" style="color:#FF0000;"&gt;-119.485,7% &lt;span class="Apple-style-span" style="font-size:medium;"&gt;*&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="17" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;100 edges counted in&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="34,92" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;span class="Apple-style-span" style="color:#FF0000;"&gt;34.92&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="0,79" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;span class="Apple-style-span" style="color:#FF0000;"&gt;0.79&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" sdval="-44,2025316455696" sdnum="1040;0;+#.##0,0%;[RED]-#.##0,0%"&gt;&lt;span style="font-size:78%;"&gt;&lt;span class="Apple-style-span" style="color:#FF0000;"&gt;-4.420,3%&lt;span class="Apple-style-span" style="font-size:medium;"&gt; *&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="17" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;100 edges removed and graph checked in&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="20555,44" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;span class="Apple-style-span" style="color:#FF0000;"&gt;20,555.44&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="332,54" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;span class="Apple-style-span" style="color:#FF0000;"&gt;332.54&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" sdval="-61,8134359776268" sdnum="1040;0;+#.##0,0%;[RED]-#.##0,0%"&gt;&lt;span style="font-size:78%;"&gt;&lt;span class="Apple-style-span" style="color:#FF0000;"&gt;-6.181,3%&lt;span class="Apple-style-span" style="font-size:medium;"&gt; *&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="17" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;testStringRepresentation&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;1 graph string representation generated in&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="0,008" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;0.01&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="0,005" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;0.01&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" sdval="-1,6" sdnum="1040;0;+#.##0,0%;[RED]-#.##0,0%"&gt;&lt;span style="font-size:78%;"&gt;100,0%&lt;/span&gt;&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="17" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;testClear&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;75 elements added in&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="45,89" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;45.89&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="152,87" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;152.87&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" sdval="3,33122684680758" sdnum="1040;0;+#.##0,0%;[RED]-#.##0,0%"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;+333,1%&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="17" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;75 elements deleted in&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="30,76" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;30.76&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="422,05" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;422.05&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" sdval="13,7207412223667" sdnum="1040;0;+#.##0,0%;[RED]-#.##0,0%"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;+1.372,1%&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="17" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;testRemovingEdges&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;500 vertices added in&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="133,62" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;133.62&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="974,37" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;974.37&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" sdval="7,29209699146834" sdnum="1040;0;+#.##0,0%;[RED]-#.##0,0%"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;+729,2%&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="17" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;1000 edges added in&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="1130,64" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;1,130.64&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="4521,9" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;4,521.90&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" sdval="3,99941625981745" sdnum="1040;0;+#.##0,0%;[RED]-#.##0,0%"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;+399,9%&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="17" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;1000 edges deleted (with size check on each delete) in&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="36773,66" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;span class="Apple-style-span" style="color:#FF0000;"&gt;36,773.66&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="4411,69" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;span class="Apple-style-span" style="color:#FF0000;"&gt;4,411.69&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" sdval="-8,33550408120244" sdnum="1040;0;+#.##0,0%;[RED]-#.##0,0%"&gt;&lt;span style="font-size:78%;"&gt;&lt;span class="Apple-style-span" style="color:#FF0000;"&gt;-833,6% &lt;span class="Apple-style-span" style="font-size:medium;"&gt;*&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="17" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;testRemovingVertices&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;500 vertices added in&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="10,48" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;10.48&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="1110,03" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;1,110.03&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" sdval="105,918893129771" sdnum="1040;0;+#.##0,0%;[RED]-#.##0,0%"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;+10.591,9%&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="17" align="CENTER"&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;250 edges added in&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="132,32" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;132.32&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="1089,45" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;1,089.45&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" sdval="8,2334492140266" sdnum="1040;0;+#.##0,0%;[RED]-#.##0,0%"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;+823,3%&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="17" align="CENTER"&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;500 vertices deleted (with size check on each delete) in&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="70675,74" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;span class="Apple-style-span" style="color:#FF0000;"&gt;70,675.74&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="2140,07" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;span class="Apple-style-span" style="color:#FF0000;"&gt;2,140.07&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" sdval="-33,0249664730593" sdnum="1040;0;+#.##0,0%;[RED]-#.##0,0%"&gt;&lt;span style="font-size:78%;"&gt;&lt;span class="Apple-style-span" style="color:#FF0000;"&gt;-3.302,5% &lt;span class="Apple-style-span" style="font-size:medium;"&gt;*&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="17" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;testTreeConnectivity&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;1464 vertices added in a tree structure in&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="1506,82" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;1,506.82&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="5832,02" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;5,832.02&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" sdval="3,87041584263548" sdnum="1040;0;+#.##0,0%;[RED]-#.##0,0%"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;+387,0%&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="17" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;1464 vertices iterated in&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="427,67" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;span class="Apple-style-span" style="color:#FF0000;"&gt;427.67&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="0,75" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;span class="Apple-style-span" style="color:#FF0000;"&gt;0.75&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" sdval="-570,226666666667" sdnum="1040;0;+#.##0,0%;[RED]-#.##0,0%"&gt;&lt;span style="font-size:78%;"&gt;&lt;span class="Apple-style-span" style="color:#FF0000;"&gt;-57.022,7% &lt;span class="Apple-style-span" style="font-size:medium;"&gt;*&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="17" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;1463 edges iterated in&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="9,89" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;span class="Apple-style-span" style="color:#FF0000;"&gt;9.89&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="5,39" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;span class="Apple-style-span" style="color:#FF0000;"&gt;5.39&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" sdval="-1,83487940630798" sdnum="1040;0;+#.##0,0%;[RED]-#.##0,0%"&gt;&lt;span style="font-size:78%;"&gt;&lt;span class="Apple-style-span" style="color:#FF0000;"&gt;-183,5% &lt;span class="Apple-style-span" style="font-size:medium;"&gt;*&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="17" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;testTinkerGraphEdges&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;graph-example-1 loaded in&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="43,75" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;43.75&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="541,15" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;541.15&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" sdval="12,3691428571429" sdnum="1040;0;+#.##0,0%;[RED]-#.##0,0%"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;+1.236,9%&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="17" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;testTinkerGraphVertices&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;graph-example-1 loaded in&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="6,81" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;6.81&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="520,29" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;520.29&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" sdval="76,4008810572687" sdnum="1040;0;+#.##0,0%;[RED]-#.##0,0%"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;+7.640,1%&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="17" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;testTinkerGraphSoftwareVertices&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;graph-example-1 loaded in&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="5,31" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;5.31&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="543,02" sdnum="1040;2057;#,##0.00"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;543.02&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" sdval="102,263653483992" sdnum="1040;0;+#.##0,0%;[RED]-#.##0,0%"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;+10.226,4%&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" height="17" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;testTinkerGraphVertexAndEdges&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="LEFT"&gt;&lt;span style="font-size:78%;"&gt;graph-example-1 loaded in&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="5,01" sdnum="1040;2057;General"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;5.01&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="544,17" sdnum="1040;2057;General"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;544.17&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;    &lt;td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="CENTER" sdval="108,616766467066" sdnum="1040;0;+#.##0,0%;[RED]-#.##0,0%"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;+10.861,7%&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;   &lt;/tr&gt;  &lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; color: rgb(255, 0, 0); "&gt;&lt;span class="Apple-style-span" style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; color: rgb(255, 0, 0); "&gt;&lt;span class="Apple-style-span" style="font-size:medium;"&gt;* &lt;/span&gt;&lt;/span&gt;are the tests with iteration&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-7435168545611580900?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/7435168545611580900/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=7435168545611580900' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/7435168545611580900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/7435168545611580900'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2010/09/orientdb-fastest-graphdb-available.html' title='OrientDB the fastest GraphDB available today?'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-119969424219781199</id><published>2010-08-12T14:07:00.006+02:00</published><updated>2010-09-15T18:08:10.652+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='orientdb'/><category scheme='http://www.blogger.com/atom/ns#' term='db4o'/><title type='text'></title><content type='html'>&lt;div style="text-align: justify;"&gt;Yesterday &lt;a href="http://twitter.com/abigdreamer"&gt;Mike Tallent&lt;/a&gt;, via Twitter, made his congratulations to me for my recent "Db4o community award".&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Is it a joke? The reason seems to reside in the homepage of TevereFlow that claims to support db4o. After some private messages with a db4o guy I explained that TevereFlow supports db4o since it uses DataNucleus as OR-Mapping and it supports db4o. Therefore TevereFlow can run on top of db4o but the support is indirect. All clear.&lt;/div&gt;&lt;br /&gt;But after some days I found my name in the "&lt;span style="font-weight:bold;"&gt;&lt;a href="http://developer.db4o.com/Resources/ProfessionalCommunity/db4oMostValuedProfessional/dVPDirectory2010.aspx"&gt;DB4O MOST VALUES PROFESSIONAL&lt;/a&gt;&lt;/span&gt;" list:&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;img src="http://4.bp.blogspot.com/_Ng9D76byQk0/TGPoCGPu2AI/AAAAAAAAAvw/Pjb-sV73wDE/s400/db4o.jpg" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 252px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5504498292310857730" /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Thanks a lot, but I never have written a single line of code for/with db4o!&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Furthermore I'm the author of &lt;a href="http://www.orientechnologies.com/"&gt;OrientDB&lt;/a&gt;, a competitor of db4o.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;So is it a joke? :-)&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-119969424219781199?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/119969424219781199/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=119969424219781199' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/119969424219781199'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/119969424219781199'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2010/08/yesterday-mike-tallent-via-twitter-made.html' title=''/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Ng9D76byQk0/TGPoCGPu2AI/AAAAAAAAAvw/Pjb-sV73wDE/s72-c/db4o.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-8744658859593317360</id><published>2010-06-12T00:25:00.003+02:00</published><updated>2010-06-12T00:37:19.570+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mda'/><category scheme='http://www.blogger.com/atom/ns#' term='ddd'/><category scheme='http://www.blogger.com/atom/ns#' term='roma'/><category scheme='http://www.blogger.com/atom/ns#' term='eng'/><category scheme='http://www.blogger.com/atom/ns#' term='romaframework'/><title type='text'>Published the Roma presentation for the Open Source Italian Conference in Cagliari, Italy</title><content type='html'>Check out this SlideShare Presentation: &lt;div style="width: 425px;" id="__ss_4478788"&gt;&lt;strong style="display: block; margin: 12px 0pt 4px;"&gt;&lt;a href="http://www.slideshare.net/lvca/roma-introduction-and-concepts" title="Roma introduction and concepts"&gt;Roma introduction and concepts&lt;/a&gt;&lt;/strong&gt;&lt;object id="__sse4478788" height="355" width="425"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=romaintroductionandconcepts-100611170503-phpapp02&amp;amp;stripped_title=roma-introduction-and-concepts"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;embed name="__sse4478788" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=romaintroductionandconcepts-100611170503-phpapp02&amp;amp;stripped_title=roma-introduction-and-concepts" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="355" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div style="padding: 5px 0pt 12px;"&gt;View more &lt;a href="http://www.slideshare.net/"&gt;presentations&lt;/a&gt; from &lt;a href="http://www.slideshare.net/lvca"&gt;Luca Garulli&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-8744658859593317360?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/8744658859593317360/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=8744658859593317360' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/8744658859593317360'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/8744658859593317360'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2010/06/roma-introduction-and-concepts.html' title='Published the Roma presentation for the Open Source Italian Conference in Cagliari, Italy'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-4352634527040261426</id><published>2010-06-11T18:46:00.003+02:00</published><updated>2010-09-15T18:07:09.652+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='orientdb'/><category scheme='http://www.blogger.com/atom/ns#' term='nosql'/><category scheme='http://www.blogger.com/atom/ns#' term='dbms'/><category scheme='http://www.blogger.com/atom/ns#' term='eng'/><title type='text'>Published the OrientDB presentation for the Open Source Italian Conference in Cagliari, Italy</title><content type='html'>Check out this SlideShare Presentation: &lt;div style="width: 425px;" id="__ss_4476629"&gt;&lt;strong style="display: block; margin: 12px 0pt 4px;"&gt;&lt;a href="http://www.slideshare.net/lvca/orient-db-introduction" title="Orient db introduction"&gt;Orient db introduction&lt;/a&gt;&lt;/strong&gt;&lt;object id="__sse4476629" height="355" width="425"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=orientdbintroduction-100611113558-phpapp01&amp;amp;stripped_title=orient-db-introduction"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;embed name="__sse4476629" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=orientdbintroduction-100611113558-phpapp01&amp;amp;stripped_title=orient-db-introduction" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="355" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div style="padding: 5px 0pt 12px;"&gt;View more &lt;a href="http://www.slideshare.net/"&gt;presentations&lt;/a&gt; from &lt;a href="http://www.slideshare.net/lvca"&gt;lvca&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;&lt;script src="http://b.scorecardresearch.com/beacon.js?c1=7&amp;amp;c2=7400849&amp;amp;c3=1&amp;amp;c4=&amp;amp;c5=&amp;amp;c6="&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-4352634527040261426?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/4352634527040261426/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=4352634527040261426' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/4352634527040261426'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/4352634527040261426'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2010/06/published-orientdb-presentation-for.html' title='Published the OrientDB presentation for the Open Source Italian Conference in Cagliari, Italy'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-5047570223122742455</id><published>2010-02-19T00:38:00.008+01:00</published><updated>2010-02-19T00:54:19.421+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='roma'/><category scheme='http://www.blogger.com/atom/ns#' term='romaframework'/><category scheme='http://www.blogger.com/atom/ns#' term='romulus'/><title type='text'>Romulus workshop in Madrid</title><content type='html'>Madrid, February 18th 2010. The day seems to be finished and it has been a pretty long day for me. This morning wake up at 7:30 o'clock, 8:30 breakfast at the Starbucks in front at the hotel and then straightforward to the &lt;a href="http://www.upm.es/"&gt;Universidad Politécnica de Madrid (UP&lt;/a&gt;&lt;a href="http://www.upm.es/"&gt;M)&lt;/a&gt; for the Romulus meeting and for the Romulus Workshop in the afternoon.&lt;br /&gt;&lt;br /&gt;Today I've presented Roma Meta Framework to a bunch of students and some business IT men interested on the fast developing of Web Applications following the DDD approach, the Meta Framework philosophy and obviously &lt;a href="http://www.romaframework.org"&gt;Roma&lt;/a&gt;. We have had a hands-on session where almost all the attendees tried to follow me step by step on the building of a simple social application. I hope today the Roma community welcomes some new committers.&lt;br /&gt;&lt;br /&gt;Below some photos shooted by Marco.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Ng9D76byQk0/S33RMyTQRuI/AAAAAAAAAm0/PpPar3oc8Rc/s1600-h/P1030398.JPG"&gt;&lt;img style="cursor: pointer; width: 200px; height: 150px;" src="http://3.bp.blogspot.com/_Ng9D76byQk0/S33RMyTQRuI/AAAAAAAAAm0/PpPar3oc8Rc/s200/P1030398.JPG" alt="" id="BLOGGER_PHOTO_ID_5439733942524593890" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Ng9D76byQk0/S33PkHWDFFI/AAAAAAAAAms/sUhSTEOMLWk/s1600-h/P1030386.JPG"&gt;&lt;img style="cursor: pointer; width: 200px; height: 150px;" src="http://3.bp.blogspot.com/_Ng9D76byQk0/S33PkHWDFFI/AAAAAAAAAms/sUhSTEOMLWk/s200/P1030386.JPG" alt="" id="BLOGGER_PHOTO_ID_5439732144287192146" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Ng9D76byQk0/S33RU0Xq2nI/AAAAAAAAAm8/s4fjJGceScg/s1600-h/P1030400.JPG"&gt;&lt;img style="cursor: pointer; width: 200px; height: 150px;" src="http://1.bp.blogspot.com/_Ng9D76byQk0/S33RU0Xq2nI/AAAAAAAAAm8/s4fjJGceScg/s200/P1030400.JPG" alt="" id="BLOGGER_PHOTO_ID_5439734080518937202" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Ng9D76byQk0/S33RkeiAL9I/AAAAAAAAAnM/czIAk0rx0AM/s1600-h/P1030413.JPG"&gt;&lt;img style="cursor: pointer; width: 200px; height: 150px;" src="http://1.bp.blogspot.com/_Ng9D76byQk0/S33RkeiAL9I/AAAAAAAAAnM/czIAk0rx0AM/s200/P1030413.JPG" alt="" id="BLOGGER_PHOTO_ID_5439734349534605266" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Ng9D76byQk0/S33RehWMuLI/AAAAAAAAAnE/rI0gy4XI3s8/s1600-h/P1030402.JPG"&gt;&lt;img style="cursor: pointer; width: 200px; height: 150px;" src="http://2.bp.blogspot.com/_Ng9D76byQk0/S33RehWMuLI/AAAAAAAAAnE/rI0gy4XI3s8/s200/P1030402.JPG" alt="" id="BLOGGER_PHOTO_ID_5439734247211186354" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Ng9D76byQk0/S33RotSL_GI/AAAAAAAAAnU/8-2z3jTAA-Y/s1600-h/P1030415.JPG"&gt;&lt;img style="cursor: pointer; width: 200px; height: 150px;" src="http://1.bp.blogspot.com/_Ng9D76byQk0/S33RotSL_GI/AAAAAAAAAnU/8-2z3jTAA-Y/s200/P1030415.JPG" alt="" id="BLOGGER_PHOTO_ID_5439734422214278242" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Anyone is in Madrid until Saturday morning?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-5047570223122742455?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/5047570223122742455/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=5047570223122742455' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/5047570223122742455'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/5047570223122742455'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2010/02/romulus-workshop-in-madrid.html' title='Romulus workshop in Madrid'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_Ng9D76byQk0/S33RMyTQRuI/AAAAAAAAAm0/PpPar3oc8Rc/s72-c/P1030398.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-3036319914908220672</id><published>2010-02-13T18:13:00.009+01:00</published><updated>2010-09-15T18:08:17.642+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='orientdb'/><category scheme='http://www.blogger.com/atom/ns#' term='nosql'/><category scheme='http://www.blogger.com/atom/ns#' term='dbms'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><title type='text'>Orient DB almost ready for the show time!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.orientechnologies.com/"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 220px; height: 220px;" src="http://www.orientechnologies.com/images/orient_sun_logo.png" alt="" border="0" /&gt;&lt;/a&gt;After some weekends of work I've in my hands the first version of &lt;a href="http://www.orientechnologies.com/"&gt;Orient DB&lt;/a&gt;! I wrote a lot of Unit Tests that helped me a lot on the heavy refactoring in order to achieve the best performance than ever. The main features of &lt;a href="http://www.orientechnologies.com/"&gt;Orient&lt;/a&gt; are:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Full &lt;span style="font-weight: bold;"&gt;ACID&lt;/span&gt;: Optimistic transaction available with recovery of aborted transactions when the engine restarts. Tested with &lt;span style="font-weight: bold;"&gt;1 billion&lt;/span&gt; of records even with simulated crashes during the commit phase. Pessimistic (with object-level locking) transaction in the next releases.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Extremely light&lt;/span&gt;: less than 400kb of jar without any dependency with other libraries&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Super fast&lt;/span&gt;: stores 1,000,000 (yes one million) of records in 3.5 seconds on common hardware (my notebook). The &lt;span style="font-weight: bold;"&gt;KeyValue&lt;/span&gt; engine stores 100,000 entries indexed in 9 seconds. &lt;span style="font-weight: bold;"&gt;Lookups &lt;/span&gt;are so fast as memory access.&lt;/li&gt;&lt;li&gt;tested up to 1 billion of records, but the limits are up to &lt;b&gt;9.223.372.036 Billions.&lt;/b&gt; Actually I think I'll never will be able to include this test in my Unit tests :-)&lt;/li&gt;&lt;li&gt;A lot of cool features such as Asynchronous Queries, SQL language, Partitioning of data, native sharding support, and more&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Requires: Java5 or major and run on all the most used Operative Systems.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;What about the license? I have no choose yet, maybe LGPL?&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.orientechnologies.com/"&gt;http://www.orientechnologies.com&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-3036319914908220672?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/3036319914908220672/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=3036319914908220672' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/3036319914908220672'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/3036319914908220672'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2010/02/orient-db-almost-ready-for-show-time.html' title='Orient DB almost ready for the show time!'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-8959307095947757066</id><published>2009-12-24T12:32:00.001+01:00</published><updated>2009-12-24T12:34:42.163+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='roma'/><category scheme='http://www.blogger.com/atom/ns#' term='tevere'/><category scheme='http://www.blogger.com/atom/ns#' term='workflow'/><title type='text'>Released TevereFlow, the first workflow engine with a Web Editor</title><content type='html'>&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.tevereflow.org/"&gt;&lt;img src="http://www.tevereflow.org/img/logo_tevere.jpg" border="0" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;Starting from December 22nd 2009 is available the new version of TevereFlow.&lt;/p&gt;&lt;p&gt;Tevere Flow is a light-weight Workflow engine built using the Java® technology. Just download it and create your process using the Web interface. You can use Tevere as embedded or as external engine by using the provided Web Services API.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;span class="Apple-style-span" style=""&gt;Tevere was built using &lt;a href="http://www.romaframework.org/"&gt;Roma Framework&lt;/a&gt; under the &lt;a href="http://www.blogger.com//"&gt;Romulus&lt;/a&gt; consortium an it's currently used in several production systems.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="Apple-style-span" style=""&gt;&lt;/span&gt;Main  features:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Open  Source&lt;/strong&gt; Apache 2.0 license&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Web&lt;/strong&gt; User Interface using the &lt;strong&gt;Ajax&lt;/strong&gt; technology&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Stand-alone&lt;/strong&gt; application: just download and start it&lt;/li&gt;&lt;li&gt;Fully &lt;strong&gt;Transactional&lt;/strong&gt; supporting any &lt;strong&gt;RDBMS&lt;/strong&gt; or db4o &lt;strong&gt;ODBMS&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;Set of &lt;strong&gt;built-in  commands&lt;/strong&gt; available (email, web service invocation, etc.)&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Auto-resume&lt;/strong&gt; of failure activities&lt;/li&gt;&lt;li&gt;&lt;strong&gt;User&lt;/strong&gt; and &lt;strong&gt;profile&lt;/strong&gt; management&lt;/li&gt;&lt;li&gt;Activities  can be written in Java or using any supported scripting language such as &lt;strong&gt;Javascript&lt;/strong&gt; and &lt;strong&gt;Ruby&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;Integration  via &lt;strong&gt;Java APIs&lt;/strong&gt; or &lt;strong&gt;WebService&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-8959307095947757066?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/8959307095947757066/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=8959307095947757066' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/8959307095947757066'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/8959307095947757066'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2009/12/starting-from-december-22nd-2009-is.html' title='Released TevereFlow, the first workflow engine with a Web Editor'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-3197155022599098003</id><published>2009-12-22T10:52:00.009+01:00</published><updated>2009-12-22T11:06:48.128+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='freshmeat'/><category scheme='http://www.blogger.com/atom/ns#' term='roma'/><category scheme='http://www.blogger.com/atom/ns#' term='romaframework'/><title type='text'>Search on Freshmeat</title><content type='html'>After I've posted the last release 2.1.0 of Roma Meta Framework on Source Forge I tried to search the project by typing &lt;a href="http://freshmeat.net/search?q=roma&amp;amp;submit=Search"&gt;"Roma"&lt;/a&gt; in the search field of Freshmeat home page:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;span style="font-weight: bold;"&gt;0 search results for: roma &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;What???? If I type &lt;a href="http://freshmeat.net/search?q=roma+framework&amp;amp;submit=Search"&gt;"Roma Framework"&lt;/a&gt;: the result is always 0 (zero) results but with the result table filled:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Ng9D76byQk0/SzCYEDoD9fI/AAAAAAAAAmI/7pmeXspk0uw/s1600-h/freshmeat2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 109px;" src="http://2.bp.blogspot.com/_Ng9D76byQk0/SzCYEDoD9fI/AAAAAAAAAmI/7pmeXspk0uw/s400/freshmeat2.png" alt="" id="BLOGGER_PHOTO_ID_5417997547186943474" border="0" /&gt;&lt;/a&gt;Maybe they require an exact search? Not properly, since if I try to search for &lt;a href="http://freshmeat.net/search?q=framework&amp;amp;submit=Search"&gt;"framework"&lt;/a&gt;:&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;1941 search results for: framework&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;What kind of search is it?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-3197155022599098003?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/3197155022599098003/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=3197155022599098003' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/3197155022599098003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/3197155022599098003'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2009/12/search-on-freshmeat.html' title='Search on Freshmeat'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Ng9D76byQk0/SzCYEDoD9fI/AAAAAAAAAmI/7pmeXspk0uw/s72-c/freshmeat2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-6207823573686083532</id><published>2009-10-01T10:09:00.010+02:00</published><updated>2009-10-01T10:55:08.284+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='odbms'/><category scheme='http://www.blogger.com/atom/ns#' term='terracotta'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><title type='text'>Terracotta as distributed DBMS? Bad idea!</title><content type='html'>Some months ago I have had a fucking genius idea about a new application. In order to start working to my idea I need to distributed at large tons of objects in several nodes around the Internet. After a deep research about all the best solutions available now I decided to try Terracotta.&lt;br /&gt;&lt;br /&gt;Basically I need a real distributed Object repository so why don't create a simple Object DBMS virtually all in RAM and let to &lt;a href="http://www.terracotta.org/"&gt;Terracotta&lt;/a&gt; most of the hard work?&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Handle the cache on nodes&lt;/li&gt;&lt;li&gt;Manage the object/page fault in a transparent way for the application&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Share the load among nodes&lt;/li&gt;&lt;li&gt; And obviously: &lt;span style="font-weight: bold;"&gt;read/write objects in persistent way&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;So I've developed a very simple library that uses the JDK 1.6+ TreeMap to collect data and to query them. I was surprised to discover how much terracotta makes a good job in hiding the dirty work and complexity of data distribution.&lt;br /&gt;&lt;br /&gt;But before to think to use this piece of code in a production system I need to be sure that the objects became really persistent in ACID way. For this reason I developed some Test Cases as microbenchmarks to see the real throughtput and if data are written in synchronous way to the disk. This was my test using the library I wrote:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;UserDatabase db = ServerNode.getInstance().connect("petshop", null, null);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;clazz = db.getClazz("Animal");&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;for( int i = 0; i &lt; 100000; ++i ){&lt;br /&gt; UserObjectTransient object = clazz.createObject();&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; object.setValue("name", "Gaudi");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; object.setValue("description", "My crazy ferret!");&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt; object.setValue("from", "Barcelona, Spain");&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt; object.create();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Pretty nice, don't you? The &lt;a href="http://www.terracotta.org/"&gt;Terracotta&lt;/a&gt; server instance was on a remote server with 1GB of heap and enought bandwitch available and the client runned on my laptop. Yes I know, this is a microbenchmark and can't tell to me the performance in all the scenarios. But to go on on my experiments I needed to know if I was totally crazy or if there was a way to build a robust &amp;amp; scalable solution to satisfy my needs.&lt;br /&gt;&lt;br /&gt;Well, in this test my library + &lt;a href="http://www.terracotta.org/"&gt;Terracotta&lt;/a&gt; (after some tuning by reading the documentation and the forum) are able to write around &lt;span style="font-weight: bold;"&gt;190 objects per second&lt;/span&gt;. Not really bad for the first release and in comparison to a RDBMS solution. But I've stored just a dynabean with two properties... I remember in the past (about 8 years ago!) when I tried a real ODBMS (Orient ODBMS) it was able to store 100x of this solution using a 8-years-old hardware!&lt;br /&gt;&lt;br /&gt;But the really bad news is another one: When the "for cycle 100.000" was finished and the application seemed to be succesfully ended I noted that the console had no control. The test was still running! After 10 seconds I killed the java process and counted the objects created (using the Terracotta console): 99.345!&lt;br /&gt;&lt;br /&gt;Where are the 655 objects missed? Ok, probably I got wrong about ACID features. No, the &lt;a href="http://www.terracotta.org/"&gt;Terracotta&lt;/a&gt; documentation tells ACID! But how it can be ACID if the client sends the objects to the server in asynchronous way?&lt;br /&gt;&lt;br /&gt;I'm pretty confident that it would be exist in any point of configuration the real synchronous mode but even though it exists what about the performance? If this ASYNCHRONOUS solution was able for 190 obejcts/sec as throughtput the synchronous one must be much more slow!&lt;br /&gt;&lt;br /&gt;These are the reasons why I abandoned this path. &lt;a href="http://www.terracotta.org/"&gt;Terracotta&lt;/a&gt; surely fits well in traditional replication contexts and the product is really good on documentation, presentation, APIs, etc. But for my needs I have to continue in searching...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-6207823573686083532?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/6207823573686083532/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=6207823573686083532' title='21 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/6207823573686083532'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/6207823573686083532'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2009/10/terracotta-as-distributed-dbms-bad-idea.html' title='Terracotta as distributed DBMS? Bad idea!'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>21</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-8433688615235797488</id><published>2009-09-21T10:00:00.010+02:00</published><updated>2009-09-21T10:14:16.554+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='terracotta'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><title type='text'>Remove the persistence layer at all to scale up?</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Ng9D76byQk0/Src0nEfr52I/AAAAAAAAAkc/doY7tjfNKkA/s1600-h/escher-stairs-g.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 257px; height: 241px;" src="http://1.bp.blogspot.com/_Ng9D76byQk0/Src0nEfr52I/AAAAAAAAAkc/doY7tjfNKkA/s400/escher-stairs-g.gif" alt="" id="BLOGGER_PHOTO_ID_5383829725370902370" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In these days I'm working for a brand new idea that need to scale out (close to the infinite?) and after a lot of thoughts about its architecture I'm seriously evaluating to remove the persistence layer using a distributed in-memory cache, obviously with the "fail-over" feature: &lt;a href="http://www.terracotta.org/"&gt;Terracotta&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Terracorra, under the hood, records all changes happened to the objects using &lt;span style="font-weight: bold;"&gt;BerkeleyDB&lt;/span&gt;. All is transparent to the application and on crash the server swaps to another one configured without interruption and leaving all &lt;span style="font-weight: bold;"&gt;objects consistent&lt;/span&gt;. Or, at least, it seems to be so.&lt;br /&gt;&lt;br /&gt;Does anyone have never used Terracotta in a real-world application without a DBMS to store data?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-8433688615235797488?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/8433688615235797488/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=8433688615235797488' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/8433688615235797488'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/8433688615235797488'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2009/09/remove-database-at-all.html' title='Remove the persistence layer at all to scale up?'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_Ng9D76byQk0/Src0nEfr52I/AAAAAAAAAkc/doY7tjfNKkA/s72-c/escher-stairs-g.gif' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-1781361443759767020</id><published>2009-09-17T09:08:00.012+02:00</published><updated>2009-09-17T09:29:48.899+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='roma'/><category scheme='http://www.blogger.com/atom/ns#' term='eng'/><category scheme='http://www.blogger.com/atom/ns#' term='romaframework'/><title type='text'>Roma Framework and the Virtual Objects</title><content type='html'>Yesterday night I've committed in the Roma's SVN (revision: 4479) source repository the first version of &lt;span style="font-weight: bold;"&gt;Virtual Objects&lt;/span&gt;. Virtual Objects are like POJO, but built dinamically just using a descriptor, in this case a XML file. The XSD is the same of Roma XML annotations but now allows to specify the field type and in future declaring inheritance and other stuff.&lt;br /&gt;&lt;br /&gt;Action implementation can be written using any scripting language is supported by JSR 223, Javascript in primis.&lt;br /&gt;&lt;br /&gt;Roma treats Virtual Objects in the same way of POJO, so you can define an Employee at the fly in this way:&lt;br /&gt;&lt;link rel="stylesheet" type="text/css" href="http://www.manoli.net/csharpformat/csharp.css"/&gt;&lt;br /&gt;&lt;pre class="csharpcode"&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;&amp;lt;?&lt;/span&gt;&lt;span class="html"&gt;xml&lt;/span&gt; &lt;span class="attr"&gt;version&lt;/span&gt;&lt;span class="kwrd"&gt;="1.0"&lt;/span&gt; &lt;span class="attr"&gt;encoding&lt;/span&gt;&lt;span class="kwrd"&gt;="UTF-8"&lt;/span&gt; &lt;span class="attr"&gt;standalone&lt;/span&gt;&lt;span class="kwrd"&gt;="no"&lt;/span&gt;?&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;class&lt;/span&gt; &lt;span class="attr"&gt;xmlns&lt;/span&gt;&lt;span class="kwrd"&gt;="http://www.romaframework.org/xml/roma"&lt;/span&gt; &lt;span class="attr"&gt;xmlns:xsd&lt;/span&gt;&lt;span class="kwrd"&gt;="http://www.w3.org/2001/XMLSchema-instance"&lt;/span&gt;&lt;br /&gt;    &lt;span class="attr"&gt;xsd:schemaLocation&lt;/span&gt;&lt;span class="kwrd"&gt;="http://www.romaframework.org/xml/roma http://www.romaframework.org/schema/v2/roma.xsd"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;aspects&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;view&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;form&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;area&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="main"&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="column"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;area&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="fields"&lt;/span&gt; &lt;span class="attr"&gt;size&lt;/span&gt;&lt;span class="kwrd"&gt;="2"&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="grid"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;area&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="actions"&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="row"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;area&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;form&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;view&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;aspects&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;fields&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;field&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="id"&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="Integer"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;field&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="name"&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="String"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;field&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="surname"&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="String"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;field&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="born"&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="Date"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;field&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="age"&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="Integer"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;aspects&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;view&lt;/span&gt; &lt;span class="attr"&gt;enabled&lt;/span&gt;&lt;span class="kwrd"&gt;="false"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;aspects&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;field&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;field&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="salary"&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="Float"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;fields&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;actions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;action&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="refresh"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;aspects&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;scripting&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;                    org.romaframework.core.Roma.objectChanged(me);&lt;br /&gt;                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;scripting&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;aspects&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;action&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;action&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="print"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;aspects&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;scripting&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;                    print(age);&lt;br /&gt;                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;scripting&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;aspects&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;action&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;action&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="login"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;aspects&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;scripting&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;                    print('Login...');&lt;br /&gt;                    org.romaframework.frontend.RomaFrontend.flow().forward("ProjectLogin");&lt;br /&gt;                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;scripting&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;aspects&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;action&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;actions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;events&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;event&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="show"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;aspects&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;scripting&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;                &lt;span class="kwrd"&gt;&amp;lt;!&lt;/span&gt;[CDATA[&lt;br /&gt;                    age=32;&lt;br /&gt;                    Roma.fieldChanged(me, ["age"]);&lt;br /&gt;                ]]&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;scripting&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;aspects&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;event&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;events&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;class&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;And this is the result:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Ng9D76byQk0/SrHiXEnDKdI/AAAAAAAAAkU/eO8XJd5Uof4/s1600-h/virtual-object.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 130px;" src="http://3.bp.blogspot.com/_Ng9D76byQk0/SrHiXEnDKdI/AAAAAAAAAkU/eO8XJd5Uof4/s320/virtual-object.png" alt="" id="BLOGGER_PHOTO_ID_5382331915686848978" border="0" /&gt;&lt;/a&gt;Note that changes to the XML files are loaded in real-time enabling a real productive development (and production why not) environment.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-1781361443759767020?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/1781361443759767020/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=1781361443759767020' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/1781361443759767020'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/1781361443759767020'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2009/09/roma-framework-and-virtual-objects.html' title='Roma Framework and the Virtual Objects'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_Ng9D76byQk0/SrHiXEnDKdI/AAAAAAAAAkU/eO8XJd5Uof4/s72-c/virtual-object.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-5390330691013161383</id><published>2009-08-24T16:44:00.006+02:00</published><updated>2009-08-24T16:55:39.786+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='google'/><category scheme='http://www.blogger.com/atom/ns#' term='wave'/><title type='text'>New Google Wave account</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://mobile.hdblog.it/wp-content/uploads/2009/07/google_wave_logo.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 375px; height: 300px;" src="http://mobile.hdblog.it/wp-content/uploads/2009/07/google_wave_logo.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Yesterday I've received my Google Wave account as developer.&lt;br /&gt;&lt;br /&gt;I've played for some minutes and it's really awesome even though I don't know no one that own it as well to play together with all the features!&lt;br /&gt;&lt;br /&gt;Once returned from holidays I'll try to go deep to the APIs in order to know how to integrate it inside &lt;a href="http://www.romaframework.org/"&gt;Roma Meta Framework&lt;/a&gt; and &lt;a href="http://www.ict-romulus.eu/"&gt;Romulus&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-5390330691013161383?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/5390330691013161383/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=5390330691013161383' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/5390330691013161383'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/5390330691013161383'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2009/08/new-google-wave-account.html' title='New Google Wave account'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-5658240556379093661</id><published>2009-06-03T22:49:00.004+02:00</published><updated>2009-06-03T22:52:33.962+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='fun'/><title type='text'>At leat one good reason to use Linux</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://slashweb.org/wp-content/uploads/2009/05/sandwich.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 360px; height: 299px;" src="http://slashweb.org/wp-content/uploads/2009/05/sandwich.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;With this picture someone convinced me to pass to the Linux OS ;-)&lt;br /&gt;&lt;br /&gt;Taken from &lt;a href="http://slashweb.org/"&gt;http://slashweb.org&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-5658240556379093661?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/5658240556379093661/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=5658240556379093661' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/5658240556379093661'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/5658240556379093661'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2009/06/at-leat-one-good-reason-to-use-linux.html' title='At leat one good reason to use Linux'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-6384472084585984041</id><published>2009-05-27T23:55:00.004+02:00</published><updated>2009-05-28T00:09:34.619+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='ror'/><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='rails'/><category scheme='http://www.blogger.com/atom/ns#' term='roma'/><category scheme='http://www.blogger.com/atom/ns#' term='grails'/><category scheme='http://www.blogger.com/atom/ns#' term='romaframework'/><title type='text'>Scripting RAD tools such as Ruby on Rails and Grails can be really slow?</title><content type='html'>&lt;a href="http://tiagofernandez.blogspot.com/2009/05/java-integration-with-groovy-jruby-and.html"&gt;Tiago Fernandez in his blog&lt;/a&gt; reported some results about benchmarks using Java, JRuby, Groovy and Scala. I know: we can talk about benchmarks for days but in the Internet there are a lot of them and the performance problems of the scripting language is not a news.&lt;br /&gt;&lt;br /&gt;Results show that Groovy is &lt;span style="font-weight: bold;"&gt;very slow&lt;/span&gt; in comparison to the pure Java and the Scala scripting language. This could be a serious reason to be worried when your application created with Grails or RoR goes in production...&lt;br /&gt;&lt;br /&gt;So, why don't you use a real Java RAD tool like &lt;a href="http://www.romaframework.org"&gt;Roma Meta Framework&lt;/a&gt;? :-)&lt;br /&gt;&lt;br /&gt;You can develop shortly without using a scripting language with the benefits of great &lt;span style="font-weight: bold;"&gt;refactoring &lt;/span&gt;support (Eclipse, Netbeans and IntelliJ are master on it) and&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;performance &lt;/span&gt;and &lt;span style="font-weight: bold;"&gt;scalability!&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;The source: &lt;a href="http://tiagofernandez.blogspot.com/2009/05/java-integration-with-groovy-jruby-and.html"&gt;http://tiagofernandez.blogspot.com/2009/05/java-integration-with-groovy-jruby-and.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-6384472084585984041?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/6384472084585984041/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=6384472084585984041' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/6384472084585984041'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/6384472084585984041'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2009/05/scripting-rad-tools-such-as-ruby-on.html' title='Scripting RAD tools such as Ruby on Rails and Grails can be really slow?'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-5294160536599223060</id><published>2009-05-25T18:07:00.004+02:00</published><updated>2009-05-25T18:21:53.713+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='romulus'/><title type='text'>Romulus at the Internet of Services 2009 conference</title><content type='html'>&lt;span style="font-size:100%;"&gt;On June, 10th 2009 I will be in Brussels to present the Romulus demo at the "&lt;/span&gt;&lt;span style="font-size:100%;"&gt;Internet of Services 2009&lt;/span&gt;&lt;span style="font-size:100%;"&gt;" conference. Romulus project is scheduled in the afternoon. Below the agenda.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Group 2: June 10, 13:30 - 17:30&lt;/span&gt;&lt;p&gt;&lt;span style="font-size:100%;"&gt;• Semantically enhanced SLA Negotiation (BREIN)&lt;br /&gt;• Automated Service Level Agreement Management Framework - Adhoc Demonstrator  (SLA@SOI)&lt;br /&gt;• TEAM: Knowledge management in distributed software communities by applying  semantic technologies (TEAM)&lt;br /&gt;• Decentralized transactional collaborative drawing (SELFMAN)&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; • Romulus: your answer to improving productivity in Java Web Applications  (ROMULUS)&lt;/span&gt;&lt;br /&gt;• Edutain@Grid: A Service-Oriented Infrastructure for Future Real-Time  Interactive Internet Applications (edutain@grid)&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-5294160536599223060?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://ec.europa.eu/information_society/events/ssai/ios/index_en.htm' title='Romulus at the Internet of Services 2009 conference'/><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/5294160536599223060/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=5294160536599223060' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/5294160536599223060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/5294160536599223060'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2009/05/romulus-at-internet-of-services-2009.html' title='Romulus at the Internet of Services 2009 conference'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-575641086389577898</id><published>2009-05-19T12:22:00.004+02:00</published><updated>2009-05-19T12:43:09.647+02:00</updated><title type='text'>Luca in the first page of Google searching for "Java JSR"</title><content type='html'>Today Mara told me that searching "Java JSR" in Google (at least in the Italian version), in the first page compares my face and this blog... I've tried and is real! What nice thing :-)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Ng9D76byQk0/ShKL6dslr3I/AAAAAAAAAcw/tZKmzOarJno/s1600-h/luca-jsr.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 250px;" src="http://3.bp.blogspot.com/_Ng9D76byQk0/ShKL6dslr3I/AAAAAAAAAcw/tZKmzOarJno/s400/luca-jsr.jpg" alt="" id="BLOGGER_PHOTO_ID_5337482344907779954" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-575641086389577898?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/575641086389577898/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=575641086389577898' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/575641086389577898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/575641086389577898'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2009/05/luca-jsr.html' title='Luca in the first page of Google searching for &quot;Java JSR&quot;'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_Ng9D76byQk0/ShKL6dslr3I/AAAAAAAAAcw/tZKmzOarJno/s72-c/luca-jsr.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-7094858137965757787</id><published>2009-05-06T22:43:00.007+02:00</published><updated>2009-05-06T23:10:19.380+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='datanucleus'/><category scheme='http://www.blogger.com/atom/ns#' term='roma'/><category scheme='http://www.blogger.com/atom/ns#' term='romaframework'/><title type='text'>Transparent DataNucleus enhancement at run-time</title><content type='html'>Today it has worked! In the last days I was working to avoid the enhancement phase in the building of Roma Framework projects. Yes. Until yesterday you needed to invoke the "persistence-compile" task in your Roma project and all the projects that contained persistent classes.&lt;br /&gt;&lt;br /&gt;Furthermore pre-packaged modules such as ADMIN, USERS, MESSAGING and SCHEDULER-QUARTZ needed to self-execute the enhancement in order to put persistence capable classes inside the JAR. This was a mess if you needed to change the ORM binding since anything resided inside the JAR.&lt;br /&gt;&lt;br /&gt;I have to check yet if run-time changes to the entity POJOs are auto-enhanced at the fly... If works the productivity would be speedup over and over again.&lt;br /&gt;&lt;br /&gt;Thanks to Andy Jefferson of DataNucleus team in supporting my crazy requestes :-) The work tomorrow will be in changing all the wizards to support the new configuration. In few words the change consist in:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Let to the PersistenceAspect to invoke the Enhancer at startup&lt;/li&gt;&lt;li&gt;Create the file persistence.xml inside the src/META-INF folder.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;Once everything works I'll commit in to the SVN trunk for the upcoming release 2.0.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-7094858137965757787?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/7094858137965757787/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=7094858137965757787' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/7094858137965757787'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/7094858137965757787'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2009/05/transparent-datanucleus-enhancement-at.html' title='Transparent DataNucleus enhancement at run-time'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-3541250089275274102</id><published>2009-04-25T00:20:00.005+02:00</published><updated>2009-04-25T00:54:31.583+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='asset'/><category scheme='http://www.blogger.com/atom/ns#' term='assetdata'/><category scheme='http://www.blogger.com/atom/ns#' term='roma'/><category scheme='http://www.blogger.com/atom/ns#' term='romulus'/><title type='text'>Romulus technical meeting in Madrid</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://en.wikipedia.org/wiki/Segovia"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 222px;" src="http://2.bp.blogspot.com/_Ng9D76byQk0/SfJCFh7bJZI/AAAAAAAAAcM/Mv_HIgL7rxg/s320/segovia.jpg" alt="" id="BLOGGER_PHOTO_ID_5328393971907110290" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Today has finished the 3-days technical meeting of &lt;a href="http://www.ict-romulus.eu/"&gt;Romulus&lt;/a&gt;. In the first day we've worked in the &lt;a href="http://www2.upm.es/institucional"&gt;UPM&lt;/a&gt; (Universitad Politecnica de Madrid) class room.&lt;br /&gt;&lt;br /&gt;For the second day Carlos Iglesias has organized the entire working day in &lt;a href="http://en.wikipedia.org/wiki/Segovia"&gt;Segovia&lt;/a&gt;, a beautiful city at about one hour from Madrid. We've worked inside a agritourism and eaten a lot of home made food. In the afternoon we have had the social roundtrip in the Segovia city. If you're in Madrid you can't not to visit Segovia! There are a lot of monuments in a so small city. The catedral, the Fortress and the Roman waterworks, all in perfect state. It seems they was built in the past year.&lt;br /&gt;&lt;br /&gt;This morning we went back to the UPM class room in order to finish the last pending works and give the new action points. &lt;a href="http://www.assetdata.it/"&gt;Asset Data&lt;/a&gt; is envolved in almost all the activities and I know that when I'm back to Italy a huge work expects me and my company for the next months.&lt;br /&gt;&lt;br /&gt;Am I Tired? Not at all. Instead, I'm very excited to go back to work to the new &lt;a href="http://www.romaframework.org/"&gt;Roma Meta Framework&lt;/a&gt; version 2.0 and contributing to the growth of &lt;a href="http://www.ict-romulus.eu/"&gt;Romulus&lt;/a&gt; consortium &amp;amp; technology.&lt;br /&gt;&lt;br /&gt;Tomorrow is the last day. Luigi will take the flight in the early morning. Giordano and me, instead, will go to the Toledo city for a fast trip. Just the time to see the centre of the city, buy a tipical medieval sword for my house, having lunch with "Pulpo a la Gallega" and go back to Madrid for the our flight.&lt;br /&gt;&lt;img src="file:///C:/Users/Luca/AppData/Local/Temp/moz-screenshot-1.jpg" alt="" /&gt;&lt;br /&gt;Bye bye Spain!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-3541250089275274102?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/3541250089275274102/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=3541250089275274102' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/3541250089275274102'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/3541250089275274102'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2009/04/romulus-technical-meeting-in-madrid.html' title='Romulus technical meeting in Madrid'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Ng9D76byQk0/SfJCFh7bJZI/AAAAAAAAAcM/Mv_HIgL7rxg/s72-c/segovia.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-6094703681085694074</id><published>2009-03-25T23:37:00.005+01:00</published><updated>2009-03-25T23:49:48.321+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='roma'/><category scheme='http://www.blogger.com/atom/ns#' term='romaframework'/><title type='text'>Released Roma Meta Framework 1.2.0: the latest 1.x version!</title><content type='html'>Today I've released the version &lt;span style="font-weight: bold;"&gt;1.2.0&lt;/span&gt; of &lt;a href="http://www.romaframework.org/"&gt;Roma Meta Framework&lt;/a&gt;. This is the last 1.x version since starting by tomorrow I'll work to the next 2.0 implementing a lot of new ideas born in the last year.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Roma 2.0&lt;/span&gt; will be not more compatible with 1.x but someone will provide a migration tool that will help to port current/old applications to the new one. Soon a presentation of the main new ideas.&lt;br /&gt;&lt;br /&gt;A huge work is waiting for me. For this reason let me enjoy the 1.2.0, just for today!&lt;br /&gt;&lt;br /&gt;Below the main addictions and improvements of the 1.2.0:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;CORE module:&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;- Created CollectionWrapper domain classes to display collections in better way. Now there are two implementations: TableWrapper&lt;&gt; and MasterDetailWrapper&lt;&gt;. See the Handbook.pdf to know more&lt;br /&gt;- Disable the class checking for hot-updates. Useful in production&lt;br /&gt;- New refresh of multiple fields in one shot or the entire object&lt;br /&gt;- Resolved bug on the session management under WebLogic AppServer&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;VIEW module:&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;- New "URL" rendering mode to embed static and dynamic content in forms. Now you can embed HTML files, JSP files and Web sites at all&lt;br /&gt;- Managed render of collections and arrays using the "OBJECTEMBEDDED" mode&lt;br /&gt;- Resolved a bug on table ordering&lt;br /&gt;- Improved Echo2 Table component in order to support the change of the color of the column headers&lt;br /&gt;- Updated to the stable version 2.1.0 of Echo2&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;DATANUCLEUS module:&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;- Updated to the stable version 1.1.0 of DataNucleus&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;ADMIN module:&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;- Fixed management of Info and InfoCategory instances&lt;br /&gt;- Created CRUD of GenericValue&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;JETTY module:&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;- Integrated new release of Jetty 6.1.5&lt;br /&gt;- The script under the user project script/start-jetty.sh (and .bat) now works&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;CRUD wizard module:&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;- CRUD now generate also: factory class (DDD), repository class (DDD) and an entry in the package.jdo file if any&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-6094703681085694074?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/6094703681085694074/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=6094703681085694074' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/6094703681085694074'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/6094703681085694074'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2009/03/released-roma-meta-framework-120-latest.html' title='Released Roma Meta Framework 1.2.0: the latest 1.x version!'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-4417581799501461215</id><published>2009-03-12T11:51:00.008+01:00</published><updated>2009-04-24T14:25:02.563+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='intervista'/><category scheme='http://www.blogger.com/atom/ns#' term='asset'/><category scheme='http://www.blogger.com/atom/ns#' term='assetdata'/><category scheme='http://www.blogger.com/atom/ns#' term='mokabyte'/><category scheme='http://www.blogger.com/atom/ns#' term='luca'/><category scheme='http://www.blogger.com/atom/ns#' term='roma'/><category scheme='http://www.blogger.com/atom/ns#' term='romulus'/><title type='text'>Luca, Roma e Romulus: tre amici su Mokabyte</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www2.mokabyte.it/cms/article.run?articleId=FDN-QFD-8QK-2KU_7f000001_10911033_f9e6614b"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 700px; height: 100px;" src="http://www2.mokabyte.it/cms/templateimageproviderservlet?imageId=1M6-DAH-JBQ-9KK_7f000001_28884857_95df0a77-title.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Se non hai proprio nulla &lt;censured&gt;da fare, magari perchè stai usando Roma e quindi hai finito prima il tuo lavoro &lt;/censured&gt;:-)&lt;censured&gt;, leggiti questa intervista fatta dalla rivista Java più letta in italia: &lt;a href="http://www2.mokabyte.it/cms/article.run?articleId=FDN-QFD-8QK-2KU_7f000001_10911033_f9e6614b"&gt;Mokabyte&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/censured&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-4417581799501461215?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www2.mokabyte.it/cms/article.run?articleId=FDN-QFD-8QK-2KU_7f000001_10911033_f9e6614b' title='Luca, Roma e Romulus: tre amici su Mokabyte'/><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/4417581799501461215/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=4417581799501461215' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/4417581799501461215'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/4417581799501461215'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2009/03/pubblicata-una-nuova-intervista-su.html' title='Luca, Roma e Romulus: tre amici su Mokabyte'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-8514721046640429397</id><published>2009-01-27T12:00:00.009+01:00</published><updated>2009-01-27T12:57:41.611+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='asset'/><category scheme='http://www.blogger.com/atom/ns#' term='conference'/><category scheme='http://www.blogger.com/atom/ns#' term='assetdata'/><category scheme='http://www.blogger.com/atom/ns#' term='javaday'/><title type='text'>JavaDay III edition</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Ng9D76byQk0/SX7qSeI-5-I/AAAAAAAAAVY/_mu8CmwNu-0/s1600-h/IMG_1245.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 320px; height: 214px;" src="http://4.bp.blogspot.com/_Ng9D76byQk0/SX7qSeI-5-I/AAAAAAAAAVY/_mu8CmwNu-0/s320/IMG_1245.jpg" alt="" id="BLOGGER_PHOTO_ID_5295927814883567586" border="0" /&gt;&lt;/a&gt;The 3rd edition of the JavaDay is gone. 1.400 visitors: 1225 workers, 363 student, 74 unemployeed.&lt;br /&gt;&lt;br /&gt;The AssetData's stand has received more than 300 curricula. For this reason I've take the decision to build from stratch an application to collect all them using Roma Meta Framework. After 1 hour it worked, but the GUI is not yet very intuitive...&lt;br /&gt;&lt;br /&gt;During the event I encounter Paolo, a very old collegue of about 12 years ago in my second project for the IRI group. I have seen again a lot of other past collegues and friends...&lt;br /&gt;&lt;br /&gt;I love the JavaDay also for this reason :-)&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: right;"&gt;&lt;span style="font-size:78%;"&gt;(photo by Valerio Casale)&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-8514721046640429397?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/8514721046640429397/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=8514721046640429397' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/8514721046640429397'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/8514721046640429397'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2009/01/javaday-iii-edition.html' title='JavaDay III edition'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Ng9D76byQk0/SX7qSeI-5-I/AAAAAAAAAVY/_mu8CmwNu-0/s72-c/IMG_1245.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-1790599706631313956</id><published>2009-01-07T10:15:00.002+01:00</published><updated>2009-01-07T10:34:27.995+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='asset'/><category scheme='http://www.blogger.com/atom/ns#' term='assetdata'/><title type='text'>Recupero crediti? Non ho il fisico</title><content type='html'>Da quando sono diventato uno pseudo-commerciale e seguo i clienti direttamente mi capita, ahimè, di occuparmi anche di &lt;span style="font-weight: bold;"&gt;RECUPERO CREDITI&lt;/span&gt;. Eggià. Clienti che chiedono servizi, consulenze, prodotti e poi dopo mesi arrancano sempre le solite scuse. Le 5 migliori del 2008 sono state:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;La nostra banca si è fusa in un gruppo più grande e non riusciamo a fare i bonifici!&lt;/li&gt;&lt;li&gt;La società è in ottima salute...Ma abbiamo problemi di cassa&lt;/li&gt;&lt;li&gt;I nostri clienti non ci hanno pagato...&lt;/li&gt;&lt;li&gt;La fattura è stata smarrita (fu consegnata a mano!)&lt;/li&gt;&lt;li&gt;Abbiamo deciso che vi pagheremo solo se riusciamo a rivenderlo al cliente finale (dopo 3 mesi dalla consegna)&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;Diciamo che non ho propriamente il fisico per fare "recupero crediti". E quindi ecco il motivetto che mi accompagnerà nel 2009:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;"Soffro lo strees&lt;br /&gt;io soffro lo stress&lt;br /&gt;sono stanco e fuori forma&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; vado in giro per clienti&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;a recuperare i pagamenti&lt;/span&gt;&lt;br /&gt;ci deve essere un errore!!!"&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-1790599706631313956?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/1790599706631313956/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=1790599706631313956' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/1790599706631313956'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/1790599706631313956'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2009/01/recupero-crediti-non-ho-il-fisico.html' title='Recupero crediti? Non ho il fisico'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-5355328316505786424</id><published>2008-12-22T13:06:00.007+01:00</published><updated>2008-12-22T14:08:49.776+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='conference'/><category scheme='http://www.blogger.com/atom/ns#' term='javaday'/><title type='text'>Roma JavaDay III edition in Rome</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://roma.javaday.it/"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 130px; height: 260px;" src="http://roma.javaday.it/javaday2009/images/banner/javaday_130_260.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Today, 3 years after its inception, the &lt;a href="http://roma.javaday.it/"&gt;JavaDay in Rome&lt;/a&gt; is the technical reference event for Java technology in Italy. It boasts a terrific turnout and the participation of the most eminent speakers of the community.&lt;br /&gt;&lt;br /&gt;The Rome JavaDay takes place at Università Roma TRE with the purpose of establishing a privileged channel with university students. It has a highly technical connotation and is a joint-effort of three Italian Java communities, namely Java User Group Roma, Java Italian Portal e Java Italian Association.&lt;br /&gt;&lt;br /&gt;Attendance is free of charge.&lt;br /&gt;&lt;br /&gt;IMHO the most interesting talk is: &lt;a style="font-style: italic;" onclick="talkDetail(12);"&gt;ROMULUS. Java Web Development made productive&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-5355328316505786424?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/5355328316505786424/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=5355328316505786424' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/5355328316505786424'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/5355328316505786424'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2008/12/roma-javaday-iii-edition-in-rome.html' title='Roma JavaDay III edition in Rome'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-7080435002257542510</id><published>2008-12-17T11:45:00.007+01:00</published><updated>2008-12-17T12:10:06.738+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='poker'/><category scheme='http://www.blogger.com/atom/ns#' term='asset'/><category scheme='http://www.blogger.com/atom/ns#' term='texas'/><title type='text'>1° Trofeo di Texas Hold'em "All in Asset"</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Ng9D76byQk0/SUjeCsjYmUI/AAAAAAAAAOM/kUHz7CgHo-A/s1600-h/1TrofeoTexas.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_Ng9D76byQk0/SUjeCsjYmUI/AAAAAAAAAOM/kUHz7CgHo-A/s400/1TrofeoTexas.jpg" alt="" id="BLOGGER_PHOTO_ID_5280714700992584002" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Ieri sera si è tenuto in &lt;a href="http://www.assetdata.it/"&gt;Asset Data&lt;/a&gt; il primo trofeo di Texas Hold'em:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold; font-style: italic;font-size:180%;" &gt;"All in Asset"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Il vincitore è stato Alfonso, secondo classificato Molins.&lt;br /&gt;&lt;br /&gt;Alfonso ha vinto praticamente la maggior parte delle mani. Quelle in cui non ha vinto è perchè è uscito in corsa per timore, ma alla fine i punti in mano suoi erano sempre vincenti su tutti!&lt;br /&gt;&lt;br /&gt;Che spettacolo vederlo con tutte quelle torri di fiches... Sembrava Rupert Murdoch!&lt;br /&gt;&lt;br /&gt;Con tutta la fortuna che si è ritrovato...Gli è stato consigliato di chiamare subito a casa per controllare La Donna! ;-)&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-7080435002257542510?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/7080435002257542510/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=7080435002257542510' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/7080435002257542510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/7080435002257542510'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2008/12/1-trofeo-di-texas-holdem-all-in-asset.html' title='1° Trofeo di Texas Hold&apos;em &quot;All in Asset&quot;'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_Ng9D76byQk0/SUjeCsjYmUI/AAAAAAAAAOM/kUHz7CgHo-A/s72-c/1TrofeoTexas.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-6395406272296681038</id><published>2008-12-05T17:50:00.007+01:00</published><updated>2008-12-10T12:07:38.689+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='prettycode'/><title type='text'>Java Pretty code II</title><content type='html'>Another piece of pretty code:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;public class MyClass{&lt;br /&gt;&amp;nbsp;public MyClass() {&lt;br /&gt;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;public MyClass(String iClass, String projectPath) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;/* Instantiates MyClass */&lt;br /&gt;&amp;nbsp;&amp;nbsp;MyClass obj = new MyClass();&lt;br /&gt;&amp;nbsp;&amp;nbsp;obj.create(iClass, projectPath);&lt;br /&gt;&amp;nbsp;}&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Why to create an object of the same class to call the method on it?&lt;br /&gt;&lt;br /&gt;To the next piece of pretty code!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-6395406272296681038?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/6395406272296681038/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=6395406272296681038' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/6395406272296681038'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/6395406272296681038'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2008/12/pretty-code-ii.html' title='Java Pretty code II'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-2729924095124397477</id><published>2008-12-05T16:50:00.005+01:00</published><updated>2008-12-05T18:03:10.577+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='prettycode'/><title type='text'>Java Pretty code</title><content type='html'>Today, between a debug and another one I found this nice thing:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;private VectorString&gt; extractFields(Class classObj) {&lt;br /&gt;&amp;nbsp;String className = classObj.toString();&lt;br /&gt;&amp;nbsp;className = className.substring(6, className.length());&lt;br /&gt;&lt;br /&gt;&amp;nbsp;Class obj = null;&lt;br /&gt;&amp;nbsp;try {&lt;br /&gt;&amp;nbsp;&amp;nbsp;obj = Class.forName(className);&lt;br /&gt;&amp;nbsp;} catch (ClassNotFoundException e1) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;e1.printStackTrace();&lt;br /&gt;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;...&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;1) Please note the toString() call and then the extraction of the result cutting from the 6th character... But why don't simply to use the getName() method?&lt;br /&gt;2) And at the end... Why to extract the name of the class and then reload the class by the extracted name to obtain...always the Class taken as parameter!&lt;br /&gt;&lt;br /&gt;These are pearls folks!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-2729924095124397477?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/2729924095124397477/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=2729924095124397477' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/2729924095124397477'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/2729924095124397477'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2008/12/java-pretty-code.html' title='Java Pretty code'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-1596685938299731592</id><published>2008-11-27T14:48:00.011+01:00</published><updated>2008-11-27T16:17:07.209+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='roma'/><category scheme='http://www.blogger.com/atom/ns#' term='romaframework'/><title type='text'>Roma Meta Framework: plug-ins management</title><content type='html'>Starting from release 1.0.0 Roma allows to be updated by using the new wizard commands:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;check&lt;/li&gt;&lt;li&gt;install&lt;/li&gt;&lt;li&gt;update&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;If you've downloaded the 1.0.0 from SourceForge type:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&gt; roma check&lt;br /&gt;&lt;br /&gt;* admin... version 1.0.1 (25-11-2008)&lt;br /&gt;* core... version 1.0.1 (25-11-2008)&lt;br /&gt;* persistence-jpox... version 1.0.1 (25-11-2008)&lt;br /&gt;&amp;nbsp;&amp;nbsp;project-web... updated&lt;br /&gt;* project-webready... version 1.0.1 (26-11-2008)&lt;br /&gt;&amp;nbsp;&amp;nbsp;scheduler-quartz... updated&lt;br /&gt;* users... version 1.0.1 (25-11-2008)&lt;br /&gt;* view-echo2... version 1.0.2 (26-11-2008)&lt;br /&gt;&amp;nbsp;&amp;nbsp;web-jetty... updated&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You can install the new module you want just typing:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&gt; roma install core&lt;br /&gt;&lt;br /&gt;core... Installing version 1.0.1&lt;br /&gt;  Extracting directory: lib/&lt;br /&gt;  Extracting: lib/roma-core.jar&lt;br /&gt;  Module core installed correctly: version 1.0.1 (25-11-2008)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To know new plug-ins released by the community type:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&gt; roma check new&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To update the installed module ('&lt;span style="font-style: italic;"&gt;core&lt;/span&gt;' in example above) to your project use:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&gt; roma update core&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;That's all folks. No more pain with roma upgrade ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-1596685938299731592?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/1596685938299731592/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=1596685938299731592' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/1596685938299731592'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/1596685938299731592'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2008/11/roma-meta-framework-plug-ins-management.html' title='Roma Meta Framework: plug-ins management'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-7417773827537053959</id><published>2008-11-10T18:46:00.011+01:00</published><updated>2008-11-10T19:16:35.031+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='framework'/><category scheme='http://www.blogger.com/atom/ns#' term='ddd'/><category scheme='http://www.blogger.com/atom/ns#' term='roma'/><category scheme='http://www.blogger.com/atom/ns#' term='romaframework'/><title type='text'>Finally the official release 1.0 of Roma Framework is up</title><content type='html'>&lt;span style="font-size:100%;"&gt;I'm tired out but happy! :-)&lt;br /&gt;&lt;br /&gt;After about &lt;/span&gt;&lt;span style="font-style: italic;font-size:100%;" &gt;one year&lt;/span&gt;&lt;span style="font-size:100%;"&gt; I've released the official release 1.0 of Roma Meta Framework in Source Forge.&lt;br /&gt;&lt;br /&gt;So many news from the last 1.0rc4 version: several new plug-ins, thirdy parties contributions, the free PDF manual, better module management and performance improvements.&lt;br /&gt;&lt;br /&gt;&lt;a href="https://sourceforge.net/project/platformdownload.php?group_id=162641"&gt;Download the last release of Roma Meta Framework&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Below the main changes:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:100%;"&gt;-------------------------------------------------------------------------------&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;VERSION 1.0.0 (November, 10th 2008)&lt;/span&gt;&lt;br /&gt;-------------------------------------------------------------------------------&lt;br /&gt;Main addictions and improvements:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;CORE module:&lt;/span&gt;&lt;br /&gt;- New modules management. Now you can check for new modules, new releases of them and install it over the air. Dependencies are well considered&lt;br /&gt;- New Logging aspect to abstract logging and to use logging facilities such as @LoggingAction() to log any POJO action&lt;br /&gt;- Support for new View Aspect that works with XHTML 1.0, CSS2 and JSP&lt;br /&gt;- Support for new Semantic Aspect available via Romulus project using Open Source Jena framework&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;CHART-JFREECHART module:&lt;/span&gt;&lt;br /&gt;- New module to create graphs using the popular JGraph library&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;ETL-XPATH module:&lt;/span&gt;&lt;br /&gt;- Strong refactoring of the engine&lt;br /&gt;- New JDBC Extractor and Importer modules&lt;br /&gt;- New Wizard to let to the user the importing phase&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;PERSISTENCE-DATANUCLEUS module:&lt;/span&gt;&lt;br /&gt;- New Persistence Aspect implementation using the new DataNucleus technology. Supports JDO 2.1 and JPA 1.0&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;PERSISTENCE-JPOX module:&lt;/span&gt;&lt;br /&gt;- Default like operator works like before, but it considers the presence of the special character "*". If found treats it as the "%" of SQL like syntax. This allow to execute searches with wildcards&lt;br /&gt;- New "optimistic" transaction mode&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;SCHEDULER-QUARTZ module:&lt;/span&gt;&lt;br /&gt;- New UI&lt;br /&gt;- New wizard to build simple expression without the knowledge of CRON syntax&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;USERS module:&lt;/span&gt;&lt;br /&gt;- Deep changes to the USERS module: new realm entity to group accounts, profiles, infocategory and other entities in a common "realm". New "Anonymous" profile to allow to profile for the non-authenticated user&lt;br /&gt;- BaseAccount and BaseProfile now extends the common AbstractAccount abstract class in order to reference accounts or profile in the same manner just declaring as reference type the AbstractAccount&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;SCHEDULER-QUARTZ module:&lt;/span&gt;&lt;br /&gt;- Calendar view&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;SCRIPTING-JAVA6 module:&lt;/span&gt;&lt;br /&gt;- New module implementing the Scripting facilities of Java6. By separating all scripting features in Roma in only this module we have gained the Java5 compliance for all but this module, obviously&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;SERVICE-CXF module:&lt;/span&gt;&lt;br /&gt;- New module to expose a POJO as a Web Service using Apache CXF framework&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;VIEW-ECHO2 module:&lt;/span&gt;&lt;br /&gt;- Strong refactoring of components. Now ComponentFactory is obsolete and now anything is responsability of the Rendering implementation&lt;br /&gt;- Management of multiple Echo2 stylesheets&lt;br /&gt;- Sensible faster execution&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;WORKFLOW-TEVERE module:&lt;/span&gt;&lt;br /&gt;- New Workflow module with transactional engine and Web GUI. It covers most common workflow patterns&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;WIZARDS:&lt;/span&gt;&lt;br /&gt;- New 'check' wizard to check for new modules or new version of installed modules&lt;br /&gt;- New 'install' wizard to install new modules or new version of installed modules&lt;br /&gt;- New 'update' wizard to update Roma user projects with new version of modules installed&lt;br /&gt;- CRUD now generates the Repository classes for each entity.&lt;br /&gt;- Support for environment variables like "author". You can set/get variables in Roma. Set the "author" variable to have all generated sources with you as author&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;TEST-PRESENTATION app:&lt;/span&gt;&lt;br /&gt;- Changed layout of Test Presentation application&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;OTHERS:&lt;/span&gt;&lt;br /&gt;- Resolved a lot of issues (see SourceForge tracker)&lt;br /&gt;- Tons of minor improvements.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-7417773827537053959?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/7417773827537053959/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=7417773827537053959' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/7417773827537053959'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/7417773827537053959'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2008/11/finally-official-release-10-of-roma.html' title='Finally the official release 1.0 of Roma Framework is up'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-4148098522563029011</id><published>2008-09-23T11:36:00.004+02:00</published><updated>2008-09-23T11:55:00.743+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='roma'/><category scheme='http://www.blogger.com/atom/ns#' term='romaframework'/><category scheme='http://www.blogger.com/atom/ns#' term='romulus'/><title type='text'>Back to work: Roma Meta Framework updates</title><content type='html'>After some days since last post I'd like to share latest more relevant news about the Roma Meta Framework project:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;New &lt;span style="font-weight: bold;"&gt;Web Site&lt;/span&gt; in replace of the older one made using XWiki. Take a look: &lt;a href="http://www.romaframework.org/"&gt;http://www.romaframework.org&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Finally we have the new &lt;a style="font-weight: bold;" href="http://www.romaframework.org/doc/RomaHandbook.pdf"&gt;Roma Handbook manual&lt;/a&gt; available in PDF and updated at weekly basis.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;We're at good point (together with &lt;a href="http://www.gesfor.es/"&gt;Gesfor&lt;/a&gt; company in Spain) on development of the &lt;span style="font-weight: bold;"&gt;new view aspect&lt;/span&gt; that will join side by side the Echo2 View Aspect. The new Aspect generates pure XHTML 1.0 strict &amp;amp; CSS2. Furthermore supports partial/total use of JSP template. Very cool.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.imolinfo.it/"&gt;Imola Informatica&lt;/a&gt;, member of &lt;a href="http://www.ict-romulus.eu/"&gt;Romulus&lt;/a&gt; consortium, has developed the &lt;span style="font-weight: bold;"&gt;Eclpise plugin&lt;/span&gt; for Roma. Now it's in alpha status yet but very soon it will be published.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;We've a new guy as Committer of Roma: &lt;span style="font-weight: bold;"&gt;Marco De Stefano&lt;/span&gt;. Welcome aboard!&lt;/li&gt;&lt;li&gt;New &lt;span style="font-weight: bold;"&gt;Semantic Aspect&lt;/span&gt;. It's full working and exports all or piece of your application domain in to RDF format.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The community is developing &lt;span style="font-weight: bold;"&gt;2 new wizards&lt;/span&gt; for Roma: &lt;span style="font-weight: bold;"&gt;upgrade&lt;/span&gt; and &lt;span style="font-weight: bold;"&gt;update&lt;/span&gt;. The first one will upgrade your Roma installation with the latest one (or only the modules you want). The second one will update a Roma project with the new module. Each module will work for the transparent migration between releases. Planned for the end of October 2008.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Realm&lt;/span&gt; support. Now you can deploy a single Web Application but supporting multiple realms as separate environment, each one with own users, profiles, etc.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-4148098522563029011?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/4148098522563029011/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=4148098522563029011' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/4148098522563029011'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/4148098522563029011'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2008/09/back-to-work-roma-meta-framework.html' title='Back to work: Roma Meta Framework updates'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-390308983251631006</id><published>2008-06-27T13:21:00.005+02:00</published><updated>2008-12-09T11:28:30.549+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='roma'/><category scheme='http://www.blogger.com/atom/ns#' term='tevere'/><category scheme='http://www.blogger.com/atom/ns#' term='romaframework'/><category scheme='http://www.blogger.com/atom/ns#' term='workflow'/><title type='text'>Tevere Flow project</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.tevereflow.org"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/_Ng9D76byQk0/SGTQTVMx4zI/AAAAAAAAAME/0r0MpPnzPUk/s320/index_clip_image002.jpg" alt="" id="BLOGGER_PHOTO_ID_5216523298928714546" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Finally I decided to create the &lt;span style="font-weight: bold;"&gt;Tevere Flow&lt;/span&gt; project starting from the Tevere Workflow module of Roma Meta Framework. In the next days I'll move the sources from Roma repository to the Tevere space hosted in Source Forge.&lt;br /&gt;&lt;br /&gt;The idea is to provide a complete Open Source Workflow product with a Web User Interface. Tevere module is already used in production in several systems and it's appreciated for the easy to use and the Web front end: no other products can offer it!&lt;br /&gt;&lt;br /&gt;The domain for Tevere Flow is: &lt;a href="http://www.tevereflow.org/"&gt;http://www.tevereflow.org&lt;/a&gt;. The web site will be active in few days with a web 2.0 look and feel. The project (still pending) in Source Forge is available here: &lt;a href="https://sourceforge.net/projects/tevere"&gt;https://sourceforge.net/projects/tevere&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Do you like the logo? It was created by Giordano Maestro (one of main committers of the Tevere Workflow module). On top of the hills you can see the colosseum (part of Roma Meta Framework logo) and the Tevere river in the middle of their. Tevere ("Tiber" in english) is the river that divide the Roma city in two parts. You can find a history of it on Wikipedia: &lt;a href="http://en.wikipedia.org/wiki/Tiber"&gt;http://en.wikipedia.org/wiki/Tiber&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Stay tuned for the official launch!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-390308983251631006?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/390308983251631006/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=390308983251631006' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/390308983251631006'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/390308983251631006'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2008/06/tevere-flow-project.html' title='Tevere Flow project'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_Ng9D76byQk0/SGTQTVMx4zI/AAAAAAAAAME/0r0MpPnzPUk/s72-c/index_clip_image002.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-821805524938899633</id><published>2008-06-19T17:22:00.005+02:00</published><updated>2008-06-19T17:46:56.421+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fun'/><category scheme='http://www.blogger.com/atom/ns#' term='ita'/><title type='text'>Lost in translation: birra Miller</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh6.ggpht.com/l.garulli/SFpiPMz_3ZI/AAAAAAAAAKQ/eD_2NYmwEGE/DSCN8041.JPG?imgmax=512"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px;" src="http://lh6.ggpht.com/l.garulli/SFpiPMz_3ZI/AAAAAAAAAKQ/eD_2NYmwEGE/DSCN8041.JPG?imgmax=512" alt="" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh5.ggpht.com/l.garulli/SFpiOvqgnPI/AAAAAAAAAKM/x_54i3x7ZGQ/DSCN8040.JPG?imgmax=512"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px;" src="http://lh5.ggpht.com/l.garulli/SFpiOvqgnPI/AAAAAAAAAKM/x_54i3x7ZGQ/DSCN8040.JPG?imgmax=512" alt="" border="0" /&gt;&lt;/a&gt;Galway, Irlanda.&lt;br /&gt;&lt;br /&gt;16 giugno 2008. Un lunedì sera. Dopo 4 ore di meeting in inglese Giovanni ci porta in un ristopub al centro di Galway. Enorme con un albero al centro! Talmente grande che quando sono uscito (la cena si era fermata a metà dello stomaco) per ritrovare la sala ho chiesto indicazioni... Non sto scherzando.&lt;br /&gt;&lt;br /&gt;Dopo un ottimo antipasto, un paio di birre e una bistecca (ovviamente) Irlandese allungo il braccio e prendo in mano quella di Giordano seduto accanto a me. Vedo l'origine americana. Ma che ci fa una birra americana in Irlanda? Cmq girando la bottiglia vedo che c'è scritto qualcosa dietro all'etichetta:&lt;br /&gt;&lt;br /&gt;"America's Quality Beer&lt;br /&gt;CONTAINS NO ADDITIVES&lt;br /&gt;OR &lt;span style="font-weight: bold;"&gt;PRESERVATIVES&lt;/span&gt;"&lt;br /&gt;&lt;br /&gt;Preservati-che? Ah... in inglese deve essere la traduzione di "conservanti".&lt;br /&gt;&lt;br /&gt;Comunque sia sono taaanto contento che in quella birra non c'erano preservativi ;-)&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-821805524938899633?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/821805524938899633/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=821805524938899633' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/821805524938899633'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/821805524938899633'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2008/06/lost-in-translation-birra-miller.html' title='Lost in translation: birra Miller'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/l.garulli/SFpiPMz_3ZI/AAAAAAAAAKQ/eD_2NYmwEGE/s72-c/DSCN8041.JPG?imgmax=512' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-3413898582519937421</id><published>2008-06-18T01:13:00.005+02:00</published><updated>2008-12-09T11:28:30.701+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='irlanda'/><category scheme='http://www.blogger.com/atom/ns#' term='romulus'/><title type='text'>Last day of Ireland</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Ng9D76byQk0/SFhHkV9tMXI/AAAAAAAAAGI/tvV7QaxHi0k/s1600-h/DSCN8050.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/_Ng9D76byQk0/SFhHkV9tMXI/AAAAAAAAAGI/tvV7QaxHi0k/s320/DSCN8050.JPG" alt="" id="BLOGGER_PHOTO_ID_5212995258378170738" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Around Galway city on the West Coast of Ireland. This picture was shooted by Luigi.&lt;br /&gt;&lt;br /&gt;The meeting is finished and this evening the Romulus staff had the dinner in a restaurant very close to the sea. Excellent Oysters! It's quite cold to be June and sometimes it rainings,  but the colors of the sea are wonderful. Don't you?&lt;br /&gt;&lt;br /&gt;Tomorrow I'll go back in Italy! Bye bye Ireland. See you soon.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-3413898582519937421?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/3413898582519937421/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=3413898582519937421' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/3413898582519937421'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/3413898582519937421'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2008/06/last-day-of-ireland.html' title='Last day of Ireland'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_Ng9D76byQk0/SFhHkV9tMXI/AAAAAAAAAGI/tvV7QaxHi0k/s72-c/DSCN8050.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-2975528244471029231</id><published>2008-06-11T10:16:00.004+02:00</published><updated>2008-06-19T17:47:37.394+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='attrazione'/><category scheme='http://www.blogger.com/atom/ns#' term='ita'/><category scheme='http://www.blogger.com/atom/ns#' term='loa'/><title type='text'>Saper aspettare</title><content type='html'>&lt;span id="friendStatus"&gt;&lt;span style="font-style: italic;"&gt;"Chiedi quello che vuoi e d&lt;/span&gt;&lt;span style="font-style: italic;"&gt;ai all'un&lt;/span&gt;&lt;wbr style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;iverso il tempo ragion&lt;/span&gt;&lt;wbr style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;evole di muover&lt;/span&gt;&lt;wbr style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;e i miliar&lt;/span&gt;&lt;wbr style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;di di ingran&lt;/span&gt;&lt;wbr style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;aggi per arriva&lt;/span&gt;&lt;wbr style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;re a te&lt;/span&gt;&lt;span style="font-style: italic;"&gt;"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;- Lvc@&lt;br /&gt;.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-2975528244471029231?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/2975528244471029231/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=2975528244471029231' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/2975528244471029231'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/2975528244471029231'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2008/06/saper-aspettare.html' title='Saper aspettare'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-5055999518121833400</id><published>2008-05-05T12:12:00.003+02:00</published><updated>2008-05-05T12:32:15.472+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cracking'/><category scheme='http://www.blogger.com/atom/ns#' term='gmail'/><title type='text'>GMail: is really so secure?</title><content type='html'>About 15 days ago someone entered in my GMail account sending one spam email to all my contacts about an asian site of ecommerce. I apologize with all my contacts about the SPAM.&lt;br /&gt;&lt;br /&gt;The very strange thing happened is that my password was quite strong: upper case letters, numbers and special character. So I exclude a brute-force attack in favor of a GMail leak.&lt;br /&gt;&lt;br /&gt;By a quick look to the Internet I did'nt found any similar attack to other GMail users, so I could be one of first victims before Google patched the leak or the victim was expressely me. But in this case why don't change the password once in? And why don't delete messages to make greater damnages?&lt;br /&gt;&lt;br /&gt;I don't know. However I'll continue to use GMail for my private mail since the service is really amazing and fits very well for my needs. I just hope my case was, and will be, pretty isolated.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-5055999518121833400?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/5055999518121833400/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=5055999518121833400' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/5055999518121833400'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/5055999518121833400'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2008/05/gmail-account-is-really-so-secure.html' title='GMail: is really so secure?'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-6497351781484797681</id><published>2008-04-02T09:41:00.010+02:00</published><updated>2010-09-15T18:08:23.417+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='orientdb'/><title type='text'>Registered mark</title><content type='html'>The Italian office for &lt;span style="font-weight: bold;"&gt;marks &lt;/span&gt;and &lt;span style="font-weight: bold;"&gt;patents &lt;/span&gt;is called "&lt;span style="font-weight: bold;"&gt;Ufficio Marchi e Brevetti&lt;/span&gt;". Yesterday I wondered its database is on-line and available for free to search registered patents and marks: &lt;a href="http://www.uibm.gov.it/UIbmDev/codice.aspx"&gt;http://www.uibm.gov.it/UIbmDev/codice.aspx&lt;/a&gt;. After a bounche of attempts in error (timeouts and internal errors) I found my registered mark: &lt;a style="font-weight: bold;" href="http://www.orientechnologies.com/"&gt;Orient&lt;/a&gt;! This is the logo:&lt;span style="text-decoration: underline;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.orientechnologies.com/"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_Ng9D76byQk0/R_M8fxdT9FI/AAAAAAAAAF4/l67XXjbeDKo/s320/orientech_logo.gif" alt="" id="BLOGGER_PHOTO_ID_5184554112583464018" border="0" /&gt;&lt;/a&gt;Request number: &lt;b&gt;RM2000C002881&lt;/b&gt; of &lt;b&gt;May, &lt;/b&gt;&lt;b&gt;9th 2000&lt;/b&gt;&lt;br /&gt;Registration number: &lt;b&gt;0000899116&lt;/b&gt; of &lt;span style="font-weight: bold;"&gt;June, 24th 2003&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It's true: I registered it on May 9th 2000 and there is my very old address where I lived. By the way: what is the future of &lt;a href="http://www.orientechnologies.com/"&gt;Orient ODBMS&lt;/a&gt;? I don't know. I've no time to work on it anymore and I need a help in order to restart the project again. Any volunteers? :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-6497351781484797681?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/6497351781484797681/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=6497351781484797681' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/6497351781484797681'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/6497351781484797681'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2008/04/registered-mark.html' title='Registered mark'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Ng9D76byQk0/R_M8fxdT9FI/AAAAAAAAAF4/l67XXjbeDKo/s72-c/orientech_logo.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-1574977400302176695</id><published>2008-03-05T15:05:00.006+01:00</published><updated>2008-03-05T15:38:53.036+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='romulus'/><title type='text'>Wednesday in Bruxelles</title><content type='html'>Today I was attendeed in Bruxelles in order to discover interesting projects financed by the &lt;a href="http://cordis.europa.eu/fp7/ict/ssai/fp7-launch-march08-reg_en.html"&gt;European Commission&lt;/a&gt;. The aim is finding projects with some relationships with the Romulus requirements and goals.&lt;br /&gt;&lt;br /&gt;At 12:00pm Carlos shortly explained the Romuus project to each other partecipants. The presentation resume is available &lt;a href="ftp://ftp.cordis.europa.eu/pub/fp7/ict/docs/ssai/project-romulus_en.pdf"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The room is very big, a WiFi connection is available to all the partecipants, big projector, audio/video room and a microphone every 2 places. There is also the translation room, but is empty since the meeting is in english language. Unfortunately I can't shoot it since my notebook's webcam is burn and my Nokia's phone camera idem...&lt;br /&gt;&lt;br /&gt;My flight will take off tomorrow afternoon so I'd like to catch a glimpse of the centre of the city this night. I'm trying to communicate with Francesco (He started working in Bruxelles some days ago) but his belgium phone number seems to be wrong!&lt;br /&gt;&lt;br /&gt;I hope Francesco will read my blog feed before to leave Bruxelles ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-1574977400302176695?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/1574977400302176695/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=1574977400302176695' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/1574977400302176695'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/1574977400302176695'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2008/03/wensday-in-bruxelles.html' title='Wednesday in Bruxelles'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-8512957949345898451</id><published>2008-03-01T23:54:00.006+01:00</published><updated>2008-03-02T00:27:43.607+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jpa'/><category scheme='http://www.blogger.com/atom/ns#' term='eng'/><category scheme='http://www.blogger.com/atom/ns#' term='jdo'/><title type='text'>JDO versus JPA</title><content type='html'>Very often someone ask me what to use for persistence in modern JEE applications: &lt;span style="font-weight: bold;"&gt;JPA &lt;/span&gt;or &lt;span style="font-weight: bold;"&gt;JDO&lt;/span&gt;? Well, JPA is born after JDO and seems to be official supported by Sun since it's part of EJB 3 specification.&lt;br /&gt;&lt;br /&gt;But my response is always the same: use a JDO implementation if you want a more powerful tool.&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;JDO 2.1&lt;/span&gt; is a superset of JPA 1 standard.&lt;br /&gt;&lt;br /&gt;A feature matrix is available here: &lt;a href="http://db.apache.org/jdo/jdo_v_jpa.html"&gt;http://db.apache.org/jdo/jdo_v_jpa.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-8512957949345898451?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://db.apache.org/jdo/jdo_v_jpa.html' title='JDO versus JPA'/><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/8512957949345898451/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=8512957949345898451' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/8512957949345898451'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/8512957949345898451'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2008/03/jdo-versus-jpa.html' title='JDO versus JPA'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-3612649472184936891</id><published>2008-02-27T12:43:00.019+01:00</published><updated>2008-02-27T14:34:59.119+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ide'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='ita'/><category scheme='http://www.blogger.com/atom/ns#' term='roma'/><title type='text'>Java IDE Day: gli IDE Java più utilizzati si confrontano</title><content type='html'>&lt;table cellspacing="0" cellpadding="0"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;br /&gt;&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" height="350" width="120"&gt;&lt;param name="movie" value="http://www.ideday.org/banner/ide_day-160x600-ziubudda.swf"&gt;&lt;br /&gt;&lt;param name="quality" value="high"&gt;&lt;br /&gt;&lt;embed src="http://www.ideday.org/banner/ide_day-160x600-ziubudda.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" height="350" width="120"&gt;&lt;/embed&gt;&lt;br /&gt;&lt;/object&gt;&lt;br /&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Cos’è?&lt;br /&gt;&lt;/strong&gt;Arriva per la prima volta in Italia l'evento internazionale che mette a confronto gli IDE Java più utilizzati e le loro community. JDeveloper (Oracle), NetBeans (Sun Microsystems), IntelliJ IDEA (JetBrains), invieranno un evangelist del loro core di sviluppo internazionale per confrontarsi a vicenda. &lt;/p&gt; &lt;p&gt;Speaker presenti: &lt;/p&gt;  &lt;ul&gt;&lt;li&gt;Roman Strobl (Sun Microsystems) &lt;/li&gt;&lt;li&gt; Paolo Ramasso (Oracle) &lt;/li&gt;&lt;li&gt;Vaclav Pech (JetBrains)&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Purtroppo nonostante l’impegno da entrambe le parti, non è stato possibile avere la presenza di Eclipse. &lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Come?&lt;/strong&gt;&lt;br /&gt;Uno slot di tempo a disposizione per ogni IDE per mostrare le potenzialità del proprio ambiente rispetto agli altri. Ruolo fondamentale sarà giocato dal pubblico in quanto sono previsti appostiti spazi per porre domande direttamente agli evangelist internazionali. La parte finale dell’ evento sarà dedicata ad un dibattito ragionato sul futuro degli ambienti di sviluppo. L’evento sarà in lingua inglese. &lt;/p&gt; &lt;p&gt;&lt;strong&gt;Costo:&lt;/strong&gt;&lt;br /&gt;L’evento è gratuito, ma è gradita la registrazione. &lt;/p&gt; &lt;p&gt;&lt;strong&gt;Organizzazione:&lt;/strong&gt;&lt;br /&gt;L’IDE Day è organizzato dal Jug Genova e Jug Roma&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Quando e dove:&lt;/strong&gt;&lt;br /&gt;Sono previste due date: Genova, 10 marzo e Roma, 12 marzo. L’evento si svolgerà nel pomeriggio, all'interno delle Università. Per gli orari, agenda e informazioni logistiche si rimanda al sito dell’ evento. &lt;/p&gt; &lt;p&gt;&lt;strong&gt;Sito di riferimento&lt;/strong&gt;: &lt;a href="http://www.ideday.org/"&gt;http://www.ideday.org/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;span style="font-family:monospace;"&gt;&lt;span style="font-family:Georgia,serif;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-3612649472184936891?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.ideday.org/' title='Java IDE Day: gli IDE Java più utilizzati si confrontano'/><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/3612649472184936891/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=3612649472184936891' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/3612649472184936891'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/3612649472184936891'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2008/02/java-ide-day-gli-ide-java-pi-utilizzati.html' title='Java IDE Day: gli IDE Java più utilizzati si confrontano'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-14322058526694498</id><published>2008-02-25T11:08:00.006+01:00</published><updated>2008-02-25T22:15:46.573+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='roma'/><category scheme='http://www.blogger.com/atom/ns#' term='grails'/><category scheme='http://www.blogger.com/atom/ns#' term='romaframework'/><category scheme='http://www.blogger.com/atom/ns#' term='romulus'/><title type='text'>Comparison between Roma Framework and Grails, Ruby on Rails, Trails, etc</title><content type='html'>The &lt;span style="font-weight: bold;"&gt;&lt;a href="http://www.ict-romulus.org"&gt;Romulus&lt;/a&gt; &lt;/span&gt;project is started and the very first task is to write requirements. Romulus wants, between the other, improve the Roma Meta Framework with the state-of-the-art of ideas and technologies available around.&lt;br /&gt;&lt;br /&gt;Today, in AssetData, we will start to write down a comparison matrix between Roma Framework and other famous frameworks (Grails, Ruby on Rails, Trails, etc) in order to find interesting points to import in Roma.&lt;br /&gt;&lt;br /&gt;Yes these frameworks have the main goal to speed up the development and testing processes. Good, but this is only the second one for Roma. Roma is a &lt;span style="font-weight: bold;"&gt;Meta&lt;/span&gt; framework. This is the first Roma's goal: &lt;span style="font-weight: bold;"&gt;break coupling&lt;/span&gt; between domain code and other tools and frameworks.&lt;br /&gt;&lt;br /&gt;For this reason the comparison will cover only the rapid development concerns between all these frameworks. If you know quite well one of these please send me a feedback with the pro/cons you found or just your opinion.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Grails&lt;/span&gt; will be the first one to be examined. Grails promises to increase productivity using main ideas taken by &lt;span style="font-weight: bold;"&gt;Ruby on Rails&lt;/span&gt;. Grails is 100% based on the &lt;span style="font-weight: bold;"&gt;Groovy &lt;/span&gt;language.&lt;br /&gt;&lt;br /&gt;Which are the most interesting features Grails owns and can be imported in Roma? Stay tuned ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-14322058526694498?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/14322058526694498/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=14322058526694498' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/14322058526694498'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/14322058526694498'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2008/02/comparison-between-roma-framework-and.html' title='Comparison between Roma Framework and Grails, Ruby on Rails, Trails, etc'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-8863673175681196214</id><published>2008-02-01T14:51:00.000+01:00</published><updated>2008-12-09T11:28:31.177+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open source'/><category scheme='http://www.blogger.com/atom/ns#' term='ita'/><title type='text'>Open Source non si traduce gratis</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.orientechnologies.com/luca/articles/TechNet_febbraio_08.pdf"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://2.bp.blogspot.com/_Ng9D76byQk0/R6Mpaow2gOI/AAAAAAAAAEw/J_-5PaBI8Ag/s200/TechNet_febbraio_08_anteprima.png" alt="" id="BLOGGER_PHOTO_ID_5162015135492374754" border="0" /&gt;&lt;/a&gt;Oggi è uscito un mio articolo sui nuovi modelli di business che ha introdotto la filosofia &lt;span style="font-weight: bold;"&gt;Open Source&lt;/span&gt;. L'articolo è stato pubblicato su &lt;a href="http://www.mensiletechnet.it/"&gt;TechNet&lt;/a&gt;, giovane mensile tecnologico italiano edito da &lt;a href="http://www.axia.org/"&gt;Axia Multimedia&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Per leggere l'articolo potete:&lt;br /&gt;&lt;br /&gt;- andare in edicola fino a fine febbraio 2008&lt;br /&gt;- ordinarlo come arretrato&lt;br /&gt;- leggerlo online in formato PDF ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-8863673175681196214?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/8863673175681196214/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=8863673175681196214' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/8863673175681196214'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/8863673175681196214'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2008/02/open-source-non-si-traduce-gratis.html' title='Open Source non si traduce gratis'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Ng9D76byQk0/R6Mpaow2gOI/AAAAAAAAAEw/J_-5PaBI8Ag/s72-c/TechNet_febbraio_08_anteprima.png' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-8407418690257574775</id><published>2008-01-14T07:17:00.001+01:00</published><updated>2008-12-09T11:28:31.282+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mda'/><category scheme='http://www.blogger.com/atom/ns#' term='ddd'/><category scheme='http://www.blogger.com/atom/ns#' term='roma'/><category scheme='http://www.blogger.com/atom/ns#' term='romaframework'/><category scheme='http://www.blogger.com/atom/ns#' term='romulus'/><title type='text'>Will 2008 be the year of the return of the Roman Empire?</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.ict-romulus.org"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://4.bp.blogspot.com/_Ng9D76byQk0/R4sAEidYCPI/AAAAAAAAAEM/Od_tkRI6EXE/s320/romulus.gif" alt="" id="BLOGGER_PHOTO_ID_5155214276425156850" border="0" /&gt;&lt;/a&gt;Will 2008 be the year of the return of &lt;a href="http://en.wikipedia.org/wiki/Roman_Empire"&gt;Roman empire&lt;/a&gt;?&lt;br /&gt;&lt;br /&gt;No, I'm not talking about politic. Just software. Or better software development ;-)&lt;br /&gt;&lt;br /&gt;The new year comes with the kickoff of &lt;a href="http://www.ict-romulus.org"&gt;&lt;span style="font-weight: bold;"&gt;Romulus&lt;/span&gt;&lt;/a&gt; project in Madrid, Spain. Today I'm here, in the center of the Spain's capital city.&lt;br /&gt;&lt;br /&gt;But what is &lt;a href="http://www.ict-romulus.org"&gt;&lt;span style="font-weight: bold;"&gt;Romulus&lt;/span&gt;&lt;/a&gt; and what means with Roma? Because formerly the Romulus mission is:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;"Domain Driven Design and Mashup Oriented Development based on Open Source Java Meta Framework for pragmatic, reliable and secure web development".&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="journal-content-article" id="1770_1812_1.0"&gt;The main concept of &lt;a style="font-weight: bold;" href="http://www.ict-romulus.org"&gt;Romulus&lt;/a&gt; is researching on novel methods for increasing productivity and reliability of web software development, in particularly, focused on Java web development.&lt;br /&gt;&lt;/span&gt;&lt;span class="journal-content-article" id="1770_1812_1.0"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="journal-content-article" id="1770_1812_1.0"&gt;In order to have a serious impact, the project does not start from scratch, it is based on two mature open source projects, &lt;a href="http://www.romaframework.org/"&gt;Roma&lt;/a&gt; and &lt;a href="http://www.liferay.com/"&gt;LIFERAY&lt;/a&gt;, which will be extended according to this proposal needs and following an open source project development methodology, in order to disseminate and exploit the results of the project. The idea of using these projects is to solve the former problems, with &lt;/span&gt;&lt;span class="journal-content-article" id="1770_1812_1.0"&gt;&lt;a href="http://www.romaframework.org/"&gt;Roma&lt;/a&gt; &lt;/span&gt;&lt;span class="journal-content-article" id="1770_1812_1.0"&gt;will get to make Java application development easy, integrate frameworks and tools using a meta framework and decreasing the implementation time. While with &lt;/span&gt;&lt;span class="journal-content-article" id="1770_1812_1.0"&gt;&lt;a href="http://www.liferay.com/"&gt;LIFERAY&lt;/a&gt;&lt;/span&gt;&lt;span class="journal-content-article" id="1770_1812_1.0"&gt;, we are integrating the leading enterprise open source portal framework, with relevant industrial references.&lt;/span&gt;&lt;br /&gt;&lt;span class="journal-content-article" id="1770_1812_1.0"&gt;&lt;br /&gt;&lt;/span&gt;Asset Data company is part of the Romulus Consortium. If you want know more about the project visit the &lt;a href="http://www.ict-romulus.org"&gt;Romulus Home Page&lt;/a&gt;.&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;br /&gt;Below all the participants:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.assetdata.it/"&gt;Asset Data&lt;/a&gt;, as the company with the biggest skill in &lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;&lt;span class="journal-content-article" id="1770_1812_1.0"&gt;&lt;a href="http://www.romaframework.org/"&gt;Roma Meta Framework&lt;/a&gt; and where most of the committers are working (Italy) &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.liferay.com/"&gt;Liferay&lt;/a&gt; company (Germany)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.grupogesfor.com/"&gt;Gesfor group&lt;/a&gt; (Spain)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.imolinfo.it/"&gt;Imola Group&lt;/a&gt; &lt;span class="journal-content-article" id="1770_1812_1.0"&gt;company (Italy)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://sw.deri.ie/projects/"&gt;DERI University&lt;/a&gt; (Ireland)&lt;/li&gt;&lt;li&gt;&lt;a href="http://dit.upm.es/"&gt;Universidad Pòlitecnica de Madrid&lt;/a&gt; (Spain)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.ici.ro/new_ici_en/"&gt;National Institute for research and development in informatics&lt;/a&gt; (Romania)&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Does 2008 will be the year of the &lt;a href="http://en.wikipedia.org/wiki/Roman_Empire"&gt;Roman empire&lt;/a&gt;? I hope yes, but what I know very well is that the Meta Framework revolution is already started!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-8407418690257574775?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/8407418690257574775/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=8407418690257574775' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/8407418690257574775'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/8407418690257574775'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2008/01/does-2008-will-be-year-of-roma-empire.html' title='Will 2008 be the year of the return of the Roman Empire?'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Ng9D76byQk0/R4sAEidYCPI/AAAAAAAAAEM/Od_tkRI6EXE/s72-c/romulus.gif' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-3940814355788241102</id><published>2007-12-13T10:03:00.000+01:00</published><updated>2007-12-13T10:18:39.287+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='eng'/><title type='text'>Blessed and damned @Override annotation in JDK6!</title><content type='html'>When I've started to play with Java5 new features I'm surprised there no was a way to static check (at compile time) that a method is &lt;span style="font-weight: bold;"&gt;implementing&lt;/span&gt; a method of an interface. There is the &lt;span style="font-weight: bold;"&gt;@Override&lt;/span&gt; annotation but it's only useful to tell to the Java compiler I'm &lt;span style="font-weight: bold;"&gt;overriding&lt;/span&gt; a super class method, nor an abstract one neither an interface method.&lt;br /&gt;&lt;br /&gt;Now I discovered Sun staff covered the gap in Java6 just extending the behavior of @Override annotation also to extend abstract methods or to implement interface methods. Great, apart there is no mention on public JDK 6 JavaDocs!!!&lt;br /&gt;&lt;br /&gt;Someone raised a bug on Sun's tracker to correct it: &lt;a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6399361"&gt;http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6399361&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;My Eclipse IDE 3.3.1.1 recognizes the new feature and add the @Override annotation every time I override a method or implement an interface method. Cool.&lt;br /&gt;&lt;br /&gt;But now I've the big problem that Roma Framework's sources are full of them and many users reported me they won't compile under Java5! Yes, because Roma needs JDK 5 to compile (but some additional modules that require Java6 in order to use Scripting facilities. The modules now are just Workflow Tevere and ETL).&lt;br /&gt;&lt;br /&gt;The fastest solution is to set JDK 5 as compliance level in every single projects don't use Scripting. It works. Blessed and damned @Override...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-3940814355788241102?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/3940814355788241102/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=3940814355788241102' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/3940814355788241102'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/3940814355788241102'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2007/12/blessed-and-damned-override-annotation.html' title='Blessed and damned @Override annotation in JDK6!'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-3499558405222286821</id><published>2007-12-11T12:33:00.000+01:00</published><updated>2007-12-11T12:38:38.507+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='luca'/><title type='text'>Interviewee by JavaStaff (in Italian)</title><content type='html'>Today was published the interview about me on &lt;a href="http://www.javastaff.com"&gt;JavaStaff&lt;/a&gt; portal. The interview is in Italian language:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.javastaff.com/article.php?story=20071211103706919"&gt;http://www.javastaff.com/article.php?story=20071211103706919&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-3499558405222286821?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.javastaff.com/article.php?story=20071211103706919' title='Interviewee by JavaStaff (in Italian)'/><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/3499558405222286821/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=3499558405222286821' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/3499558405222286821'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/3499558405222286821'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2007/12/interviewee-by-javastaff-in-italian.html' title='Interviewee by JavaStaff (in Italian)'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-5679925554346959746</id><published>2007-12-11T12:20:00.000+01:00</published><updated>2007-12-11T12:32:02.325+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='jasperreports'/><category scheme='http://www.blogger.com/atom/ns#' term='roma'/><category scheme='http://www.blogger.com/atom/ns#' term='romaframework'/><category scheme='http://www.blogger.com/atom/ns#' term='jasper'/><title type='text'>Finally released Roma Meta Framework 1.0 rc4</title><content type='html'>This should be the last one before the official 1.0, but I repeat to myself this period from a long. Not that Roma is not mature yet, but I'd like to have a release where the Roma committers don't put so many improvements and news in general.&lt;br /&gt;&lt;br /&gt;First of all I've changed the way to release it on &lt;span style="font-weight: bold;"&gt;SourceForge&lt;/span&gt;. Now there are:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The &lt;span style="font-weight: bold;"&gt;Web Wizard&lt;/span&gt; distribution containing all startup modules and the most used (as form of sources and binaries)&lt;/li&gt;&lt;li&gt;Plug-ins as individual packages such as Workflow, Monitoring, ETL, Scheduler, etc.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;The main news of &lt;span style="font-weight: bold;"&gt;1.0 rc4&lt;/span&gt; are:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;New &lt;span style="font-weight: bold;"&gt;Designer &lt;/span&gt;module to customize your application using the Drag&amp;amp;Drop GUI. It allows to change any configured annotations plus to layout screen and form areas&lt;/li&gt;&lt;li&gt;Deep refactoring of &lt;span style="font-weight: bold;"&gt;ETL-XPath&lt;/span&gt; module. Now allows to use scripting to define record and field transformers. Plus a new GUI in form of wizard to configure the ETL process. ETL supports extraction from CSV and SQL sources and import on POJO and CSV.&lt;span style="font-family: monospace;"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: monospace;"&gt;&lt;/span&gt;New &lt;span style="font-weight: bold;"&gt;Reporting JR&lt;/span&gt; module to generate dynamically reports using &lt;span style="font-weight: bold;"&gt;Jasper Reports&lt;/span&gt;. Report can be in form of PDF, CSV and MS Excel. Now you can display the report of any GUI at the fly&lt;br /&gt;&lt;/li&gt;&lt;li&gt;New "&lt;span style="font-weight: bold;"&gt;Web Ready&lt;/span&gt;" project type to start from a ready-for-the-web application&lt;/li&gt;&lt;li&gt;Enhanced all CRUD inserting "&lt;span style="font-weight: bold;"&gt;report&lt;/span&gt;" button&lt;/li&gt;&lt;li&gt;Resolved a lot of issues (see SourceForge tracker)&lt;/li&gt;&lt;li&gt;Minor improvements&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-5679925554346959746?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/5679925554346959746/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=5679925554346959746' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/5679925554346959746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/5679925554346959746'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2007/12/finally-released-roma-meta-framework-10.html' title='Finally released Roma Meta Framework 1.0 rc4'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-5758600295992178399</id><published>2007-11-19T13:06:00.000+01:00</published><updated>2007-11-19T14:11:30.069+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><title type='text'>Does Eclipse Europa crash over and over again?</title><content type='html'>If even the changes described in my previous post you have problems with Eclipse 3.3 (Europa), then probably you're using the same workspace from a long. Create a brand new workspace and re-import anything.&lt;br /&gt;&lt;br /&gt;Remember you had to re-set all code formatting rules (if they are different by Eclipse built-in) as long as Run/Debug configurations.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-5758600295992178399?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/5758600295992178399/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=5758600295992178399' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/5758600295992178399'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/5758600295992178399'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2007/11/eclipse-europa-crash-again.html' title='Does Eclipse Europa crash over and over again?'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-7645456109405952605</id><published>2007-11-15T22:37:00.001+01:00</published><updated>2007-11-19T14:15:28.054+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><title type='text'>Why Eclipse Europa 3.3 crashes</title><content type='html'>If you're using the latest release of famous IDE you've surely experienced a lot of problems: every 10 minutes it crashes! Time depends by the projects opened and plug-ins installed.&lt;br /&gt;&lt;br /&gt;Today my Eclipse crashed at least 15 times. So it was come the time to fix the problem. After some research I discovered the problem. For a well known bug you had to change the way you launch the IDE.&lt;br /&gt;&lt;br /&gt;Change your &lt;span style="font-weight: bold;"&gt;eclipse.ini&lt;/span&gt; in the Eclipse's installation directory to:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;-showsplash &lt;/span&gt;&lt;span style="font-family:Courier New;"&gt;org.eclipse.platform&lt;/span&gt; &lt;span style="font-family:Courier New;"&gt;&lt;br /&gt;-vmargs&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="font-family:Courier New;"&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;-XX:MaxPermSize=128m&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;-Xms40m&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;-Xmx256m&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If you've a lot of  memory try my configuration:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;-showsplash &lt;/span&gt;&lt;span style="font-family:Courier New;"&gt;org.eclipse.platform&lt;/span&gt; &lt;span style="font-family:Courier New;"&gt;&lt;br /&gt;-vmargs&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="font-family:Courier New;"&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;-XX:MaxPermSize=128m&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;-Xms256m&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;-Xmx1024m&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Your productivity will thanks ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-7645456109405952605?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/7645456109405952605/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=7645456109405952605' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/7645456109405952605'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/7645456109405952605'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2007/11/why-eclipse-europa-33-crashes.html' title='Why Eclipse Europa 3.3 crashes'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-7838219010170373370</id><published>2007-11-13T01:41:00.000+01:00</published><updated>2007-11-13T02:08:46.569+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='past'/><category scheme='http://www.blogger.com/atom/ns#' term='commodore'/><category scheme='http://www.blogger.com/atom/ns#' term='amiga'/><title type='text'>In Memory of Dave Morse, Amiga Co-Founder, 1943-2007</title><content type='html'>&lt;span style="font-style: italic;"&gt;"David Morse, Amiga Computer's co-founder passed away last week. I will remember him always"&lt;/span&gt;. This is the news found on &lt;a href="http://www.rebol.com/article/0345.html"&gt;http://www.rebol.com/article/0345.html&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I never met David. We're part of different generations. But he worked to create one of best my partner of ever: Amiga computer. I started to play with Commodore 16 when I was about 10 years old. It was the &lt;span onclick="dr4sdgryt(event)"&gt;holy communion gift of Diego, one of my best friend.&lt;/span&gt; I was amazed how can be easy to instruct a machine to make tasks. Then after so much efforts my mother bought me the first Commodore 64. I spent so much time on it... Playing and programming with the bundled Basic and just 48Kb of RAM.&lt;br /&gt;&lt;br /&gt;After some year I was captivated by Amiga 500 computer. At that time I was living in Grosseto, a small town in Tuscany, Italy. So much powerful, so beautiful, so much forward than competitors: 4096 colors, true preemptive multitasking operative system, unix-like shell... So I decided to sold my C64 and all stuffs (games, applications, devices, etc.) to have enough money to buy my Amiga 500. I can remember yet the day my mother, my brother and me went back home with the enormous boxes containing Amiga 500 and the Philips monitor 8833 II. Full afternoons up my keyboard after the school. Amiga was my partner for many years until my last Amiga: the Amiga 1200 model equiped with M68030 50Mhz (a monster at that time).&lt;br /&gt;&lt;br /&gt;Thank you again Dave, thanks to your wife Lorraine that surely doesn't know how Dave's creation charmed our generation.&lt;br /&gt;&lt;br /&gt;RIP,&lt;br /&gt;Luca&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-7838219010170373370?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/7838219010170373370/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=7838219010170373370' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/7838219010170373370'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/7838219010170373370'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2007/11/in-memory-of-dave-morse-amiga-co.html' title='In Memory of Dave Morse, Amiga Co-Founder, 1943-2007'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-1374800923935242594</id><published>2007-11-09T09:47:00.000+01:00</published><updated>2008-01-14T08:40:39.704+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='javaday'/><category scheme='http://www.blogger.com/atom/ns#' term='ita'/><category scheme='http://www.blogger.com/atom/ns#' term='roma'/><category scheme='http://www.blogger.com/atom/ns#' term='romaframework'/><title type='text'>1 Dicembre 2007: JavaDay a Roma</title><content type='html'>Anche quest'anno la macchina del JavaDay si è messa in moto: sabato 1° dicembre 2007 ci sarà la seconda edizione del JavaDay a Roma. Molti i talk interessanti di cui uno su &lt;a href="http://www.romaframework.org/"&gt;Roma Meta Framework&lt;/a&gt;. Questa volta ho intenzione di partire quasi da subito con una demo, mostrare il designer e il funzionamento "interno" del framework aiutandomi con qualche slide.&lt;br /&gt;&lt;br /&gt;Sito ufficiale Javaday di Roma: &lt;a href="http://roma.javaday.it/roma/index.vm"&gt;http://roma.javaday.it/roma/index.vm&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Ci vediamo li no? ;-)&lt;br /&gt;&lt;br /&gt;Programma completo:&lt;br /&gt;&lt;br /&gt;&lt;table border="1" bordercolor="#000000" cellpadding="4" cellspacing="0" width="100%"&gt;  &lt;col width="19*"&gt;  &lt;col width="66*"&gt;  &lt;col width="26*"&gt;  &lt;col width="35*"&gt;  &lt;col width="59*"&gt;  &lt;col width="51*"&gt;  &lt;tbody&gt;&lt;tr&gt;   &lt;td width="7%"&gt;    &lt;p align="center"&gt;&lt;br /&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td valign="top" width="26%"&gt;    &lt;h3 align="center"&gt;&lt;span style="font-family:Tahoma,sans-serif;"&gt;&lt;b&gt;&lt;a href="http://roma.javaday.it/roma/programma.vm#next"&gt;Next    generation Web&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;   &lt;/td&gt;   &lt;td colspan="2" valign="top" width="24%"&gt;    &lt;h3 align="center"&gt;&lt;span style="font-family:Tahoma,sans-serif;"&gt;&lt;b&gt;&lt;a href="http://roma.javaday.it/roma/programma.vm#open"&gt;Java    Open Source&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;   &lt;/td&gt;   &lt;td valign="top" width="23%"&gt;    &lt;h3 align="center"&gt;&lt;span style="font-family:Tahoma,sans-serif;"&gt;&lt;b&gt;&lt;a href="http://roma.javaday.it/roma/programma.vm#hot"&gt;Core    Java, what's hot&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;   &lt;/td&gt;   &lt;td valign="top" width="20%"&gt;    &lt;h3 align="center"&gt;&lt;span style="font-family:Tahoma,sans-serif;"&gt;&lt;b&gt;&lt;a href="http://roma.javaday.it/roma/programma.vm#ent"&gt;Java    enterprise&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;   &lt;td style="font-weight: bold;" width="7%"&gt;    &lt;p align="center"&gt;&lt;span style="font-family:Tahoma,sans-serif;"&gt;09.00&lt;/span&gt;&lt;/p&gt;    &lt;p align="center"&gt;&lt;span style="font-family:Tahoma,sans-serif;"&gt;-&lt;/span&gt;&lt;/p&gt;    &lt;p align="center"&gt;&lt;span style="font-family:Tahoma,sans-serif;"&gt;9.40&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="font-weight: bold;" width="26%"&gt;    &lt;h4 style=""&gt;&lt;span style="font-family:Tahoma,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;Second    Life e Java: prospettive di comunicazione&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;   &lt;/td&gt;   &lt;td style="font-weight: bold;" colspan="2" width="24%"&gt;    &lt;h4 style=""&gt;&lt;span style="font-family:Tahoma,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;Tapestry    In Action , nuovi modi di sviluppare applicazioni web&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;   &lt;/td&gt;   &lt;td style="font-weight: bold;" width="23%"&gt;    &lt;h4 style=""&gt;&lt;span style="font-family:Tahoma,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;Introduzione    alla tecnologia Sun SPOT&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;   &lt;/td&gt;   &lt;td style="font-weight: bold;" width="20%"&gt;    &lt;h4 style=""&gt;&lt;span style="font-family:Tahoma,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;Magic    Box project: Effective K .I .S .S . with SpringFramework&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;   &lt;td style="font-weight: bold;" width="7%"&gt;    &lt;p align="center"&gt;&lt;span style="font-family:Tahoma,sans-serif;"&gt;09.50&lt;/span&gt;&lt;/p&gt;    &lt;p align="center"&gt;&lt;span style="font-family:Tahoma,sans-serif;"&gt;-&lt;/span&gt;&lt;/p&gt;    &lt;p align="center"&gt;&lt;span style="font-family:Tahoma,sans-serif;"&gt;10.30&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="font-weight: bold;" width="26%"&gt;    &lt;h4 style=""&gt;&lt;span style="font-family:Tahoma,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;JSF    Integration in JViews - intervento in lingua inglese&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;   &lt;/td&gt;   &lt;td style="font-weight: bold;" colspan="2" width="24%"&gt;    &lt;h4 style=""&gt;&lt;span style="font-family:Tahoma,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;Sviluppo    rapido di applicazioni utilizzando DDD e Roma Meta Framework&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;   &lt;/td&gt;   &lt;td style="font-weight: bold;" width="23%"&gt;    &lt;h4 style=""&gt;&lt;span style="font-family:Tahoma,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;Sessioni    Multimediali Voce Video, IM e Presence con i nuovi standard    IMS/SIP [SipWork]&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;   &lt;/td&gt;   &lt;td style="font-weight: bold;" width="20%"&gt;    &lt;h4 style=""&gt;&lt;span style="font-family:Tahoma,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;SpagoBI:    la piattaforma open source di Business Intelligence&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;   &lt;td style="font-weight: bold;" width="7%"&gt;    &lt;p align="center"&gt;&lt;span style="font-family:Tahoma,sans-serif;"&gt;10.40&lt;/span&gt;&lt;/p&gt;    &lt;p align="center"&gt;&lt;span style="font-family:Tahoma,sans-serif;"&gt;-&lt;/span&gt;&lt;/p&gt;    &lt;p align="center"&gt;&lt;span style="font-family:Tahoma,sans-serif;"&gt;11.20&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="font-weight: bold;" width="26%"&gt;    &lt;h4 style=""&gt;&lt;span style="font-family:Tahoma,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;Il    Web del Futuro: Enterprise e Web Semantico&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;   &lt;/td&gt;   &lt;td style="font-weight: bold;" width="10%"&gt;    &lt;h4 style=""&gt;&lt;span style="font-family:Tahoma,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;Sviluppare    applicazioni basate su BPEL utilizzando NetBeans e JBI&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;   &lt;/td&gt;   &lt;td style="font-weight: bold;" width="14%"&gt;    &lt;h4 style=""&gt;&lt;span style="font-family:Tahoma,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;NASA    World Wind for Java: come integrare mappe geografiche    tridimensionali nelle applicazioni Java per il desktop&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;   &lt;/td&gt;   &lt;td style="font-weight: bold;" width="23%"&gt;    &lt;h4 style=""&gt;&lt;span style="font-family:Tahoma,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;Java    e i linguaggi dinamici: come incrementare le potenzialità    espressive di Java&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;   &lt;/td&gt;   &lt;td style="font-weight: bold;" width="20%"&gt;    &lt;h4 style=""&gt;&lt;span style="font-family:Tahoma,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;Domain    Driven Design, agilità e patterns, architettura e test    first&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;   &lt;td style="font-weight: bold;" width="7%"&gt;    &lt;p align="center"&gt;&lt;span style="font-family:Tahoma,sans-serif;"&gt;11.40&lt;/span&gt;&lt;/p&gt;    &lt;p align="center"&gt;&lt;span style="font-family:Tahoma,sans-serif;"&gt;-&lt;/span&gt;&lt;/p&gt;    &lt;p align="center"&gt;&lt;span style="font-family:Tahoma,sans-serif;"&gt;12.20&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="font-weight: bold;" width="26%"&gt;    &lt;h4 style=""&gt;&lt;span style="font-family:Tahoma,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;Rich    Internet Application con Java e Flex&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;   &lt;/td&gt;   &lt;td style="font-weight: bold;" colspan="2" width="24%"&gt;    &lt;h4 style=""&gt;&lt;span style="font-family:Tahoma,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;Skype4Java&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;   &lt;/td&gt;   &lt;td style="font-weight: bold;" width="23%"&gt;    &lt;h4 style=""&gt;&lt;span style="font-family:Tahoma,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;Programmazione    Orientata agli Aspetti: cos’è, quando e come applicarla&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;   &lt;/td&gt;   &lt;td style="font-weight: bold;" width="20%"&gt;    &lt;h4 style=""&gt;&lt;span style="font-family:Tahoma,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;Terracotta    DSO, una soluzione innovativa per software enterprise&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;   &lt;td style="font-weight: bold;" width="7%"&gt;    &lt;p align="center"&gt;&lt;span style="font-family:Tahoma,sans-serif;"&gt;12.30&lt;/span&gt;&lt;/p&gt;    &lt;p align="center"&gt;&lt;span style="font-family:Tahoma,sans-serif;"&gt;-&lt;/span&gt;&lt;/p&gt;    &lt;p align="center"&gt;&lt;span style="font-family:Tahoma,sans-serif;"&gt;13.10&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="font-weight: bold;" width="26%"&gt;    &lt;h4 style=""&gt;&lt;span style="font-family:Tahoma,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;Usare    Google Web Toolkit per costruire potenti applicazioni AJAX in Java    con tanto di gestione offline dei dati&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;   &lt;/td&gt;   &lt;td style="font-weight: bold;" colspan="2" width="24%"&gt;    &lt;h4 style=""&gt;&lt;span style="font-family:Tahoma,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;Parancoe:    usare i DAO senza implementarli&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;   &lt;/td&gt;   &lt;td style="font-weight: bold;" width="23%"&gt;    &lt;h4 style=""&gt;&lt;span style="font-family:Tahoma,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;JRuby    e DSL&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;   &lt;/td&gt;   &lt;td style="font-weight: bold;" width="20%"&gt;    &lt;h4 style=""&gt;&lt;span style="font-family:Tahoma,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;Clustering    a Real World Enterprise Application with Terracotta :Atlassian    Jira&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;   &lt;td style="font-weight: bold;" width="7%"&gt;    &lt;p align="center"&gt;&lt;span style="font-family:Tahoma,sans-serif;"&gt;13.20&lt;/span&gt;&lt;/p&gt;    &lt;p align="center"&gt;&lt;span style="font-family:Tahoma,sans-serif;"&gt;-&lt;/span&gt;&lt;/p&gt;    &lt;p align="center"&gt;&lt;span style="font-family:Tahoma,sans-serif;"&gt;14.00&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="font-weight: bold;" width="26%"&gt;    &lt;h4 style=""&gt;&lt;span style="font-family:Tahoma,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;Grails,    sviluppo rapido di applicazioni web in Groovy + Java&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;   &lt;/td&gt;   &lt;td style="font-weight: bold;" colspan="2" width="24%"&gt;    &lt;h4 style=""&gt;&lt;span style="font-family:Tahoma,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;Testing    di sistemi enterprise utilizzando strumenti FLOSS&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;   &lt;/td&gt;   &lt;td style="font-weight: bold;" width="23%"&gt;    &lt;h4 style=""&gt;&lt;span style="font-family:Tahoma,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;Ruby    On Rails&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;   &lt;/td&gt;   &lt;td width="20%"&gt;    &lt;h4 style=""&gt;&lt;span style="font-family:Tahoma,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;Progettazione    di un sistema di Single SignOn che permette l'accesso tramite tipi    diversi di credenziali&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-1374800923935242594?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/1374800923935242594/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=1374800923935242594' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/1374800923935242594'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/1374800923935242594'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2007/11/javadayrome-1st-december-2007.html' title='1 Dicembre 2007: JavaDay a Roma'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-6118196431503967210</id><published>2007-10-24T15:46:00.000+02:00</published><updated>2008-12-09T11:28:31.554+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='assetdata'/><title type='text'>Gnocchi on Wednesday</title><content type='html'>&lt;table&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Ng9D76byQk0/Rx9WVbpwgYI/AAAAAAAAACw/IQFxS-mfZcs/s1600-h/Mercoledi-Gnocchi.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_Ng9D76byQk0/Rx9WVbpwgYI/AAAAAAAAACw/IQFxS-mfZcs/s200/Mercoledi-Gnocchi.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5124909827171058050" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;br /&gt;Today is Wednesday. In Italy is not the classic day to eat Gnocchi (it should be Thursday), but today Luigi and Alessandra made an exception.&lt;br /&gt;&lt;br /&gt;In the interview Luigi told about your Gnocchi  recipe: "I simply apply the design patterns on cooking".&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-6118196431503967210?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/6118196431503967210/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=6118196431503967210' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/6118196431503967210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/6118196431503967210'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2007/10/gnocchi-on-wednesday.html' title='Gnocchi on Wednesday'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_Ng9D76byQk0/Rx9WVbpwgYI/AAAAAAAAACw/IQFxS-mfZcs/s72-c/Mercoledi-Gnocchi.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-4815998321363905439</id><published>2007-09-26T00:09:00.000+02:00</published><updated>2007-10-05T11:08:06.819+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='conference'/><category scheme='http://www.blogger.com/atom/ns#' term='sun'/><category scheme='http://www.blogger.com/atom/ns#' term='jpa'/><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='roma'/><category scheme='http://www.blogger.com/atom/ns#' term='javafx'/><category scheme='http://www.blogger.com/atom/ns#' term='romaframework'/><title type='text'>Sun Tech Days Italy - Rome</title><content type='html'>Today I attended the &lt;span style="font-weight:bold;"&gt;Sun Tech Days Italy&lt;/span&gt; event in Rome. By a fast look at the agenda speeches seem to be pretty interesting but in general in this kind of events IMHO the quality is very poor, maybe also for the very short time available for every single talk.&lt;br /&gt;&lt;br /&gt;I was wrong. The afternoon was flighted since all talks was very interesting! In the morning, instead, I was in the &lt;span style="font-weight:bold;"&gt;JUG&lt;/span&gt; stand along with Mara Marzocchi. JUG Roma staff is working for the next upcoming &lt;span style="font-weight:bold;"&gt;Java Day 2007&lt;/span&gt; event in Rome as well.&lt;br /&gt;&lt;br /&gt;Below the agenda I attended today:&lt;br /&gt;&lt;table class=""&gt;&lt;br /&gt;&lt;tr&gt;&lt;td align="center"&gt;&lt;img src="http://developers.sun.com/events/techdays/im/sreddy51.jpg"/&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;span style="font-weight:bold;"&gt;Java Scripting: JavaFX Script and JRuby - Sridhar Reddy&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Much more deeper than the talk listened at Jazoon '07. Today Sridhar talked about the JavaFX syntax language. JavaFX contains very interesting features. One for all the &lt;span style="font-weight:bold;"&gt;bind&lt;/span&gt; keyword that allow to listen changes in chain.&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://javapassion.com/index_files/l2_shin_sang_portrait.gif"/&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;span style="font-weight:bold;"&gt;Java Persistence API: Simplifying Persistence - Sang Shin&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Sang is a veteran speaker, nice and never predictable. What a shame for no one words about &lt;span style="font-weight:bold;"&gt;JDO&lt;/span&gt; specification!&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://javapassion.com/index_files/l2_shin_sang_portrait.gif"/&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;span style="font-weight:bold;"&gt;Ajax and Web 2.0 Related Frameworks and Toolkits - Sang Shin&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Sang explained in detail all kinds of Ajax frameworks (Dojo, DRW, GWT, etc.) with some slides and a working demo for every single one!&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://today.java.net/images/people/doris_chen.jpg"/&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Building Rich Web Applications using jMaki and Phobos - Doris Chen&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Doris fired me the interest for &lt;span style="font-weight:bold;"&gt;jMaki&lt;/span&gt;, what Jazoon's talk didn't! Very cool tool. I'd like to spend a little more time on investigating about the integration with Roma Meta Framework.&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;Here the full agenda: &lt;a href="http://it.sun.com/sunnews/events/2007/sept/jc07"&gt;http://it.sun.com/sunnews/events/2007/sept/jc07&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And in conclusion:&lt;br /&gt;- I note down some improvements in Roma based on frameworks seen today.&lt;br /&gt;- I forced me to give a chance to the NetBeans IDE. When? After the release of final 1.0 of Roma Framework, of course :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-4815998321363905439?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/4815998321363905439/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=4815998321363905439' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/4815998321363905439'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/4815998321363905439'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2007/09/sun-tech-days-italy-rome.html' title='Sun Tech Days Italy - Rome'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-3082219520514168545</id><published>2007-09-07T11:35:00.000+02:00</published><updated>2007-09-07T11:50:14.271+02:00</updated><title type='text'>Preview of Release 1.0rc2</title><content type='html'>For most of you August is a "dead month". Roma staff, instead, worked hardly to complete the release of 1.0rc2. Now you can taste a preview by downloading it from the SVN repository.&lt;br /&gt;&lt;br /&gt;Take care to read information about compatibilities issues and migration here:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://romaframework.xwiki.com/xwiki/bin/view/Main/PreviewOfRelease10rc2"&gt;http://romaframework.xwiki.com/xwiki/bin/view/Main/PreviewOfRelease10rc2&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-3082219520514168545?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://romaframework.xwiki.com/xwiki/bin/view/Main/PreviewOfRelease10rc2' title='Preview of Release 1.0rc2'/><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/3082219520514168545/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=3082219520514168545' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/3082219520514168545'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/3082219520514168545'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2007/09/preview-of-release-10rc2.html' title='Preview of Release 1.0rc2'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-1872116628436283324</id><published>2007-08-29T17:51:00.000+02:00</published><updated>2007-08-29T17:58:41.295+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='ror'/><category scheme='http://www.blogger.com/atom/ns#' term='roma'/><category scheme='http://www.blogger.com/atom/ns#' term='romaframework'/><title type='text'>Ruby on Rails and its Database Driver Approach: back to the past?</title><content type='html'>I admit &lt;a href="http://www.rubyonrails.org/"&gt;Ruby on Rails&lt;/a&gt; (RoR by now) contributed to know the &lt;span style="font-weight:bold;"&gt;convention-over-configuration&lt;/span&gt; pattern and now a lot of tools and frameworks are adopting it. &lt;br /&gt;&lt;br /&gt;But I continue to hate the RoR's Database Driven approach: Where is the OO model? It seems to be back on PHP/Visual Basic!&lt;br /&gt;&lt;br /&gt;Using &lt;a href="http://www.romaframework.org"&gt;Roma Meta Framework&lt;/a&gt; you start from your pure OO model following the DDD approach. The persistence aspect will convert the model to database. Dot. Let's think OO and the Aspect implementation will do the rest.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-1872116628436283324?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/1872116628436283324/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=1872116628436283324' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/1872116628436283324'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/1872116628436283324'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2007/08/ruby-on-rails-and-its-database-driver.html' title='Ruby on Rails and its Database Driver Approach: back to the past?'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-6510782495352116807</id><published>2007-07-16T02:08:00.000+02:00</published><updated>2007-07-16T02:16:27.853+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sourceforge'/><category scheme='http://www.blogger.com/atom/ns#' term='roma'/><category scheme='http://www.blogger.com/atom/ns#' term='romaframework'/><title type='text'>SourceForge renamed SubVersion URL of all projects</title><content type='html'>Just today I discovered the reason &lt;span style="font-weight:bold;"&gt;RomaFramework's SubVersion repository&lt;/span&gt; wan't work anymore since 4 days: &lt;span style="font-weight:bold;"&gt;&lt;a href="http://sf.net"&gt;SourceForge&lt;/a&gt;&lt;/span&gt; renamed the SVN URL of all projects inserting the project as prefix.&lt;br /&gt;&lt;br /&gt;Before:&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;https://svn.sourceforge.net/svnroot/romaframework/trunk&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now:&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;https://romaframework.svn.sourceforge.net/svnroot/romaframework/trunk&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The great thing is that you can't find any news about it in the SF.net homepage!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-6510782495352116807?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/6510782495352116807/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=6510782495352116807' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/6510782495352116807'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/6510782495352116807'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2007/07/sourceforge-renamed-subversion-url-of.html' title='SourceForge renamed SubVersion URL of all projects'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-1792346030600364409</id><published>2007-07-13T01:53:00.000+02:00</published><updated>2007-07-13T01:57:25.965+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='fun'/><title type='text'>Come fareste senza Messenger?</title><content type='html'>Che succederebbe se qualcuno togliesse Messenger dal vostro PC? Questa è la breve trama del colossal &lt;span style="font-weight:bold;"&gt;"L'ultima Trillata"&lt;/span&gt; in uscita nelle sale tra pochissimo. Qui sotto potete vedere il trailer:&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="350"&gt;&lt;param name="movie" value="http://www.youtube.com/v/R55G1zvASx4"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/R55G1zvASx4" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-1792346030600364409?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/1792346030600364409/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=1792346030600364409' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/1792346030600364409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/1792346030600364409'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2007/07/come-fareste-senza-messenger.html' title='Come fareste senza Messenger?'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-2439606342637274001</id><published>2007-07-06T20:02:00.000+02:00</published><updated>2007-07-07T02:06:45.534+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><title type='text'>Eclipse 3.3 Europa sucks!</title><content type='html'>Three days ago I installed &lt;span style="font-weight:bold;"&gt;Eclipse 3.3&lt;/span&gt;, called also as &lt;span style="font-weight:bold;"&gt;"Europa"&lt;/span&gt;. Today I'm back to use the previous one since it's much more stable and fast! Moreover the new Eclipse Update Manager works bad since it alerts me about new updates but I can't download and install its from the IDE cause unknown error!&lt;br /&gt;&lt;br /&gt;Eclipse 3.3 Europa sucks (for now)!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-2439606342637274001?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/2439606342637274001/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=2439606342637274001' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/2439606342637274001'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/2439606342637274001'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2007/07/eclipse-33-europa-sucks.html' title='Eclipse 3.3 Europa sucks!'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-8221102801361698487</id><published>2007-07-04T18:06:00.003+02:00</published><updated>2008-12-09T11:28:31.681+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>Luca discovered the holy drink for Java Developers</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Ng9D76byQk0/RovlE4koyUI/AAAAAAAAABE/lO5o7lv2PnQ/s1600-h/JavaDevelopersDrink.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_Ng9D76byQk0/RovlE4koyUI/AAAAAAAAABE/lO5o7lv2PnQ/s200/JavaDevelopersDrink.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5083408476486027586" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I discovered the holy drink for Java Developers: &lt;span style="font-weight:bold;"&gt;The Java Green Tea&lt;/span&gt;. Today at 5:00 pm o'clock I'll try it and for the rest of the week. In the next days I will be able to write if the &lt;span style="font-weight:bold;"&gt;Java Green Tea&lt;/span&gt; improves the performances of a Java Developer.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-8221102801361698487?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/8221102801361698487/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=8221102801361698487' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/8221102801361698487'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/8221102801361698487'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2007/07/luca-discovered-holy-drink-for-java.html' title='Luca discovered the holy drink for Java Developers'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_Ng9D76byQk0/RovlE4koyUI/AAAAAAAAABE/lO5o7lv2PnQ/s72-c/JavaDevelopersDrink.jpg' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-7074435781187663789</id><published>2007-07-03T15:55:00.000+02:00</published><updated>2007-07-03T23:06:35.856+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='ita'/><category scheme='http://www.blogger.com/atom/ns#' term='jazoon'/><title type='text'>Resoconto Jazoon 2007 - Zurich Switzerland</title><content type='html'>Eccoci qua,&lt;br /&gt;a pochi giorni dalla fine della conferenza Jazoon 2007 posso fare un resoconto della manifestazione. Sarò sintetico come al solito :-)&lt;br /&gt;&lt;br /&gt;Cominciamo con le impressioni iniziali. All'inizio ammetto che non mi aspettavo gran che dall'evento. Sarà perchè era alla sua prima "release", sarà che pochi nel giro avevano interesse a parteciparvi. Comunque per me era un'opportunità per dare un'occhiata a quella che sarebbe potuta diventare una conference di riferimento per l'europa, cosi come oggi è il Javapolis.&lt;br /&gt;&lt;br /&gt;Organizzo il viaggio, trovo l'albergo non proprio a buon prezzo ma si sa che a Zurigo la vita è cara. Per il volo non riesco a sfruttare la convenzione del Jazoon perchè il codice convenzione non viene accettato dalla prenotazione online della Swiss Air. Per fortuna il biglietto è stato omaggiato dal JUG Roma anche perchè ho appreso solo dopo che sarebbe costato oltre € 1.200,00!&lt;br /&gt;&lt;br /&gt;Sapevo che della capitale saremo stati solamente in 2: Davide Cerbo e io. Di certo non avrei mai immaginato quanto forte sarebbe stata la partecipazione italiana all'evento. Eggià, perchè tra JUG Padova (ne ho contati 3), JUG Milano (2), JUG Sardegna (credo 3) e il JUG Torino (2) in tutto i suonatori di mandolino ammontavano almeno a una dozzina, quella sporca dozzina...&lt;br /&gt;&lt;br /&gt;Zurigo è bella. Tutto ordinato e funzionante come gli ingranaggi di un orologio (Svizzero appunto...). La gente è cordiale ma forse sorride poco per i miei gusti. Dappertutto ci sono ristoranti e caffè italiani, anche se la lingua ufficiale è il tedesco. Qualche stranezza l'ho trovata come gente in giacca e cravatta che gira in Monopattino (si, hai letto bene!) e altre cosette che ho pubblicato in quest'altro &lt;a href="http://zion-city.blogspot.com/2007/06/jazoon-2007-3rd-and-last-day-preview.html"&gt;post&lt;/a&gt;. Toccherebbe scendere più a sud per trovare il cantone Italiano.&lt;br /&gt;&lt;br /&gt;Il tempo non è stato gran che clemente, e gli unici 2 giorni di sole me li sono goduti tutti. Sopratutto il giovedì pomeriggio con Davide ci siamo girati 1/2 Zurich (Il centro, il giardino cinese, ecc.). Qualche foto l'ho pubblicata su &lt;a href="http://flickr.com/photos/lvca/sets/72157600539746765/show/"&gt;Flickr&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Passiamo alla conferenza vera e propria.&lt;br /&gt;&lt;br /&gt;La location devo dire che mi è piaciuta molto. Tutta l'organizzazione, i notebook disponibili per navigare, la registrazione nonchè il guardaroba erano in un locale davvero fashion, il &lt;a href="http://www.platins.ch/"&gt;Platins&lt;/a&gt;. Nel Platins sono stati organizzati anche tutti i pranzi, l'after hour del lunedì e il party di mercoledi notte. Invece le sessioni e gli sponsor erano tutti nel'edificio adiacente, un vero e proprio cinema multisala. Tutto fa parte del nuovo centro commerciale &lt;a href="http://www.sihlcity.ch"&gt;Silhcity&lt;/a&gt; inaugurato qualche mese fa.&lt;br /&gt;&lt;br /&gt;L'organizzazione è stata davvero impeccabile. Sono o non sono svizzeri? :-) Proiezioni animate, Jingle a chiusura degli interventi, messaggi in broadcast a tutte le sale, fotografi, ecc.&lt;br /&gt;&lt;br /&gt;Prima ho parlato di pranzi. Ebbene la scelta non era molto vasta, ma complessivamente non è stato malaccio e c'erano sempre drink gratis a volontà.&lt;br /&gt;&lt;br /&gt;La maggior parte degli sponsor erano società di consulenza o man power svizzere che cercavano come segugi consulenti da arruolare nelle proprie file promettendo cifre da capogiro. Ebbene si, in Svizzera ci sono moltissime banche e i lavori sono ben pagati. A occhio e croce potrei dire che i compensi lordi sono &lt;span style="font-weight:bold;"&gt;il doppio&lt;/span&gt; di quelli italiani e anche di più. Poi calcolando che il regime fiscale è meno "pressante" che nel Bel Paese. Ok, lo ammetto, un pensierino c'è stato ;-)&lt;br /&gt;&lt;br /&gt;Per quanto riguarda i talk non c'è ne è stato nessuno che mi ha incuriosito particolarmente: nessuna tecnologia, framework o tool che puzzasse di nuovo.&lt;br /&gt;&lt;br /&gt;Quello di cui sono davvero contento è l'aver conosciuto di persona gli altri ragazzi dei JUG italiani e in particolare: &lt;a href="http://www.jroller.com/page/bitog"&gt;Fabrizio Gianneschi&lt;/a&gt;, &lt;a href="http://weblogs.java.net/blog/fabriziogiudici/"&gt;Fabrizio Giudici&lt;/a&gt;, &lt;a href="http://www.bloomingstars.com/"&gt;Emmanuele Sordini&lt;/a&gt;, &lt;a href="http://benfante.blogspot.com/"&gt;Lucio Benfante&lt;/a&gt;, &lt;a href="http://enricogi.blogspot.com/"&gt;Enrico Giurin&lt;/a&gt;, Paolo Foletto, Luisa, &lt;a href="http://magomarcelo.blogspot.com/"&gt;Marcello Teodori&lt;/a&gt;, &lt;a href="http://www.jugmilano.it/vqwiki/jsp/Wiki?GianCarloPace"&gt;Giancarlo Pace&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.diotalevi.com/weblog/"&gt;Filippo Diotalevi&lt;/a&gt;, &lt;a href="http://bbossola.wordpress.com/"&gt;Bruno Bossola&lt;/a&gt; e &lt;a href="http://jesty.wordpress.com/"&gt;Davide Cerbo&lt;/a&gt; li conoscevo già (Filippo un mio ex-collega, Bruno al JavaDay e Davide è del JUG Roma).&lt;br /&gt;&lt;br /&gt;Martedi pomeriggio ho partecipato al BOF (Birds of a feather) session &lt;span style="font-weight:bold;"&gt;JUG Leaders Panel&lt;/span&gt; dove abbiamo parlato di JUG, Java, Sun, cooperazione, strumenti per gli eventi e altro. Anche questa è stata una buona occasione per socializzare. A proposito... Devo ancora reperire la foto di gruppo. Vatti a ricordare chi l'ha scattata...&lt;br /&gt;&lt;br /&gt;Consiglierei il Jazoon ad amici e colleghi? Direi di si, a parte il prezzo altissimo. € 1,245 (la early registration costava la metà) sono davvero tanti. Sicuramente troppi per una partecipazione individuale e comunque non trascurabile per la piccola-media azienda. Comunque c'è stato anche una breve dritta a fine conferenza su come non pagare per il prossimo Jazoon 2008: proporre uno speach o essere un JUG Leader. Non è forse un ottimo modo per spingere a fare sempre di più? ;-)&lt;br /&gt;&lt;br /&gt;Comunque una cosa è sicura: il prossimo anno mi armerò con almeno uno speach su &lt;a href="http://www.romaframework.org"&gt;Roma Framework&lt;/a&gt; e una sessione dimostrativa "sul pezzo".&lt;br /&gt;&lt;br /&gt;Come conclusione lancio anche un razzo segnaletico sperando che Sun Italia e qualche sponsor interessato colga quello che sto per dire:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;&lt;span style="font-weight:bold;"&gt;E se facessimo una Java Conference non più in Italiano ma in Inglese&lt;/span&gt;&lt;/span&gt;?&lt;br /&gt;&lt;br /&gt;Se fosse organizzata con uno spirito internazionale? Ultimamente l'interesse verso il Java Conference sembra scemato dato il successo nel 2006 dei JavaDay. Ditemi cosa ne pensate.&lt;br /&gt;&lt;br /&gt;Ora è davvero tutto: ci vediamo al JavaPolis ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-7074435781187663789?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/7074435781187663789/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=7074435781187663789' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/7074435781187663789'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/7074435781187663789'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2007/07/resoconto-jazoon-2007-zurich.html' title='Resoconto Jazoon 2007 - Zurich Switzerland'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-5204470734375974763</id><published>2007-06-29T14:10:00.000+02:00</published><updated>2007-06-29T14:12:30.277+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jazoon'/><title type='text'>Jazoon 2007 conference: my photos</title><content type='html'>I've just published my photos about the Jazoon event: &lt;a href="http://flickr.com/photos/lvca/sets/72157600539746765/show/"&gt;http://flickr.com/photos/lvca/sets/72157600539746765/show/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-5204470734375974763?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://flickr.com/photos/lvca/sets/72157600539746765/show/' title='Jazoon 2007 conference: my photos'/><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/5204470734375974763/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=5204470734375974763' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/5204470734375974763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/5204470734375974763'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2007/06/jazoon-2007-conference-my-photos.html' title='Jazoon 2007 conference: my photos'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-982140915200823722</id><published>2007-06-28T11:36:00.000+02:00</published><updated>2007-06-29T11:29:29.133+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='jazoon'/><title type='text'>Live from Jazoon 2007</title><content type='html'>If you want to know about Jazoon conference details look at:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://blog.jazoon.com/"&gt;Official Jazoon blog&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://jroller.com/page/bitog"&gt;Fabrizio Gianneschi's Blog&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.jugmilano.it/vqwiki/jsp/Wiki?LiveFromJazoon2007"&gt;JUG Milano Live Jazoon&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.jugtorino.it/vqwiki/jsp/Wiki?JazoonLive"&gt;JUG Torino Live Jazoon&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.flickr.com/photos/tags/jazoon/"&gt;Public photos from Flickr&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-982140915200823722?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/982140915200823722/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=982140915200823722' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/982140915200823722'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/982140915200823722'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2007/06/live-from-jazoon-2007.html' title='Live from Jazoon 2007'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-2405633079541630705</id><published>2007-06-28T10:53:00.000+02:00</published><updated>2007-06-29T13:41:06.340+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='jazoon'/><title type='text'>Jazoon 2007, 3rd and last day preview</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://jazoon.com/dms/jazoon07/images/karaoke/karaoke.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px;" src="http://jazoon.com/dms/jazoon07/images/karaoke/karaoke.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;Here we are,&lt;br /&gt;yesterday afternoon Davide and me taked a look to Zurich city after the only "Social Event" we consumed, the &lt;b&gt;5D Cinema&lt;/b&gt;: Cool but the 4D Cinema in Las Vegas was more realistic IMHO. Anyway Zurich has very beautiful places, anything is in order, people continues to walk smootly: no one run! So much different by Rome...&lt;br /&gt;&lt;br /&gt;I've so many photo in my Nikon, but I missed to take the cable with me, so I'll publish once home (It's time I open a Flickr or similar account).&lt;br /&gt;&lt;br /&gt;After these three days in Zurich I can make a &lt;b&gt;face-to-face&lt;/b&gt; between Zurich and Rome:&lt;table border="1" cellpadding="3" cellspacing="0"&gt;&lt;tr&gt;&lt;td width="50%"&gt;&lt;b&gt;Zurich&lt;/b&gt;&lt;/td&gt;&lt;td width="50%"&gt;&lt;b&gt;Rome&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Business men cross the city using the mono pattino&lt;/td&gt;&lt;td&gt;Only children use it&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Trams are always on time and never full, trains too&lt;/td&gt;&lt;td&gt;Few trams but bus and metro are often full and overdue&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;So few cars around, probably since public transportation works fine and other people use cycle (and mono pattino, see above)&lt;/td&gt;&lt;td&gt;Too much cars and moto cycles!&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Vey few people smile, in public they are very formal, maybe in private no? (I look very strange shops in the city...)&lt;/td&gt;&lt;td&gt;You can hear laugh and see smiles in most faces&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Everything is in its place and in order&lt;/td&gt;&lt;td&gt;Unordered impression, much more "lived"&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Many Italian places such as restaurants and bars&lt;/td&gt;&lt;td&gt;I don't know any swiss restaurant in Rome!&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;I also enjoyed the party in the night, where &lt;a href="http://bbossola.wordpress.com/"&gt;Bruno Bossola&lt;/a&gt; sang as a real singer!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-2405633079541630705?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/2405633079541630705/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=2405633079541630705' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/2405633079541630705'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/2405633079541630705'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2007/06/jazoon-2007-3rd-and-last-day-preview.html' title='Jazoon 2007, 3rd and last day preview'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-163582124088497739</id><published>2007-06-27T12:23:00.000+02:00</published><updated>2008-12-09T11:28:31.823+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='conference'/><category scheme='http://www.blogger.com/atom/ns#' term='jazoon'/><title type='text'>Jazoon 2007 conference: 3rd day</title><content type='html'>&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Ng9D76byQk0/RoI9UYkoyRI/AAAAAAAAAAk/7gQMdo9__q8/s1600-h/Jazoon2007-ItaliansDoItBetter.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_Ng9D76byQk0/RoI9UYkoyRI/AAAAAAAAAAk/7gQMdo9__q8/s400/Jazoon2007-ItaliansDoItBetter.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5080690750030137618" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Yesterday I was attendeed to &lt;a href="http://jazoon.com/en/conference/presentations/bof/1500"&gt;JUG Leaders Panel BOF&lt;/a&gt; and we've talked about the JUG cooperation in tools and initiatives.&lt;br /&gt;&lt;br /&gt;The third day of Jazoon 2007 Conference is not finished but the feedback on today is much positive. Surely the most interesting conference day until now. I selected the following sessions:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://jazoon.com/en/conference/presentationdetails.html?type=sid&amp;detail=2160"&gt;Effective Java Heap Memory Analysis on Enterprise-Scale&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://jazoon.com/en/conference/presentationdetails.html?type=sid&amp;detail=2161"&gt;JavaFX Script - Declarative GUI Programming Language for the Java Platform&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://jazoon.com/en/conference/presentationdetails.html?type=sid&amp;detail=2120"&gt;Spring 2.1: Dependency Injection and AOP in a Java EE 5 World&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;This afternoon there will not be technical session but &lt;a href="http://jazoon.com/en/conference/socialevent.html"&gt;"Social Events"&lt;/a&gt;. We have not yet take a decision on what to do...&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;Note: Picture from &lt;a href="http://jroller.com/page/bitog"&gt;Fabrizio Gianneschi&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-163582124088497739?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/163582124088497739/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=163582124088497739' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/163582124088497739'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/163582124088497739'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2007/06/jazoon-2007-conference-3rd-day.html' title='Jazoon 2007 conference: 3rd day'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Ng9D76byQk0/RoI9UYkoyRI/AAAAAAAAAAk/7gQMdo9__q8/s72-c/Jazoon2007-ItaliansDoItBetter.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-1609279580047768180</id><published>2007-06-26T14:09:00.000+02:00</published><updated>2007-06-26T14:40:15.959+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='conference'/><category scheme='http://www.blogger.com/atom/ns#' term='jazoon'/><title type='text'>Jazoon 2007, 2nd day</title><content type='html'>First impressions about the Jazoon 2007 are quite positive. The location is very beautiful, the environment much more "fashion" than I thought. I like Zurich, no one goes running. Anything is at your place. Maybe too much!&lt;br /&gt;&lt;br /&gt;The average level of sessions is quite lower than I expected. Maybe 40-50 minutes are too few to present something in deeper. But it should be so: a way to discover interesting points to look in deep once home.&lt;br /&gt;&lt;br /&gt;I can't find a cool solution against Roma Meta Framework, nothing of really innovative! This gives me a lot of reasons to go forward with my job.&lt;br /&gt;&lt;br /&gt;Tonight or tomorrow I'll post comments about the second day.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-1609279580047768180?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/1609279580047768180/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=1609279580047768180' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/1609279580047768180'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/1609279580047768180'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2007/06/jazoon-2007-2nd-day.html' title='Jazoon 2007, 2nd day'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-2138083087909015304</id><published>2007-06-25T14:36:00.000+02:00</published><updated>2008-12-09T11:28:32.024+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='conference'/><category scheme='http://www.blogger.com/atom/ns#' term='jazoon'/><title type='text'>Just arrived in Jazoon 2007</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Ng9D76byQk0/Rn-8WhawoAI/AAAAAAAAAAc/vMc067nSL14/s1600-h/Luca+as+a+member+of+Simpson+Family.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_Ng9D76byQk0/Rn-8WhawoAI/AAAAAAAAAAc/vMc067nSL14/s320/Luca+as+a+member+of+Simpson+Family.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5079985999810961410" /&gt;&lt;/a&gt;After a lot of troubles I arrived in &lt;span style="font-weight:bold;"&gt;Zurich, Switzerland&lt;/span&gt;! My flight was at 9:40 am but I had to reach the check-in about a couple of hours before. This morning all trains from &lt;span style="font-weight:bold;"&gt;Roma&lt;/span&gt; city to the Fiumicino Airport was suspended for a non planned public protest.&lt;br /&gt;&lt;br /&gt;After some minutes of panic a girl I never seen before, come in Parco Leonardo station and invite the hostess sat near me to go along with her to the airport. Since the hostess and me are talking to get a taxi together, that girls seems to come from the sky!&lt;br /&gt;&lt;br /&gt;In the car I've discovered that we all togheter are neightbour.&lt;br /&gt;&lt;br /&gt;So my trip was saved as much as my conference. The picture you see was shooted by &lt;a href="http://jesty.wordpress.com/"&gt;Davide Cerbo&lt;/a&gt;, a JUG Roma member while we're waiting to the first one talk: &lt;span style="font-weight:bold;"&gt;Me as member of Simpson family&lt;/span&gt;!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-2138083087909015304?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/2138083087909015304/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=2138083087909015304' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/2138083087909015304'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/2138083087909015304'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2007/06/just-arrived-in-jazoon-2007.html' title='Just arrived in Jazoon 2007'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Ng9D76byQk0/Rn-8WhawoAI/AAAAAAAAAAc/vMc067nSL14/s72-c/Luca+as+a+member+of+Simpson+Family.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-1697085342648977533</id><published>2007-06-15T14:41:00.000+02:00</published><updated>2007-06-29T02:00:52.696+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='assetdata'/><category scheme='http://www.blogger.com/atom/ns#' term='go-kart'/><title type='text'>First one AssetData Go-Kart contest</title><content type='html'>&lt;table&gt;&lt;tr&gt;&lt;td&gt;Today, friday June 15th 2007 there will be the first one AssetData Go-Kart contest: an event organized by me some days ago. There will be a bounche of AssetData people and some friends that will challange on the road.&lt;br /&gt;&lt;br /&gt;I think a little bit of sane competition on the road would improve also the reflexes on writing down code :-)&lt;/td&gt;&lt;td&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px;" src="http://media.popularmechanics.com/images/tb_gokart1-lg.jpg" border="0" alt="" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-1697085342648977533?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/1697085342648977533/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=1697085342648977533' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/1697085342648977533'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/1697085342648977533'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2007/06/first-one-assetdata-go-kart-contest.html' title='First one AssetData Go-Kart contest'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-391709737559612033</id><published>2007-06-11T23:48:00.000+02:00</published><updated>2007-06-29T02:01:16.947+02:00</updated><title type='text'>SourceForge project nomination</title><content type='html'>&lt;table&gt;&lt;tr&gt;&lt;td&gt;If you're using Roma in your project or you think Roma Framework is the most innovative project in the Java market, then why don't vote it at the &lt;span style="font-weight:bold;"&gt;SourceForge 2007 Community Choice Awards&lt;/span&gt;? &lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://sourceforge.net/awards/cca/nomination.php?group_id=162641&amp;from=https%3A%2F%2Fsourceforge.net%2Fprojects%2Fromaframework"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="https://sourceforge.net/images/cca/nomProj.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Click on the banner&lt;/span&gt; and select your vote. You can express the vote for Roma in multiple areas such as: &lt;span style="font-weight:bold;"&gt;Best Project&lt;/span&gt;, &lt;span style="font-weight:bold;"&gt;Best New Project&lt;/span&gt; and &lt;span style="font-weight:bold;"&gt;Best Tool or Utility for Developers&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-391709737559612033?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/391709737559612033/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=391709737559612033' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/391709737559612033'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/391709737559612033'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2007/06/sourceforge-project-nomination.html' title='SourceForge project nomination'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-801736850698500644</id><published>2007-05-25T15:13:00.000+02:00</published><updated>2007-06-29T02:04:05.800+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='conference'/><title type='text'>Jazoon conference</title><content type='html'>&lt;object width="468" height="60" align="middle" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" type="application/x-shockwave-flash" data="banner_468x60.swf" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"&gt;             &lt;param value="http://jazoon.com/dms/jazoon07/banner_468x60/banner_468x60.swf" name="movie" /&gt;&lt;embed width="468" height="60" src="http://jazoon.com/dms/jazoon07/banner_468x60/banner_468x60.swf" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Starting from June, 25th 2007 until June, 28th 2007 I'll be attended to the Jazoon conference in Zurich, Switzerland. It's a technical conference on Java technologies and directions.&lt;br /&gt;&lt;br /&gt;Anyone will be present?&lt;ul&gt;&lt;li&gt;&lt;a href="http://jazoon.com/dms/jazoon07/jazoon-facts-en/jazoon-facts-en.pdf"&gt;Jazoon – International conference on Java technology&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://jazoon.com/dms/jazoon07/jazoon-facts-it/jazoon-facts-it.pdf"&gt;Jazoon – Congresso internazionale sulla tecnologia Java&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-801736850698500644?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.jazoon.com' title='Jazoon conference'/><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/801736850698500644/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=801736850698500644' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/801736850698500644'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/801736850698500644'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2007/05/jazoon-conference.html' title='Jazoon conference'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-4343056076047639509</id><published>2007-05-04T18:48:00.000+02:00</published><updated>2007-06-29T01:55:35.914+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='regexp'/><category scheme='http://www.blogger.com/atom/ns#' term='roma'/><category scheme='http://www.blogger.com/atom/ns#' term='romaframework'/><category scheme='http://www.blogger.com/atom/ns#' term='validation'/><title type='text'>Roma framework validation</title><content type='html'>Today I've successfull integrated the &lt;span style="font-weight:bold;"&gt;Validation Rules&lt;/span&gt; inside &lt;a href="http://www.romaframework.org"&gt;Roma Meta Framework&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;(1) New annotation attribute to validate against &lt;span style="font-weight:bold;"&gt;RegExp&lt;/span&gt; rule:&lt;br /&gt;&lt;br /&gt;Example:&lt;br /&gt;&lt;div id="code"&gt;public class Account{&lt;br /&gt; ...&lt;br /&gt; @ViewField(match="^[_a-z0-9-]+(\\.?[_a-z0-9-]*)*@?[a-z0-9-]*(\\.?[a-z0-9-]*)*$")&lt;br /&gt; private String email;&lt;br /&gt; ...&lt;br /&gt;}&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;(2) Integrated the &lt;a href="http://informagen.com/Echo2-Components"&gt;Informagen-Components&lt;/a&gt; Component library written by Will Gilbert.&lt;br /&gt;&lt;br /&gt;Now Roma uses:&lt;br /&gt;&lt;br /&gt;- &lt;span style="font-weight:bold;"&gt;IntegerTextField&lt;/span&gt; for int/Integer attributes&lt;br /&gt;- &lt;span style="font-weight:bold;"&gt;NumericTextField&lt;/span&gt; for float/double/Float/Double attributes&lt;br /&gt;- &lt;span style="font-weight:bold;"&gt;RegExpTextField&lt;/span&gt; for String attributes with &lt;span style="font-weight:bold;"&gt;"match"&lt;/span&gt; annotation (via Java5 annotation or Xml Annotation)&lt;br /&gt;&lt;br /&gt;(3) New mean for min/max annotations&lt;br /&gt;&lt;br /&gt;Now Roma uses:&lt;br /&gt;- In String fields min/max are the minimum/maximum length&lt;br /&gt;- In number fields min/max are the minimum/maximum value&lt;br /&gt;&lt;br /&gt;Example:&lt;br /&gt;&lt;br /&gt;&lt;div id="code"&gt;public class Account{&lt;br /&gt; ...&lt;br /&gt; @ViewField(min=3, max=32)&lt;br /&gt; private String name;&lt;br /&gt;&lt;br /&gt; @ViewField(min=18, max=130)&lt;br /&gt; private String age;&lt;br /&gt; ...&lt;br /&gt;}&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-4343056076047639509?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/4343056076047639509/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=4343056076047639509' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/4343056076047639509'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/4343056076047639509'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2007/05/roma-framework-validation.html' title='Roma framework validation'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-7117491041374481793</id><published>2007-05-03T10:54:00.000+02:00</published><updated>2007-05-03T11:24:24.873+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ow2'/><category scheme='http://www.blogger.com/atom/ns#' term='apache'/><title type='text'>OW2 Election of  Individual Members Board of Directors</title><content type='html'>Some days ago I candidated me as individual member representative in &lt;span style="font-weight:bold;"&gt;OW2&lt;/span&gt;. OW2 born from the merge between &lt;span style="font-weight:bold;"&gt;ObjectWeb&lt;/span&gt; and &lt;span style="font-weight:bold;"&gt;Orientware&lt;/span&gt;. For most people ObjectWeb is the European Apache, for other is the French Apache! :-)&lt;br /&gt;&lt;br /&gt;"The OW2 Consortium was initiated on January 1, 2007 through the merger of ObjectWeb and Orientware, two leading open source middleware communities of renown industry players, innovative start-ups, prominent academic organizations and individuals from across the world." - Cut&amp;Paste words from official &lt;a href="http://www.ow2.org"&gt;http://www.ow2.org&lt;/a&gt; site.&lt;br /&gt;&lt;br /&gt;Yesterday the election was finished and &lt;span style="font-weight:bold;"&gt;François LETELLIER&lt;/span&gt; collected higher votes, &lt;span style="font-weight:bold;"&gt;49.1%&lt;/span&gt;, against my second place with &lt;span style="font-weight:bold;"&gt;34.0%&lt;/span&gt; votes.&lt;br /&gt;&lt;br /&gt;My congratulations to François!&lt;br /&gt;&lt;br /&gt;I hope to see OW2 to gain the developers interest as much as Apache.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-7117491041374481793?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/7117491041374481793/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=7117491041374481793' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/7117491041374481793'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/7117491041374481793'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2007/05/ow2-election-of-individual-members.html' title='OW2 Election of  Individual Members Board of Directors'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-815687352336382892</id><published>2007-04-11T17:17:00.000+02:00</published><updated>2007-04-11T17:27:20.109+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='clustering'/><category scheme='http://www.blogger.com/atom/ns#' term='roma'/><category scheme='http://www.blogger.com/atom/ns#' term='romaframework'/><title type='text'>Integrating Terracotta in Roma</title><content type='html'>I'm working to integrate &lt;a href="http://www.terracotta.org"&gt;Terracotta&lt;/a&gt; with &lt;a href="http://www.romaframework.org"&gt;Roma Framework&lt;/a&gt;. The problem I encountered until now are due to Echo2 framework. It stores in HttpSession references to internal components and HttpSession itself.&lt;br /&gt;&lt;br /&gt;This is the reason because Terracotta Session Configuraor asks me to insert in the tc-config.xml so many classes and boot-classes!&lt;br /&gt;&lt;br /&gt;What I'd like to try is to store only &lt;span style="font-weight:bold;"&gt;user domain objects&lt;/span&gt;. If will work, the clustering workload will be much more light and the user (programmer) will not worry anymore about to assure any frameworks he's using to be terracotta compatible.&lt;br /&gt;&lt;br /&gt;Good luck to myself!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-815687352336382892?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/815687352336382892/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=815687352336382892' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/815687352336382892'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/815687352336382892'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2007/04/integrating-terracotta-in-roma.html' title='Integrating Terracotta in Roma'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-1782434805202820067</id><published>2007-04-03T12:52:00.000+02:00</published><updated>2007-04-03T13:50:01.820+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='roma'/><category scheme='http://www.blogger.com/atom/ns#' term='romaframework'/><title type='text'>Released version 1.0 rc 1</title><content type='html'>Yesterday I've released &lt;span style="font-weight:bold;"&gt;Roma Framework version 1.0 release candidate 1&lt;/span&gt; after about 4 months from last official &lt;span style="font-weight:bold;"&gt;0.9.9&lt;/span&gt;. I hope to close the release candidate phase for April 2007.&lt;br /&gt;&lt;br /&gt;There are again few more things to resolve before final 1.0:&lt;br /&gt;&lt;br /&gt;- PersistenceAspect mode: define a better way to declare it&lt;br /&gt;- Portlet support: areas are rendered not in order mode&lt;br /&gt;- Tree component support&lt;br /&gt;- #1693538 Divide Spring file in multiple sub-files&lt;br /&gt;&lt;br /&gt;Resolve known bugs:&lt;br /&gt;&lt;br /&gt;- #1684653 portlet&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-1782434805202820067?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.romaframework.org' title='Released version 1.0 rc 1'/><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/1782434805202820067/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=1782434805202820067' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/1782434805202820067'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/1782434805202820067'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2007/04/released-version-10-rc-1.html' title='Released version 1.0 rc 1'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-2513637936952053180</id><published>2007-03-30T13:19:00.000+02:00</published><updated>2007-03-30T15:09:44.379+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pojo'/><category scheme='http://www.blogger.com/atom/ns#' term='clustering'/><category scheme='http://www.blogger.com/atom/ns#' term='roma'/><category scheme='http://www.blogger.com/atom/ns#' term='romaframework'/><title type='text'>Terracotta presentation</title><content type='html'>Yesterday I met Jonas Boner, one of &lt;a href="http://www.terracotta.org"&gt;Terracotta&lt;/a&gt; people. His presentation and demo show to me again the powerful of this tool.&lt;br /&gt;&lt;br /&gt;Terracotta allows to cluster any application acting on single POJO by enhancement (byte code changing).&lt;br /&gt;&lt;br /&gt;I've planned to integrate in &lt;a href="http://www.romaframework.org"&gt;Roma Framework&lt;/a&gt; for the next week!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-2513637936952053180?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.terracotta.org' title='Terracotta presentation'/><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/2513637936952053180/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=2513637936952053180' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/2513637936952053180'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/2513637936952053180'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2007/03/terracotta-presentation.html' title='Terracotta presentation'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-9066909577940967724</id><published>2007-03-30T13:06:00.000+02:00</published><updated>2007-03-30T13:19:16.130+02:00</updated><title type='text'></title><content type='html'>&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-9066909577940967724?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/9066909577940967724/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=9066909577940967724' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/9066909577940967724'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/9066909577940967724'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2007/03/blog-post.html' title=''/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-3587535753654587447</id><published>2007-03-25T18:42:00.000+02:00</published><updated>2007-03-25T19:28:44.539+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='persistence'/><category scheme='http://www.blogger.com/atom/ns#' term='roma'/><category scheme='http://www.blogger.com/atom/ns#' term='romaframework'/><category scheme='http://www.blogger.com/atom/ns#' term='jdo'/><title type='text'>Working on Roma's PersistenceAspect</title><content type='html'>After the last application developed using &lt;a href="http://www.romaframework.org"&gt;Roma Meta Framework&lt;/a&gt; I spent much time to refactor and optimize the performance of &lt;span style="font-weight:bold;"&gt;PersistenceAspect&lt;/span&gt; module. Until now Roma always used the JDO detaching mode. It works very well for the most cases, but when you had to execute many operations inside the same transaction or when you don't need to have the objects writeable.&lt;br /&gt;&lt;br /&gt;JDO Detaching consumes a lot of CPU resources since the objects are copied and memory since for the same reason. For normal &lt;span style="font-weight:bold;"&gt;CRUD&lt;/span&gt; operation the difference is trascurable, but in long transactions is very sensible.&lt;br /&gt;&lt;br /&gt;For this reason I've refactored the PersistenceAspect to have 3 implementations:&lt;br /&gt;- &lt;span style="font-weight:bold;"&gt;AtomicPersistenceAspect&lt;/span&gt;: operations are always &lt;span style="font-weight:bold;"&gt;atomic&lt;/span&gt; and it continue to uses the "classic" &lt;span style="font-weight:bold;"&gt;detach mode&lt;/span&gt;.&lt;br /&gt;- &lt;span style="font-weight:bold;"&gt;TxPersistenceAspect&lt;/span&gt;: operations share the same transaction (you had to call commit/rollback methods!) and you can access to the objects also after the commit/rollback in read-only mode&lt;br /&gt;- &lt;span style="font-weight:bold;"&gt;NoTxPersistenceAspect&lt;/span&gt;: No transaction is used and you can access to the objects also after the commit/rollback in read-only mode&lt;br /&gt;&lt;br /&gt;Furthermore you can select the strategy also when you retrieve the object by:&lt;br /&gt;- &lt;span style="font-weight:bold;"&gt;PersistenceAspect.loadObject()&lt;/span&gt;&lt;br /&gt;- &lt;span style="font-weight:bold;"&gt;Query.setStrategy()&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In the next week I'll migrate all CRUD operations to use the &lt;span style="font-weight:bold;"&gt;NoTx Strategy&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;I started also to write a detailed HowTo about the &lt;a href="http://romaframework.xwiki.com/xwiki/bin/edit/Docs/PersistenceStrategy"&gt;Persistence Strategy&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Stay tuned!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-3587535753654587447?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://romaframework.xwiki.com/xwiki/bin/edit/Docs/PersistenceStrategy' title='Working on Roma&apos;s PersistenceAspect'/><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/3587535753654587447/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=3587535753654587447' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/3587535753654587447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/3587535753654587447'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2007/03/working-on-romas-persistenceaspect.html' title='Working on Roma&apos;s PersistenceAspect'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-6417486254893165232</id><published>2007-03-25T18:23:00.000+02:00</published><updated>2008-12-09T11:28:32.211+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='logo'/><category scheme='http://www.blogger.com/atom/ns#' term='roma'/><category scheme='http://www.blogger.com/atom/ns#' term='romaframework'/><title type='text'>New logo for Roma [Meta] Framework</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Ng9D76byQk0/RgaiiKRjy6I/AAAAAAAAAAM/Y71rxuJKtcw/s1600-h/roma_logo.gif"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_Ng9D76byQk0/RgaiiKRjy6I/AAAAAAAAAAM/Y71rxuJKtcw/s400/roma_logo.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5045899140272475042" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Luca Bianconi&lt;/span&gt; is the author of the new Logo of &lt;a href="http://www.romaframework.org"&gt;Roma [Meta] Framework&lt;/a&gt;. It's online starting from friday 23 March 2007.&lt;br /&gt;&lt;br /&gt;The logo is very &lt;span style="font-weight:bold;"&gt;simple&lt;/span&gt; and was inspired by &lt;span style="font-weight:bold;"&gt;Roma&lt;/span&gt; city (&lt;span style="font-weight:bold;"&gt;Roma&lt;/span&gt; is the original and current name in Italian of &lt;span style="font-weight:bold;"&gt;Rome&lt;/span&gt; city!). The &lt;span style="font-weight:bold;"&gt;"O"&lt;/span&gt; of Roma was replaced by the &lt;span style="font-weight:bold;"&gt;Colosseum&lt;/span&gt;, maybe the most famous symbol of my city. The author of the Colosseum image is &lt;a href="http://www.eljeko.net/blog/"&gt;Stefano Linguerri&lt;/a&gt;; some time ago he created it for the &lt;a href="http://jugroma.it"&gt;JUG Roma&lt;/a&gt; logo.&lt;br /&gt;&lt;br /&gt;The selected font for the Logo is, obviousy, the Times New &lt;span style="font-weight:bold;"&gt;Roma&lt;/span&gt;n ;-)&lt;br /&gt;&lt;br /&gt;Do you like it?&lt;br /&gt;&lt;br /&gt;Comments about the Logo are welcome in this post.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-6417486254893165232?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.romaframework.org' title='New logo for Roma [Meta] Framework'/><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/6417486254893165232/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=6417486254893165232' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/6417486254893165232'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/6417486254893165232'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2007/03/new-logo-for-roma-metaframework.html' title='New logo for Roma [Meta] Framework'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Ng9D76byQk0/RgaiiKRjy6I/AAAAAAAAAAM/Y71rxuJKtcw/s72-c/roma_logo.gif' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-7738102701223794568</id><published>2007-03-19T15:25:00.000+01:00</published><updated>2007-03-19T18:46:46.676+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='portlet'/><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><category scheme='http://www.blogger.com/atom/ns#' term='roma'/><category scheme='http://www.blogger.com/atom/ns#' term='romaframework'/><title type='text'>Roma supports portlets!</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Roma Framework&lt;/span&gt; support the &lt;span style="font-weight: bold;"&gt;Portlets&lt;/span&gt;! They are not &lt;span style="font-weight: bold;"&gt;JSR-168&lt;/span&gt; portlets but just &lt;span style="font-weight: bold;"&gt;POJO&lt;/span&gt; that are rendered as seperated-independent boxes. You can move the portlets around your desktop ala &lt;span style="font-weight: bold;"&gt;Google Personalized Homepage&lt;/span&gt;. Each box lives independently from others. Very cool!&lt;br /&gt;&lt;br /&gt;I've adjusted the &lt;span style="font-weight: bold;"&gt;Roma Test Presentation&lt;/span&gt; demo application to use this feature.&lt;br /&gt;&lt;br /&gt;Below a screenshot:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://romaframework.xwiki.com/xwiki/bin/download/Doc/Portlet/test-portlets.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 389px; height: 169px;" src="http://romaframework.xwiki.com/xwiki/bin/download/Doc/Portlet/test-portlets.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-7738102701223794568?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://romaframework.xwiki.com/xwiki/bin/download/Doc/Portlet/test-portlets.png' title='Roma supports portlets!'/><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/7738102701223794568/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=7738102701223794568' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/7738102701223794568'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/7738102701223794568'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2007/03/roma-supports-portlet.html' title='Roma supports portlets!'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-3274529713087309182</id><published>2007-03-13T19:46:00.000+01:00</published><updated>2007-03-13T19:58:34.831+01:00</updated><title type='text'>From Jakarta Common Logging to SLF4J: NDC is missed?</title><content type='html'>Reading the &lt;a href="http://sbtourist.blogspot.com/2007/01/join-us-be-commons-logging-free.html"&gt;Sergio's blog&lt;/a&gt; I wrote down to avoid to use &lt;span style="font-weight:bold;"&gt;&lt;a href="http://jakarta.apache.org/commons/logging/"&gt;Jakarta Common Logging APIs (JCL)&lt;/a&gt;&lt;/span&gt; in favour of &lt;span style="font-weight:bold;"&gt;&lt;a href="http://www.slf4j.org/"&gt;Simple Logging Facade For Java (SLF4J)&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I decided to refactor all Roma Framework in support of SLF4J, but I'm surprised to not find an interface for &lt;a href="http://logging.apache.org/log4j/docs/api/org/apache/log4j/NDC.html"&gt;Log4J Nested Diagnostics Contexts (NDC)&lt;/a&gt;!!! NDC is a static class that allows to track user session information in Log4J.&lt;br /&gt;&lt;br /&gt;So now Roma Echo2 module will depend by SLF4J and Log4J directly. Tomorrow I'll write a generic interface to abstract NDC behaviour + Log4J implementation. Does SLF4J guys will appreciate this contribute? We'll see ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-3274529713087309182?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.slf4j.org' title='From Jakarta Common Logging to SLF4J: NDC is missed?'/><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/3274529713087309182/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=3274529713087309182' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/3274529713087309182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/3274529713087309182'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2007/03/from-jakarta-common-logging-to-slf4j.html' title='From Jakarta Common Logging to SLF4J: NDC is missed?'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-5495748857536906911</id><published>2007-02-06T21:46:00.000+01:00</published><updated>2007-02-06T21:54:21.826+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web 2.0'/><title type='text'>Web 2.0</title><content type='html'>What is the &lt;span style="font-weight: bold;"&gt;Web 2.0&lt;/span&gt;? Just another &lt;span style="font-style: italic;"&gt;buzzword&lt;/span&gt;? Maybe!&lt;br /&gt;&lt;br /&gt;But take a look to the video below. It shows the social and technological changement of "that" buzzword in our life. Cool!&lt;br /&gt;&lt;br /&gt;&lt;object height="350" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/6gmP4nk0EOE"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/6gmP4nk0EOE" type="application/x-shockwave-flash" wmode="transparent" height="350" width="425"&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-5495748857536906911?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.youtube.com/watch?v=6gmP4nk0EOE&amp;eurl=' title='Web 2.0'/><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/5495748857536906911/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=5495748857536906911' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/5495748857536906911'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/5495748857536906911'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2007/02/web-20.html' title='Web 2.0'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-3913944269917474401</id><published>2007-01-26T02:27:00.000+01:00</published><updated>2007-01-26T02:37:09.716+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='jpox'/><category scheme='http://www.blogger.com/atom/ns#' term='roma'/><category scheme='http://www.blogger.com/atom/ns#' term='romaframework'/><title type='text'>Waiting for Roma 1.0 apha</title><content type='html'>While Roma project staff is working to release the first alpha version of 1.0 many things are changed in SVN repository:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;USERS &lt;/span&gt;module was splitted (refactored) in &lt;span style="font-weight: bold;"&gt;USERS &lt;/span&gt;+ &lt;span style="font-weight: bold;"&gt;ADMIN &lt;/span&gt;following responsability rules&lt;br /&gt;&lt;/li&gt;&lt;li&gt;New &lt;span style="font-weight: bold;"&gt;Xml Desktop&lt;/span&gt; to render component in dynamic desktop described in XML form&lt;/li&gt;&lt;li&gt;New &lt;span style="font-weight: bold;"&gt;JPOX libraries&lt;/span&gt; that resolve some bugs&lt;/li&gt;&lt;li&gt;Much other&lt;/li&gt;&lt;/ul&gt;Following this link you'll find more details about integration with old projects based on Roma:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://romaframework.xwiki.com/xwiki/bin/view/Main/WaitingForRoma10apha"&gt;Waiting for Roma 1.0 alpha&lt;br /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-3913944269917474401?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://romaframework.xwiki.com/xwiki/bin/view/Main/WaitingForRoma10apha' title='Waiting for Roma 1.0 apha'/><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/3913944269917474401/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=3913944269917474401' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/3913944269917474401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/3913944269917474401'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2007/01/waiting-for-roma-10apha.html' title='Waiting for Roma 1.0 apha'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-5151930990029878582</id><published>2007-01-23T12:37:00.000+01:00</published><updated>2007-01-23T13:01:03.772+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='jug'/><category scheme='http://www.blogger.com/atom/ns#' term='assetdata'/><category scheme='http://www.blogger.com/atom/ns#' term='antipatterns'/><category scheme='http://www.blogger.com/atom/ns#' term='javapolis'/><title type='text'>Next upcoming JUG Roma meeting</title><content type='html'>On the next &lt;span style="font-weight: bold;"&gt;Thursday 25th January 2007&lt;/span&gt; there will be the ninth &lt;span style="font-weight: bold;"&gt;JUG meeting in Rome&lt;/span&gt;. For the first time the location will be my company: &lt;a href="http://www.assetdata.it/"&gt;AssetData&lt;/a&gt;. To reach the meeting see the offical site: &lt;a href="http://www.jugroma.it/"&gt;www.jugroma.it&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;On Tomorrow morning I'll leave Rome to follow a customer in Milan. If the air company will not make the usual delay I should came back on Thursday 4:30 PM to the Leonardo Da Vinci Airport. Just in time to reach AssetData before the starting of meeting!!! ;-)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Below the agenda, in italian:&lt;br /&gt;&lt;p class="paragraph"&gt; &lt;b class="bold"&gt;Primo talk (non tecnico): 18.00-18.40&lt;/b&gt;&lt;/p&gt;&lt;p class="paragraph"&gt;Titolo: JavaPolis: io c'ero! Cosa è successo e di cosa si è parlato&lt;br /&gt;Relatori: Alessio Pace, Paolo Argangeli, Simone Federici&lt;/p&gt;&lt;p class="paragraph"&gt; &lt;b class="bold"&gt;Jug Session 8.40-19.20&lt;/b&gt; &lt;/p&gt;&lt;ul class="star"&gt;&lt;li&gt;Brindisi per il primo compleanno del Jug Roma&lt;/li&gt;&lt;li&gt;restyling di www.jugroma.it (chi si offre? Come? raccolta idee e formazione di un gruppo di lavoro per il nuovo sito)&lt;/li&gt;&lt;li&gt;creazione di corsi java under 18 a cura dei membri del jug (idea fattibile? Come?)&lt;/li&gt;&lt;li&gt;proposte JugRoma 2007&lt;/li&gt;&lt;li&gt;acquisto di un VirtualServer per il Jug (valutazione)&lt;/li&gt;&lt;/ul&gt;&lt;b class="bold"&gt;Secondo talk(tecnico):19.20-20.20&lt;/b&gt;&lt;p class="paragraph"&gt;Titolo: Antipatterns: se li conosci, li eviti!&lt;br /&gt;Relatori: Simone Federici e Giorgio Vinci&lt;/p&gt;&lt;p class="paragraph"&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-5151930990029878582?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.jugroma.it' title='Next upcoming JUG Roma meeting'/><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/5151930990029878582/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=5151930990029878582' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/5151930990029878582'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/5151930990029878582'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2007/01/next-upcoming-jug-roma-meeting.html' title='Next upcoming JUG Roma meeting'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-3869217932239434966</id><published>2007-01-22T15:07:00.000+01:00</published><updated>2007-01-26T02:33:22.533+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='echo2'/><category scheme='http://www.blogger.com/atom/ns#' term='roma'/><category scheme='http://www.blogger.com/atom/ns#' term='romaframework'/><title type='text'>The Roma Project</title><content type='html'>On past Friday I've changed the logo from "&lt;span style="font-weight: bold;"&gt;Roma Meta Framework&lt;/span&gt;" to "&lt;span style="font-weight: bold;"&gt;The Roma Project&lt;/span&gt;". The reason resides to avoid confusing people about Roma goals and mission. I'd like people speaks of "Roma" and not of "Roma Framework".&lt;br /&gt;&lt;br /&gt;However the first release &lt;span style="font-weight: bold;"&gt;1.0 alpha&lt;/span&gt; is very close to been published. The main change with 0.9.9 is the &lt;span style="font-style: italic;"&gt;dynamic desktop management&lt;/span&gt;. You can define the desktop composition in a &lt;span style="font-weight: bold;"&gt;desktop.xml&lt;/span&gt; file. This feature allow to create very complex application without write any &lt;span style="font-weight: bold;"&gt;Echo2&lt;/span&gt; code.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-3869217932239434966?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/3869217932239434966/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=3869217932239434966' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/3869217932239434966'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/3869217932239434966'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2007/01/roma-project.html' title='The Roma Project'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-7274936770474236810</id><published>2007-01-08T01:36:00.000+01:00</published><updated>2007-01-26T02:33:54.129+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vista'/><category scheme='http://www.blogger.com/atom/ns#' term='acer'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='amiga'/><title type='text'>Microsoft Vista? No thanx, but...</title><content type='html'>Yesterday I've installed a tiny tool called &lt;a href="http://www.crystalxp.net/galerie/en.id.130.htm"&gt;&lt;span style="font-weight: bold;"&gt;Vista Inspirat&lt;/span&gt;&lt;/a&gt;. It changes the look &amp; feel of your Microsoft Windows XP Operative System with the look of the latest Windows OS version. Cool!&lt;br /&gt;&lt;br /&gt;The GUI is very nice and seems to me more usable. The general speed of the user interface seems faster, too. I don't know why, but the difference is sensible on my &lt;span style="font-weight: bold;"&gt;Notebook Acer Aspire 5670&lt;/span&gt;...&lt;br /&gt;&lt;br /&gt;I never seen &lt;span style="font-weight: bold;"&gt;Vista &lt;/span&gt;before now, but with &lt;a href="http://www.crystalxp.net/galerie/en.id.130.htm"&gt;&lt;span style="font-weight: bold;"&gt;Vista Inspirat&lt;/span&gt;&lt;/a&gt; the layout results optimized and much more user friendly. I'm talking about all windows in general, the Explorer application and Internet Explorer. Also the new taskbar is very similar to the &lt;span style="font-weight: bold;"&gt;MacOs X&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Why I use MS Windows? Simply: because IMHO &lt;span style="font-weight: bold;"&gt;Windows&lt;/span&gt; is much more productive than Linux distributions I tested until now. Although I started using Linux since the Red Hat 5.x on my wonderful &lt;span style="font-weight: bold;"&gt;Amiga 1200&lt;/span&gt; (with some expansions) 8-9 years ago, I find Windows XP the best OS for client/desktop tasks.&lt;br /&gt;&lt;br /&gt;On the other hand I'll never try to install Microsoft Windows on a server machine. Unix/Linux OS on production Server wins to hand down.&lt;br /&gt;&lt;br /&gt;My 0,02 €&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-7274936770474236810?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.crystalxp.net/galerie/en.id.130.htm' title='Microsoft Vista? No thanx, but...'/><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/7274936770474236810/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=7274936770474236810' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/7274936770474236810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/7274936770474236810'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2007/01/microsoft-vista-no-thanx-but.html' title='Microsoft Vista? No thanx, but...'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-3403416677187030969</id><published>2006-12-05T23:24:00.000+01:00</published><updated>2006-12-06T01:14:31.509+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='etl'/><category scheme='http://www.blogger.com/atom/ns#' term='pojo'/><category scheme='http://www.blogger.com/atom/ns#' term='roma'/><category scheme='http://www.blogger.com/atom/ns#' term='romaframework'/><title type='text'>Very close the next release 0.9.9 of Roma Framework</title><content type='html'>After about 3 months of work I'm ready to release the new release &lt;span style="font-weight: bold;"&gt;0.9.9&lt;/span&gt; of &lt;span style="font-weight: bold;"&gt;Roma Meta Framework Project&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;This will be the last version before the official &lt;span style="font-weight: bold;"&gt;1.0&lt;/span&gt;. Until now I always preferred to not sacrifice the refactoring of Roma sources to mantain compatibility with previous release. Starting from &lt;span style="font-weight: bold;"&gt;1.0&lt;/span&gt; I'm conscious I'll cannot change the sources in a rough manner as now!&lt;br /&gt;&lt;br /&gt;I want to give thanks to all Roma users and developers for the patience to adapt their application sources after every SVN update command :-D&lt;br /&gt;&lt;br /&gt;What are the news of the version &lt;span style="font-weight: bold;"&gt;0.9.9&lt;/span&gt;?&lt;br /&gt;&lt;ul&gt;&lt;li&gt;New &lt;span style="font-weight: bold;"&gt;ETL &lt;/span&gt;aspect to import &lt;span style="font-weight: bold;"&gt;POJO &lt;/span&gt;from &lt;span style="font-weight: bold;"&gt;CSV &lt;/span&gt;files defining mapping rules by &lt;span style="font-weight: bold;"&gt;XPath&lt;/span&gt;&lt;/li&gt;&lt;li&gt;New &lt;span style="font-weight: bold;"&gt;rendering &lt;/span&gt;components (Accordion, ImageButton, Image, TableEdit) and enhanced existents&lt;/li&gt;&lt;li&gt;Integrated JSP module to use &lt;span style="font-weight: bold;"&gt;JSP &lt;/span&gt;along with &lt;span style="font-weight: bold;"&gt;Echo2 &lt;/span&gt;components&lt;br /&gt;&lt;/li&gt;&lt;li&gt;New &lt;span style="font-weight: bold;"&gt;Roma Test Presentation&lt;/span&gt; demo application&lt;/li&gt;&lt;li&gt;New &lt;span style="font-weight: bold;"&gt;IN&lt;/span&gt; operator in PersistenceAspect&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Cache &lt;/span&gt;in database operations&lt;/li&gt;&lt;li&gt;Support for &lt;span style="font-weight: bold;"&gt;JDO2 Fetch Group&lt;/span&gt; to speed up queries&lt;/li&gt;&lt;li&gt;Enhanced USERS module with Active Sessions, Info Categories, and more&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Tons of &lt;span style="font-weight: bold;"&gt;bugs&lt;/span&gt; fixed&lt;/li&gt;&lt;li&gt;Much other&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-3403416677187030969?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/3403416677187030969/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=3403416677187030969' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/3403416677187030969'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/3403416677187030969'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2006/12/very-close-release-099-of-roma.html' title='Very close the next release 0.9.9 of Roma Framework'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-917851019862276646</id><published>2006-11-28T13:07:00.000+01:00</published><updated>2007-01-26T02:34:25.267+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='etl'/><category scheme='http://www.blogger.com/atom/ns#' term='xpath'/><category scheme='http://www.blogger.com/atom/ns#' term='xml'/><category scheme='http://www.blogger.com/atom/ns#' term='roma'/><category scheme='http://www.blogger.com/atom/ns#' term='romaframework'/><title type='text'>Roma Framework: New XPath ETL Aspect</title><content type='html'>Finally in the Roma Framework's SVN repository there is the first &lt;span style="font-weight: bold;"&gt;ETL&lt;/span&gt; aspect implementation for &lt;span style="font-weight: bold;"&gt;Roma Framework&lt;/span&gt;. It allows to import data from &lt;span style="font-weight: bold;"&gt;CSV&lt;/span&gt; files and map content to object properties. Anything is declared in a &lt;span style="font-weight: bold;"&gt;XML&lt;/span&gt; file with &lt;span style="font-weight: bold;"&gt;XPath&lt;/span&gt; rules for mapping.&lt;br /&gt;&lt;br /&gt;Easy and cool as usual! ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-917851019862276646?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/917851019862276646/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=917851019862276646' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/917851019862276646'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/917851019862276646'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2006/11/roma-framework-new-xpath-etl-aspect.html' title='Roma Framework: New XPath ETL Aspect'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-8678198820407271687</id><published>2006-11-20T15:08:00.000+01:00</published><updated>2007-01-26T02:35:08.935+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jug'/><category scheme='http://www.blogger.com/atom/ns#' term='seam'/><category scheme='http://www.blogger.com/atom/ns#' term='roma'/><category scheme='http://www.blogger.com/atom/ns#' term='romaframework'/><category scheme='http://www.blogger.com/atom/ns#' term='jboss'/><title type='text'>Roma Framework vs JBoss Seam</title><content type='html'>After the last &lt;a href="http://www.jugroma.it/"&gt;&lt;span style="font-weight: bold;"&gt;JUG Roma&lt;/span&gt;&lt;/a&gt; event, I've translated the Feature matrix of the match &lt;span style="font-style: italic; font-weight: bold;"&gt;"Roma Meta Framework vs JBoss Seam"&lt;/span&gt; in a PDF document available &lt;a href="http://romaframework.xwiki.com/xwiki/bin/download/Doc/Presentations/roma%20vs%20jboss%20seam.pdf"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;This comparison shows the different approaches of these two frameworks:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.romaframework.org/"&gt;&lt;span style="font-weight: bold;"&gt;Roma &lt;/span&gt;&lt;/a&gt;wins as features for the &lt;span style="font-weight: bold;"&gt;very fast development&lt;/span&gt;: Automatic GUI generation, Much more powerful CRUDs, Users module, etc.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://labs.jboss.com/portal/jbossseam"&gt;&lt;span style="font-weight: bold;"&gt;JBoss Seam&lt;/span&gt;&lt;/a&gt; wins for integration of &lt;span style="font-weight: bold;"&gt;Remoting &lt;/span&gt;(EJB 3.0) and for its &lt;span style="font-weight: bold;"&gt;jBPM &lt;/span&gt;and Drolls modules integrated.&lt;/li&gt;&lt;/ul&gt;By this match I've catched some interesting features of JBoss Seam to implement in Roma Meta Framework. Stay tuned! ;-)&lt;br /&gt;&lt;br /&gt;Ciao, LG&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-8678198820407271687?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://romaframework.xwiki.com/xwiki/bin/download/Doc/Presentations/roma%20vs%20jboss%20seam.pdf' title='Roma Framework vs JBoss Seam'/><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/8678198820407271687/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=8678198820407271687' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/8678198820407271687'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/8678198820407271687'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2006/11/roma-framework-vs-jboss-seam.html' title='Roma Framework vs JBoss Seam'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-116328603286918218</id><published>2006-11-11T23:53:00.000+01:00</published><updated>2007-01-26T02:35:33.696+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='odbms'/><category scheme='http://www.blogger.com/atom/ns#' term='jpa'/><category scheme='http://www.blogger.com/atom/ns#' term='jpox'/><category scheme='http://www.blogger.com/atom/ns#' term='jdo'/><title type='text'>JPA vs JDO</title><content type='html'>Many people think that the newest &lt;a href="http://java.sun.com/javaee/overview/faq/persistence.jsp"&gt;&lt;span style="font-weight: bold;"&gt;JPA&lt;/span&gt;&lt;/a&gt; is always the best choice now that first EJB 3.0  implementations are released.&lt;br /&gt;&lt;br /&gt;JPA is a subset of Sun Microsystem &lt;span style="font-weight: bold;"&gt;JDO 2.0&lt;/span&gt; standard. &lt;span style="font-weight: bold;"&gt;JPOX&lt;/span&gt; team published a matrix to compare their.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;font-size:180%;" &gt;&lt;a href="http://www.jpox.org/docs/persistence_technology.html"&gt;JPA vs JDO 2.0&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Today &lt;span style="font-weight: bold;"&gt;Freshmeat &lt;/span&gt;wakes up my email account with the new version of &lt;span style="font-weight: bold;"&gt;JPOX 1.1.4&lt;/span&gt;. I'll try it tonight  to release it in the next RomaFramework distribution.&lt;br /&gt;&lt;br /&gt;Congratulation JPOX team, the best ORM tool I never used. If you cannot use a pure &lt;span style="font-weight: bold;"&gt;ODBMS&lt;/span&gt;, JPOX is the best choice to work with objects and a Relational DBMS. With no doubts!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-116328603286918218?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.jpox.org/docs/persistence_technology.html' title='JPA vs JDO'/><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/116328603286918218/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=116328603286918218' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/116328603286918218'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/116328603286918218'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2006/11/jpa-vs-jdo.html' title='JPA vs JDO'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-115954708539372200</id><published>2006-09-29T18:05:00.000+02:00</published><updated>2007-01-26T02:36:38.065+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='echo2'/><category scheme='http://www.blogger.com/atom/ns#' term='roma'/><category scheme='http://www.blogger.com/atom/ns#' term='romaframework'/><category scheme='http://www.blogger.com/atom/ns#' term='refactoring'/><title type='text'>Roma Framework big refactoring</title><content type='html'>Hi,&lt;br /&gt;yesterday night a great idea light my mind... A new way to define desktop in View Aspect. It was too much simple to catch before...&lt;br /&gt;&lt;br /&gt;Below a default desktop (I replaced open/close characted with []):&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;desktop xmlns="http://www.romaframework.org/xml/roma"&gt;&lt;span&gt;&lt;span&gt;[desktop&lt;/span&gt;&lt;/span&gt;&lt;/desktop&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;desktop xmlns="http://www.romaframework.org/xml/roma"&gt;&lt;span&gt;&lt;span&gt;]&lt;br /&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/desktop&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span&gt;&lt;span&gt;[&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;desktop xmlns="http://www.romaframework.org/xml/roma"&gt;&lt;span&gt;&lt;span&gt;area name="main" render="column"\&lt;/span&gt;&lt;/span&gt;&lt;/desktop&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;desktop xmlns="http://www.romaframework.org/xml/roma"&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/desktop&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;desktop xmlns="http://www.romaframework.org/xml/roma"&gt;&lt;span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/desktop&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;desktop xmlns="http://www.romaframework.org/xml/roma"&gt;&lt;span&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/desktop&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span&gt;&lt;span&gt;[&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;desktop xmlns="http://www.romaframework.org/xml/roma"&gt;&lt;span&gt;&lt;span&gt;area name="top" /&lt;/span&gt;&lt;/span&gt;&lt;/desktop&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;desktop xmlns="http://www.romaframework.org/xml/roma"&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/desktop&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;desktop xmlns="http://www.romaframework.org/xml/roma"&gt;&lt;span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/desktop&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;desktop xmlns="http://www.romaframework.org/xml/roma"&gt;&lt;span&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/desktop&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span&gt;&lt;span&gt;[&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;desktop xmlns="http://www.romaframework.org/xml/roma"&gt;&lt;span&gt;&lt;span&gt;area name="body" render="grid"&lt;/span&gt;&lt;/span&gt;&lt;/desktop&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;desktop xmlns="http://www.romaframework.org/xml/roma"&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/desktop&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;desktop xmlns="http://www.romaframework.org/xml/roma"&gt;&lt;span&gt;&lt;span&gt;/]&lt;/span&gt;&lt;/span&gt;&lt;/desktop&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;desktop xmlns="http://www.romaframework.org/xml/roma"&gt;&lt;span&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/desktop&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span&gt;&lt;span&gt;[&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;desktop xmlns="http://www.romaframework.org/xml/roma"&gt;&lt;span&gt;&lt;span&gt;area name="bottom" /&lt;/span&gt;&lt;/span&gt;&lt;/desktop&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;desktop xmlns="http://www.romaframework.org/xml/roma"&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/desktop&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;desktop xmlns="http://www.romaframework.org/xml/roma"&gt;&lt;span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/desktop&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;desktop xmlns="http://www.romaframework.org/xml/roma"&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/desktop&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span&gt;&lt;span&gt;[&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;desktop xmlns="http://www.romaframework.org/xml/roma"&gt;&lt;span&gt;&lt;span&gt;/area&lt;/span&gt;&lt;/span&gt;&lt;/desktop&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;desktop xmlns="http://www.romaframework.org/xml/roma"&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/desktop&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;desktop xmlns="http://www.romaframework.org/xml/roma"&gt;&lt;span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/desktop&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span&gt;&lt;span&gt;[&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;desktop xmlns="http://www.romaframework.org/xml/roma"&gt;&lt;span&gt;&lt;span&gt;/desktop&lt;/span&gt;&lt;/span&gt;&lt;/desktop&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;desktop xmlns="http://www.romaframework.org/xml/roma"&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/desktop&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;desktop xmlns="http://www.romaframework.org/xml/roma"&gt;&lt;span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/desktop&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;desktop xmlns="http://www.romaframework.org/xml/roma"&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;/desktop&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;By using XML to define the desktop assure cross View Aspect portability. The idea is very simple: to define, by &lt;span style="font-weight: bold;"&gt;area &lt;/span&gt;tags, a way to create containers ala Swing. Each area has a &lt;span style="font-weight: bold;"&gt;name &lt;/span&gt;that can be used as layout foreach POJO fields and actions. Furthermore area tag allow optionally the render to use. Available renders are:&lt;br /&gt;&lt;br /&gt;- Null (Empty container)&lt;br /&gt;- Row&lt;br /&gt;- Column&lt;br /&gt;- Grid&lt;br /&gt;- Tab (TabbedPane)&lt;br /&gt;&lt;br /&gt;I'm working for a &lt;span style="font-weight: bold;"&gt;XmlDesktop &lt;/span&gt;working with &lt;span style="font-weight: bold;"&gt;Echo2 &lt;/span&gt;implementation. Thanks to this feature users will be able to build complex and nice pages without effort!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Echo2 XML stylesheet&lt;/span&gt; will make the rest changing colors, images, fonts, spacing, etc.&lt;br /&gt;&lt;br /&gt;Cool!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-115954708539372200?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/115954708539372200/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=115954708539372200' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/115954708539372200'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/115954708539372200'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2006/09/roma-framework-big-refactoring.html' title='Roma Framework big refactoring'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-115926462475006586</id><published>2006-09-26T11:42:00.000+02:00</published><updated>2007-01-26T02:36:11.754+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='bug'/><category scheme='http://www.blogger.com/atom/ns#' term='roma'/><category scheme='http://www.blogger.com/atom/ns#' term='romaframework'/><category scheme='http://www.blogger.com/atom/ns#' term='jvm'/><title type='text'>The most strange bug in the Java Virtual Machine!</title><content type='html'>Rome, Italy. Yesterday night. My clock displays &lt;span style="font-weight: bold;"&gt;1:23 AM&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Finally I found the bug that affects the CRUDSelect of &lt;span style="font-weight: bold;"&gt;RomaFramework &lt;/span&gt;project. Some users reported me a strange behaviour: the "&lt;span style="font-weight: bold;"&gt;select&lt;/span&gt;" button of &lt;span style="font-weight: bold;"&gt;CRUDSelect &lt;/span&gt;won't appear when the application is launched non in debug mode.&lt;br /&gt;&lt;br /&gt;Initially I've leave out that report in favor of &lt;span style="font-style: italic;"&gt;more concrete enhancements and problems&lt;/span&gt;. But some days ago I've catched the strange behaviour reported by the users.&lt;br /&gt;&lt;br /&gt;How can the JVM hide my "select" button and show it when I launch the same application in debug mode? This is a case for the &lt;span style="font-weight: bold;"&gt;detective Luca&lt;/span&gt;. Since I cannot debug the application (in debug doesn't appears the bug), I've enabled the logging for the internal API of RomaFramework (just changing the &lt;span style="font-weight: bold;"&gt;log4j.xml&lt;/span&gt; file). It was not enought. So I've inserted much more logging and finally I saw the problem:&lt;br /&gt;&lt;br /&gt;Java Reflection doesn't return the method public void select(). Much of Roma Framework working depends by Java Reflection. In a deeper analysis I've isolated the problem:&lt;br /&gt;&lt;br /&gt;CRUDSelect class contains, between the others, these two methods:&lt;br /&gt;&lt;br /&gt;public void select();&lt;br /&gt;public void select(boolean iForceWindowClosing);&lt;br /&gt;&lt;br /&gt;For a strange reason the first one is not returned when the JVM is in non-debug mode!!! Probably a bug in the HotSpot on method with the same name. I've renamed the second one method in:&lt;br /&gt;&lt;br /&gt;public void selectAndForceClosing(boolean iForceWindowClosing);&lt;br /&gt;&lt;br /&gt;And now anythings work!!! Now I submit the update in SVN repository, but tomorrow I'll open a bug report to &lt;span style="font-weight: bold;"&gt;Sun.com&lt;/span&gt;&lt;span&gt; sending a test case that show the problem.&lt;br /&gt;&lt;br /&gt;This time again, another case was resolved by detective Luca ;-)&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-115926462475006586?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/115926462475006586/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=115926462475006586' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/115926462475006586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/115926462475006586'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2006/09/most-strange-bug-in-java-virtual.html' title='The most strange bug in the Java Virtual Machine!'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-115762221616208519</id><published>2006-09-07T11:21:00.000+02:00</published><updated>2006-11-11T23:55:43.884+01:00</updated><title type='text'>Greetings ProNetics</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7106/1232/1600/AssetDATA_small.0.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://photos1.blogger.com/blogger/7106/1232/320/AssetDATA_small.0.jpg" alt="" border="0" /&gt;&lt;/a&gt;Today is the last day in &lt;span style="font-weight: bold;"&gt;ProNetics&lt;/span&gt; company. After about 2 years in ProNetics I leave my role to work as &lt;span style="font-weight: bold;"&gt;C.T.O.&lt;/span&gt; in &lt;a style="font-weight: bold;" href="http://www.assetdata.it"&gt;AssetData&lt;/a&gt;. AssetData is a small-young private company specialized in the vertical market of &lt;span style="font-style: italic;"&gt;Human Resources and E-Learning&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;My mission will be to make the company more "horizontal" to the &lt;span style="font-style: italic;"&gt;Software Development&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;System Integration&lt;/span&gt;. All new projects will use the Open Source &lt;a style="font-weight: bold;" href="http://www.romaframework.org"&gt;RomaFramework&lt;/a&gt; technology to develop Java application in short time guaranteing good Time To Market. A small area will cover the PHP technology by using and customizing &lt;span style="font-weight: bold;"&gt;DOCEBO &lt;/span&gt;E-Learning software.&lt;br /&gt;&lt;br /&gt;I want to give thanks to ProNetics people, specially to &lt;span style="font-weight: bold;"&gt;Mario Lanzillotta&lt;/span&gt; and &lt;span style="font-weight: bold;"&gt;Gianugo Rabellino&lt;/span&gt; to have instilled in me the Open Source culture. In the ProNetics period I've released my pearl &lt;a style="font-weight: bold;" href="http://www.orientechnologies.com"&gt;Orient ODBMS&lt;/a&gt; as open source project on Source Forge community. Moreover in the last months I've created the &lt;a style="font-weight: bold;" href="http://www.romaframework.org"&gt;RomaFramework&lt;/a&gt; project too...&lt;br /&gt;&lt;br /&gt;I want to give thanks to other collegues, someone become a friend in my private life too... And I want to take advantage of this greeting to relaunch the challenge to tear away my gold medal in the &lt;span style="font-weight: bold;"&gt;Go-Kart&lt;/span&gt; competion!!! ;-)&lt;br /&gt;&lt;br /&gt;So... Bye and Let's start!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-115762221616208519?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/115762221616208519/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=115762221616208519' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/115762221616208519'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/115762221616208519'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2006/09/greetings-pronetics.html' title='Greetings ProNetics'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-115628137263113858</id><published>2006-08-22T22:56:00.000+02:00</published><updated>2006-11-11T23:55:43.683+01:00</updated><title type='text'>Roma Framework: finally the Users Module working</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7106/1232/1600/UsersModule-Login.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://photos1.blogger.com/blogger/7106/1232/320/UsersModule-Login.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Today I've finished the first tests about the new &lt;span style="font-weight: bold;"&gt;Users module&lt;/span&gt; in &lt;span style="font-weight: bold;"&gt;ROMA Framework&lt;/span&gt;. What is the Users Module? It contains all domain POJO to manage &lt;span style="font-style: italic;"&gt;login&lt;/span&gt;, &lt;span style="font-style: italic;"&gt;accounts &lt;/span&gt;and &lt;span style="font-style: italic;"&gt;profiles &lt;/span&gt;in the most classic fashion.&lt;br /&gt;&lt;br /&gt;Yes, since most often applications handle User and authentication in the same way, why don't implement a flexible POJOs in ROMA? That is the Users Module. It depends by JPOX persistence module (JDO 2.0) to store user information in the database.&lt;br /&gt;&lt;br /&gt;The most powerful thing, IMHO, is the &lt;span style="font-weight: bold;"&gt;profiling system&lt;/span&gt;. I tried to implement the most flexible system to define profiles:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Each profile defines the &lt;span style="font-weight: bold;"&gt;mode&lt;/span&gt;, namely the way functions play:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;allow all but&lt;/span&gt;: you can define the exception. Use this when exception are less than all functionalities&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;deny all but&lt;/span&gt;: you can define only what the profile can access. Use this when functions are much less than the total.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Each profile can define a parent &lt;span style="font-weight: bold;"&gt;profile &lt;/span&gt;where to inherit the functionalities allowed and denied.&lt;/li&gt;&lt;li&gt;Functionalities are expressed as a simple name in the format below:&lt;/li&gt;&lt;ul&gt;&lt;li style="font-weight: bold;"&gt;ClassName&lt;/li&gt;&lt;li style="font-weight: bold;"&gt;ClassName.field&lt;/li&gt;&lt;li style="font-weight: bold;"&gt;ClassName.action&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;In this way you can profile from the Class level until each field/action!&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;How to use it?&lt;br /&gt;&lt;br /&gt;If you want to disable the Control Panel item from the main menu, just insert the function with name "&lt;span style="font-weight: bold;"&gt;MainMenu.controlPanel&lt;/span&gt;" (that is the action name that call the submenu) and with &lt;span style="font-weight: bold;"&gt;allow &lt;/span&gt;equals to &lt;span style="font-weight: bold;"&gt;false&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;If you'd like to hide the employee's &lt;span style="font-weight: bold;"&gt;salary &lt;/span&gt;field to the "&lt;span style="font-weight: bold;"&gt;Visitor&lt;/span&gt;" profile, then set it with mode "Allow all but" and insert the function "Employee.salary" with allow equals to false. That is.&lt;br /&gt;&lt;br /&gt;Roma controller will check for each POJO's fields and actions if the current user profile is allowed to display.&lt;br /&gt;&lt;br /&gt;Simple, powerful and easy!&lt;br /&gt;&lt;br /&gt;Users module contain also an &lt;span style="font-weight: bold;"&gt;Activity Log&lt;/span&gt; manager, a default implementation for the &lt;span style="font-weight: bold;"&gt;AuthenticationAspect &lt;/span&gt;using &lt;span style="font-weight: bold;"&gt;BaseAccount &lt;/span&gt;and &lt;span style="font-weight: bold;"&gt;BaseProfile &lt;/span&gt;POJOs, generic useful objects such as &lt;span style="font-weight: bold;"&gt;Info &lt;/span&gt;and &lt;span style="font-weight: bold;"&gt;GenericValue&lt;/span&gt;, and more.&lt;br /&gt;&lt;br /&gt;To use it download the latest SVN revision and type:&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;roma addModule domain-users&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Follow the link to know more: &lt;a href="http://romaframework.xwiki.com/xwiki/bin/view/Doc/Domain+Users"&gt;http://romaframework.xwiki.com/xwiki/bin/view/Doc/Domain+Users&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-115628137263113858?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://romaframework.xwiki.com/xwiki/bin/view/Doc/Domain+Users' title='Roma Framework: finally the Users Module working'/><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/115628137263113858/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=115628137263113858' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/115628137263113858'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/115628137263113858'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2006/08/roma-framework-finally-users-module.html' title='Roma Framework: finally the Users Module working'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-115615664937775410</id><published>2006-08-21T12:31:00.000+02:00</published><updated>2006-11-11T23:55:43.484+01:00</updated><title type='text'>Back to my PC</title><content type='html'>Holidays ended and I'm in Rome again in front to my PC to resolve some issues about &lt;a href="http://www.romaframework.org"&gt;Roma Framework&lt;/a&gt; and to implement some new cool features.&lt;br /&gt;&lt;br /&gt;Rome city is too much beautiful on August, since there is zero traffic and very few people around the city. Yesterday it was a very hot day, but in the evening I've tested my brand new Roller Blade on bicycle path near Rome. Very cool!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-115615664937775410?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/115615664937775410/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=115615664937775410' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/115615664937775410'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/115615664937775410'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2006/08/back-to-my-pc.html' title='Back to my PC'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-115520108589309543</id><published>2006-08-10T11:04:00.000+02:00</published><updated>2006-11-11T23:55:43.344+01:00</updated><title type='text'>Roma Framework community and vacation</title><content type='html'>After a while I write on my tech blog... Now I'm on vacation (Tuscany, Italy) but sometime I connect to the Internet to read mails and messages. I'm very happy to see the community reply to the Roma Framework forum in my absence! ;-)&lt;br /&gt;&lt;br /&gt;I'll return in the mid of august with a lot of feature requests and some (!) bugs to resolve.&lt;br /&gt;&lt;br /&gt;And in the air I can feel a wind of changes...&lt;br /&gt;&lt;br /&gt;Ciao, Luca&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-115520108589309543?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/115520108589309543/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=115520108589309543' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/115520108589309543'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/115520108589309543'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2006/08/roma-framework-community-and-vacation.html' title='Roma Framework community and vacation'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13838184.post-115385850392367767</id><published>2006-07-25T22:10:00.000+02:00</published><updated>2006-11-11T23:55:43.211+01:00</updated><title type='text'>Very Glad...</title><content type='html'>I'm very glad when people thank to me and Roma's developers for the Roma Framework Project.&lt;br /&gt;&lt;br /&gt;The bigger satisfaction is when developers say: "Developing a web application with Roma is incredible!", and then enlist all benefits to develop an application using only POJOs.&lt;br /&gt;&lt;br /&gt;Roma Framework is much more than a web tool, also if most people use it to create Java Web Applications in short time...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13838184-115385850392367767?l=zion-city.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zion-city.blogspot.com/feeds/115385850392367767/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13838184&amp;postID=115385850392367767' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/115385850392367767'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13838184/posts/default/115385850392367767'/><link rel='alternate' type='text/html' href='http://zion-city.blogspot.com/2006/07/very-glad.html' title='Very Glad...'/><author><name>Luca Garulli</name><uri>http://www.blogger.com/profile/04523569178463279505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-U3hnRa0KD9I/TZdWaxGnKoI/AAAAAAAAAyw/DnZe45LX1CI/s220/spartacus.jpg'/></author><thr:total>0</thr:total></entry></feed>
