<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Jim Cassidy &#187; Ruby/JRuby</title>
	<atom:link href="http://jimcassidy.ca/category/tech/languages/rubyjruby/feed/" rel="self" type="application/rss+xml" />
	<link>http://jimcassidy.ca</link>
	<description>Programming for fun and profit since 1989</description>
	<lastBuildDate>Sat, 14 Aug 2010 03:20:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Good Advice For Any Developer</title>
		<link>http://jimcassidy.ca/2008/11/24/good-advice-for-any-developer/</link>
		<comments>http://jimcassidy.ca/2008/11/24/good-advice-for-any-developer/#comments</comments>
		<pubDate>Mon, 24 Nov 2008 16:10:09 +0000</pubDate>
		<dc:creator>Jim Cassidy</dc:creator>
				<category><![CDATA[Databases]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Python/Jython]]></category>
		<category><![CDATA[Ruby/JRuby]]></category>

		<guid isPermaLink="false">http://www.jimcassidy.ca/?p=404</guid>
		<description><![CDATA[I am working to use reflection to generate a POJO from data models defined in Jython &#8211; DB4O can only persist Java ojects. However, as I sort that out and  prepare for my next DB4O/Jython/Django post, let me share this good advice for any developer who builds any sort of web application in any language. [...]]]></description>
			<content:encoded><![CDATA[<div style="float:right;display:inline;margin:0px 0px 0px 4px;"><script type="text/javascript"><!--
google_ad_client = "pub-5490671352231460";
/* 120x240, created 4/13/10 */
google_ad_slot = "6310929841";
google_ad_width = 120;
google_ad_height = 240;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div><p>I am working to use reflection to generate a POJO from data models defined in Jython &#8211; DB4O can only persist Java ojects. However, as I sort that out and  prepare for my next DB4O/Jython/Django post, let me share this good advice for any developer who builds any sort of web application in any language.</p>
<p>These <a title="seven good habits" href="http://www.ibm.com/developerworks/opensource/library/os-php-secure-apps/?S_TACT=105AGY46&amp;S_CMP=PCTAB" target="_blank">seven habits</a> for developing secure applications target PHP developers, but they constitute good advice for you, even if you are working in another language. Take heed.</p>
]]></content:encoded>
			<wfw:commentRss>http://jimcassidy.ca/2008/11/24/good-advice-for-any-developer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Background: Python Virtual Machines etc.</title>
		<link>http://jimcassidy.ca/2008/11/07/background-python-virtual-machines-etc/</link>
		<comments>http://jimcassidy.ca/2008/11/07/background-python-virtual-machines-etc/#comments</comments>
		<pubDate>Fri, 07 Nov 2008 13:14:02 +0000</pubDate>
		<dc:creator>Jim Cassidy</dc:creator>
				<category><![CDATA[Python/Jython]]></category>
		<category><![CDATA[Ruby/JRuby]]></category>
		<category><![CDATA[Jython]]></category>

		<guid isPermaLink="false">http://www.jimcassidy.ca/?p=337</guid>
		<description><![CDATA[Since my last few entries have covered Jython, I thought it would be useful to provide information about the various flavors of Python that can be found in the wild. There is an excellent article at Polishlinux. Give it a read to get the lay of the land. Also, some of you will be think [...]]]></description>
			<content:encoded><![CDATA[<p>Since my last few entries have covered <a title="Jython" href="http://www.jython.org/Project/" target="_blank">Jython</a>, I thought it would be useful to provide information about the various flavors of Python that can be found in the wild. There is an excellent article at <a title="python" href="http://polishlinux.org/apps/cli/comparison-of-python-virtual-machines/" target="_blank">Polishlinux</a>. Give it a read to get the lay of the land.</p>
<p>Also, some of you will be think about Jython performance. Performance is not everything, but if that is what you care about, then Dhananjay Nene has written this <a title="performance" href="http://blog.dhananjaynene.com/2008/07/performance-comparison-c-java-python-ruby-jython-jruby-groovy/" target="_blank">excellent article</a> to help you understand where Jython stands compared to other languages and implementations, including <a title="Ruby" href="http://www.ruby-lang.org/en/" target="_blank">Ruby</a>. (Be sure to note that Python produces the fewest lines of code.)</p>
]]></content:encoded>
			<wfw:commentRss>http://jimcassidy.ca/2008/11/07/background-python-virtual-machines-etc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I&#8217;m Taking a Vaction!</title>
		<link>http://jimcassidy.ca/2008/10/06/im-taking-a-vaction/</link>
		<comments>http://jimcassidy.ca/2008/10/06/im-taking-a-vaction/#comments</comments>
		<pubDate>Mon, 06 Oct 2008 17:08:00 +0000</pubDate>
		<dc:creator>Jim Cassidy</dc:creator>
				<category><![CDATA[Python/Jython]]></category>
		<category><![CDATA[Ruby/JRuby]]></category>
		<category><![CDATA[DB4O]]></category>
		<category><![CDATA[django]]></category>

		<guid isPermaLink="false">http://www.jimcassidy.ca/?p=124</guid>
		<description><![CDATA[I&#8217;m taking a vacation &#8211; that&#8217;s what a consultant calls it when he is unemployed. For some people, that means less blogging. For me, I expect to blog more. I won&#8217;t tie my own hands by saying what I will blog about, but I plan to spend time biking and enjoying the colors of fall. [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m taking a vacation &#8211; that&#8217;s what a consultant calls it when he is unemployed. For some people, that means less blogging. For me, I expect to blog more. I won&#8217;t tie my own hands by saying what I will blog about, but I plan to spend time biking and enjoying the colors of fall. I also plan to return to my work with<a title="Jython" href="http://www.jython.org" target="_blank"> Jython</a> and <a title="DB4O" href="http://www.db4o.com" target="_blank">DB4O</a>.</p>
<p>I also plan to play with <a title="Django" href="http://www.djangoproject.com/" target="_blank">Django</a> 1.0 because it is cool. But, I also plan to spend some time with the <a title="Zend Framework" href="p://www.zend.com/en/community/framework" target="_blank">Zend Framework</a> &#8211; I believe that it is the best choice for a church web site I am working for <a title="Faith Fellowship" href="http://faithfellowshipca.net" target="_blank">Faith Fellowship Christian Assembl</a><a title="Faith Fellowship" href="http://faithfellowshipca.net" target="_blank">y</a>. (Is that too much? Yes, but any time spent learning is not wasted.)</p>
<p><strong>Why The Zend Framework?</strong></p>
<p>The Faith Fellowship site is hosted by dreamhost, which provides good PHP support. My goal is to put Faith Fellowship in a place where anybody can easily support the site. PHP programmers are easier to come by than Python programmers who can work with <a title="Django" href="http://www.djangoproject.com/" target="_blank">Django</a>.</p>
<p>So in short, the reasons are:</p>
<ul>
<li>PHP has a large community &#8211; programmers are easy to find.</li>
<li>PHP is well supported by hosting services.</li>
<li>The Zend Framework has a rich set of <a title="Zend components" href="http://framework.zend.com/manual/en/" target="_blank">components</a>.</li>
<li>The Zend Framework employs the <a title="MVC" href="http://en.wikipedia.org/wiki/Model-view-controller" target="_blank">MVC</a> approach.</li>
<li>The Zend Framework does not force you to use the whole thing &#8211; just use the parts you like.</li>
<li>You can use <a title="smarty" href="http://www.smarty.net/" target="_blank">Smarty</a> templates if you prefer. (Very good docs.)</li>
<li>The <a title="zend docs" href="http://framework.zend.com/manual/en/" target="_blank">documentation</a> and the examples are fantastic.</li>
<li>Zend isn&#8217;t going to go away any time soon.</li>
<li>Zend is distributed under the new <a title="BSD License" href="http://www.opensource.org/licenses/bsd-license.php" target="_blank">BSD license</a> &#8211; play with the code if you like.</li>
</ul>
<p>Does this mean I prefer the Zend Framework to others? No, it does not. But, given my hosting arrangements and all of the other considerations, I think this is the best Open Source solution for this particular client. I prefer coding in Python. If the <a title="RoR" href="http://www.rubyonrails.org/" target="_blank">Ruby on Rails</a> community continues to grow, and the documentation improves, and the market is swimming in RoR programmers, I could choose RoR. (Please note: There are some fantastic RoR books, but they cost money. The free docs are not as good.)</p>
<p>I might also recommend Django if my client&#8217;s hosting service supported it well. The <a title="Djamgo docs" href="http://docs.djangoproject.com/en/dev/" target="_blank">Django docs</a> are great.</p>
<p>Time to go for a bike ride in the fall leaves.</p>
]]></content:encoded>
			<wfw:commentRss>http://jimcassidy.ca/2008/10/06/im-taking-a-vaction/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Scripting Languages And DB4O</title>
		<link>http://jimcassidy.ca/2007/09/18/scripting-languages-and-db4o/</link>
		<comments>http://jimcassidy.ca/2007/09/18/scripting-languages-and-db4o/#comments</comments>
		<pubDate>Tue, 18 Sep 2007 15:22:51 +0000</pubDate>
		<dc:creator>Jim Cassidy</dc:creator>
				<category><![CDATA[Python/Jython]]></category>
		<category><![CDATA[Ruby/JRuby]]></category>

		<guid isPermaLink="false">http://jimcassidy.ca/2007/09/18/scripting-languages-and-db4o/</guid>
		<description><![CDATA[I have developed an interest in getting DB4O to work with scripting languages, as regular readers of this blog will know. I have had less time this week than I would like, but I will be posting some examples of DB4O working with Jython. Â I have been thinking of building a small web-enabled repository using [...]]]></description>
			<content:encoded><![CDATA[<div style="float: left; margin-right: 4px"><!--adsense--></div>
<p>I have developed an interest in getting DB4O to work with scripting languages, as regular readers of this blog will know. I have had less time this week than I would like, but I will be posting some examples of DB4O working with Jython.</p>
<p>Â I have been thinking of building a small web-enabled repository using <a title="Jetty" href="http://www.mortbay.org/" target="_blank">Jetty</a> or <a title="Restlets" href="http://www.restlet.org/" target="_blank">Restlets</a>Â with <a title="Jython" href="http://www.jython.org/Project/index.html" target="_blank">Jython</a> and <a title="db4o" href="http://db4o.com" target="_blank">DB4O</a>. Sorry if this does not happen instantly, but it will happen.</p>
<p>I also want to return to <a title="RoR" href="http://jimcassidy.ca/www.rubyonrails.org" target="_blank">Ruby on Rails</a> running on <a title="JRuby" href="http://jruby.codehaus.org/" target="_blank">JRuby</a> &#8211; I would like to look at integrating DB4O support with Active Resources. It would be nice to define a model and get DB4O CRUD at no additional cost &#8211; this seems like a worthwile effort, and it would be good to get experience with <a title="Active Resource" href="http://ryandaigle.com/articles/2006/06/30/whats-new-in-edge-rails-activeresource-is-here" target="_blank">Active Resource</a>.</p>
<p>Then, after tackling RoR and Jython, I would like to try my hand at using DB4O from <a title="Quercus" href="http://quercus.caucho.com/" target="_blank">Quercus</a>. Quercus is an implementation of PHP that runs on the JVM, giving PHP the ability to use <a title="Java" href="http://java.com" target="_blank">Java</a> libraries like DB4O.</p>
<p>Later, I would also like to try to use DB4O from <a title="Grails" href="http://www.grails.org/" target="_blank">Grails</a>, another Ruby on Rails derivative that runs on the JVM using <a title="Groovy" href="http://groovy.codehaus.org/" target="_blank">Groovy</a>. The possibilities for DB4O are huge &#8211; DB4O can go wherever the JVM can go.</p>
<p>It looks like Microsoft&#8217;s common language runtime approach is taking the Java world by storm &#8211; the JVM is becoming the new <a title="CLR" href="http://msdn.microsoft.com//msdnmag/issues/06/10/clrinsideout/default.aspx" target="_blank">CLR</a>. For a long while now, it has been possible to author applications in multiple languages and run them under .NET or <a title="mono" href="http://www.mono-project.com/Main_Page" target="_blank">Mono</a>. I think that is a good idea. Java is on the right track &#8211; it has to become <a title="Tate" href="http://www.ibm.com/developerworks/java/library/j-cb04107.html?S_TACT=105AGX02&#038;S_CMP=EDU" target="_blank">easier to write applications</a> that run on the JVM.</p>
<p>Obviously, DB4O is available in any language that runs on the CLR. However, I just want to make note of the trend of running scripting languages on the JVM &#8211; this opens the doors for DB4O in many important ways.</p>
<p>When I has some solid code, and a tutorial to go with it, I will begin posting in the <a title="db4o forums" href="http://developer.db4o.com/forums/default.aspx?GroupID=2" target="_blank">DB4O forums</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://jimcassidy.ca/2007/09/18/scripting-languages-and-db4o/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jython And DB4O Happy Together</title>
		<link>http://jimcassidy.ca/2007/09/09/jython-and-db4o-happy-together/</link>
		<comments>http://jimcassidy.ca/2007/09/09/jython-and-db4o-happy-together/#comments</comments>
		<pubDate>Sun, 09 Sep 2007 23:59:53 +0000</pubDate>
		<dc:creator>Jim Cassidy</dc:creator>
				<category><![CDATA[Python/Jython]]></category>
		<category><![CDATA[Ruby/JRuby]]></category>

		<guid isPermaLink="false">http://jimcassidy.ca/2007/09/09/jython-and-db4o-happy-together/</guid>
		<description><![CDATA[I will provide details later &#8211; I will probably also post to the DB4O forums &#8211; but here is the readers digest version: I have found that Jython and DB4O can play well together. It was easy enough to create an instance of any Java class, use it, and save it using DB4O. However, I [...]]]></description>
			<content:encoded><![CDATA[<div style="float: left; margin-right: 4px"><!--adsense--></div>
<p>I will provide details later &#8211; I will probably also post to the DB4O forums &#8211; but here is the readers digest version: I have found that <a target="_blank" title="jython" href="http://www.jython.org/Project/index.html">Jython</a> and <a target="_blank" title="db4o" href="http://db4o.com">DB4O</a> can play well together.</p>
<p>It was easy enough to create an instance of any Java class, use it, and save it using DB4O. However, I was unable to save my own objects, even if I inherited from another Java class. There is a way to compile these classes such that they can be used in a Java project, but that seemed like an extra step to me &#8211; I wanted simplicity.</p>
<p>To keep things simple, I created my basic classes using Java, and then I created a jar of the class files. I was able to create instances of these using Jython, I was able to use them, and I was able to save them. That seems good enough for now. I had hoped to find a way for someone who had little or no knowledge of Java to create classes and save them, but I still think my approach is useful.</p>
<p>If one is prototyping a new application, Jython is good if you want to write less code, and if you want to quickly develop your ideas. I will demonstrate this by recreating examples from the DB4O tutorials. Jython is a good glue, and I hope to show how it can be useful.</p>
<p>I expect that my approach will work with <a target="_blank" title="jruby" href="http://jruby.codehaus.org/">JRuby</a> as well, which means that DB4O could be made available in Ruby on Rails running on the JVM. There is probably a good way to create something that looks and acts like Active Record for objects that works with DB4O. <a target="_blank" title="active record" href="http://en.wikipedia.org/wiki/Active_record">Active Record</a> shows that you do not have to use SQL if you do not want to &#8211; the next step is to show that you do not have to use an RDBMS is you do not have to.</p>
<p>Watch for code and examples when I have time.</p>
]]></content:encoded>
			<wfw:commentRss>http://jimcassidy.ca/2007/09/09/jython-and-db4o-happy-together/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ruby on Rails Has One Advanatge</title>
		<link>http://jimcassidy.ca/2007/09/05/ruby-one-rails-has-one-advanatge/</link>
		<comments>http://jimcassidy.ca/2007/09/05/ruby-one-rails-has-one-advanatge/#comments</comments>
		<pubDate>Wed, 05 Sep 2007 14:32:34 +0000</pubDate>
		<dc:creator>Jim Cassidy</dc:creator>
				<category><![CDATA[Ruby/JRuby]]></category>

		<guid isPermaLink="false">http://jimcassidy.ca/2007/09/05/ruby-one-rails-has-one-advanatge/</guid>
		<description><![CDATA[In my previous post, I mentioned in passing that I like Python better than I like Ruby; therefore, I am more attracted to Turbogears than Ruby on Rails. That statement is true. I also stated that I could change my mind as I got used to Ruby on Rails. One of the features or characteristics [...]]]></description>
			<content:encoded><![CDATA[<div style="float: left; margin-right: 4px"><!--adsense--></div>
<p>In my previous post, I mentioned in passing that I like <a title="Python" target="_blank" href="http://python.org">Python</a> better than I like <a title="Ruby" target="_blank" href="http://www.ruby-lang.org/en/">Ruby</a>; therefore, I am more attracted to <a title="TG" target="_blank" href="http://turbogears.org">Turbogears</a> than <a title="ror" target="_blank" href="http://rubyonrails.org">Ruby on Rails</a>. That statement is true. I also stated that I could change my mind as I got used to Ruby on Rails.</p>
<p>One of the features or characteristics of Rails that could make the difference to me is number of <a title="plugins" target="_blank" href="http://wiki.rubyonrails.org/rails/pages/Plugins">plugins</a> that are available for Ruby on Rails. The community has been very active. I have just started using the <a title="streamline" target="_blank" href="http://www.streamlinedframework.org/">streamlined</a> plugin &#8211; I will let you know how it goes.</p>
<p>Update: streamlined seems a little temperamental.  I am sure I am the source of the errors, but my expectation is that frameworks should just work. I am displeased. I am getting the following error:</p>
<p>rake aborted!<br />
undefined method `Join&#8217; for File:Class</p>
<p>I can roll my own code in the time it would take me to figure this out. Rails may have an advantage because it provides many plugins, but they have to be very easy to use. And, there has to be some quality control. Perhaps a rating system by people who are currently using each plugin &#8211; perhaps there is one out there. Oh well &#8211; I will continue using a plain old scaffold for now.</p>
]]></content:encoded>
			<wfw:commentRss>http://jimcassidy.ca/2007/09/05/ruby-one-rails-has-one-advanatge/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Having The Right To My Opinion</title>
		<link>http://jimcassidy.ca/2007/09/04/having-the-right-to-my-opinion/</link>
		<comments>http://jimcassidy.ca/2007/09/04/having-the-right-to-my-opinion/#comments</comments>
		<pubDate>Wed, 05 Sep 2007 02:35:14 +0000</pubDate>
		<dc:creator>Jim Cassidy</dc:creator>
				<category><![CDATA[Ruby/JRuby]]></category>

		<guid isPermaLink="false">http://jimcassidy.ca/2007/09/04/having-the-right-to-my-opinion/</guid>
		<description><![CDATA[I want to return to my DB4O/scripting languages experiments, but getting the kids back in school has eaten into my time. However, I have been playing with Ruby on Rails. I have this to say about my choice of RoR for a small personal project: I feel compelled to learn how to use this framework [...]]]></description>
			<content:encoded><![CDATA[<div style="float: left; margin-right: 4px"><!--adsense--></div>
<p>I want to return to my DB4O/scripting languages experiments, but getting the kids back in school has eaten into my time. However, I have been playing with <a target="_blank" title="RoR" href="http://rubyonrails.org/">Ruby on Rails</a>.</p>
<p>I have this to say about my choice of RoR for a small personal project:</p>
<ol>
<li>I feel compelled to learn how to use this framework because it is popular</li>
<li>Many of the jobs I see posted these days mention Ruby on Rails; therefore, I want to have bragging rights.</li>
<li>There is a growing number of books about this framework, which makes it a good choice if I want to find someone to maintain my code later.</li>
<li>The Ruby on Rails community is very active &#8211; there are many available articles, tools, plugins and extensions.</li>
<li>Clients like new technologies, but not too new: RoR is a good choice. It is new enough to be cool, and established enough to have credibility.</li>
<li>An old fart like me has to show that he is keeping up &#8211; learning new things is important.</li>
</ol>
<p>Having said all of the above, I prefer Python to Ruby. It is a matter of taste, but <a target="_blank" title="python" href="http://python.org">Python </a>is cleaner and easier for me to write. There is something about the culture of Python that I am more comfortable with. Therefore, I am more attracted to <a target="_blank" title="Turbogears" href="http://turbogears.org/">Turbogears</a>. However, I think it will be worthwhile to earn the right to my opinion by learning how to use RoR first. Then I will be able to comment with some authority.</p>
<p>On the other hand, I could change my mind, but I doubt it. However, I am sold on the basic approach that is taken by RoR. I just do not feel that the approach depends on Ruby to work well. For a humorous look at RoR, see this <a title="video" target="_blank" href="http://www.youtube.com/watch?v=p5EIrSM8dCA&#038;eurl=http%3A%2F%2Fwww%2Erailsenvy%2Ecom%2F2007%2F5%2F16%2Fhi%2Di%2Dm%2Druby%2Don%2Drails%2Dpart%2D3">video</a> that contrasts Ruby on Rails with traditional PHP.</p>
]]></content:encoded>
			<wfw:commentRss>http://jimcassidy.ca/2007/09/04/having-the-right-to-my-opinion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JRuby and DB4O: More Info</title>
		<link>http://jimcassidy.ca/2007/08/27/jruby-and-db4o-more-info/</link>
		<comments>http://jimcassidy.ca/2007/08/27/jruby-and-db4o-more-info/#comments</comments>
		<pubDate>Mon, 27 Aug 2007 17:52:24 +0000</pubDate>
		<dc:creator>Jim Cassidy</dc:creator>
				<category><![CDATA[Languages]]></category>
		<category><![CDATA[Ruby/JRuby]]></category>

		<guid isPermaLink="false">http://jimcassidy.ca/2007/08/27/jruby-and-db4o-more-info/</guid>
		<description><![CDATA[Upon investigation, I found that JRuby throws a wrapper around Java objects in some circumstances. The wrapped object cannot be saved by DB4O, or so I have concluded. My follow up strategy was going to be to define a class in java and try to instantiate it in JRuby to see if it would save [...]]]></description>
			<content:encoded><![CDATA[<div style="float: left; margin-right: 4px"><!--adsense--></div>
<p>Upon investigation, I found that JRuby throws a wrapper around Java objects in some circumstances. The wrapped object cannot be saved by DB4O, or so I have concluded. My follow up strategy was going to be to define a class in java and try to instantiate it in JRuby to see if it would save to a file. I may be on the right track.</p>
<p>A search of the Db4O forums has led me to the following <a title="JObject" href="http://developer.db4o.com/forums/permalink/30076/30030/ShowThread.aspx#30030" target="_blank">excellent information</a>, provided by Jason Thomas. I will attempt to make use of this information, and I will write about the result. While you wait, follow the link I have posted above &#8211; it is interesting.</p>
<p><strong>Note: (Added November 20, 2008)</strong> I have since returned to my investigations of how to use DB4O using scripting languages running on the JVM. See my work with Jython and the Django framework using DB4O. My BS theory of JRuby throwing a wrapper around Java objects is probably out to lunch. I may come back to this, but feel free to see what I am doing with Jython to see if it applies to JRuby.</p>
]]></content:encoded>
			<wfw:commentRss>http://jimcassidy.ca/2007/08/27/jruby-and-db4o-more-info/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JRuby and DB4O</title>
		<link>http://jimcassidy.ca/2007/08/25/jruby-and-db4o/</link>
		<comments>http://jimcassidy.ca/2007/08/25/jruby-and-db4o/#comments</comments>
		<pubDate>Sun, 26 Aug 2007 02:11:24 +0000</pubDate>
		<dc:creator>Jim Cassidy</dc:creator>
				<category><![CDATA[Ruby/JRuby]]></category>

		<guid isPermaLink="false">http://jimcassidy.ca/2007/08/25/jruby-and-db4o/</guid>
		<description><![CDATA[I have managed to get JRuby up and running, and I am using Netbeans to edit my code. I am pleased. I can create Ruby on Rails projects, and I can start and stop servers from the IDE. All good. Today, I started to play with DB4O &#8211; I have hit a small snag. The [...]]]></description>
			<content:encoded><![CDATA[<div style="float: left; margin-right: 4px;"><!--adsense--></div>
<p>I have managed to get JRuby up and running, and I am using Netbeans to edit my code. I am pleased. I can create Ruby on Rails projects, and I can start and stop servers from the IDE. All good.</p>
<p>Today, I started to play with DB4O &#8211; I have hit a small snag. The objects I want to save will NOT save &#8211; I am getting an ObjectNotStorableException. I am sure that all I need to do is read some more &#8211; my objects are Ruby objects not Java objects. (I thought I was inheriting from proper Java classes, but I am sure I can work through this.)</p>
<p>I will also try this with Jython &#8211; and, I found a version of <a title="PHP on JVM" href="http://quercus.caucho.com/" target="_blank">PHP5 that runs on the JVM</a>. I will keep you posted. As usual, I do not have a lot of time.</p>
<p>Today, my six year old step daughter and I rode our bikes to the bakery to get breakfast for the family. This was her first purposeful bike ride, and it was the first time she had every ridden on the road. She was very proud of herself &#8211; and I was proud of her, too.</p>
<p>In the afternoon, I proposed that we are drive out to <a title="Carelton Place" href="http://www.carletonplace.ca/Visiting_Here/viewPage.aro?pageid=250" target="_blank">Carleton Place </a>for no reason. We looked around, bought some books, and had supper at a lovely little Irish pub. Technology had to wait, and that is as it should be.</p>
<p>However, I would like to find time to generate some excitement about DB4O for scripting languages that run on the JVM.</p>
]]></content:encoded>
			<wfw:commentRss>http://jimcassidy.ca/2007/08/25/jruby-and-db4o/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DB4O For Scripting Languages</title>
		<link>http://jimcassidy.ca/2007/08/15/db4o-for-scripting-languages/</link>
		<comments>http://jimcassidy.ca/2007/08/15/db4o-for-scripting-languages/#comments</comments>
		<pubDate>Wed, 15 Aug 2007 16:26:09 +0000</pubDate>
		<dc:creator>Jim Cassidy</dc:creator>
				<category><![CDATA[Ruby/JRuby]]></category>

		<guid isPermaLink="false">http://jimcassidy.ca/2007/08/15/db4o-for-scripting-languages/</guid>
		<description><![CDATA[DB4O is not a database, per se, or a database substitute. It is an object persistence tool &#8211; or, an object database. An object is more than data. As such, it can help you save, delete, find and update objects that have been created using either Java or a .NET based language. On the .NET [...]]]></description>
			<content:encoded><![CDATA[<div style="float: left; margin-right: 4px"><!--adsense--></div>
<p><a title="db4o" href="http://search.live.com/results.aspx?srch=105&#038;FORM=AS5&#038;q=db4o" target="_blank">DB4O</a> is not a database, per se, or a database substitute. It is an object persistence tool &#8211; or, an object database. An object is more than data. As such, it can help you save, delete, find and update objects that have been created using either Java or a .NET based language. On the .NET side, therefore, it is possible to use DB4O with <a title="IronPython" href="http://www.codeplex.com/Wiki/View.aspx?ProjectName=IronPython" target="_blank">IronPython</a> or <a title="IronRuby" href="http://www.iunknown.com/2007/04/introducing_iro.html" target="_blank">IronRuby</a> &#8211; pretty well <a title="Boo" href="http://boo.codehaus.org/" target="_blank">any language</a> that runs on the CLR. I have not done this myself, and I have to point out that code examples may be in short supply, but it can be done.</p>
<p>Some people might assume that Db4O is more versatile when used under Mone or the .NET framework, but that is not so. The Java community is busy finding ways to make dynamic languages run on under the JVM. Notably, there is <a title="Jython" href="http://jython.org/Project/index.html" target="_blank">Jython</a>, an implementation of Python. There is also <a title="JRuby" href="http://jruby.codehaus.org/" target="_blank">JRuby</a>, an implementation of Ruby. I have even read that <a title="RoR" href="http://www.rubyonrails.org/" target="_blank">Ruby on Rails</a> will run under JRuby, which would give RoR developers access to all sort of Java class libraries.</p>
<p>Can you imagine RoR and having access to objects that are being managed by DB4O? In the DB4O forums, the odd person will ask if Db4O will work with PHP, or some other language. The answer should not always be no. I do not have the time right now, but if someone is playing around with these ideas, I would like to here about.</p>
<p>Somebody will get <a title="Django" href="http://www.djangoproject.com/" target="_blank">Django</a> to run using IronPython &#8211; perhaps even <a title="Turbogears" href="http://www.turbogears.org/" target="_blank">Turbogears</a>. Combining these frameworks with the CLR or the JVM could make it possible to use many other computer languages with DB4O. The door is not closed, but someone needs to make it happen. This is an interesting area. I am interested in using JRuby to run on the JVM, opening the possibility of using DB4O with Ruby on Rails &#8211; then, it would be interesting to build a version of Activerecord using DB4O. (Justing thinking out loud.)</p>
<p>Hint: If you use Jython, the key is to inherit from a Java class. If you create an object based on a Python class, it will not persist using DB4O. Good luck.</p>
]]></content:encoded>
			<wfw:commentRss>http://jimcassidy.ca/2007/08/15/db4o-for-scripting-languages/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
