<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://developer.db4o.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>db4o Developer Community</title><link>http://developer.db4o.com/blogs/default.aspx</link><description>&lt;B&gt;&lt;A href="http://www.db4o.com?src=comm"&gt;db4o&lt;/A&gt; open source object database, native to Java and .NET&lt;/B&gt;</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Debug Build: 61019.2)</generator><item><title>Performance Contest - for one more month</title><link>http://developer.db4o.com/blogs/product_news/archive/2008/07/17/performance-contest-for-one-more-month.aspx</link><pubDate>Thu, 17 Jul 2008 10:38:00 GMT</pubDate><guid isPermaLink="false">573d810b-5d25-4172-b278-595dd24a71a5:50178</guid><dc:creator>Carl Rosenberger</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;Do you like profiling? Do you like tuning code? If you do, how about taking part in the db4o performance contest? We offer USD 6000 in prizes for the best contributions to make db4o faster.&lt;/P&gt;
&lt;P&gt;We have made it very easy for you to get started by providing an Eclipse workspace set up with the db4o sources and the Poleposition benchmark.&lt;/P&gt;
&lt;P&gt;Links to get you started:&lt;BR&gt;&lt;a href="http://developer.db4o.com/ProjectSpaces/view.aspx/PerformanceContest"&gt;Performance Contest page&lt;/a&gt;&lt;BR&gt;&lt;a href="http://developer.db4o.com/blogs/paircasts/archive/2008/06/13/performance-contest.aspx"&gt;"Getting Started" video&lt;/a&gt;&lt;BR&gt;&lt;a href="http://developer.db4o.com/forums/159/ShowForum.aspx"&gt;Performance Contest Forum&lt;/a&gt;&lt;/P&gt;
&lt;P&gt;The contest has been running for a month already and we are seeing first contributions coming in.&lt;/P&gt;
&lt;P&gt;Andrew has improved sorted queries and provides a UTF-8 string encoder.&lt;BR&gt;Erik is working on a query cache to make queries reusable.&lt;/P&gt;
&lt;P&gt;Can you beat their patches? I am sure you can.&lt;BR&gt;The contest is still open for contributions for one more month until August 15.&lt;/P&gt;&lt;img src="http://developer.db4o.com/aggbug.aspx?PostID=50178" width="1" height="1"&gt;</description></item><item><title>Implications of instrumenting assemblies for Transparent Activation / Persistence in db4o - Part I</title><link>http://developer.db4o.com/blogs/product_news/archive/2008/07/14/implications-of-intrumenting-assemblies-for-transparent-activation-persistence-in-db4o-part-i.aspx</link><pubDate>Mon, 14 Jul 2008 14:28:00 GMT</pubDate><guid isPermaLink="false">573d810b-5d25-4172-b278-595dd24a71a5:50121</guid><dc:creator>Adriano Verona</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;As the popular saying&amp;nbsp; tell us, there's no such thing as free lunch. It is no different for work related subjects.&lt;br&gt;&lt;/p&gt;

&lt;p&gt;When we introduced Transparent Activation (TA) concept we knew that it could make developer's life easier (by presenting a simpler model for object life cycle): developers would not be required to think about activation depths again; just let db4o activate your objects when it's need. &lt;/p&gt;

&lt;p&gt;IMHO, it was a great improvement since it not only simplifies developer's life as well brings some performance gains also (once objects get activated only when needed there's no wasted time activating objects not needed). But this was not without coasts: to benefit from this simpler model, developers were required to implement IActivatable interface for each object that they wanted to be TA. Also, once enabled, any non TA aware object will be fully activated at retrieval time.&lt;/p&gt;

&lt;p&gt;Time passed and we introduced&amp;nbsp; a way relieve developers from the need to implement Activatable interface, i.e, to make classes TA aware with no effort from developers. This is accomplished through a technique called instrumentation in which we dive into byte code level doing something like:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Find each type declared in a specific assembly (.net) / jar or class (java) &lt;br&gt;&lt;/li&gt;

&lt;li&gt;Analise each type found in step 1 to check whether it is a potential candidate for TA or not&lt;br&gt;&lt;/li&gt;

&lt;li&gt;If we found a potential candidate for TA&lt;br&gt;&lt;/li&gt;

&lt;ul&gt;
&lt;li&gt;Make the type to implement IActivatable interface&lt;/li&gt;

&lt;li&gt;Implement IActivatable methods&lt;br&gt;&lt;/li&gt;

&lt;li&gt;Ensure that the object will be activated prior to any field access by inspecting each field access in this type and inserting the required Activate() / activate() call prior to it. &lt;br&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;li&gt;Save the binary component&lt;br&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A pretty straight approach, I'd say.&lt;/p&gt;

&lt;p&gt;But even when using instrumentation there are some implications that developers should be aware of. To illustrate, think about assembly signing; this is a process in which a developer "seals" an assembly contents by digitally signing it (the whole concept is beyond this post). &lt;/p&gt;

&lt;p&gt;Basically, by signing an assembly a developer is providing ways to administrators to selectively grant access to assemblies based on the private key (related to the public key) used to sign it; also, signed assemblies are tamper resistant which means that&lt;b&gt; changes (in byte code level) don't go unnoticed&lt;/b&gt;. &lt;br&gt;&lt;/p&gt;

&lt;p&gt;By the above description it's clear that instrumenting&amp;nbsp; &lt;b&gt;a&lt;/b&gt; &lt;b&gt;signed assembly turns it invalid afterward&lt;/b&gt;
(since its contents gets changed) and any tentative of loading it will fail with a invalid signature error.&lt;br&gt;&lt;/p&gt;

&lt;p&gt;So, after instrumenting signed assemblies you will need to sign them
again but,&lt;b&gt; IMHO, you should never, ever, instrument assemblies that are
not under your control&lt;/b&gt;, so I'd suggest you to just change your build
scripts so instrumentation takes place prior to signing. &lt;br&gt;&lt;/p&gt;
To help developers detect this, starting from version &lt;b&gt;7.4.52&lt;/b&gt; Db4oTool will emit an warning when asked to instrument (whether for TA/TP or Native Queries optimizations) a signed/delay signed assembly.
&lt;p&gt;Just for the sake of completeness I've included the following walk through on how to create assemblies that are instrumented and signed (for a in depth discussion on signing assemblies please, read &lt;a href="http://msdn.microsoft.com/en-us/magazine/cc163583.aspx"&gt;this&lt;/a&gt;).&lt;/p&gt;


&lt;a href="http://www.flickr.com/photos/28625654@N07/2672448013/" title="VS Project Properties"&gt;&lt;img src="http://farm4.static.flickr.com/3148/2672448013_6ccc983f5f_m.jpg" alt="VS Project Properties" width="240" height="157"&gt;&lt;/a&gt;

&lt;a href="http://www.flickr.com/photos/28625654@N07/2673274596/" title="VS Project Properties 2 by vagaus, on Flickr"&gt;&lt;img src="http://farm4.static.flickr.com/3290/2673274596_d2f2ded9b7_m.jpg" alt="VS Project Properties 2" width="240" height="157"&gt;&lt;/a&gt;


&lt;ol&gt;
&lt;li&gt;In Visual Studio, open project properties window and select &lt;b&gt;signing&lt;/b&gt; tab.&lt;br&gt;&lt;br&gt;&lt;/li&gt;

&lt;li&gt;Select &lt;i&gt;Sign the assembly&lt;/i&gt;;&lt;br&gt;&lt;br&gt;&lt;/li&gt;

&lt;li&gt;Expand &lt;i&gt;Choose a strong name key file&lt;/i&gt; drop down listbox and either, select a previously created key or create a new one by selecting &lt;i&gt;&amp;lt;New...&amp;gt;&lt;/i&gt; option;&lt;br&gt;&lt;br&gt;&lt;/li&gt;

&lt;li&gt;Select &lt;i&gt;Delay sign only&lt;/i&gt; checkbox;&lt;br&gt;&lt;br&gt;&lt;/li&gt;

&lt;li&gt;Save your project and build&lt;br&gt;&lt;br&gt;&lt;/li&gt;

&lt;li&gt;Instrument your assembly (either running Db4oTool or through Db4oToolEnhancerMSBuildTask)&lt;br&gt;&lt;br&gt;&lt;/li&gt;

&lt;li&gt;After instrumentation, run sn tool as follows to finish the sign process:&lt;br&gt;&lt;br&gt;sn -Ra myassembly.dll mykey.snk&lt;br&gt;&lt;/li&gt;
&lt;/ol&gt;
That's it! Your assembly is instrumented and signed.&lt;br&gt;&lt;br&gt;In the next post I'll address some other implications / pitfalls regarding instrumentation for TA/TP.&lt;br&gt;
&lt;p&gt;Thoughts?&lt;br&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;/ul&gt;&lt;img src="http://developer.db4o.com/aggbug.aspx?PostID=50121" width="1" height="1"&gt;</description><enclosure url="http://developer.db4o.com/blogs/product_news/attachment/50121.ashx" length="118358" type="image/jpeg" /><category domain="http://developer.db4o.com/blogs/product_news/archive/tags/.NET/default.aspx">.NET</category><category domain="http://developer.db4o.com/blogs/product_news/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://developer.db4o.com/blogs/product_news/archive/tags/documentation/default.aspx">documentation</category><category domain="http://developer.db4o.com/blogs/product_news/archive/tags/db4o/default.aspx">db4o</category><category domain="http://developer.db4o.com/blogs/product_news/archive/tags/deployement/default.aspx">deployement</category><category domain="http://developer.db4o.com/blogs/product_news/archive/tags/Transparent+Activation/default.aspx">Transparent Activation</category></item><item><title>Users comment on O/R Impedance Mismatch</title><link>http://developer.db4o.com/blogs/community/archive/2008/07/10/users-comment-on-o-r-impedance-mismatch.aspx</link><pubDate>Wed, 09 Jul 2008 19:26:00 GMT</pubDate><guid isPermaLink="false">573d810b-5d25-4172-b278-595dd24a71a5:50076</guid><dc:creator>German Viscuso</dc:creator><slash:comments>0</slash:comments><description>ODBMS.ORG, a vendor-independent non-profit group of high-profile software experts lead by Prof. Roberto Zicari, today announced the exclusive publication of a new series of user reports on using technologies for storing and handling persistent objects: 
&lt;P&gt;&lt;A href="http://www.odbms.org/downloads.html#odbms_ur"&gt;http://www.odbms.org/downloads.html#odbms_ur&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;11 user reports have been published, from the following users:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Gerd Klevesaat, Siemens&lt;/LI&gt;
&lt;LI&gt;Pieter van Zyl, CSIR&lt;/LI&gt;
&lt;LI&gt;Philippe Roose, Liuppa&lt;/LI&gt;
&lt;LI&gt;William Westlake, SAIC&lt;/LI&gt;
&lt;LI&gt;Stefan Edlich, TFH Berlin&lt;/LI&gt;
&lt;LI&gt;Udayan Banerjee, NIIT&lt;/LI&gt;
&lt;LI&gt;Nishio Shuichi, ATR Labs&lt;/LI&gt;
&lt;LI&gt;John Davies, Iona&lt;/LI&gt;
&lt;LI&gt;Scott Ambler, IBM&lt;/LI&gt;
&lt;LI&gt;Mike Card, Syracuse&lt;/LI&gt;
&lt;LI&gt;Rich Ahrens, Merrill Lynch&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Prof. Zicari asked each users a number of equal questions, among them if they had an "impedance mismatch" problem. Each time data models, e.g. relational models, are used to persistently store data and the program language used, e.g. in object-oriented Java, are different, this is referred to as the "impedance mismatch" problem. &lt;/P&gt;
&lt;P&gt;Users confirmed in different ways the existence of such a problem.&lt;/P&gt;
&lt;P&gt;Enjoy!&lt;/P&gt;&lt;img src="http://developer.db4o.com/aggbug.aspx?PostID=50076" width="1" height="1"&gt;</description><category domain="http://developer.db4o.com/blogs/community/archive/tags/db4o/default.aspx">db4o</category><category domain="http://developer.db4o.com/blogs/community/archive/tags/odbms/default.aspx">odbms</category><category domain="http://developer.db4o.com/blogs/community/archive/tags/ORM/default.aspx">ORM</category><category domain="http://developer.db4o.com/blogs/community/archive/tags/O_2F00_R/default.aspx">O/R</category><category domain="http://developer.db4o.com/blogs/community/archive/tags/odbms.org/default.aspx">odbms.org</category><category domain="http://developer.db4o.com/blogs/community/archive/tags/oodb/default.aspx">oodb</category><category domain="http://developer.db4o.com/blogs/community/archive/tags/persistence/default.aspx">persistence</category><category domain="http://developer.db4o.com/blogs/community/archive/tags/odb/default.aspx">odb</category></item><item><title>Enhanced db4o support in latest DataNucleus Access Platform 1.0 M3</title><link>http://developer.db4o.com/blogs/community/archive/2008/07/07/enhanced-db4o-support-in-latest-datanucleus-access-platform-1-0-m3.aspx</link><pubDate>Sun, 06 Jul 2008 23:24:00 GMT</pubDate><guid isPermaLink="false">573d810b-5d25-4172-b278-595dd24a71a5:50024</guid><dc:creator>German Viscuso</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;DataNucleus Access Platform 1.0 M3 is released (&lt;A class="" href="http://www.datanucleus.com/news/access_platform_1_0_m3.html"&gt;see the announcement&lt;/A&gt;). The main things affecting usage with db4o are :-&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;The original JDOQL implementation has been superceded by a new "generic" implementation supporting more of the JDOQL syntax&lt;/LI&gt;
&lt;LI&gt;Support for querying via JPQL is added.&lt;/LI&gt;&lt;/UL&gt;&lt;img src="http://developer.db4o.com/aggbug.aspx?PostID=50024" width="1" height="1"&gt;</description><category domain="http://developer.db4o.com/blogs/community/archive/tags/jdoql/default.aspx">jdoql</category><category domain="http://developer.db4o.com/blogs/community/archive/tags/db4o/default.aspx">db4o</category><category domain="http://developer.db4o.com/blogs/community/archive/tags/jpql/default.aspx">jpql</category><category domain="http://developer.db4o.com/blogs/community/archive/tags/DataNucleus/default.aspx">DataNucleus</category></item><item><title>Newsletter #43: db4o Announces its First Performance Contest - Win $6000 in prizes!</title><link>http://developer.db4o.com/blogs/newsletter/archive/2008/06/29/newsletter-43-db4o-announces-its-first-performance-contest-win-6000-in-prizes.aspx</link><pubDate>Sat, 28 Jun 2008 23:36:00 GMT</pubDate><guid isPermaLink="false">573d810b-5d25-4172-b278-595dd24a71a5:49897</guid><dc:creator>German Viscuso</dc:creator><slash:comments>0</slash:comments><description>&lt;P style="mso-outline-level:4;"&gt;&lt;B&gt;&lt;FONT color=#333333&gt;db4o 7.4 Development Release is available for immediate &lt;/FONT&gt;&lt;A href="http://developer.db4o.com/files/folders/db4o_74/default.aspx"&gt;download&lt;/A&gt;&lt;FONT color=#333333&gt;!&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;H3 style="MARGIN:auto 0cm;"&gt;&lt;A class="" name=A0&gt;&lt;/A&gt;&lt;SPAN style="mso-fareast-font-family:'Times New Roman';"&gt;&lt;o:p&gt;&lt;FONT color=#333333&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;H2 style="MARGIN:auto 0cm;"&gt;&lt;SPAN style="mso-fareast-font-family:'Times New Roman';"&gt;&lt;FONT size=3&gt;&lt;FONT color=#669900&gt;A R T I C L E S&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;H2 style="MARGIN:auto 0cm;"&gt;&lt;A class="" name=A1&gt;&lt;/A&gt;&lt;SPAN style="mso-fareast-font-family:'Times New Roman';"&gt;&lt;FONT size=3&gt;&lt;FONT color=#669900&gt;db4o Announces its First Performance Contest - Win $6000 in prizes!&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;P style="MARGIN-LEFT:36pt;TEXT-INDENT:-18pt;mso-outline-level:4;mso-list:l7 level1 lfo2;tab-stops:list 36.0pt;"&gt;&lt;FONT color=#333333&gt;&lt;SPAN style="FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-bidi-font-weight:bold;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;·&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;As part of our commitment to improving db4o's performance we're organizing this hands-on contest where community members can contribute and benchmark&amp;nbsp;patches to the db4o core and win out of 6000 USD in cash prizes&lt;o:p&gt;&lt;/o:p&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN-LEFT:36pt;TEXT-INDENT:-18pt;mso-outline-level:4;mso-list:l7 level1 lfo2;tab-stops:list 36.0pt;"&gt;&lt;SPAN style="FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-bidi-font-weight:bold;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;&lt;FONT color=#333333&gt;·&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;FONT color=#333333&gt;The rules and deadlines are available in the &lt;/FONT&gt;&lt;A href="http://developer.db4o.com/ProjectSpaces/view.aspx/PerformanceContest"&gt;Performance Contest page&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN-LEFT:36pt;TEXT-INDENT:-18pt;mso-outline-level:4;mso-list:l7 level1 lfo2;tab-stops:list 36.0pt;"&gt;&lt;SPAN style="FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-bidi-font-weight:bold;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;&lt;FONT color=#333333&gt;·&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;FONT color=#333333&gt;A &lt;/FONT&gt;&lt;A href="http://developer.db4o.com/ProjectSpaces/view.aspx/PerformanceContest#Resources"&gt;&lt;FONT color=#0000ff&gt;full set of tools&lt;/FONT&gt;&lt;/A&gt;&lt;FONT color=#333333&gt; to provide for a smooth start and a "leveled playing field" has been carefully prepared for the contestants (we're providing a "Getting Started" video and a full Eclipse workspace so you can be up and running in no time).&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN-LEFT:36pt;TEXT-INDENT:-18pt;mso-outline-level:4;mso-list:l7 level1 lfo2;tab-stops:list 36.0pt;"&gt;&lt;SPAN style="FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-bidi-font-weight:bold;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;&lt;FONT color=#333333&gt;·&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;FONT color=#333333&gt;We encourage you to use the &lt;/FONT&gt;&lt;A href="http://developer.db4o.com/forums/159/ShowForum.aspx"&gt;Performance forum&lt;/A&gt;&lt;FONT color=#333333&gt; for questions related to the contest&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;H2 style="MARGIN:auto 0cm;"&gt;&lt;A class="" name=A2&gt;&lt;/A&gt;&lt;SPAN style="mso-fareast-font-family:'Times New Roman';"&gt;&lt;FONT size=3&gt;&lt;FONT color=#669900&gt;Create your own db4o Distribution&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;P style="MARGIN-LEFT:36pt;TEXT-INDENT:-18pt;mso-outline-level:4;mso-list:l1 level1 lfo3;tab-stops:list 36.0pt;"&gt;&lt;SPAN style="FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-bidi-font-weight:bold;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;&lt;FONT color=#333333&gt;·&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;A href="http://developer.db4o.com/Resources/view.aspx/Reference/Working_With_Source_Code/Building_Full_Distribution"&gt;Building a full db4o distribution&lt;/A&gt;&lt;FONT color=#333333&gt; will allow you to get the same db4o packages as you can get from db4o &lt;/FONT&gt;&lt;A href="http://developer.db4o.com/files/default.aspx"&gt;download center&lt;/A&gt;&lt;FONT color=#333333&gt;. However, the flexibility of the build project also allows you to get only parts of it, like only java distro, only documentation, only tests etc.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN-LEFT:36pt;TEXT-INDENT:-18pt;mso-outline-level:4;mso-list:l1 level1 lfo3;tab-stops:list 36.0pt;"&gt;&lt;SPAN style="FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-bidi-font-weight:bold;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;&lt;FONT color=#333333&gt;·&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;FONT color=#333333&gt;Now you can&amp;nbsp;&lt;/FONT&gt;&lt;A href="http://developer.db4o.com/blogs/paircasts/archive/2008/06/23/full-db4o-build-from-svn-sources.aspx"&gt;learn how to build db4o by yourself&lt;/A&gt;&lt;FONT color=#333333&gt;. This will&amp;nbsp;allow you&amp;nbsp;to implement enhancements and come up with&amp;nbsp;your custom modifications of the engine.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN-LEFT:36pt;TEXT-INDENT:-18pt;mso-outline-level:4;mso-list:l1 level1 lfo3;tab-stops:list 36.0pt;"&gt;&lt;SPAN style="FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-bidi-font-weight:bold;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;&lt;FONT color=#333333&gt;·&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;FONT color=#333333&gt;The generation of db4o .NET sources is achieved through "Sharpen" which&amp;nbsp;can be used for any application to automate conversion of Java sources to C# - &lt;/FONT&gt;&lt;A href="http://developer.db4o.com/blogs/product_news/archive/2008/05/21/sharpen-your-java-app-now-java-to-c-converter-released-as-free-software.aspx"&gt;get started using the conversion tool&lt;/A&gt;&lt;FONT color=#333333&gt;&amp;nbsp;and give us some feedback&amp;nbsp;the &lt;/FONT&gt;&lt;A href="http://developer.db4o.com/forums/158/ShowForum.aspx"&gt;Sharpen forum&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/B&gt;&lt;/P&gt;
&lt;H2 style="MARGIN:auto 0cm;"&gt;&lt;A class="" name=A3&gt;&lt;/A&gt;&lt;SPAN style="mso-fareast-font-family:'Times New Roman';"&gt;&lt;FONT size=3&gt;&lt;FONT color=#669900&gt;Read Committed Isolation and Pushed Updates - Revisited&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;P style="MARGIN-LEFT:36pt;TEXT-INDENT:-18pt;mso-outline-level:4;mso-list:l4 level1 lfo4;tab-stops:list 36.0pt;"&gt;&lt;SPAN style="FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-bidi-font-weight:bold;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;&lt;FONT color=#333333&gt;·&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;FONT color=#333333&gt;db4o guarantees that any query will return objects in their &lt;/FONT&gt;&lt;A href="http://developer.db4o.com/Resources/view.aspx/Reference/Basic_Concepts/ACID_Model/Isolation_Level_For_Db4o"&gt;most recently committed state&lt;/A&gt;&lt;FONT color=#333333&gt; - unless they are still in memory on the client (i.e. on the &lt;/FONT&gt;&lt;A href="http://developer.db4o.com/Resources/view.aspx/Reference/Basic_Concepts/Object_Identity/Weak_References"&gt;reference cache&lt;/A&gt;&lt;FONT color=#333333&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN-LEFT:36pt;TEXT-INDENT:-18pt;mso-outline-level:4;mso-list:l4 level1 lfo4;tab-stops:list 36.0pt;"&gt;&lt;SPAN style="FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-bidi-font-weight:bold;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;&lt;FONT color=#333333&gt;·&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;FONT color=#333333&gt;To help you handle this last scenario we've introduced &lt;/FONT&gt;&lt;A href="http://developer.db4o.com/Resources/view.aspx/Reference/Implementation_Strategies/Callbacks/Commit-Time_Callbacks"&gt;Commited Callbacks&lt;/A&gt;&lt;FONT color=#333333&gt; for providing &lt;/FONT&gt;&lt;A href="http://developer.db4o.com/blogs/product_news/archive/2007/04/23/committed-callbacks-and-pushed-updates.aspx"&gt;Pushed Updates&lt;/A&gt;&lt;FONT color=#333333&gt; (i.e. notify a&amp;nbsp;client that objects have been changed via events)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN-LEFT:36pt;TEXT-INDENT:-18pt;mso-outline-level:4;mso-list:l4 level1 lfo4;tab-stops:list 36.0pt;"&gt;&lt;SPAN style="FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-bidi-font-weight:bold;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;&lt;FONT color=#333333&gt;·&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;FONT color=#333333&gt;In &lt;/FONT&gt;&lt;A href="http://developer.db4o.com/blogs/product_news/archive/2008/06/18/committed-callbacks-pushed-updates-and-read-committed-isolation-revisited.aspx"&gt;this blog&lt;/A&gt;&lt;FONT color=#333333&gt; we provide code snippets for doing Pushed Updates while using db4o in&amp;nbsp;&lt;/FONT&gt;&lt;A href="http://developer.db4o.com/Resources/view.aspx/Reference/Client-Server/Embedded"&gt;embedded client-server&lt;/A&gt;&lt;FONT color=#333333&gt; mode (code is also compatible with the networked C/S mode)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;H2 style="MARGIN:auto 0cm;"&gt;&lt;A class="" name=A4&gt;&lt;/A&gt;&lt;SPAN style="mso-fareast-font-family:'Times New Roman';"&gt;&lt;FONT size=3&gt;&lt;FONT color=#669900&gt;To Flush or not to Flush&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;P style="MARGIN-LEFT:36pt;TEXT-INDENT:-18pt;mso-outline-level:4;mso-list:l5 level1 lfo5;tab-stops:list 36.0pt;"&gt;&lt;FONT color=#333333&gt;&lt;SPAN style="FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-bidi-font-weight:bold;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;·&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;In order to&amp;nbsp;provide consistency a database must flush its data cache frequently (and db4o is no different in this sense)&lt;o:p&gt;&lt;/o:p&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN-LEFT:36pt;TEXT-INDENT:-18pt;mso-outline-level:4;mso-list:l5 level1 lfo5;tab-stops:list 36.0pt;"&gt;&lt;SPAN style="FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-bidi-font-weight:bold;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;&lt;FONT color=#333333&gt;·&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;FONT color=#333333&gt;db4o used to&amp;nbsp;allow users to&amp;nbsp;disable the flushing&amp;nbsp;via &lt;I&gt;Configuration.flushFileBuffers(false)&lt;/I&gt; but we're now discontinuing this configuration switch and&amp;nbsp;providing a brand new &lt;/FONT&gt;&lt;A href="http://developer.db4o.com/blogs/product_news/archive/2008/06/18/flushfilebuffers-false-and-the-c-in-acid.aspx"&gt;&lt;I&gt;NonFlushingIoAdapter&lt;/I&gt;&lt;/A&gt;&lt;FONT color=#333333&gt;&amp;nbsp;which makes the risk of database corruption smaller (as it used to be in db4o 6.1)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN-LEFT:36pt;TEXT-INDENT:-18pt;mso-outline-level:4;mso-list:l5 level1 lfo5;tab-stops:list 36.0pt;"&gt;&lt;FONT color=#333333&gt;&lt;SPAN style="FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-bidi-font-weight:bold;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;·&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;Don't forget that&amp;nbsp;there's always a trade-off between speed and consistency (to disable flushing might lead to a corrupted database file&amp;nbsp;if your system is halted&amp;nbsp;during&amp;nbsp;the commit phase)&amp;nbsp;so use the new IO adapter with care&lt;o:p&gt;&lt;/o:p&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN-LEFT:36pt;TEXT-INDENT:-18pt;mso-outline-level:4;mso-list:l5 level1 lfo5;tab-stops:list 36.0pt;"&gt;&lt;SPAN style="FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-bidi-font-weight:bold;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;&lt;FONT color=#333333&gt;·&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;FONT color=#333333&gt;This new IO adapter is already available in our &lt;/FONT&gt;&lt;A href="http://developer.db4o.com/files/folders/db4o_74/default.aspx"&gt;latest development version&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/B&gt;&lt;/P&gt;
&lt;H2 style="MARGIN:auto 0cm;"&gt;&lt;A class="" name=A5&gt;&lt;/A&gt;&lt;SPAN style="mso-fareast-font-family:'Times New Roman';"&gt;&lt;FONT size=3&gt;&lt;FONT color=#669900&gt;Improved Read Performance by Profiling with JProbe&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;P style="MARGIN-LEFT:36pt;TEXT-INDENT:-18pt;mso-outline-level:4;mso-list:l3 level1 lfo6;tab-stops:list 36.0pt;"&gt;&lt;SPAN style="FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-bidi-font-weight:bold;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;&lt;FONT color=#333333&gt;·&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;FONT color=#333333&gt;In our &lt;/FONT&gt;&lt;A href="http://developer.db4o.com/blogs/paircasts/archive/2008/05/20/jprobe-profiling-session-on-reflection-and-read-performance.aspx"&gt;latest paircast&lt;/A&gt;&lt;FONT color=#333333&gt;&amp;nbsp;(a step by step video) you'll learn&amp;nbsp;how to use &lt;/FONT&gt;&lt;A href="http://info.quest.com/QuestSoftwarePartnersDB4O2JProbe01182008"&gt;JProbe&lt;/A&gt;&lt;FONT color=#333333&gt; to improve performance&amp;nbsp;in your applications &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN-LEFT:36pt;TEXT-INDENT:-18pt;mso-outline-level:4;mso-list:l3 level1 lfo6;tab-stops:list 36.0pt;"&gt;&lt;FONT color=#333333&gt;&lt;SPAN style="FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-bidi-font-weight:bold;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;·&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;In this&amp;nbsp;session you'll see how this tool helps db4o developers easily find a way to increase "read" performance by 30% &lt;o:p&gt;&lt;/o:p&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN-LEFT:36pt;TEXT-INDENT:-18pt;mso-outline-level:4;mso-list:l3 level1 lfo6;tab-stops:list 36.0pt;"&gt;&lt;SPAN style="FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-bidi-font-weight:bold;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;&lt;FONT color=#333333&gt;·&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;FONT color=#333333&gt;If you have any&amp;nbsp;comments about the profiling session or any performance related feedback please don't hesitate to use the&amp;nbsp;&lt;/FONT&gt;&lt;A href="http://developer.db4o.com/forums/159/ShowForum.aspx"&gt;Performance forum&lt;/A&gt;&lt;FONT color=#333333&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN-LEFT:36pt;TEXT-INDENT:-18pt;mso-outline-level:4;mso-list:l3 level1 lfo6;tab-stops:list 36.0pt;"&gt;&lt;SPAN style="FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-bidi-font-weight:bold;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;&lt;FONT color=#333333&gt;·&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;FONT color=#333333&gt;And don't forget that you can test drive JProbe for&amp;nbsp;&lt;/FONT&gt;&lt;A href="http://www.quest.com/jprobe/software-downloads.aspx"&gt;FREE&lt;/A&gt;&lt;FONT color=#333333&gt;, see JProbe's &lt;/FONT&gt;&lt;A href="http://www.quest.com/events/listdetails.aspx?contentid=7041&amp;amp;searchoff=true&amp;amp;technology=&amp;amp;prod=89&amp;amp;prodfamily=&amp;amp;loc="&gt;on-demand webcast&lt;/A&gt;&lt;FONT color=#333333&gt; and their weekly &lt;/FONT&gt;&lt;A href="http://www.quest.com/events/listdetails.aspx?contentid=2689&amp;amp;searchoff=true&amp;amp;technology=&amp;amp;prod=89&amp;amp;prodfamily=&amp;amp;loc="&gt;Live Demo&lt;/A&gt;&lt;FONT color=#333333&gt;. You might also want to check the&amp;nbsp;new JProbe &lt;/FONT&gt;&lt;A href="http://www.quest.com/documents/list.aspx?contenttypeid=1&amp;amp;searchoff=true&amp;amp;technology=&amp;amp;prod=89&amp;amp;prodfamily=&amp;amp;loc="&gt;white papers&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/B&gt;&lt;/P&gt;
&lt;H2 style="MARGIN:auto 0cm;"&gt;&lt;A class="" name=A6&gt;&lt;/A&gt;&lt;SPAN style="mso-fareast-font-family:'Times New Roman';"&gt;&lt;FONT size=3&gt;&lt;FONT color=#669900&gt;Highlighted Contributions&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;P style="MARGIN-LEFT:36pt;TEXT-INDENT:-18pt;mso-outline-level:4;mso-list:l2 level1 lfo7;tab-stops:list 36.0pt;"&gt;&lt;SPAN style="FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-bidi-font-weight:bold;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;&lt;FONT color=#333333&gt;·&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;FONT color=#333333&gt;func4: &lt;/FONT&gt;&lt;A href="http://code.google.com/p/func4/"&gt;func4&lt;/A&gt;&lt;FONT color=#333333&gt; allows you to use db4o for authentication through the JAAS spec for Java applications. It has been used for webapps in Tomcat 5 and Jetty 6. Currently it should be considered in beta&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN-LEFT:36pt;TEXT-INDENT:-18pt;mso-outline-level:4;mso-list:l2 level1 lfo7;tab-stops:list 36.0pt;"&gt;&lt;SPAN style="FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-bidi-font-weight:bold;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;&lt;FONT color=#333333&gt;·&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;FONT color=#333333&gt;db4oBackup: a community contributed tool to schedule automated backups of a db4o db. Configuration is done through a &lt;I&gt;config.xml&lt;/I&gt; file where you specify the source and target directories. More info &lt;/FONT&gt;&lt;A href="http://developer.db4o.com/forums/thread/48822.aspx"&gt;here&lt;/A&gt;&lt;FONT color=#333333&gt; (in Spanish)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN-LEFT:36pt;TEXT-INDENT:-18pt;mso-outline-level:4;mso-list:l2 level1 lfo7;tab-stops:list 36.0pt;"&gt;&lt;SPAN style="FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-bidi-font-weight:bold;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;&lt;FONT color=#333333&gt;·&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;FONT color=#333333&gt;DataNucleus: DataNucleus Access Platform 1.0 M2&amp;nbsp;has just been released with a JDO/JPA API for db4o (read more &lt;/FONT&gt;&lt;A href="http://www.datanucleus.com/news/access_platform_1_0_m2.html"&gt;here&lt;/A&gt;&lt;FONT color=#333333&gt;).&amp;nbsp;Main things of interest to db4o users in this release are:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN-LEFT:72pt;TEXT-INDENT:-18pt;mso-outline-level:4;mso-list:l2 level2 lfo7;tab-stops:list 72.0pt;"&gt;&lt;FONT color=#333333&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';mso-fareast-font-family:'Courier New';mso-bidi-font-weight:bold;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;o&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;Added support for db4o "embedded server" mode (contrib from Joe Batt) &lt;o:p&gt;&lt;/o:p&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN-LEFT:72pt;TEXT-INDENT:-18pt;mso-outline-level:4;mso-list:l2 level2 lfo7;tab-stops:list 72.0pt;"&gt;&lt;FONT color=#333333&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';mso-fareast-font-family:'Courier New';mso-bidi-font-weight:bold;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;o&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;Zip file of Access Platform specifically for db4o, including bundled db4o-6.1 (GPL)&lt;o:p&gt;&lt;/o:p&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN-LEFT:36pt;TEXT-INDENT:-18pt;mso-outline-level:4;mso-list:l2 level1 lfo7;tab-stops:list 36.0pt;"&gt;&lt;SPAN style="FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-bidi-font-weight:bold;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;&lt;FONT color=#333333&gt;·&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;FONT color=#333333&gt;Groovy and db4o: In &lt;/FONT&gt;&lt;A href="http://klevesaat.blogspot.com/2008/06/groovy-and-db4o.html"&gt;this blog post,&lt;/A&gt;&lt;FONT color=#333333&gt; &lt;/FONT&gt;&lt;A href="http://developer.db4o.com/ProjectSpaces/view.aspx/DB4o_Netbeans_Plug_In"&gt;db4o Netbeans plugin&lt;/A&gt;&lt;FONT color=#333333&gt; creator &lt;/FONT&gt;&lt;A href="http://developer.db4o.com/members/klevi.aspx"&gt;Gerd Klevesaat&lt;/A&gt;&lt;FONT color=#333333&gt; explains how to use db4o under Groovy (through a&amp;nbsp;builder implementation by the author). The post includes links to download the builder and source code examples&amp;nbsp;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;H2 style="MARGIN:auto 0cm;"&gt;&lt;A class="" name=A7&gt;&lt;/A&gt;&lt;SPAN style="mso-fareast-font-family:'Times New Roman';"&gt;&lt;FONT size=3&gt;&lt;FONT color=#669900&gt;Paircast of the Month&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;P style="MARGIN-LEFT:36pt;TEXT-INDENT:-18pt;mso-outline-level:4;mso-list:l8 level1 lfo8;tab-stops:list 36.0pt;"&gt;&lt;SPAN style="FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-bidi-font-weight:bold;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;&lt;FONT color=#333333&gt;·&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;U&gt;&lt;FONT color=#333333&gt;"&lt;/FONT&gt;&lt;A href="http://developer.db4o.com/blogs/paircasts/archive/2008/06/23/full-db4o-build-from-svn-sources.aspx"&gt;How to Build db4o&lt;/A&gt;&lt;FONT color=#333333&gt;"&lt;/FONT&gt;&lt;/U&gt;&lt;FONT color=#333333&gt; (&lt;/FONT&gt;&lt;A href="http://blip.tv/file/1024230"&gt;on-line version&lt;/A&gt;&lt;FONT color=#333333&gt;) takes you step-by-step through the process of building db4o yourself&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="mso-outline-level:4;"&gt;&lt;B&gt;&lt;FONT color=#333333&gt;"&lt;/FONT&gt;&lt;A href="http://developer.db4o.com/blogs/paircasts/archive/2008/01/14/about-paircasts.aspx"&gt;Paircasts&lt;/A&gt;&lt;FONT color=#333333&gt;" are video recordings of "live pairing sessions" of db4o core team, designed to provide deep understanding of db4o code and practices. You can &lt;/FONT&gt;&lt;A href="http://developer.db4o.com/blogs/paircasts/default.aspx"&gt;download the paircasts&lt;/A&gt;&lt;FONT color=#333333&gt; or &lt;/FONT&gt;&lt;A href="http://blip.tv/search?q=db4o+paircast"&gt;see them on-line&lt;/A&gt;&lt;FONT color=#333333&gt; and &lt;/FONT&gt;&lt;A href="http://developer.db4o.com/blogs/community/archive/2008/05/30/db4o-videos-to-watch-on-line.aspx"&gt;subscribe&lt;/A&gt;&lt;FONT color=#333333&gt; via different services&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;H3 style="MARGIN:auto 0cm 13.5pt;"&gt;&lt;A class="" name=A8&gt;&lt;/A&gt;&lt;SPAN style="mso-fareast-font-family:'Times New Roman';"&gt;&lt;o:p&gt;&lt;FONT color=#333333&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;H2 style="MARGIN:auto 0cm;"&gt;&lt;SPAN style="mso-fareast-font-family:'Times New Roman';"&gt;&lt;A href="http://www.db4o.com/about/news/events/"&gt;&lt;FONT size=3&gt;E V E N T S&lt;/FONT&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;P style="MARGIN-LEFT:36pt;TEXT-INDENT:-18pt;mso-outline-level:4;mso-list:l0 level1 lfo9;tab-stops:list 36.0pt;"&gt;&lt;SPAN style="FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-bidi-font-weight:bold;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;&lt;FONT color=#333333&gt;·&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;FONT color=#333333&gt;Wednesday, July 2, 2008 - Munich, Germany&lt;BR&gt;&lt;/FONT&gt;&lt;A href="http://88.151.66.13/sfhmdb4o.html"&gt;Join the training course&lt;/A&gt;&lt;FONT color=#333333&gt; by db4o creator Carl Rosenberger (in German) sponsored by &lt;/FONT&gt;&lt;A href="http://www.ralfw.de/"&gt;Ralf Westphal&lt;/A&gt;&lt;FONT color=#333333&gt; and &lt;/FONT&gt;&lt;A href="http://www.zoschke.com/"&gt;Zoschke&lt;/A&gt;&lt;FONT color=#333333&gt;. Training will be .NET-centric, covering topics such as db4o based application development, transparent persistence, queries with LINQ, speed optimization and more...&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;H3 style="MARGIN:auto 0cm;"&gt;&lt;A class="" name=A10&gt;&lt;/A&gt;&lt;SPAN style="mso-fareast-font-family:'Times New Roman';"&gt;&lt;o:p&gt;&lt;FONT color=#333333&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;H2 style="MARGIN:auto 0cm;"&gt;&lt;SPAN style="mso-fareast-font-family:'Times New Roman';"&gt;&lt;A href="http://blogs.db4o.com/kudos" target=_blank&gt;&lt;FONT size=3&gt;K U D O S&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3&gt;&lt;FONT color=#669900&gt;&amp;nbsp; &amp;nbsp; O F&amp;nbsp; &amp;nbsp; T H E&amp;nbsp; &amp;nbsp; M O N T H&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;H3 style="MARGIN:auto 0cm;"&gt;&lt;FONT color=#333333&gt;&lt;I&gt;&lt;SPAN style="FONT-SIZE:10pt;mso-fareast-font-family:'Times New Roman';"&gt;[db4o] really is a no-brainer to work with. And yet, it’s not a trite system either. Database experts will be interested to know if db4o offers multi-threading, flexible indexing, atomic transactions and other such things. The answer to these is yes; it is high performance and maintains integrity of its data.&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-SIZE:10pt;mso-fareast-font-family:'Times New Roman';"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/H3&gt;
&lt;H3 style="MARGIN:auto 0cm;"&gt;&lt;SPAN style="FONT-SIZE:10pt;mso-fareast-font-family:'Times New Roman';"&gt;&lt;FONT color=#333333&gt;David M Williams, 6/11, &lt;/FONT&gt;&lt;A href="http://www.itwire.com/content/view/18714/1141/"&gt;ITWire&lt;/A&gt;&lt;FONT color=#333333&gt;&amp;nbsp;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;H3 style="MARGIN:auto 0cm;"&gt;&lt;A class="" name=A9&gt;&lt;/A&gt;&lt;SPAN style="mso-fareast-font-family:'Times New Roman';"&gt;&lt;o:p&gt;&lt;FONT color=#333333&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;H2 style="MARGIN:auto 0cm;"&gt;&lt;SPAN style="mso-fareast-font-family:'Times New Roman';"&gt;&lt;FONT size=3&gt;&lt;FONT color=#669900&gt;L O O K I N G&amp;nbsp;&amp;nbsp;&amp;nbsp; I N T O&amp;nbsp;&amp;nbsp;&amp;nbsp; T H E&amp;nbsp;&amp;nbsp;&amp;nbsp; M I R R O R&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;H3 style="MARGIN:auto 0cm;"&gt;&lt;SPAN style="FONT-SIZE:10pt;mso-fareast-font-family:'Times New Roman';"&gt;&lt;A href="http://www.itwire.com/content/view/18388/1127/" target=_blank&gt;"db4o Sharpens its Image"&lt;/A&gt;&lt;FONT color=#333333&gt; &lt;BR&gt;ITWire.com, May 23, 2008 &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;H3 style="MARGIN:auto 0cm;"&gt;&lt;SPAN style="FONT-SIZE:10pt;mso-fareast-font-family:'Times New Roman';"&gt;&lt;A href="http://www.itwire.com/content/view/18714/1141/" target=_blank&gt;"Rapid Linux apps using object databases"&lt;/A&gt;&lt;FONT color=#333333&gt; &lt;BR&gt;ITWire.com, June 11, 2008&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;H3 style="MARGIN:auto 0cm;"&gt;&lt;SPAN style="mso-fareast-font-family:'Times New Roman';"&gt;&lt;o:p&gt;&lt;FONT color=#333333&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;H3 style="MARGIN:auto 0cm;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="mso-fareast-font-family:'Times New Roman';"&gt;&lt;FONT color=#333333&gt;
&lt;HR align=center&gt;
&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P style="mso-outline-level:4;"&gt;&lt;B&gt;&lt;A href="http://www.db4o.com/"&gt;www.db4o.com&lt;/A&gt;&lt;BR&gt;&lt;A href="mailto:newsletter@db4o.com"&gt;&lt;FONT color=#0000ff&gt;newsletter@db4o.com&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;FONT color=#333333&gt;Phone +1 (650) 577-2340&lt;BR&gt;1900 S Norfolk Street, Suite 350&lt;BR&gt;San Mateo, CA 94403 (USA) &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="mso-outline-level:4;"&gt;&lt;B&gt;&lt;FONT color=#333333&gt;PRIVACY NOTE: We respect your privacy. If you do not wish to receive our monthly newsletter, please send an email to &lt;/FONT&gt;&lt;A href="mailto:unsubscribe@db4o.com?subject=UNSUBSCRIBE"&gt;&lt;FONT color=#0000ff&gt;unsubscribe@db4o.com&lt;/FONT&gt;&lt;/A&gt;&lt;FONT color=#333333&gt; with "UNSUBSCRIBE" as the subject.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;&lt;img src="http://developer.db4o.com/aggbug.aspx?PostID=49897" width="1" height="1"&gt;</description><category domain="http://developer.db4o.com/blogs/newsletter/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://developer.db4o.com/blogs/newsletter/archive/tags/NL/default.aspx">NL</category><category domain="http://developer.db4o.com/blogs/newsletter/archive/tags/db4o/default.aspx">db4o</category><category domain="http://developer.db4o.com/blogs/newsletter/archive/tags/43/default.aspx">43</category></item><item><title>New Performance Contest - help us make db4o ultra fast!</title><link>http://developer.db4o.com/blogs/community/archive/2008/06/28/new-performance-contest-help-us-make-db4o-ultra-fast.aspx</link><pubDate>Fri, 27 Jun 2008 23:03:00 GMT</pubDate><guid isPermaLink="false">573d810b-5d25-4172-b278-595dd24a71a5:49893</guid><dc:creator>German Viscuso</dc:creator><slash:comments>3</slash:comments><description>&lt;P&gt;We invite you to participate in the &lt;A class="" href="http://developer.db4o.com/ProjectSpaces/view.aspx/PerformanceContest"&gt;db4o performance contest&lt;/A&gt;&amp;nbsp;which will give away 6000 USD in prizes!&lt;/P&gt;
&lt;P&gt;Basically participants will provide patches to the db4o core that impact on&amp;nbsp;performance and then these modifications will be judged by the community to select the winners. In order to make the whole process easier we're providing the following:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://www.db4o.com/downloads/PerformanceContestWorkspace.zip"&gt;Eclipse Workspace Distribution&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://developer.db4o.com/blogs/paircasts/archive/2008/06/13/performance-contest.aspx"&gt;Paircast: How to get started&lt;/A&gt; (this video is included in the above distribution) 
&lt;LI&gt;&lt;A href="http://developer.db4o.com/forums/159/ShowForum.aspx"&gt;Performance Forum&lt;/A&gt; (to provide/get help)&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Ideas for possible improvements are:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;A UTF-8 String encoder 
&lt;LI&gt;Improvements to the query processor 
&lt;UL&gt;
&lt;LI&gt;Removal of processed index constraints from the processor so they won't run in the SODA processor 
&lt;LI&gt;Class index filtering of the index results to be able to ignore the SODA processor run completely if all constraints are processed 
&lt;LI&gt;Index processing of ANDs and ORs over field constraints at difference hierarchy levels&lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;Improving the BTree implementation &lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;MRU cache for BTree pages&amp;nbsp;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;
&lt;P&gt;The Performance Costest has started already and it ends on&amp;nbsp;August 15 2008.&lt;/P&gt;
&lt;P&gt;Please hurry and &lt;A class="" href="http://developer.db4o.com/ProjectSpaces/view.aspx/PerformanceContest"&gt;submit your patch&lt;/A&gt;! =)&lt;/P&gt;&lt;img src="http://developer.db4o.com/aggbug.aspx?PostID=49893" width="1" height="1"&gt;</description><category domain="http://developer.db4o.com/blogs/community/archive/tags/db4o/default.aspx">db4o</category><category domain="http://developer.db4o.com/blogs/community/archive/tags/performance/default.aspx">performance</category><category domain="http://developer.db4o.com/blogs/community/archive/tags/contest/default.aspx">contest</category></item><item><title>db4o-7.4 Development Release</title><link>http://developer.db4o.com/blogs/product_news/archive/2008/06/25/db4o-7-4-development-release.aspx</link><pubDate>Tue, 24 Jun 2008 16:03:00 GMT</pubDate><guid isPermaLink="false">573d810b-5d25-4172-b278-595dd24a71a5:49805</guid><dc:creator>Tetyana Loskutova</dc:creator><slash:comments>1</slash:comments><description>
&lt;p&gt;The following Jira tasks and bugs were resolved for db4o-7.4 development release:&lt;/p&gt;&lt;ul&gt;

&lt;li&gt;&lt;a href="http://tracker.db4o.com/browse/DRS-98"&gt;DRS-98&lt;/a&gt; - NullPointerException in replicate method
&lt;/li&gt;

&lt;li&gt;&lt;a href="http://tracker.db4o.com/browse/DRS-97"&gt;DRS-97&lt;/a&gt; - Ensure dRS.NET can gracefully handle delegates in untyped fields and arrays
&lt;/li&gt;

&lt;li&gt;&lt;a href="http://tracker.db4o.com/browse/DRS-95"&gt;DRS-95&lt;/a&gt; - dRS.NET fails with arrays/untyped fields
&lt;/li&gt;

&lt;li&gt;&lt;a href="http://tracker.db4o.com/browse/DRS-94"&gt;DRS-94&lt;/a&gt; - Replication fails if the java platform doesn't support serializable constructor and the objects to be replicated don't have default constructors
&lt;/li&gt;

&lt;li&gt;&lt;a href="http://tracker.db4o.com/browse/DRS-93"&gt;DRS-93&lt;/a&gt; - Replication fails for arrays in untyped fields
&lt;/li&gt;

&lt;li&gt;&lt;a href="http://tracker.db4o.com/browse/COR-1297"&gt;COR-1297&lt;/a&gt; - Spike: Class derived from ArrayList using custom Typehandler
&lt;/li&gt;

&lt;li&gt;&lt;a href="http://tracker.db4o.com/browse/COR-1295"&gt;COR-1295&lt;/a&gt; - Convert ListTypeHandlerTestSuite to .NET
&lt;/li&gt;

&lt;li&gt;&lt;a href="http://tracker.db4o.com/browse/COR-1291"&gt;COR-1291&lt;/a&gt; - Backport "[Linq] Enum comparisons are not optimized"  to 7.2
&lt;/li&gt;

&lt;li&gt;&lt;a href="http://tracker.db4o.com/browse/COR-1289"&gt;COR-1289&lt;/a&gt; - Clean up db4obuild for opening to the public
&lt;/li&gt;

&lt;li&gt;&lt;a href="http://tracker.db4o.com/browse/COR-1284"&gt;COR-1284&lt;/a&gt; - Defragment against unknown classes runs into NPE on btree index lookup
&lt;/li&gt;

&lt;li&gt;&lt;a href="http://tracker.db4o.com/browse/COR-1283"&gt;COR-1283&lt;/a&gt; - Update old multidimensional arrays to null bitmap handling
&lt;/li&gt;

&lt;li&gt;&lt;a href="http://tracker.db4o.com/browse/COR-1282"&gt;COR-1282&lt;/a&gt; - [decaf] functional test for resolving db4oj/db4ojdk1.2 conversion issues
&lt;/li&gt;

&lt;li&gt;&lt;a href="http://tracker.db4o.com/browse/COR-1281"&gt;COR-1281&lt;/a&gt; - Running out of disk space causes unrecoverable data corruption
&lt;/li&gt;

&lt;li&gt;&lt;a href="http://tracker.db4o.com/browse/COR-1279"&gt;COR-1279&lt;/a&gt; - Delegate in untyped arrays cause ObjectNotStorableException
&lt;/li&gt;

&lt;li&gt;&lt;a href="http://tracker.db4o.com/browse/COR-1276"&gt;COR-1276&lt;/a&gt; - prepare Jprobe paircast and blog
&lt;/li&gt;

&lt;li&gt;&lt;a href="http://tracker.db4o.com/browse/COR-1275"&gt;COR-1275&lt;/a&gt; - Db4o should not wrap exceptions thrown during event handling
&lt;/li&gt;

&lt;li&gt;&lt;a href="http://tracker.db4o.com/browse/COR-1265"&gt;COR-1265&lt;/a&gt; - ArrayHandler: Defragment old databases
&lt;/li&gt;

&lt;li&gt;&lt;a href="http://tracker.db4o.com/browse/COR-1264"&gt;COR-1264&lt;/a&gt; - ArrayHandler: Updating from old databases to new format
&lt;/li&gt;

&lt;li&gt;&lt;a href="http://tracker.db4o.com/browse/COR-1263"&gt;COR-1263&lt;/a&gt; - ArrayHandler: Bitmap Marshalling Format
&lt;/li&gt;

&lt;li&gt;&lt;a href="http://tracker.db4o.com/browse/COR-1262"&gt;COR-1262&lt;/a&gt; - Pass configuration on to reflector on startup
&lt;/li&gt;

&lt;li&gt;&lt;a href="http://tracker.db4o.com/browse/COR-1261"&gt;COR-1261&lt;/a&gt; - Move constructor handling into reflector
&lt;/li&gt;

&lt;li&gt;&lt;a href="http://tracker.db4o.com/browse/COR-1255"&gt;COR-1255&lt;/a&gt; - Provide Feedback on latest OMG SBQL vs, LINQ comparison
&lt;/li&gt;

&lt;li&gt;&lt;a href="http://tracker.db4o.com/browse/COR-1254"&gt;COR-1254&lt;/a&gt; - _blob.ReadFrom() throws Object reference not set to an instance of an object. in C/S mode 
&lt;/li&gt;

&lt;li&gt;&lt;a href="http://tracker.db4o.com/browse/COR-1247"&gt;COR-1247&lt;/a&gt; - Create releae notes for production release 7.2
&lt;/li&gt;

&lt;li&gt;&lt;a href="http://tracker.db4o.com/browse/COR-1246"&gt;COR-1246&lt;/a&gt; - Create release notes for 6.4 stable release
&lt;/li&gt;

&lt;li&gt;&lt;a href="http://tracker.db4o.com/browse/COR-1227"&gt;COR-1227&lt;/a&gt; - Prepare 7.2 "Production" release (freeze trunk)
&lt;/li&gt;

&lt;li&gt;&lt;a href="http://tracker.db4o.com/browse/COR-1216"&gt;COR-1216&lt;/a&gt; - TracerBullet: Deletion for Java ArrayList using the new Typehandler
&lt;/li&gt;

&lt;li&gt;&lt;a href="http://tracker.db4o.com/browse/COR-1214"&gt;COR-1214&lt;/a&gt; - Db server closed when upgraded from 5.5 version to 6.4.14.8331 with btree based freespace management system
&lt;/li&gt;

&lt;li&gt;&lt;a href="http://tracker.db4o.com/browse/COR-1153"&gt;COR-1153&lt;/a&gt; - [Linq] Enum comparisons are not optimized
&lt;/li&gt;

&lt;li&gt;&lt;a href="http://tracker.db4o.com/browse/COR-1129"&gt;COR-1129&lt;/a&gt; - TracerBullet: Special use cases for Java ArrayList using the new Typehandler
&lt;/li&gt;

&lt;li&gt;&lt;a href="http://tracker.db4o.com/browse/COR-897"&gt;COR-897&lt;/a&gt; - Concurrency tests for close/timout scenarios
&lt;/li&gt;

&lt;/ul&gt;&lt;img src="http://developer.db4o.com/aggbug.aspx?PostID=49805" width="1" height="1"&gt;</description><category domain="http://developer.db4o.com/blogs/product_news/archive/tags/7.4+Release/default.aspx">7.4 Release</category></item><item><title>flushFileBuffers(false) and the C in ACID</title><link>http://developer.db4o.com/blogs/product_news/archive/2008/06/18/flushfilebuffers-false-and-the-c-in-acid.aspx</link><pubDate>Wed, 18 Jun 2008 15:24:00 GMT</pubDate><guid isPermaLink="false">573d810b-5d25-4172-b278-595dd24a71a5:49721</guid><dc:creator>Carl Rosenberger</dc:creator><slash:comments>2</slash:comments><description>&lt;P&gt;The short story:&lt;BR&gt;Configuration.flushFileBuffers(false) is no more. If you still want to configure the behaviour that used to be available in db4o 6.1, you can do so by setting up IoAdapters as follows:&lt;/P&gt;&lt;PRE&gt;RandomAccessFileAdapter randomAccessFileAdapter = new RandomAccessFileAdapter();
NonFlushingIoAdapter nonFlushingIoAdapter = 
                                 new NonFlushingIoAdapter(randomAccessFileAdapter);
CachedIoAdapter cachedIoAdapter = new CachedIoAdapter(nonFlushingIoAdapter);
Configuration configuration = Db4o.newConfiguration();
configuration.io(cachedIoAdapter);
Db4o.openFile(configuration, PATH);
&lt;/PRE&gt;
&lt;P&gt;The long story:&lt;BR&gt;We do a lot of things for consistent transactions (for the C in ACID). A commit of a db4o transaction consists of 4 write phases:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Writing a commit log to the database file 
&lt;LI&gt;Switching the database file to commit mode 
&lt;LI&gt;Committing all slots 
&lt;LI&gt;Switching the database file to normal mode&amp;nbsp;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Because a cache at any level may turn around the write order of individual slots and because a failure may end up in a partial write, it is essential that all data is flushed to the device after each one of these 4 phases.&lt;/P&gt;
&lt;P&gt;This flush call takes a lot of time. It is the slowest part of the commit. On a system where you are sure enough (100% ? ) that the commit process always is successful, a tuning switch that skips flushing sounds like a smart way to improve performance.&lt;/P&gt;
&lt;P&gt;That's what we thought and why we added the #flushFileBuffers(false) configuration switch in the first place.&lt;/P&gt;
&lt;P&gt;Starting with db4o 6.4 we have added a new CachedIoAdapter to the IO layer as the default. This IoAdapter uses the #sync() calls as a signal to flush it's pages to the database file. What we did not think about well enough when we added this functionality: If users use the #flushFileBuffers(false) tuning switch, they also skip the flush of the CachedIoAdapter.&lt;/P&gt;
&lt;P&gt;This issue does not surface as long as the database file is always shut down correctly, so it took us a long time to realize how serious it can be. Since we have switched db4o 6.4 to "stable", there have been a couple of support discussions like this one:&lt;/P&gt;
&lt;P&gt;User: "We have switched to db4o 6.4. We are sometimes getting new exceptions like IncompatibleFileException."&lt;BR&gt;db4objects: "Uhoh. Are you maybe using #flushFileBuffers(false) in productive use? Please don't do that. Don't tell us that you are."&lt;BR&gt;User: "Yes we are."&lt;/P&gt;
&lt;P&gt;After investing some time and thought we have figured that the CachedIoAdapter makes it much much more likely that corruption can happen if a database file is not shut down correctly (with the #flushFileBuffers(false) configuration call). Because this is so serious (it leads to corrupted database files), we have decided to turn off this configuration switch completely.&lt;/P&gt;
&lt;P&gt;A similar functionality as in 6.1 is still available, if you really know what you are doing and if you know that you are taking the risc of corrupted database files if your system is halted because someone hits the power-off switch by accident in the middle of a commit. With the layer of IoAdapters, as outlined at the beginning of this posting, the risk of corruption is fairly small, just as it used to be in 6.1. Corruption will only happen if the OS cache or disc cache changes around the order of writes.&lt;/P&gt;
&lt;P&gt;The changes are effective and the new IoAdapter is available from iteration 48 and revision 10977 onwards, e.g. from db4o versions:&lt;BR&gt;6.4.48.10977&lt;BR&gt;7.2.48.10977&lt;BR&gt;7.4.48.10977&lt;/P&gt;
&lt;P&gt;For previous stable 6.4 versions we strongly recommend not to use the #flushFileBuffers(false) setting in production use.&lt;/P&gt;
&lt;P&gt;Many thanks to our users for reporting their problems!&lt;/P&gt;&lt;img src="http://developer.db4o.com/aggbug.aspx?PostID=49721" width="1" height="1"&gt;</description></item><item><title>Committed callbacks, pushed updates and read committed isolation revisited</title><link>http://developer.db4o.com/blogs/product_news/archive/2008/06/18/committed-callbacks-pushed-updates-and-read-committed-isolation-revisited.aspx</link><pubDate>Tue, 17 Jun 2008 15:34:00 GMT</pubDate><guid isPermaLink="false">573d810b-5d25-4172-b278-595dd24a71a5:49719</guid><dc:creator>Patrick Roemer</dc:creator><slash:comments>1</slash:comments><description>Some time ago we presented Pushed Updates as a sample application for Committed Callbacks &lt;a href="http://developer.db4o.com/blogs/product_news/archive/2007/04/23/committed-callbacks-and-pushed-updates.aspx"&gt;in this blog&lt;/a&gt;. Recently we put a similar mechanism in a slightly different context. Since we encountered some perceived ambiguity concerning db4o transaction semantics, and since we were in for a little surprise ourselves, I'd like to briefly rehash this topic.&lt;br&gt;&lt;br&gt;Pushed Updates basically are a mechanism to provide READ COMMITTED isolation from the point of view of your application. Wait - doesn't db4o provide that out of the box?!? Well, it does. Any query is guaranteed to return objects in their most recently committed state - unless they are still in memory on the requesting client, that is. db4o cannot change the state of of a live object that may be involved in application level processes at the same time. Only the application can judge whether it is safe to modify a given object, and Committed Callbacks are the way to transfer this responsibility.&lt;br&gt;&lt;br&gt;Note that "in memory" above does not mean "in use by the application", and not even necessarily "referenced by the application". An object may still survive in the reference system some time after it has been discarded by the application, until the GC eventually hits. There is no remotely performant way to check whether there exist hard references to a given object.&lt;br&gt;&lt;br&gt;So much for the theory, let's look at the code. The core of the Pushed Updates example looked like this:&lt;br&gt;&lt;blockquote&gt;private EventListener4 createCommittedEventListener(final ObjectContainer objectContainer){&lt;br&gt;&amp;nbsp; return new EventListener4() {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void onEvent(Event4 e, EventArgs args) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ObjectInfoCollection updated = ((CommitEventArgs)args).updated();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Iterator4 infos = updated.iterator();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(infos.moveNext()){&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ObjectInfo info = (ObjectInfo) infos.current();&lt;br&gt;&lt;font color="#ff0000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#999999"&gt;&lt;b&gt;Object obj = info.getObject();&lt;/b&gt;&lt;/font&gt;&lt;/font&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objectContainer.ext().refresh(obj, 2);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp; };&lt;br&gt;}&lt;br&gt;&lt;/blockquote&gt;&lt;blockquote&gt;EventListener4 committedEventListener = createCommittedEventListener(client);&lt;br&gt;EventRegistry eventRegistry = EventRegistryFactory.forObjectContainer(client);&lt;br&gt;eventRegistry.committed().addListener(committedEventListener);&lt;br&gt;&lt;/blockquote&gt;This code registers a callback for committed events. When invoked, it will traverse all the objects that have been updated during this commit and refresh them. (The magic depth of two is a reverence to collections, forcing them to refresh their elements, too.)&lt;br&gt;&lt;br&gt;Now this works nicely - in networking C/S mode, where the communication layer between client and server takes care of the correct "translation" of object identities. In embedded C/S mode, however, there is no translation - clients run in the same "live object space" as the server, the only thing they don't share is the weak reference system that defines their notion of object identities. And so the ObjectInfo will contain the server's instance of this persisted object, while the client will have its own version that it won't be able to map to the "stranger".&lt;br&gt;&lt;br&gt;The fix is easy (and works for networking C/S, too, of course): We have to take care of the translation ourselves via ID lookup. In code:&lt;br&gt;&lt;blockquote&gt;public void onEvent(Event4 e, EventArgs args) {&lt;br&gt;&amp;nbsp; &lt;font color="#999999"&gt;&lt;b&gt;Transaction trans = ((InternalObjectContainer)client).transaction();&lt;/b&gt;&lt;/font&gt;&lt;br&gt;&amp;nbsp; ObjectInfoCollection updated = ((CommitEventArgs)args).updated();&lt;br&gt;&amp;nbsp; Iterator4 infos = updated.iterator();&lt;br&gt;&amp;nbsp; while(infos.moveNext()){&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ObjectInfo info = (ObjectInfo) infos.current();&lt;br&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#999999"&gt;Object obj = trans.objectForIdFromCache((int)info.getInternalID());&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(obj == null) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; continue;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/font&gt;&lt;/b&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; client.refresh(obj, 2);&lt;br&gt;&amp;nbsp; }&lt;br&gt;}&lt;br&gt;&lt;/blockquote&gt;Here we have to fall back on the InternalObjectContainer interface. Don't be too scared of this - it's not really under the hood stuff, but it's indeed intended to be used for 3rd party implementations of pluggable db4o features intended to be run inside the core, like type handlers, reflectors - and callbacks. Note that this variant also keeps the handler from further processing of objects that haven't been known to this client, anyway.&lt;br&gt;&lt;br&gt;Bottom line: Transaction semantics and live in-memory objects are not entirely trivial to align, object identities can be tricky, and this is the recommended generic way for doing Pushed Updates. For networking C/S, the original Pushed Updates example is fine as it was.&lt;br&gt;&lt;img src="http://developer.db4o.com/aggbug.aspx?PostID=49719" width="1" height="1"&gt;</description><category domain="http://developer.db4o.com/blogs/product_news/archive/tags/Callbacks/default.aspx">Callbacks</category><category domain="http://developer.db4o.com/blogs/product_news/archive/tags/Transaction+Isolation/default.aspx">Transaction Isolation</category></item><item><title>Groovy and db4o</title><link>http://developer.db4o.com/blogs/community/archive/2008/06/16/groovy-and-db4o.aspx</link><pubDate>Sun, 15 Jun 2008 23:40:00 GMT</pubDate><guid isPermaLink="false">573d810b-5d25-4172-b278-595dd24a71a5:49682</guid><dc:creator>German Viscuso</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;In &lt;A class="" href="http://klevesaat.blogspot.com/2008/06/groovy-and-db4o.html"&gt;this blog post,&lt;/A&gt; &lt;A class="" href="http://developer.db4o.com/ProjectSpaces/view.aspx/DB4o_Netbeans_Plug_In"&gt;db4o Netbeans plugin&lt;/A&gt; creator &lt;A class="" href="http://developer.db4o.com/members/klevi.aspx"&gt;Gerd Klevesaat&lt;/A&gt; explains how to use db4o under Groovy (through a&amp;nbsp;builder implementation by the author). The post includes links to download the builder and source code examples.&lt;/P&gt;
&lt;P&gt;Thanks Gerd!&lt;/P&gt;&lt;img src="http://developer.db4o.com/aggbug.aspx?PostID=49682" width="1" height="1"&gt;</description><category domain="http://developer.db4o.com/blogs/community/archive/tags/db4o/default.aspx">db4o</category><category domain="http://developer.db4o.com/blogs/community/archive/tags/Groovy/default.aspx">Groovy</category></item><item><title>First steps with Sharpen</title><link>http://developer.db4o.com/blogs/community/archive/2008/06/15/first-steps-with-sharpen.aspx</link><pubDate>Sat, 14 Jun 2008 19:29:00 GMT</pubDate><guid isPermaLink="false">573d810b-5d25-4172-b278-595dd24a71a5:49666</guid><dc:creator>German Viscuso</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;Well, Adriano Verona's blog post title is really "&lt;A class="" href="http://programing-fun.blogspot.com/2008/06/running-sharpen-tests.html"&gt;Running Sharpen Tests&lt;/A&gt;" but he also did a great job at introducing the first steps for trying Sharpen (db4o's conversion tool that translates Java code to C# code). As you might know the tool (which is used internally to generate the .NET version of db4o) has been released as open source. Give it a try!&lt;/P&gt;&lt;img src="http://developer.db4o.com/aggbug.aspx?PostID=49666" width="1" height="1"&gt;</description><category domain="http://developer.db4o.com/blogs/community/archive/tags/testing/default.aspx">testing</category><category domain="http://developer.db4o.com/blogs/community/archive/tags/Sharpen/default.aspx">Sharpen</category></item><item><title>[Kudos] Dead simple</title><link>http://developer.db4o.com/blogs/kudos/archive/2008/06/11/kudos-dead-simple.aspx</link><pubDate>Wed, 11 Jun 2008 18:40:00 GMT</pubDate><guid isPermaLink="false">573d810b-5d25-4172-b278-595dd24a71a5:49628</guid><dc:creator>German Viscuso</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;&lt;EM&gt;[When it comes to db4o] by decreasing the complexity of the database a barrier to developers has been removed and in fact deployment is also made easier for the end user.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;db4o [...]&amp;nbsp;stores its data in a different way to a relational database. Rather than flat tables with repeated primary key and foreign key values splattered throughout, db4o uses a different model. It builds upon the popular object oriented programming paradigm which will be familiar and comfortable to those who code in C++, Java, Smalltalk, Python and even, on the Windows side, Visual Basic.NET, Delphi and more.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;What makes it special are several abilities so cunning you could pin a tail on them and say it’s a field of weasels.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;db4o will save slabs of memory to disk with a minimum of fuss.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;I am certain you will agree this really is a no-brainer to work with. And yet, it’s not a trite system either. Database experts will be interested to know if db4o offers multi-threading, flexible indexing, atomic transactions and other such things. The answer to these is yes; it is high performance and maintains integrity of its data. db4o does not offer stored procedures but that’s not really an issue; the focus turns back onto putting code within the program and leaving the database to just store data.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;If you’re a developer, no matter the platform, give an object database a try and see how it can revolutionise your coding, as well as pave the way for more developers to come across to Linux. &lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.itwire.com/content/view/18714/1141/"&gt;http://www.itwire.com/content/view/18714/1141/&lt;/A&gt;&lt;/P&gt;&lt;img src="http://developer.db4o.com/aggbug.aspx?PostID=49628" width="1" height="1"&gt;</description><category domain="http://developer.db4o.com/blogs/kudos/archive/tags/Kudos/default.aspx">Kudos</category><category domain="http://developer.db4o.com/blogs/kudos/archive/tags/db4o/default.aspx">db4o</category><category domain="http://developer.db4o.com/blogs/kudos/archive/tags/rapid+development/default.aspx">rapid development</category><category domain="http://developer.db4o.com/blogs/kudos/archive/tags/linux/default.aspx">linux</category></item><item><title>Rapid Linux apps using object databases</title><link>http://developer.db4o.com/blogs/in_the_news/archive/2008/06/11/rapid-linux-apps-using-object-databases.aspx</link><pubDate>Wed, 11 Jun 2008 18:05:00 GMT</pubDate><guid isPermaLink="false">573d810b-5d25-4172-b278-595dd24a71a5:49627</guid><dc:creator>German Viscuso</dc:creator><slash:comments>1</slash:comments><description>&lt;P&gt;&lt;SPAN class=intro&gt;&lt;EM&gt;When you think of databases usually MySQL or Oracle or even Microsoft SQL Server come to mind. Yet, object oriented databases have the potential to cut down coding nuts and bolts and speed up app development time – particularly for those migrating to Linux from Windows. Here’s one such compelling SourceForge hosted open source system to do just this -&amp;gt; db4o&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class=intro&gt;(See the rest of the article here: &lt;SPAN class=intro&gt;&lt;A href="http://www.itwire.com/content/view/18714/1141/"&gt;http://www.itwire.com/content/view/18714/1141/&lt;/A&gt;&lt;/SPAN&gt;)&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class=intro&gt;in &lt;A class="" href="http://www.itwire.com/"&gt;ITWire&lt;/A&gt;&lt;BR&gt;by David M Williams&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;Wednesday, 11 June 2008 &lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://developer.db4o.com/aggbug.aspx?PostID=49627" width="1" height="1"&gt;</description><category domain="http://developer.db4o.com/blogs/in_the_news/archive/tags/db4o/default.aspx">db4o</category><category domain="http://developer.db4o.com/blogs/in_the_news/archive/tags/rapid+development/default.aspx">rapid development</category><category domain="http://developer.db4o.com/blogs/in_the_news/archive/tags/linux/default.aspx">linux</category></item><item><title>db4o’s Sophisticated Cross-Platform Translation Tool Converts Java Apps to .NET </title><link>http://developer.db4o.com/blogs/db4o_news_and_press_releases/archive/2008/06/05/db4o-s-sophisticated-cross-platform-translation-tool-converts-java-apps-to-net.aspx</link><pubDate>Thu, 05 Jun 2008 02:29:00 GMT</pubDate><guid isPermaLink="false">573d810b-5d25-4172-b278-595dd24a71a5:49513</guid><dc:creator>German Viscuso</dc:creator><slash:comments>0</slash:comments><description>&lt;I&gt;"Sharpen" Increases Market Reach While Keeping a Unified Code Base&lt;/I&gt; &lt;BR&gt;
&lt;P&gt;SAN MATEO, Calif., May 30, 2008 - db4objects (&lt;A href="http://www.db4o.com/" target=_blank&gt;http://www.db4o.com/&lt;/A&gt;), creator of the leading open source object database, has announced that its Sharpen Java to C# source code conversion tool is now available to the public as free software. db4objects has used the tool extensively to generate most of the .NET db4o engine core code and unit test suites from Java sources. &lt;/P&gt;
&lt;P&gt;"Sharpen is the 'secret sauce' that enables us to provide the db4o object database engine in native version for the two most popular platforms from a single code base," said Anat Gafni, vice president of engineering at db4objects. "Our decision to release this tool to developers to help them bridge the gap between Java and .NET and create truly cross-platform applications is just one more clear indication of our commitment to the Open Source community." &lt;/P&gt;
&lt;P&gt;"The emergence of LINQ is very exciting for developers and we are thrilled to leverage the capabilities of these extensions to allow developers to maintain the full power of complex object structures and the development environment that is often lost or compromised when translating to/from SQL," said Anat Gafni, vice president of engineering at db4objects. "We have optimized our support for LINQ so that queries are executed in a high-performance fashion." &lt;/P&gt;
&lt;P&gt;Sharpen gives developers the ability to support both Java and .NET while maintaining a single source code without having to invest in an expensive translation tool. Since the tool has been integrated into db4o's development cycle, it a well tested and mature solution that developers can trust. &lt;/P&gt;
&lt;P&gt;"The advantages of maintaining a single source code base cannot be underestimated," said Rodrigo B. de Oliveira, technical lead architect at db4o. "In the development cycle, multiple source bases inevitably start to diverge, and lead to duplicate efforts, and differences in features and quality between the platforms. Once a very challenging task, maintaining a unified code base, and in turn a unified community, now is truly possible." &lt;/P&gt;
&lt;P&gt;For developers interested in Sharpen capabilities, the current features include: 
&lt;UL&gt;
&lt;LI&gt;Mapping between Java and .NET native type system 
&lt;LI&gt;Compliance with C# coding conventions 
&lt;LI&gt;User-defined namespace/class/method mappings 
&lt;LI&gt;Method to property mappings 
&lt;LI&gt;Generics support 
&lt;LI&gt;Partial conversions 
&lt;LI&gt;Mixing native and converted C# sources 
&lt;LI&gt;VS solution file support 
&lt;LI&gt;Ant integration &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;"Sharpen bridges the gap between our Java and .NET communities," said German Viscuso, db4objects' community manager. "We have been able to effectively receive source code contributions from both Java and .NET developers without having to worry about db4o versions being out of sync. It's simply the best of both worlds!" &lt;/P&gt;
&lt;P&gt;The tool is being released under the GNU General Public License (GPL). The subversion repository, &lt;A href="http://developer.db4o.com/Resources/view.aspx/Reference/Sharpen" target=_blank&gt;documentation&lt;/A&gt; and &lt;A href="http://tracker.db4o.com/browse/SHA" target=_blank&gt;issue tracker&lt;/A&gt; are available online. In db4o's &lt;A href="http://developer.db4o.com/forums/158/ShowForum.aspx" target=_blank&gt;Sharpen forum&lt;/A&gt;, developers can provide feedback and contributions to increase the availability of automatic conversion of not-yet supported Java constructs and idioms. &lt;/P&gt;
&lt;P&gt;For more information on db4objects or any of its products, visit the company's Web site at &lt;A href="http://www.db4o.com/" target=_blank&gt;http://www.db4o.com/&lt;/A&gt; or send an e-mail to: &lt;A href="mailto:sales@db4o.com"&gt;sales@db4o.com&lt;/A&gt;. To join the largest open source community on object databases visit &lt;A href="http://developer.db4o.com/" target=_blank&gt;developer.db4o.com&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Related blog posts:&lt;BR&gt;&lt;/EM&gt;&lt;A class="" href="http://developer.db4o.com/blogs/product_news/archive/2008/05/20/smart-java-to-c-conversion-for-the-masses-with-sharpen.aspx"&gt;Smart java to c# conversion for the masses with sharpen&lt;/A&gt;&lt;BR&gt;&lt;A class="" href="http://developer.db4o.com/blogs/product_news/archive/2008/05/21/sharpen-your-java-app-now-java-to-c-converter-released-as-free-software.aspx"&gt;Sharpen your Java app now: Java to C# converter released as free software&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;About db4objects, Inc&lt;/B&gt;&lt;BR&gt;db4objects, Inc (&lt;A href="http://www.db4o.com/" target=_blank&gt;http://www.db4o.com/&lt;/A&gt;) provides db4o, the world's most popular object database, native to Java and .NET and available under open source and commercial licenses. With some 35,000 registered community members and well over one million downloads, db4o is used in a broad array of industries around the globe. Customers include the world's most innovative companies, including Boeing, Bosch, Ricoh, and Seagate. db4objects is based in San Mateo, California, and backed by noted Silicon Valley luminaries including Mark Leslie, founding CEO of Veritas; Jerry Fiddler, founding CEO of Wind River; Vinod Khosla, founding CEO of Sun Microsystems as well as Palo Alto-based Asset Management venture firm. &lt;BR&gt;&lt;BR&gt;Press and analyst contacts: &lt;A href="mailto:press@db4o.com"&gt;press@db4o.com&lt;/A&gt; &lt;/P&gt;&lt;img src="http://developer.db4o.com/aggbug.aspx?PostID=49513" width="1" height="1"&gt;</description><category domain="http://developer.db4o.com/blogs/db4o_news_and_press_releases/archive/tags/press+release/default.aspx">press release</category></item><item><title>DataNucleus Access Platform 1.0 M2 released with support for db4o</title><link>http://developer.db4o.com/blogs/community/archive/2008/06/01/datanucleus-access-platform-1-0-m2-released-with-support-for-db4o.aspx</link><pubDate>Sun, 01 Jun 2008 01:24:00 GMT</pubDate><guid isPermaLink="false">573d810b-5d25-4172-b278-595dd24a71a5:49426</guid><dc:creator>German Viscuso</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;DataNucleus Access Platform 1.0 M2&amp;nbsp;has just been released with a JDO/JPA API for db4o. Read more &lt;A href="http://www.datanucleus.com/news/access_platform_1_0_m2.html"&gt;here&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Main things of interest to db4o users in this release are:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Added support for db4o "embedded server" mode (contrib from Joe Batt) 
&lt;LI&gt;Zip file of Access Platform specifically for db4o, including bundled db4o-6.1 (GPL)&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Enjoy! (thanks Andy =)&lt;/P&gt;&lt;img src="http://developer.db4o.com/aggbug.aspx?PostID=49426" width="1" height="1"&gt;</description><category domain="http://developer.db4o.com/blogs/community/archive/tags/db4o/default.aspx">db4o</category><category domain="http://developer.db4o.com/blogs/community/archive/tags/jpox/default.aspx">jpox</category><category domain="http://developer.db4o.com/blogs/community/archive/tags/DataNucleus/default.aspx">DataNucleus</category></item><item><title>db4o videos to watch on-line</title><link>http://developer.db4o.com/blogs/community/archive/2008/05/30/db4o-videos-to-watch-on-line.aspx</link><pubDate>Fri, 30 May 2008 18:50:00 GMT</pubDate><guid isPermaLink="false">573d810b-5d25-4172-b278-595dd24a71a5:49418</guid><dc:creator>German Viscuso</dc:creator><slash:comments>1</slash:comments><description>&lt;P&gt;Hi! I just wanted to point you to the the &lt;A class="" href="http://db4o.blip.tv/"&gt;blip.tv db4o show&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;There we're hosting all db4o related videos for you to watch on-line&amp;nbsp;(including our cutting-edge paircasts!). No need to download the video.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Note that you subscribe to this show via &lt;A title="Subscribe to this show in iTunes" href="http://db4o.blip.tv/rss/itunes/"&gt;iTunes&lt;/A&gt;, &lt;A href="http://subscribe.getmiro.com/?url1=http://db4o.blip.tv/rss"&gt;Miro&lt;/A&gt;, &lt;A href="http://db4o.blip.tv/rss/pando"&gt;Pando&lt;/A&gt;, or &lt;A title="Get this show's rss feed with enclosures" href="http://db4o.blip.tv/rss"&gt;RSS&lt;/A&gt;&amp;nbsp;(thanks to blip.tv the show is also available in the iTunes Store, just do a search for db4o while in iTunes and you'll get access to all our videos!).&lt;/P&gt;
&lt;P&gt;Additionally, if you have a db4o related video which is not there we will be glad to put it in the channel (&lt;A class="" href="http://developer.db4o.com/forums/AddPost.aspx?ForumID=0&amp;amp;UserId=2770"&gt;send me a private message&lt;/A&gt;). &lt;/P&gt;
&lt;P&gt;Also, feel free to sindicate any of the db4o videos in your website or blog (instructions to do this are available &lt;A class="" href="http://db4o.blip.tv/#syndicate"&gt;here&lt;/A&gt;)&lt;/P&gt;
&lt;P&gt;Best regards and enjoy =)&lt;/P&gt;&lt;img src="http://developer.db4o.com/aggbug.aspx?PostID=49418" width="1" height="1"&gt;</description><category domain="http://developer.db4o.com/blogs/community/archive/tags/videos/default.aspx">videos</category><category domain="http://developer.db4o.com/blogs/community/archive/tags/db4o/default.aspx">db4o</category><category domain="http://developer.db4o.com/blogs/community/archive/tags/webcasts/default.aspx">webcasts</category></item><item><title>db4o Open Source Object-Oriented Database Supports LINQ</title><link>http://developer.db4o.com/blogs/in_the_news/archive/2008/05/24/db4o-open-source-object-oriented-database-supports-linq.aspx</link><pubDate>Fri, 23 May 2008 22:33:00 GMT</pubDate><guid isPermaLink="false">573d810b-5d25-4172-b278-595dd24a71a5:49264</guid><dc:creator>German Viscuso</dc:creator><slash:comments>0</slash:comments><description>Microsoft users can replace SQL database with native ODBMS engine&lt;BR&gt;.NET Developers' Journal News Desk&lt;BR&gt;May. 12, 2008&lt;BR&gt;&lt;A href="http://dotnet.sys-con.com/read/564247.htm"&gt;http://dotnet.sys-con.com/read/564247.htm&lt;/A&gt;&lt;BR&gt;&lt;img src="http://developer.db4o.com/aggbug.aspx?PostID=49264" width="1" height="1"&gt;</description></item><item><title>db4o Sharpens its Image</title><link>http://developer.db4o.com/blogs/in_the_news/archive/2008/05/24/db4o-sharpens-its-image.aspx</link><pubDate>Fri, 23 May 2008 22:33:00 GMT</pubDate><guid isPermaLink="false">573d810b-5d25-4172-b278-595dd24a71a5:49265</guid><dc:creator>German Viscuso</dc:creator><slash:comments>0</slash:comments><description>by Tony Austin&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;Friday, 23 May 2008&amp;nbsp; &lt;BR&gt;ITWire.com&lt;BR&gt;&lt;A href="http://www.itwire.com/content/view/18388/1127/"&gt;http://www.itwire.com/content/view/18388/1127/&lt;/A&gt;&lt;img src="http://developer.db4o.com/aggbug.aspx?PostID=49265" width="1" height="1"&gt;</description></item><item><title>Next-Generation OO Databases: An Interview with db4objects' Anat Gafni</title><link>http://developer.db4o.com/blogs/in_the_news/archive/2008/05/24/next-generation-oo-databases-an-interview-with-db4objects-anat-gafni.aspx</link><pubDate>Fri, 23 May 2008 22:31:00 GMT</pubDate><guid isPermaLink="false">573d810b-5d25-4172-b278-595dd24a71a5:49263</guid><dc:creator>German Viscuso</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;SAN FRANCISCO, Calif., May 9, 2008 – In an interview with Artima during the latest JavaOne, Anat Gafni, VP of Engineering at db4objects, explains how OO databases support agile development, and how they co-exist with relational databases in an enterprise.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.artima.com/lejava/articles/javaone_2008_anat_gafni.html"&gt;http://www.artima.com/lejava/articles/javaone_2008_anat_gafni.html&lt;/A&gt;&lt;/P&gt;&lt;img src="http://developer.db4o.com/aggbug.aspx?PostID=49263" width="1" height="1"&gt;</description></item><item><title>When to use an Embedded ODBMS (by Rick Grehan)</title><link>http://developer.db4o.com/blogs/in_the_news/archive/2008/05/24/next-generation-object-oriented-databases-an-interview-with-db4objects-anat-gafni.aspx</link><pubDate>Fri, 23 May 2008 20:47:00 GMT</pubDate><guid isPermaLink="false">573d810b-5d25-4172-b278-595dd24a71a5:49262</guid><dc:creator>German Viscuso</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;&lt;SPAN class=snap_shots&gt;On TheServerSide.com, April 07, 2008&lt;BR&gt;&lt;A href="http://www.theserverside.com/news/thread.tss?thread_id=48953"&gt;http://www.theserverside.com/news/thread.tss?thread_id=48953&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://developer.db4o.com/aggbug.aspx?PostID=49262" width="1" height="1"&gt;</description></item><item><title>Newsletter #42 - db4o Opens the Coveted &quot;Sharpen&quot; - an Automatic Cross-Platform Translator</title><link>http://developer.db4o.com/blogs/newsletter/archive/2008/05/23/newsletter-42-db4o-opens-the-coveted-sharpen-an-automatic-cross-platform-translator.aspx</link><pubDate>Thu, 22 May 2008 22:19:00 GMT</pubDate><guid isPermaLink="false">573d810b-5d25-4172-b278-595dd24a71a5:49217</guid><dc:creator>German Viscuso</dc:creator><slash:comments>0</slash:comments><description>&lt;SPAN class=snap_shots&gt;&amp;nbsp;&amp;nbsp; 
&lt;UL class=t2&gt;
&lt;LI&gt;&lt;A href="http://www.db4o.com/about/news/newsletter/2008_05.aspx#Article1"&gt;"Sharpen" Translates your Java Application Sources to C#&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://www.db4o.com/about/news/newsletter/2008_05.aspx#Article2"&gt;db4objects' dRS is the First Object Replication on Android&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://www.db4o.com/about/news/newsletter/2008_05.aspx#Article3"&gt;db4objects is Leading a Community Effort to Promote LINQ for Java&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://www.db4o.com/about/news/newsletter/2008_05.aspx#Article4"&gt;Paircasts - db4objects Innovative Agile Way of Documenting Code, Practices and Design Decisions&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://www.db4o.com/about/news/newsletter/2008_05.aspx#Article5"&gt;Paircast Pick of the Month&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://www.db4o.com/about/news/newsletter/2008_05.aspx#Article6"&gt;JProbe - An Effective Tool to Improve db4o Performance&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://www.db4o.com/about/news/newsletter/2008_05.aspx#Article7"&gt;Highlighted contributions&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://www.db4o.com/about/news/newsletter/2008_05.aspx#Article8"&gt;Events&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://www.db4o.com/about/news/newsletter/2008_05.aspx#Article9"&gt;Looking into the mirror&lt;/A&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P class=t2&gt;db4o 7.3 Development Release is available for immediate &lt;A href="http://developer.db4o.com/files/folders/db4o_73/default.aspx"&gt;download&lt;/A&gt;!&lt;/P&gt;&lt;BR&gt;
&lt;P class=t2&gt;&lt;A href="http://blogs.db4o.com/kudos" target=_blank&gt;K U D O S&lt;/A&gt;&amp;nbsp; &amp;nbsp; O F&amp;nbsp; &amp;nbsp; T H E&amp;nbsp; &amp;nbsp; M O N T H &lt;/P&gt;
&lt;BLOCKQUOTE class=t2&gt;&lt;EM&gt;"LINQ for db4o is extremely easy to use and very powerful. The learning curve is very low. &lt;A href="http://www.codeproject.com/KB/database/LINQ_for_db4o.aspx"&gt;This article&lt;/A&gt; [about db4o and LINQ] only scratched the surface of the possibilities of db4o."&lt;/EM&gt;&lt;BR&gt;&lt;BR&gt;&lt;A href="http://www.codeproject.com/script/Membership/Profiles.aspx?mid=2517736"&gt;Edwin Vermeer&lt;BR&gt;&lt;/A&gt;Senior Software Developer, Mirabeau B.V.&lt;/BLOCKQUOTE&gt;
&lt;BLOCKQUOTE class=t2&gt;&lt;EM&gt;"Embarcadero Technologies' acquisition of CodeGear and the announcement of db4o's support of LINQ are more evidence of the blurring of the lines of application development and database development. Increasingly, application developers want and need better insight and control of the data management aspects of their applications. On the flip side, database administrators are faced with responsibility of ensuring application performance. Common toolsets and better communication can only help both communities achieve their objectives." &lt;/EM&gt;&lt;BR&gt;&lt;BR&gt;&lt;A href="http://www.linkedin.com/in/gregorykeller"&gt;Gregory Keller&lt;/A&gt; on &lt;A href="http://metafrequency.blogspot.com/2008/05/train-is-movin.html"&gt;MetaFrequency&lt;/A&gt;&lt;BR&gt;VP-Product Management at Embarcadero Technologies, Inc &lt;/BLOCKQUOTE&gt;&lt;BR&gt;
&lt;P class=t2&gt;A R T I C L E S&lt;/P&gt;&lt;A class="" title=Article1 name=Article1&gt;&lt;/A&gt;
&lt;P class=t2&gt;&lt;STRONG&gt;-- "Sharpen" Translates your Java Application Sources to C# --&lt;/STRONG&gt; 
&lt;UL class=t2&gt;
&lt;LI&gt;db4o opens its "secret tool" so that everyone can benefit from a super smart db4o created "cross-platform" Java-to-.NET translator. To learn more, and to find the repository, documentation and bug tracking for "Sharpen" &lt;A href="http://developer.db4o.com/blogs/product_news/archive/2008/05/21/sharpen-your-java-app-now-java-to-c-converter-released-as-free-software.aspx"&gt;read this blog post&lt;/A&gt;. 
&lt;LI&gt;Get started on how to use "Sharpen" with a &lt;A href="http://developer.db4o.com/blogs/product_news/archive/2008/05/20/smart-java-to-c-conversion-for-the-masses-with-sharpen.aspx"&gt;sample application and short startup guide&lt;/A&gt;. 
&lt;LI&gt;You are all invited to enhance and augment to fit your needs. Please give us your feedback in the &lt;A href="http://developer.db4o.com/forums/158/ShowForum.aspx"&gt;Sharpen forum&lt;/A&gt;. &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;A class="" title=Article2 name=Article2&gt;&lt;/A&gt;
&lt;P class=t2&gt;&lt;BR&gt;&lt;STRONG&gt;-- db4objects' dRS is the First Object Replication on Android --&lt;/STRONG&gt; 
&lt;UL class=t2&gt;
&lt;LI&gt;dRS replication is now working on Android, adding critical value to db4o based Android Applications. 
&lt;LI&gt;dRS keeps an Android db4o ObjectContainer in sync with another db instance. (either with a server db4o database or a relational database) 
&lt;LI&gt;&lt;A href="http://developer.db4o.com/files/folders/drs_73/default.aspx"&gt;Download dRS&lt;/A&gt; and try it on Android now! &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;A class="" title=Article3 name=Article3&gt;&lt;/A&gt;
&lt;P class=t2&gt;&lt;BR&gt;&lt;STRONG&gt;-- db4objects is Leading a Community Effort to Promote LINQ for Java --&lt;/STRONG&gt; 
&lt;UL class=t2&gt;
&lt;LI&gt;LINQ for Java follows db4objects approach of Native Queries. To know more about this initiative &lt;A href="http://developer.db4o.com/blogs/carl/archive/2008/05/02/linq-for-java.aspx"&gt;read Carl's blog&lt;/A&gt;. 
&lt;LI&gt;Having a common interface on .NET and Java that is natively supported would create a easy to use, efficient standard for database developers. 
&lt;LI&gt;To read along or participate in this effort join the &lt;A href="http://groups.google.com/group/jlinq"&gt;JLINQ group&lt;/A&gt;. &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;A class="" title=Article4 name=Article4&gt;&lt;/A&gt;
&lt;P class=t2&gt;&lt;BR&gt;&lt;STRONG&gt;-- Paircasts - db4objects Innovative Agile Way of Documenting Code, Practices and Design Decisions --&lt;/STRONG&gt; 
&lt;UL class=t2&gt;
&lt;LI&gt;"Paircasts" are video recordings of "live pairing sessions" of db4o core team, designed to provide deep understanding of db4o code and practices. Read more &lt;A href="http://developer.db4o.com/blogs/paircasts/archive/2008/01/14/about-paircasts.aspx"&gt;about our paircasts&lt;/A&gt;. 
&lt;LI&gt;A library of db4o "paircasts" is being built for your convenience about specific topics. Check it out, and start downloading &lt;A href="http://developer.db4o.com/blogs/paircasts/default.aspx"&gt;here&lt;/A&gt; or &lt;A href="http://blip.tv/search?q=db4o+paircast"&gt;watch live&lt;/A&gt;. 
&lt;LI&gt;The tagging system on the right helps you find the "paircast" that addresses your topic of interest. &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;A class="" title=Article5 name=Article5&gt;&lt;/A&gt;
&lt;P class=t2&gt;&lt;BR&gt;&lt;STRONG&gt;-- Paircast Pick of the Month --&lt;/STRONG&gt; 
&lt;UL class=t2&gt;
&lt;LI&gt;"&lt;A href="http://developer.db4o.com/blogs/paircasts/archive/2008/01/14/working-with-db4o-sources-and-db4ounit-tests.aspx"&gt;Working with db4o sources&lt;/A&gt;" (&lt;A href="http://db4o.blip.tv/file/716140/"&gt;live&lt;/A&gt;) – this paircast walks you through the fundamentals of working with db4o sources, compiling the project, writing db4ounits test, etc. 
&lt;LI&gt;This is what you always wanted to know in order to start contributing … let the party begin! &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;A class="" title=Article6 name=Article6&gt;&lt;/A&gt;
&lt;P class=t2&gt;&lt;BR&gt;&lt;STRONG&gt;-- JProbe - An Effective Tool to Improve db4o Performance --&lt;/STRONG&gt; 
&lt;UL class=t2&gt;
&lt;LI&gt;Our &lt;A href="http://developer.db4o.com/blogs/paircasts/archive/2008/05/20/jprobe-profiling-session-on-reflection-and-read-performance.aspx"&gt;latest paircast&lt;/A&gt; shows how to use &lt;A href="http://info.quest.com/QuestSoftwarePartnersDB4O2JProbe01182008"&gt;JProbe&lt;/A&gt; to improve performance for your applications. 
&lt;LI&gt;In this paircast you'll see how this tool helps db4o developers easily find a way to increase "read" performance by 30%. 
&lt;LI&gt;Interested in making db4o and your application faster? Please participate in our &lt;A href="http://developer.db4o.com/forums/159/ShowForum.aspx"&gt;Performance forum&lt;/A&gt;. 
&lt;LI&gt;Go and get a &lt;A href="http://www.quest.com/jprobe/software-downloads.aspx"&gt;FREE Trial Download&lt;/A&gt; of JProbe. 
&lt;LI&gt;Check JProbe's on-demand webcast: &lt;A href="http://www.quest.com/events/listdetails.aspx?contentid=7041&amp;amp;searchoff=true&amp;amp;technology=&amp;amp;prod=89&amp;amp;prodfamily=&amp;amp;loc="&gt;Best Practices in Java Environment Testing&lt;/A&gt; and their weekly &lt;A href="http://www.quest.com/events/listdetails.aspx?contentid=2689&amp;amp;searchoff=true&amp;amp;technology=&amp;amp;prod=89&amp;amp;prodfamily=&amp;amp;loc="&gt;Live Demo&lt;/A&gt;. 
&lt;LI&gt;Read the new JProbe white papers: &lt;A href="http://www.quest.com/documents/landing.aspx?id=6782&amp;amp;searchoff=true&amp;amp;technology=&amp;amp;prod=89&amp;amp;prodfamily=&amp;amp;loc="&gt;Effective Performance Testing in Enterprise Java Environments&lt;/A&gt; and &lt;A href="http://www.quest.com/documents/landing.aspx?id=5579&amp;amp;searchoff=true&amp;amp;technology=&amp;amp;prod=89&amp;amp;prodfamily=&amp;amp;loc="&gt;Realizing Continuous Performance Management Best Practices&lt;/A&gt;. &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;A class="" title=Article7 name=Article7&gt;&lt;/A&gt;
&lt;P class=t2&gt;&lt;BR&gt;&lt;STRONG&gt;-- Highlighted contributions --&lt;/STRONG&gt; 
&lt;UL class=t2&gt;
&lt;LI&gt;ObjectManager contributions: Initial support for working with encrypted databases and saving custom db4o configuration settings has been added to&lt;BR&gt;our community project ObjectManager championed by Gisbert Avellan. Please check the &lt;A href="http://code.google.com/p/db4o-om/"&gt;OM Google Code site&lt;/A&gt; and/or subscribe to the&lt;BR&gt;&lt;A href="http://code.google.com/p/db4o-om/wiki/ReviewLastCodeUpdates"&gt;OM commits mailing list&lt;/A&gt;. 
&lt;LI&gt;db4o NetBeans plugin author, Gerd Klevesaat shows us how to access db4o databases from Groovy. We welcome your feedback to the &lt;A href="http://code.google.com/p/db4o-groovy/"&gt;db4o-groovy project&lt;/A&gt;. 
&lt;LI&gt;Need to validate your objects before a save/update in a db4o database? Check Dario Quintana's &lt;A href="http://darioquintana.com.ar/blogging/?p=37"&gt;Validator&lt;/A&gt;. &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;A class="" title=Article8 name=Article8&gt;&lt;/A&gt;
&lt;P class=t2&gt;&lt;BR&gt;&lt;STRONG&gt;-- &lt;A href="http://www.db4o.com/about/news/events/"&gt;Events&lt;/A&gt; --&lt;/STRONG&gt; 
&lt;UL class=t2&gt;
&lt;LI&gt;May 19, Auburn Hills, Michigan&lt;BR&gt;As an OSGi alliance member db4o attended the OSGi Vehicle Expert Group Workshop where representatives of the Automotive industry gathered to support the OSGi platform as the underlying framework for in-vehicle software. db4objects is the de-facto standard for object persistence.under OSGi and it was well received as a robust, straight forward and lightweight transparent persistence solution for the platform. For more information please check the &lt;A href="http://www.osgi.org/VEG/HomePage"&gt;OSGi Vehicle Expert Group site&lt;/A&gt;. 
&lt;LI&gt;July 2, Munich, Germany&lt;BR&gt;&lt;A href="http://88.151.66.13/sfhmdb4o.html"&gt;Join the training course&lt;/A&gt; by db4o creator Carl Rosenberger (in German) sponsored by &lt;A href="http://www.ralfw.de/"&gt;Ralf Westphal&lt;/A&gt; and &lt;A href="http://www.zoschke.com/"&gt;Zoschke&lt;/A&gt;. Training will be .NET-centric, covering topics such as db4o based application development, transparent persistence, queries with LINQ, speed optimization and more… &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;A class="" title=Article9 name=Article9&gt;&lt;/A&gt;
&lt;P class=t2&gt;&lt;BR&gt;L O O K I N G &amp;nbsp;&amp;nbsp; I N T O &amp;nbsp;&amp;nbsp; T H E &amp;nbsp;&amp;nbsp; M I R R O R&lt;/P&gt;
&lt;BLOCKQUOTE class=t2&gt;&lt;A href="http://dotnet.sys-con.com/read/564247.htm"&gt;"db4o Open Source Object-Oriented Database Supports LINQ"&lt;/A&gt;. .NET Developers' Journal. May 12, 2008&lt;/BLOCKQUOTE&gt;
&lt;BLOCKQUOTE class=t2&gt;&lt;A href="http://www.codeproject.com/KB/database/LINQ_for_db4o.aspx"&gt;"An introduction to LINQ for db4o"&lt;/A&gt; by Edwin Vermeer. The Code Project, April 28, 2008&lt;/BLOCKQUOTE&gt;
&lt;BLOCKQUOTE class=t2&gt;"&lt;A href="http://www.db4o.com/downloads/JustObjects.avi"&gt;Just Objects No Limits&lt;/A&gt;" (&lt;A class="" href="http://blip.tv/file/926588"&gt;live&lt;/A&gt;), Carl Rosenberger's talk at ICOODB 2008 in Berlin (video for download)&lt;/BLOCKQUOTE&gt;
&lt;P class=t2&gt;-------- &lt;/P&gt;
&lt;P class=t2&gt;With best regards &lt;/P&gt;
&lt;P class=t2&gt;The db4objects team. &lt;/P&gt;
&lt;P class=t2&gt;&lt;A href="http://www.db4o.com/"&gt;www.db4o.com&lt;/A&gt;&lt;BR&gt;&lt;A href="mailto:newsletter@db4o.com"&gt;newsletter@db4o.com&lt;/A&gt;&lt;BR&gt;Phone +1 (650) 577-2340&lt;BR&gt;1900 S Norfolk Street, Suite 350&lt;BR&gt;San Mateo, CA 94403 (USA) &lt;/P&gt;&lt;/SPAN&gt;&lt;img src="http://developer.db4o.com/aggbug.aspx?PostID=49217" width="1" height="1"&gt;</description><category domain="http://developer.db4o.com/blogs/newsletter/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://developer.db4o.com/blogs/newsletter/archive/tags/NL/default.aspx">NL</category><category domain="http://developer.db4o.com/blogs/newsletter/archive/tags/db4o/default.aspx">db4o</category><category domain="http://developer.db4o.com/blogs/newsletter/archive/tags/42/default.aspx">42</category><category domain="http://developer.db4o.com/blogs/newsletter/archive/tags/press/default.aspx">press</category></item><item><title>Newsletter #41 - db4o Release 7.3 Makes Using LINQ for Object Persistence Easier</title><link>http://developer.db4o.com/blogs/newsletter/archive/2008/05/23/newsletter-41-db4o-release-7-3-makes-using-linq-for-object-persistence-easier.aspx</link><pubDate>Thu, 22 May 2008 22:15:00 GMT</pubDate><guid isPermaLink="false">573d810b-5d25-4172-b278-595dd24a71a5:49204</guid><dc:creator>German Viscuso</dc:creator><slash:comments>0</slash:comments><description>&lt;SPAN class=snap_shots&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&lt;UL class=t2&gt;
&lt;LI&gt;&lt;A href="http://www.db4o.com/about/news/newsletter/2008_04.aspx#Article1"&gt;The efficiency of Transparent Persistence is added to .NET LINQ provider&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://www.db4o.com/about/news/newsletter/2008_04.aspx#Article2"&gt;New “Stable” Release 6.4 is available&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://www.db4o.com/about/news/newsletter/2008_04.aspx#Article3"&gt;New “Production” Release 7.2 is available&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://www.db4o.com/about/news/newsletter/2008_04.aspx#Article4"&gt;dRS, db4o popular replication utility is now "collection-aware"&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://www.db4o.com/about/news/newsletter/2008_04.aspx#Article5"&gt;db4o’s Ad-Hoc LINQ Console application offers fun, interactive mode&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://www.db4o.com/about/news/newsletter/2008_04.aspx#Article6"&gt;db4objects Survey results are in&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://www.db4o.com/about/news/newsletter/2008_04.aspx#Article7"&gt;Highlighted contributions&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://www.db4o.com/about/news/newsletter/2008_04.aspx#Article8"&gt;Profiling and tuning performance&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://www.db4o.com/about/news/newsletter/2008_04.aspx#Article9"&gt;Events&lt;/A&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P class=t2&gt;db4o 7.3 Development Release is available for immediate &lt;A href="http://developer.db4o.com/files/folders/db4o_73/default.aspx"&gt;download&lt;/A&gt;!&lt;/P&gt;&lt;BR&gt;
&lt;P class=t2&gt;&lt;A href="http://blogs.db4o.com/kudos" target=_blank&gt;K U D O S&lt;/A&gt;&amp;nbsp; &amp;nbsp; O F&amp;nbsp; &amp;nbsp; T H E&amp;nbsp; &amp;nbsp; M O N T H &lt;/P&gt;
&lt;P class=t2&gt;&lt;I&gt;"I did not have to do anything to setup db4o to save an object. It just serializes the object to the database. No need to worry about table names, column names or data types. This all comes for free with this engine, allowing a developer to focus on the domain model and the value-add code, rather than data persistence."&lt;/I&gt;&lt;BR&gt;&lt;BR&gt;-- Eric Hexter in &lt;A href="http://lostechies.com/blogs/hex/archive/2008/02/26/using-db4objects-as-a-prototyping-tool-part-i.aspx"&gt;LosTechies.com&lt;/A&gt; &lt;/P&gt;&lt;BR&gt;
&lt;P class=t2&gt;A R T I C L E S&lt;/P&gt;&lt;A class="" name=Article1&gt;&lt;/A&gt;
&lt;P class=t2&gt;&lt;STRONG&gt;-- The efficiency of Transparent Persistence is added to .NET LINQ provider --&lt;/STRONG&gt; 
&lt;UL class=t2&gt;
&lt;LI&gt;db4o features the only optimized LINQ (Language Integrated Native Query) provider for an open source object database &amp;gt;&lt;A href="http://developer.db4o.com/blogs/product_news/archive/2008/02/12/linq-is-here.aspx"&gt; read blog&lt;/A&gt; 
&lt;LI&gt;Transparent Persistence (TP) automatically stores and retrieves just the needed objects &amp;gt; &lt;A href="http://developer.db4o.com/blogs/product_news/archive/2008/01/10/from-transparent-activation-to-transparent-persistence.aspx"&gt;more about Transparent Persistence&lt;/A&gt; and Transparent Activation 
&lt;LI&gt;TP prevents object graph activation issues such as retrieving too many or too few associated objects &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;A class="" name=Article2&gt;&lt;/A&gt;
&lt;P class=t2&gt;&lt;BR&gt;&lt;STRONG&gt;-- &lt;A href="http://developer.db4o.com/files/folders/db4o_64/default.aspx"&gt;New "Stable" Release 6.4 is available&lt;/A&gt; --&lt;/STRONG&gt; &lt;/P&gt;
&lt;P class=t2&gt;"Stable" releases are of highest quality and stability, suitable for deployment in shipping products. Major highlights include:&lt;/P&gt;
&lt;UL class=t2&gt;
&lt;LI&gt;&lt;A href="http://developer.db4o.com/blogs/product_news/archive/2007/04/23/committed-callbacks-and-pushed-updates.aspx"&gt;Commit time callbacks and pushed updates&lt;/A&gt; – to enable client’s object-cache to stay in sync with changes that are committed to the server, and to ensure that certain constraints are not violated 
&lt;LI&gt;&lt;A href="http://developer.db4o.com/blogs/product_news/archive/2007/03/19/get-ready-to-catch.aspx"&gt;Exceptions&lt;/A&gt; - helps developers catch certain conditions and recover from them during execution 
&lt;LI&gt;&lt;A href="http://developer.db4o.com/blogs/product_news/archive/2007/09/15/embedded-client-server-performance-improvements.aspx"&gt;Performance&lt;/A&gt; – an order of magnitude faster embedded client/server version of db4o &lt;/LI&gt;&lt;/UL&gt;&lt;A class="" name=Article3&gt;&lt;/A&gt;
&lt;P class=t2&gt;&lt;BR&gt;&lt;STRONG&gt;-- &lt;A href="http://developer.db4o.com/files/folders/db4o_72/default.aspx"&gt;New "Production" Release 7.2 is available&lt;/A&gt; --&lt;/STRONG&gt; &lt;/P&gt;
&lt;P class=t2&gt;&lt;SPAN&gt;“Production” releases are candidates for "Stable", yet they have more recent features and are recommended for evaluation and development. Highlights of 7.2 include:&lt;O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL class=t2&gt;
&lt;LI&gt;&lt;A href="http://developer.db4o.com/blogs/product_news/archive/2008/02/12/linq-is-here.aspx"&gt;Optimized LINQ&lt;/A&gt; (Language Integrated Native Query) for .NET 
&lt;LI&gt;&lt;A href="http://developer.db4o.com/blogs/product_news/archive/2008/04/15/drs-does-collections.aspx"&gt;dRS (DB Replication) Collection handling enhancements&lt;/A&gt; &lt;/LI&gt;&lt;/UL&gt;&lt;A class="" name=Article4&gt;&lt;/A&gt;
&lt;P class=t2&gt;&lt;BR&gt;&lt;STRONG&gt;-- &lt;A href="http://developer.db4o.com/blogs/product_news/archive/2008/04/15/drs-does-collections.aspx"&gt;dRS, db4o popular replication utility is now "collection-aware"&lt;/A&gt; --&lt;/STRONG&gt; &lt;/P&gt;
&lt;UL class=t2&gt;
&lt;LI&gt;dRS now preserves collections’ individual element’s accessibility and integrity after replication on .NET and Java &lt;/LI&gt;&lt;/UL&gt;&lt;A class="" name=Article5&gt;&lt;/A&gt;
&lt;P class=t2&gt;&lt;BR&gt;&lt;STRONG&gt;-- &lt;A href="http://developer.db4o.com/blogs/product_news/archive/2008/04/09/a-linq-playground-for-you.aspx"&gt;db4o’s Ad-Hoc LINQ Console application offers fun, interactive mode&lt;/A&gt; --&lt;/STRONG&gt; &lt;/P&gt;
&lt;UL class=t2&gt;
&lt;LI&gt;Using Ad-Hoc LINQ you can play and experiment with queries and objects interactively 
&lt;LI&gt;You are invited to enhance it further &lt;/LI&gt;&lt;/UL&gt;&lt;A class="" name=Article6&gt;&lt;/A&gt;
&lt;P class=t2&gt;&lt;BR&gt;&lt;STRONG&gt;-- &lt;A href="http://developer.db4o.com/blogs/community/archive/2008/04/15/db4o-user-survey-2008-results-and-prizes.aspx"&gt;db4objects Survey results are in&lt;/A&gt; --&lt;/STRONG&gt; &lt;/P&gt;
&lt;UL class=t2&gt;
&lt;LI&gt;Our users vouch primarily for performance and scalability. 
&lt;LI&gt;There’s a clear trend towards more professional db4o users! 
&lt;LI&gt;Thanks for your participation! The winners are announced (in &lt;A href="http://developer.db4o.com/blogs/community/archive/2008/04/15/db4o-user-survey-2008-results-and-prizes.aspx"&gt;this blog&lt;/A&gt;)! &lt;/LI&gt;&lt;/UL&gt;&lt;A class="" name=Article7&gt;&lt;/A&gt;
&lt;P class=t2&gt;&lt;BR&gt;&lt;STRONG&gt;-- Highlighted contributions --&lt;/STRONG&gt; &lt;/P&gt;
&lt;UL class=t2&gt;
&lt;LI&gt;db4o field generation support &amp;gt; &lt;A href="http://developer.db4o.com/blogs/community/archive/2008/04/05/db4o-field-generation-support-community-contribution.aspx"&gt;read more&lt;/A&gt; 
&lt;LI&gt;New financial management project with db4o &amp;gt; &lt;A href="http://developer.db4o.com/blogs/community/archive/2008/04/14/finance-management-with-db4o.aspx"&gt;read more&lt;/A&gt; 
&lt;LI&gt;Maven support for db4o project started &amp;gt; &lt;A href="http://projects.db4o.com/Maven"&gt;read more&lt;/A&gt; &lt;/LI&gt;&lt;/UL&gt;&lt;A class="" name=Article8&gt;&lt;/A&gt;
&lt;P class=t2&gt;&lt;BR&gt;&lt;STRONG&gt;-- Profiling and tuning performance --&lt;/STRONG&gt; &lt;/P&gt;
&lt;UL class=t2&gt;
&lt;LI&gt;&lt;A href="http://info.quest.com/QuestSoftwarePartnersDB4O1JProbe01182008"&gt;Quest Software&lt;/A&gt;'s &lt;A href="http://info.quest.com/QuestSoftwarePartnersDB4O2JProbe01182008"&gt;JProbe&lt;/A&gt; is db4objects' recommended Java profiler, and is used to meet the high demands of db4o users for optimal performance and memory usage. 
&lt;LI&gt;Go and get a &lt;A href="http://www.quest.com/jprobe/software-downloads.aspx"&gt;FREE Trial Download&lt;/A&gt; of JProbe 
&lt;LI&gt;Check JProbe's weekly &lt;A href="http://www.quest.com/events/listdetails.aspx?contentid=2689&amp;amp;searchoff=true&amp;amp;technology=&amp;amp;prod=89&amp;amp;prodfamily=&amp;amp;loc="&gt;Live Demo&lt;/A&gt; 
&lt;LI&gt;New JProbe White Paper: &lt;A href="http://www.quest.com/documents/landing.aspx?id=6782&amp;amp;searchoff=true&amp;amp;technology=&amp;amp;prod=89&amp;amp;prodfamily=&amp;amp;loc="&gt;Best Practices in Java Environment Performance Testing&lt;/A&gt; 
&lt;LI&gt;New JProbe White Paper: &lt;A href="http://www.quest.com/documents/landing.aspx?id=5579&amp;amp;searchoff=true&amp;amp;technology=&amp;amp;prod=89&amp;amp;prodfamily=&amp;amp;loc="&gt;Achieving Continuous Performance Management&lt;/A&gt; 
&lt;LI&gt;JProbe's On-Demand Webcasts: &lt;A href="http://www.quest.com/events/listdetails.aspx?contentid=7041&amp;amp;searchoff=true&amp;amp;technology=&amp;amp;prod=89&amp;amp;prodfamily=&amp;amp;loc="&gt;Best Practices in Java Environment Testing&lt;/A&gt; 
&lt;LI&gt;Stay tuned to our &lt;A href="http://developer.db4o.com/blogs/paircasts/default.aspx"&gt;Paircasts blog&lt;/A&gt; for the upcoming profiling paircast featuring JProbe (coming soon!) 
&lt;LI&gt;To learn about our partners and other technologies used at db4objects see the &lt;A href="http://www.db4o.com/about/customers/partners.aspx"&gt;Partners page&lt;/A&gt;. &lt;/LI&gt;&lt;/UL&gt;&lt;A class="" name=Article9&gt;&lt;/A&gt;
&lt;P class=t2&gt;&lt;BR&gt;&lt;STRONG&gt;-- &lt;A href="http://www.db4o.com/about/news/events/"&gt;Events&lt;/A&gt; --&lt;/STRONG&gt; &lt;/P&gt;
&lt;UL class=t2&gt;
&lt;LI&gt;The db4o User Conference 2008 (Berlin) in March was a big success! &amp;gt; &lt;A href="http://developer.db4o.com/blogs/community/archive/2008/03/27/duc-2008-berlin-synopsis.aspx"&gt;read more&lt;/A&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P class=t2&gt;&lt;BR&gt;L O O K I N G &amp;nbsp;&amp;nbsp; I N T O &amp;nbsp;&amp;nbsp; T H E &amp;nbsp;&amp;nbsp; M I R R O R&lt;/P&gt;
&lt;P class=t2&gt;Select press coverage about db4o since the last newsletter: &lt;/P&gt;
&lt;P class=t2&gt;&lt;A href="http://www.codeproject.com/KB/cs/oop_db4o_part_2.aspx" target=_blank&gt;Object-oriented database programming with db4o - Part 2&lt;/A&gt; (by Buu Nguyen) &lt;BR&gt;The Code Project, March 25, 2008&lt;/P&gt;
&lt;P class=t2&gt;&lt;A href="http://www.theserverside.com/news/thread.tss?thread_id=48953" target=_blank&gt;When to use an Embedded ODBMS&lt;/A&gt; (by Rick Grehan) &lt;BR&gt;TheServerSide.com, April 07, 2008&lt;/P&gt;
&lt;P class=t2&gt;&lt;A href="http://www.db4o.com/about/news/release/2008_04_21.aspx" target=_blank&gt;Polytechnic University in Hannover Germany Rehabilitates Injured Athletes and the Disabled with db4o&lt;/A&gt; &lt;BR&gt;SAN MATEO, Calif., April 21, 2008 (Press Release)&lt;/P&gt;
&lt;P class=t2&gt;-------- &lt;/P&gt;
&lt;P class=t2&gt;With best regards &lt;/P&gt;
&lt;P class=t2&gt;The db4objects team. &lt;/P&gt;
&lt;P class=t2&gt;&lt;A href="http://www.db4o.com/"&gt;www.db4o.com&lt;/A&gt;&lt;BR&gt;&lt;A href="mailto:newsletter@db4o.com"&gt;newsletter@db4o.com&lt;/A&gt;&lt;BR&gt;Phone +1 (650) 577-2340&lt;BR&gt;1900 S Norfolk Street, Suite 350&lt;BR&gt;San Mateo, CA 94403 (USA) &lt;/P&gt;&lt;/SPAN&gt;&lt;/O:P&gt;&lt;img src="http://developer.db4o.com/aggbug.aspx?PostID=49204" width="1" height="1"&gt;</description><category domain="http://developer.db4o.com/blogs/newsletter/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://developer.db4o.com/blogs/newsletter/archive/tags/41/default.aspx">41</category><category domain="http://developer.db4o.com/blogs/newsletter/archive/tags/db4o/default.aspx">db4o</category></item><item><title>Sharpen your Java app now: Java to C# converter released as free software</title><link>http://developer.db4o.com/blogs/product_news/archive/2008/05/21/sharpen-your-java-app-now-java-to-c-converter-released-as-free-software.aspx</link><pubDate>Tue, 20 May 2008 16:27:00 GMT</pubDate><guid isPermaLink="false">573d810b-5d25-4172-b278-595dd24a71a5:49154</guid><dc:creator>Patrick Roemer</dc:creator><slash:comments>7</slash:comments><description>As of today, db4objects releases its Eclipse based Java to C# source code conversion tool "sharpen" as free software.&lt;br id="fu8l3"&gt;&lt;br id="fu8l4"&gt;sharpen
is the "secret sauce" that enables us to provide the [db4o object
database engine] in native versions for the Java and .NET platforms
from a single code base. &lt;br id="wvky0"&gt;&lt;br id="wvky1"&gt;Features include:&lt;br id="fu8l6"&gt;
&lt;ul&gt;
&lt;li&gt;mapping between Java and .NET native type systems&lt;/li&gt;
&lt;li&gt;compliance with C# coding conventions&lt;/li&gt;
&lt;li&gt;user defined namespace/class/method mappings&lt;/li&gt;
&lt;li&gt;method to property mappings&lt;/li&gt;
&lt;li&gt;Generics support&lt;/li&gt;
&lt;li&gt;partial conversions&lt;/li&gt;
&lt;li&gt;mixing native and converted C# sources&lt;/li&gt;
&lt;li&gt;VS solution file support&lt;/li&gt;
&lt;li&gt;Ant integration&lt;br id="fu8l15"&gt;&lt;/li&gt;
&lt;/ul&gt;
sharpen
is used extensively in the db4o build system, generating most of the
db4o engine core code and the unit test suites from the Java sources.&lt;br id="fu8l17"&gt;&lt;br id="fu8l18"&gt;Before
you start dreaming: sharpen is not a "magic wand". Don't expect to feed
it an arbitrary Java app and receive a running .NET version at the push
of a button. The translation process will require some design
compromises on the Java side, and parts of the .NET code still have to
be hand crafted and integrated into the converted sources. Still, we
believe sharpen provides an amazingly smooth way to bridge the gap
between Java and .NET and create real cross platform applications.&lt;br id="fu8l19"&gt;&lt;br id="fu8l20"&gt;We
are looking forward to see which sharpen propelled applications will
cross the language chasm, and we're hoping on your feedback and your
contributions that will help to cover automatic conversion of even more
Java constructs and idioms, moving Java/.NET cross platform integration
to a new level.&lt;br id="fu8l21"&gt;&lt;br id="fu8l22"&gt;sharpen is released
under the GPL. The &lt;a href="https://source.db4o.com/db4o/trunk/sharpen"&gt;svn repository&lt;/a&gt;, &lt;a href="http://developer.db4o.com/Resources/view.aspx/Reference/Sharpen"&gt;documentation&lt;/a&gt; and &lt;a href="http://tracker.db4o.com/browse/SHA"&gt;issue
tracker&lt;/a&gt; are online. All that's missing now is you bringing your Java
app to the .NET platform. To get you started, &lt;a href="http://developer.db4o.com/blogs/product_news/archive/2008/05/20/smart-java-to-c-conversion-for-the-masses-with-sharpen.aspx"&gt;here&lt;/a&gt; is the full
anatomy of a simplistic application developed with sharpen. Have fun!&lt;img src="http://developer.db4o.com/aggbug.aspx?PostID=49154" width="1" height="1"&gt;</description><category domain="http://developer.db4o.com/blogs/product_news/archive/tags/Java/default.aspx">Java</category><category domain="http://developer.db4o.com/blogs/product_news/archive/tags/.NET/default.aspx">.NET</category><category domain="http://developer.db4o.com/blogs/product_news/archive/tags/Sharpen/default.aspx">Sharpen</category></item><item><title>Paircasts - How we work</title><link>http://developer.db4o.com/blogs/carl/archive/2008/05/21/paircasts-how-we-work.aspx</link><pubDate>Tue, 20 May 2008 16:07:00 GMT</pubDate><guid isPermaLink="false">573d810b-5d25-4172-b278-595dd24a71a5:49152</guid><dc:creator>Carl Rosenberger</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;Have you ever wondered how and when an idea was developed? Would you have liked to see how the corresponding lines of programming code were written to make a dream come true? Are you interested how the people behind the code are like and how they behave when they work together?&lt;/P&gt;
&lt;P&gt;Hey, I would really like to know a lot more about many of you guys out there and how you work.&lt;/P&gt;
&lt;P&gt;So here is an offer:&lt;BR&gt;When we work on code (usually programming in pairs of two), we record screen and audio of our sessions to make them available for download as videos.&lt;/P&gt;
&lt;P&gt;Let's call these videos "Paircasts".&lt;/P&gt;
&lt;P&gt;A first selection of 10 recorded sessions is available on our new &lt;A href="http://developer.db4o.com/blogs/paircasts/default.aspx"&gt;Paircasts blog&lt;/A&gt;. You may want to read &lt;A href="http://developer.db4o.com/blogs/paircasts/archive/2008/01/14/about-paircasts.aspx"&gt;"About Paircasts"&lt;/A&gt; first. It also tells you where to get a free video player and/or the right codecs.&lt;/P&gt;
&lt;P&gt;If you like the idea of Paircasts, please do try to record your own and tell us about them. Our team would love to peek over your shoulder also.&lt;/P&gt;&lt;img src="http://developer.db4o.com/aggbug.aspx?PostID=49152" width="1" height="1"&gt;</description><category domain="http://developer.db4o.com/blogs/carl/archive/tags/Culture/default.aspx">Culture</category><category domain="http://developer.db4o.com/blogs/carl/archive/tags/Pair+Programming/default.aspx">Pair Programming</category><category domain="http://developer.db4o.com/blogs/carl/archive/tags/Paircasts/default.aspx">Paircasts</category></item><item><title>Smart java to c# conversion for the masses with sharpen</title><link>http://developer.db4o.com/blogs/product_news/archive/2008/05/20/smart-java-to-c-conversion-for-the-masses-with-sharpen.aspx</link><pubDate>Tue, 20 May 2008 15:49:00 GMT</pubDate><guid isPermaLink="false">573d810b-5d25-4172-b278-595dd24a71a5:49151</guid><dc:creator>Rodrigo B. de Oliveira</dc:creator><slash:comments>4</slash:comments><description>&lt;p&gt;As of Today our so far internal java to c# conversion utility, sharpen, is being released as free software. &lt;/p&gt;

&lt;p&gt;As an example of its usage we're going to write a simple contact management application in java and convert it to c#. &lt;/p&gt;

&lt;p&gt;While it is possible to use sharpen to convert a complete application it is advisable to handle this as an iterative process: java a little, sharpen a little. The reason for this is that not all java constructs and idioms can be handled out of the box by sharpen, thus the translation might influence the design of the original java code. &lt;/p&gt;

&lt;p&gt;As a first step we'll come up with a minimum skeleton for our console application, ignoring any "business logic" for now: &lt;/p&gt;

&lt;blockquote&gt;
&lt;pre&gt;&lt;font color="#000000"&gt;&lt;font color="#009966"&gt;&lt;b&gt;package&lt;/b&gt;&lt;/font&gt; contacts;&lt;br&gt;&lt;br&gt;&lt;font color="#006699"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/font&gt; &lt;font color="#0099ff"&gt;&lt;b&gt;class&lt;/b&gt;&lt;/font&gt; Program &lt;font color="#000000"&gt;&lt;b&gt;{&lt;/b&gt;&lt;/font&gt;&lt;br&gt;&lt;br&gt;    &lt;font color="#006699"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/font&gt; &lt;font color="#006699"&gt;&lt;b&gt;static&lt;/b&gt;&lt;/font&gt; &lt;font color="#0099ff"&gt;&lt;b&gt;void&lt;/b&gt;&lt;/font&gt; &lt;font color="#9966ff"&gt;main&lt;/font&gt;&lt;font color="#000000"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/font&gt;String[] args&lt;font color="#000000"&gt;&lt;b&gt;)&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;&lt;b&gt;{&lt;/b&gt;&lt;/font&gt;&lt;br&gt;        &lt;font color="#0099ff"&gt;&lt;b&gt;boolean&lt;/b&gt;&lt;/font&gt; running &lt;font color="#000000"&gt;&lt;b&gt;=&lt;/b&gt;&lt;/font&gt; &lt;font color="#cc00cc"&gt;true&lt;/font&gt;;&lt;br&gt;        &lt;font color="#006699"&gt;&lt;b&gt;while&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/font&gt;running&lt;font color="#000000"&gt;&lt;b&gt;)&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;&lt;b&gt;{&lt;/b&gt;&lt;/font&gt;&lt;br&gt;            String option &lt;font color="#000000"&gt;&lt;b&gt;=&lt;/b&gt;&lt;/font&gt; Console.&lt;font color="#9966ff"&gt;prompt&lt;/font&gt;&lt;font color="#000000"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/font&gt;&lt;font color="#ff00cc"&gt;"&lt;/font&gt;&lt;font color="#ff00cc"&gt;(a)dd&lt;/font&gt;&lt;font color="#ff00cc"&gt; &lt;/font&gt;&lt;font color="#ff00cc"&gt;new&lt;/font&gt;&lt;font color="#ff00cc"&gt; &lt;/font&gt;&lt;font color="#ff00cc"&gt;entry,&lt;/font&gt;&lt;font color="#ff00cc"&gt; &lt;/font&gt;&lt;font color="#ff00cc"&gt;(l)ist&lt;/font&gt;&lt;font color="#ff00cc"&gt; &lt;/font&gt;&lt;font color="#ff00cc"&gt;entries,&lt;/font&gt;&lt;font color="#ff00cc"&gt; &lt;/font&gt;&lt;font color="#ff00cc"&gt;(q)uit&lt;/font&gt;&lt;font color="#ff00cc"&gt;"&lt;/font&gt;&lt;font color="#000000"&gt;&lt;b&gt;)&lt;/b&gt;&lt;/font&gt;;&lt;br&gt;            &lt;font color="#006699"&gt;&lt;b&gt;if&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/font&gt;option.&lt;font color="#9966ff"&gt;isEmpty&lt;/font&gt;&lt;font color="#000000"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;&lt;b&gt;)&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;&lt;b&gt;)&lt;/b&gt;&lt;/font&gt; &lt;font color="#006699"&gt;&lt;b&gt;continue&lt;/b&gt;&lt;/font&gt;;&lt;br&gt;            &lt;font color="#006699"&gt;&lt;b&gt;switch&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/font&gt;option.&lt;font color="#9966ff"&gt;charAt&lt;/font&gt;&lt;font color="#000000"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/font&gt;&lt;font color="#ff0000"&gt;0&lt;/font&gt;&lt;font color="#000000"&gt;&lt;b&gt;)&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;&lt;b&gt;)&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;&lt;b&gt;{&lt;/b&gt;&lt;/font&gt;&lt;br&gt;            &lt;font color="#006699"&gt;&lt;b&gt;case&lt;/b&gt;&lt;/font&gt; &lt;font color="#ff00cc"&gt;'&lt;/font&gt;&lt;font color="#ff00cc"&gt;q&lt;/font&gt;&lt;font color="#ff00cc"&gt;'&lt;/font&gt;:&lt;br&gt;                running &lt;font color="#000000"&gt;&lt;b&gt;=&lt;/b&gt;&lt;/font&gt; &lt;font color="#cc00cc"&gt;false&lt;/font&gt;;&lt;br&gt;                &lt;font color="#006699"&gt;&lt;b&gt;break&lt;/b&gt;&lt;/font&gt;;&lt;br&gt;            &lt;font color="#006699"&gt;&lt;b&gt;default&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;&lt;b&gt;:&lt;/b&gt;&lt;/font&gt;&lt;br&gt;                System.out.&lt;font color="#9966ff"&gt;println&lt;/font&gt;&lt;font color="#000000"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/font&gt;&lt;font color="#ff00cc"&gt;"&lt;/font&gt;&lt;font color="#ff00cc"&gt;'&lt;/font&gt;&lt;font color="#ff00cc"&gt;"&lt;/font&gt; &lt;font color="#000000"&gt;&lt;b&gt;+&lt;/b&gt;&lt;/font&gt; option &lt;font color="#000000"&gt;&lt;b&gt;+&lt;/b&gt;&lt;/font&gt; &lt;font color="#ff00cc"&gt;"&lt;/font&gt;&lt;font color="#ff00cc"&gt;'&lt;/font&gt;&lt;font color="#ff00cc"&gt; &lt;/font&gt;&lt;font color="#ff00cc"&gt;DOES&lt;/font&gt;&lt;font color="#ff00cc"&gt; &lt;/font&gt;&lt;font color="#ff00cc"&gt;NOT&lt;/font&gt;&lt;font color="#ff00cc"&gt; &lt;/font&gt;&lt;font color="#ff00cc"&gt;COMPUTE!&lt;/font&gt;&lt;font color="#ff00cc"&gt;"&lt;/font&gt;&lt;font color="#000000"&gt;&lt;b&gt;)&lt;/b&gt;&lt;/font&gt;;&lt;br&gt;            &lt;font color="#000000"&gt;&lt;b&gt;}&lt;/b&gt;&lt;/font&gt;&lt;br&gt;        &lt;font color="#000000"&gt;&lt;b&gt;}&lt;/b&gt;&lt;/font&gt;&lt;br&gt;    &lt;font color="#000000"&gt;&lt;b&gt;}&lt;/b&gt;&lt;/font&gt;&lt;br&gt;&lt;font color="#000000"&gt;&lt;b&gt;}&lt;/b&gt;&lt;/font&gt;
&lt;/font&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;font color="#000000"&gt;&lt;font color="#009966"&gt;&lt;b&gt;package&lt;/b&gt;&lt;/font&gt; contacts;&lt;br&gt;&lt;br&gt;&lt;font color="#009966"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/font&gt; java.io.*;&lt;br&gt;&lt;br&gt;&lt;font color="#006699"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/font&gt; &lt;font color="#0099ff"&gt;&lt;b&gt;class&lt;/b&gt;&lt;/font&gt; Console &lt;font color="#000000"&gt;&lt;b&gt;{&lt;/b&gt;&lt;/font&gt;&lt;br&gt;    &lt;br&gt;    &lt;font color="#006699"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/font&gt; &lt;font color="#006699"&gt;&lt;b&gt;static&lt;/b&gt;&lt;/font&gt; String &lt;font color="#9966ff"&gt;prompt&lt;/font&gt;&lt;font color="#000000"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/font&gt;String prompt&lt;font color="#000000"&gt;&lt;b&gt;)&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;&lt;b&gt;{&lt;/b&gt;&lt;/font&gt;&lt;br&gt;        System.out.&lt;font color="#9966ff"&gt;println&lt;/font&gt;&lt;font color="#000000"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/font&gt;prompt&lt;font color="#000000"&gt;&lt;b&gt;)&lt;/b&gt;&lt;/font&gt;;&lt;br&gt;        &lt;font color="#006699"&gt;&lt;b&gt;return&lt;/b&gt;&lt;/font&gt; &lt;font color="#9966ff"&gt;readLine&lt;/font&gt;&lt;font color="#000000"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;&lt;b&gt;)&lt;/b&gt;&lt;/font&gt;;&lt;br&gt;    &lt;font color="#000000"&gt;&lt;b&gt;}&lt;/b&gt;&lt;/font&gt;&lt;br&gt;&lt;br&gt;    &lt;font color="#006699"&gt;&lt;b&gt;private&lt;/b&gt;&lt;/font&gt; &lt;font color="#006699"&gt;&lt;b&gt;static&lt;/b&gt;&lt;/font&gt; String &lt;font color="#9966ff"&gt;readLine&lt;/font&gt;&lt;font color="#000000"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;&lt;b&gt;)&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;&lt;b&gt;{&lt;/b&gt;&lt;/font&gt;&lt;br&gt;        &lt;font color="#006699"&gt;&lt;b&gt;try&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;&lt;b&gt;{&lt;/b&gt;&lt;/font&gt;&lt;br&gt;            &lt;font color="#006699"&gt;&lt;b&gt;return&lt;/b&gt;&lt;/font&gt; &lt;font color="#006699"&gt;&lt;b&gt;new&lt;/b&gt;&lt;/font&gt; &lt;font color="#9966ff"&gt;BufferedReader&lt;/font&gt;&lt;font color="#000000"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/font&gt;&lt;font color="#006699"&gt;&lt;b&gt;new&lt;/b&gt;&lt;/font&gt; &lt;font color="#9966ff"&gt;InputStreamReader&lt;/font&gt;&lt;font color="#000000"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/font&gt;System.in&lt;font color="#000000"&gt;&lt;b&gt;)&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;&lt;b&gt;)&lt;/b&gt;&lt;/font&gt;.&lt;font color="#9966ff"&gt;readLine&lt;/font&gt;&lt;font color="#000000"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;&lt;b&gt;)&lt;/b&gt;&lt;/font&gt;;&lt;br&gt;        &lt;font color="#000000"&gt;&lt;b&gt;}&lt;/b&gt;&lt;/font&gt; &lt;font color="#006699"&gt;&lt;b&gt;catch&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/font&gt;IOException e&lt;font color="#000000"&gt;&lt;b&gt;)&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;&lt;b&gt;{&lt;/b&gt;&lt;/font&gt;&lt;br&gt;            &lt;font color="#006699"&gt;&lt;b&gt;throw&lt;/b&gt;&lt;/font&gt; &lt;font color="#006699"&gt;&lt;b&gt;new&lt;/b&gt;&lt;/font&gt; &lt;font color="#9966ff"&gt;RuntimeException&lt;/font&gt;&lt;font color="#000000"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/font&gt;e&lt;font color="#000000"&gt;&lt;b&gt;)&lt;/b&gt;&lt;/font&gt;;&lt;br&gt;        &lt;font color="#000000"&gt;&lt;b&gt;}&lt;/b&gt;&lt;/font&gt;&lt;br&gt;    &lt;font color="#000000"&gt;&lt;b&gt;}&lt;/b&gt;&lt;/font&gt;&lt;br&gt;&lt;font color