<?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>A Drop In The Stream</title>
	<atom:link href="http://www.dugthawts.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.dugthawts.com</link>
	<description>-- Software, Language, &#038; Buddhism --</description>
	<lastBuildDate>Sat, 04 Sep 2010 04:34:27 +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>links for 2010-09-03</title>
		<link>http://www.dugthawts.com/?p=616</link>
		<comments>http://www.dugthawts.com/?p=616#comments</comments>
		<pubDate>Sat, 04 Sep 2010 04:34:27 +0000</pubDate>
		<dc:creator>doug</dc:creator>
				<category><![CDATA[del.icio.us Links]]></category>

		<guid isPermaLink="false">http://www.dugthawts.com/?p=616</guid>
		<description><![CDATA[Advanced Hibernate: Proxy Pitfalls &#124; Xebia Blog Hibernate proxy pitfalls. (tags: Hibernate database development) JPA implementation patterns: Lazy loading &#124; Xebia Blog Great explanation of Hibernate&#039;s proxy mechanism with attention to other approaches to proxy creation. (tags: hibernate jpa database)]]></description>
			<content:encoded><![CDATA[<ul class="delicious">
<li>
<div class="delicious-link"><a href="http://blog.xebia.com/2008/03/08/advanced-hibernate-proxy-pitfalls/">Advanced Hibernate: Proxy Pitfalls | Xebia Blog</a></div>
<div class="delicious-extended">Hibernate proxy pitfalls.</div>
<div class="delicious-tags">(tags: <a href="http://delicious.com/vtecinc/Hibernate">Hibernate</a> <a href="http://delicious.com/vtecinc/database">database</a> <a href="http://delicious.com/vtecinc/development">development</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://blog.xebia.com/2009/04/27/jpa-implementation-patterns-lazy-loading/#more-1540">JPA implementation patterns: Lazy loading | Xebia Blog</a></div>
<div class="delicious-extended">Great explanation of Hibernate&#039;s proxy mechanism with attention to other approaches to proxy creation.</div>
<div class="delicious-tags">(tags: <a href="http://delicious.com/vtecinc/hibernate">hibernate</a> <a href="http://delicious.com/vtecinc/jpa">jpa</a> <a href="http://delicious.com/vtecinc/database">database</a>)</div>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.dugthawts.com/?feed=rss2&amp;p=616</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Java Persistence Question: To Hibernate or Not?</title>
		<link>http://www.dugthawts.com/?p=605</link>
		<comments>http://www.dugthawts.com/?p=605#comments</comments>
		<pubDate>Tue, 24 Aug 2010 00:53:17 +0000</pubDate>
		<dc:creator>doug</dc:creator>
				<category><![CDATA[A Day In The Life]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Java persistence Spring Hibernate development programming]]></category>

		<guid isPermaLink="false">http://www.dugthawts.com/?p=605</guid>
		<description><![CDATA[To Hibernate or not to Hibernate that is the persistence question! Whether &#8217;tis nobler in the mind to suffer the slings and arrows of outrageous SQL statements Or to take arms against a sea of result sets and by opposing iterate them? This post is about my ambivalence about the Hibernate framework and its frequent [...]]]></description>
			<content:encoded><![CDATA[<p>To Hibernate or not to Hibernate that is the persistence question!  Whether &#8217;tis nobler in the mind to suffer the slings and arrows of outrageous SQL statements Or to take arms against a sea of result sets and by opposing iterate them?</p>
<p>This post is about my ambivalence about the Hibernate framework and its frequent partner, Spring.  Proponents will tell you how it simplifies service layer calls to persist objects; allows a developer to think more completely in objects, and leads to a reduction in lines of code and inadvertent developer errors in persistence routines.  The part of the equation that is often neglected is what it takes to design and configure a robust and usable Spring-Hibernate architecture.</p>
<p>These frameworks aren&#8217;t for the faint of heart &#8211; yes, if you&#8217;re walking into a gig where the architecture is already in place and the bugs are mostly ironed out; and, the team has bought or developed expertise in these frameworks, then using these frameworks is manageable and at times even easy.  However, if you&#8217;re new to these frameworks and working on a project that has to ramp up quickly, design decisions can easily be made that make it challenging and time consuming to figure out how to do what you need to get done and how many configuration files you&#8217;ll need to do it.</p>
<p>Moreover, Hibernate now supports JPA annotations &#8211; which saves some time perhaps in that persistence strategies are visible in the entity model classes, however, learning the annotations is can be as challenging as learning how to set up the hbm.xml configurations.  I&#8217;m not arguing that Hibernate isn&#8217;t powerful, on the contrary, I think there are lots features that allow inheritance or cascading across a class hierarchy to be succinctly expressed.  The open question for me is whether or not the time and effort required to learn these features and their annotation syntax, limitations, edge cases, etc &#8211; really in the end results in a faster time to market or a more maintainable, flexible architecture.</p>
<p>This is a tough case to prove either way.  My own experience over the last few months working with Spring and Hibernate is that once I learn something well, I feel like I&#8217;m saving time and effort.  Unfortunately, since I have no parallel universe to experiment in, I&#8217;m hard pressed to say that writing the equivalent SQL and iterating a result set wouldn&#8217;t be faster for me to do an ultimately, more understandable when I have to maintain or enhance the code 6 months from now.  I wasn&#8217;t around when the schema was developed but I think it is fair to say that a simple schema and transaction strategy can be implemented in a simple way using Spring and Hibernate, the problem is that real production applications rarely stay simple for long and as they morph to handle a broader and more varied problem domain, one&#8217;s expertise in Spring and Hibernate has to grow accordingly.</p>
<p>As heretical as it may seem to some, a viable alternative in my mind is to eschew these frameworks from the start and focus on gaining expertise in SQL; understanding the structure and performance quirks of your database implementation, and working with a UI toolkit (GWT or Vaadin) that doesn&#8217;t also impose the overhead of learning a bunch of arcane tags and strategies (JSF comes to mind).  Of course, there are always new ways to do things in IT, I&#8217;m just leaning towards the possibility that simpler (even if it entails some redundant coding of JDBC calls or prepared statements, etc), would in the end be preferable.  I&#8217;d rather rely on SQL than an abstraction layer that I can&#8217;t really change or optimize.</p>
<p>As I gain more experience and confidence with Spring and Hibernate, I can imagine my views changing somewhat but in the meantime, I keep asking myself, are all these layers and frameworks serving me, or me them?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dugthawts.com/?feed=rss2&amp;p=605</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Online Gaming Parental Update</title>
		<link>http://www.dugthawts.com/?p=603</link>
		<comments>http://www.dugthawts.com/?p=603#comments</comments>
		<pubDate>Wed, 18 Aug 2010 11:53:28 +0000</pubDate>
		<dc:creator>doug</dc:creator>
				<category><![CDATA[A Day In The Life]]></category>
		<category><![CDATA[internet safety]]></category>
		<category><![CDATA[online gaming]]></category>
		<category><![CDATA[parents and gaming]]></category>
		<category><![CDATA[Runescape]]></category>

		<guid isPermaLink="false">http://www.dugthawts.com/?p=603</guid>
		<description><![CDATA[By far the most commented post I&#8217;ve made is on the parental concerns of an incipient child gamer. Well, my son is now a teen ager and I thought it was time for a progress report/update on how I view online gaming and its effects on my son. In short the news is mostly good. [...]]]></description>
			<content:encoded><![CDATA[<p>By far the most commented post I&#8217;ve made is on the parental concerns of an incipient child gamer.  Well, my son is now a teen ager and I thought it was time for a progress report/update on how I view online gaming and its effects on my son.  In short the news is mostly good.</p>
<p>When our son began gaming I was anxious about the security &#8211; bad people say bad things or leading our son astray.  We avoided this with Runescape at the outset by refusing to enable chat.  By the way, the only computer our son has access to is in the family room with no closed door to hide behind.  So, we usually know when he is/was playing though we don&#8217;t stand behind him and watch everything he does &#8211; this would undermine any sense of trust we want to build in our relationship.</p>
<p>We really had no issues with Runescape, our son like to play a lot but eventually he got tired of it and the company&#8217;s filtering and our asking our son questions about the game, the chatting, and watching him play every so often to make our interest in him and his experience known, did the trick.  Nothing untoward occurred and he graduated from Runescape to World of Warcraft (WOW).</p>
<p>WOW is a whole different beast and will get a separate post shortly.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dugthawts.com/?feed=rss2&amp;p=603</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Going Groovy From Java</title>
		<link>http://www.dugthawts.com/?p=602</link>
		<comments>http://www.dugthawts.com/?p=602#comments</comments>
		<pubDate>Tue, 17 Aug 2010 13:24:01 +0000</pubDate>
		<dc:creator>doug</dc:creator>
				<category><![CDATA[A Day In The Life]]></category>
		<category><![CDATA[agile development]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Groovy]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[software engineering]]></category>
		<category><![CDATA[TDD]]></category>
		<category><![CDATA[test driven development]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://www.dugthawts.com/?p=602</guid>
		<description><![CDATA[I&#8217;ve got a new-found burst of coding energy thanks in part to using the JVM compliant Groovy programming language. If you&#8217;re unfamiliar with Groovy and you program in Java you&#8217;ll want to investigate this highly productive, easy to learn, Java-like language &#8211; IMHO, it is what Java ought to have evolved into if it hadn&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve got a new-found burst of coding energy thanks in part to using the JVM compliant Groovy programming language.  If you&#8217;re unfamiliar with Groovy and you program in Java you&#8217;ll want to investigate this highly productive, easy to learn, Java-like language &#8211; IMHO, it is what Java ought to have evolved into if it hadn&#8217;t been over-engineered by Sun.  Groovy ditches all of the redundant Java syntax, adds duck-typing, auto-boxing, and closures as well as numerous syntactical simplifications and improvements.  Groovy is the language that the well-known Grails framework uses (which is an imitation and improvement on Ruby Rails).  Groovy is well supported by Eclipse and the Intellij community edition (which I now use exclusively for Groovy because Eclipse was crashing intermittently).</p>
<p>I can&#8217;t say enough good things about Groovy &#8211; closures provide a simplified way to do so many standard things in code that if Groovy just supported closures and was like Java in every other respect it would still be a great advance for JVM compliant programming.  Unlike Scala and Clojure, any Java program is a Groovy executable program just by converting the extension from .java to .groovy &#8211; it&#8217;s that easy.  Of course, you&#8217;ll want to do some clean up on your code after that because Groovy provides automatic getter-setter generation, doesn&#8217;t need semicolons to terminate lines, and makes silly inconsistencies like the length versus size() methods go away (size() is used exclusively in Groovy though if you want to be confused, length is supported because it is still Java).</p>
<p>I&#8217;m going to cut this post short for now but plan to post more on Groovy topics, Maven integration with GMaven, TestNG usage with Hibernate, etc.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dugthawts.com/?feed=rss2&amp;p=602</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>links for 2010-07-28</title>
		<link>http://www.dugthawts.com/?p=601</link>
		<comments>http://www.dugthawts.com/?p=601#comments</comments>
		<pubDate>Thu, 29 Jul 2010 04:05:23 +0000</pubDate>
		<dc:creator>doug</dc:creator>
				<category><![CDATA[del.icio.us Links]]></category>

		<guid isPermaLink="false">http://www.dugthawts.com/?p=601</guid>
		<description><![CDATA[Synchronize git repositories between deskop and laptop « davitenio’s blag (tags: git synchronize)]]></description>
			<content:encoded><![CDATA[<ul class="delicious">
<li>
<div class="delicious-link"><a href="http://davitenio.wordpress.com/2008/10/08/synchronize-git-repositories-between-deskop-and-laptop/">Synchronize git repositories between deskop and laptop « davitenio’s blag</a></div>
<div class="delicious-tags">(tags: <a href="http://delicious.com/vtecinc/git">git</a> <a href="http://delicious.com/vtecinc/synchronize">synchronize</a>)</div>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.dugthawts.com/?feed=rss2&amp;p=601</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>links for 2010-07-27</title>
		<link>http://www.dugthawts.com/?p=600</link>
		<comments>http://www.dugthawts.com/?p=600#comments</comments>
		<pubDate>Wed, 28 Jul 2010 04:05:09 +0000</pubDate>
		<dc:creator>doug</dc:creator>
				<category><![CDATA[del.icio.us Links]]></category>

		<guid isPermaLink="false">http://www.dugthawts.com/?p=600</guid>
		<description><![CDATA[Why did Hibernate update my database? &#124; Xebia Blog (tags: hibernate java) The Ten Minute Guide to diff and patch (tags: patch diff linux programming howto tutorial)]]></description>
			<content:encoded><![CDATA[<ul class="delicious">
<li>
<div class="delicious-link"><a href="http://blog.xebia.com/2009/04/06/why-did-hibernate-update-my-database/">Why did Hibernate update my database? | Xebia Blog</a></div>
<div class="delicious-tags">(tags: <a href="http://delicious.com/vtecinc/hibernate">hibernate</a> <a href="http://delicious.com/vtecinc/java">java</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://stephenjungels.com/jungels.net/articles/diff-patch-ten-minutes.html">The Ten Minute Guide to diff and patch</a></div>
<div class="delicious-tags">(tags: <a href="http://delicious.com/vtecinc/patch">patch</a> <a href="http://delicious.com/vtecinc/diff">diff</a> <a href="http://delicious.com/vtecinc/linux">linux</a> <a href="http://delicious.com/vtecinc/programming">programming</a> <a href="http://delicious.com/vtecinc/howto">howto</a> <a href="http://delicious.com/vtecinc/tutorial">tutorial</a>)</div>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.dugthawts.com/?feed=rss2&amp;p=600</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>links for 2010-07-22</title>
		<link>http://www.dugthawts.com/?p=599</link>
		<comments>http://www.dugthawts.com/?p=599#comments</comments>
		<pubDate>Fri, 23 Jul 2010 04:04:04 +0000</pubDate>
		<dc:creator>doug</dc:creator>
				<category><![CDATA[del.icio.us Links]]></category>

		<guid isPermaLink="false">http://www.dugthawts.com/?p=599</guid>
		<description><![CDATA[Share Your Memories &#8211; 92nd Street Y &#8211; New York, NY (tags: delilah zuck) Git &#8211; SVN Crash Course (tags: git subversion git-svn vcs source-control tutorial)]]></description>
			<content:encoded><![CDATA[<ul class="delicious">
<li>
<div class="delicious-link"><a href="http://www.92y.org/content/75th_dance_share_memories.asp">Share Your Memories &#8211; 92nd Street Y &#8211; New York, NY</a></div>
<div class="delicious-tags">(tags: <a href="http://delicious.com/vtecinc/delilah">delilah</a> <a href="http://delicious.com/vtecinc/zuck">zuck</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://git.or.cz/course/svn.html">Git &#8211; SVN Crash Course</a></div>
<div class="delicious-tags">(tags: <a href="http://delicious.com/vtecinc/git">git</a> <a href="http://delicious.com/vtecinc/subversion">subversion</a> <a href="http://delicious.com/vtecinc/git-svn">git-svn</a> <a href="http://delicious.com/vtecinc/vcs">vcs</a> <a href="http://delicious.com/vtecinc/source-control">source-control</a> <a href="http://delicious.com/vtecinc/tutorial">tutorial</a>)</div>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.dugthawts.com/?feed=rss2&amp;p=599</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>links for 2010-07-21</title>
		<link>http://www.dugthawts.com/?p=598</link>
		<comments>http://www.dugthawts.com/?p=598#comments</comments>
		<pubDate>Thu, 22 Jul 2010 04:03:53 +0000</pubDate>
		<dc:creator>doug</dc:creator>
				<category><![CDATA[del.icio.us Links]]></category>

		<guid isPermaLink="false">http://www.dugthawts.com/?p=598</guid>
		<description><![CDATA[Tv&#039;s cobweb: Git for Computer Scientists (tags: git dag directed-acyclic-graph) git ready » cleaning up untracked files git ls-files &#8211;others &#8211;exclude-standard -z &#124; cpio -pmd0 ../untracked-backup/ (tags: git tutorial)]]></description>
			<content:encoded><![CDATA[<ul class="delicious">
<li>
<div class="delicious-link"><a href="http://eagain.net/articles/git-for-computer-scientists/">Tv&#039;s cobweb: Git for Computer Scientists</a></div>
<div class="delicious-tags">(tags: <a href="http://delicious.com/vtecinc/git">git</a> <a href="http://delicious.com/vtecinc/dag">dag</a> <a href="http://delicious.com/vtecinc/directed-acyclic-graph">directed-acyclic-graph</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://www.gitready.com/beginner/2009/01/16/cleaning-up-untracked-files.html">git ready » cleaning up untracked files</a></div>
<div class="delicious-extended">git ls-files &#8211;others &#8211;exclude-standard -z | cpio -pmd0 ../untracked-backup/</div>
<div class="delicious-tags">(tags: <a href="http://delicious.com/vtecinc/git">git</a> <a href="http://delicious.com/vtecinc/tutorial">tutorial</a>)</div>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.dugthawts.com/?feed=rss2&amp;p=598</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>links for 2010-07-16</title>
		<link>http://www.dugthawts.com/?p=597</link>
		<comments>http://www.dugthawts.com/?p=597#comments</comments>
		<pubDate>Sat, 17 Jul 2010 04:04:36 +0000</pubDate>
		<dc:creator>doug</dc:creator>
				<category><![CDATA[del.icio.us Links]]></category>

		<guid isPermaLink="false">http://www.dugthawts.com/?p=597</guid>
		<description><![CDATA[Jarvana &#8211; Maven Repository Search Engine (tags: maven java search repository jar development tool) DocJar: Search Open Source Java API (tags: java javadoc api search programming documentation reference jar development)]]></description>
			<content:encoded><![CDATA[<ul class="delicious">
<li>
<div class="delicious-link"><a href="http://jarvana.com/jarvana/">Jarvana &#8211; Maven Repository Search Engine</a></div>
<div class="delicious-tags">(tags: <a href="http://delicious.com/vtecinc/maven">maven</a> <a href="http://delicious.com/vtecinc/java">java</a> <a href="http://delicious.com/vtecinc/search">search</a> <a href="http://delicious.com/vtecinc/repository">repository</a> <a href="http://delicious.com/vtecinc/jar">jar</a> <a href="http://delicious.com/vtecinc/development">development</a> <a href="http://delicious.com/vtecinc/tool">tool</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://docjar.com/">DocJar: Search Open Source Java API</a></div>
<div class="delicious-tags">(tags: <a href="http://delicious.com/vtecinc/java">java</a> <a href="http://delicious.com/vtecinc/javadoc">javadoc</a> <a href="http://delicious.com/vtecinc/api">api</a> <a href="http://delicious.com/vtecinc/search">search</a> <a href="http://delicious.com/vtecinc/programming">programming</a> <a href="http://delicious.com/vtecinc/documentation">documentation</a> <a href="http://delicious.com/vtecinc/reference">reference</a> <a href="http://delicious.com/vtecinc/jar">jar</a> <a href="http://delicious.com/vtecinc/development">development</a>)</div>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.dugthawts.com/?feed=rss2&amp;p=597</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>links for 2010-07-06</title>
		<link>http://www.dugthawts.com/?p=596</link>
		<comments>http://www.dugthawts.com/?p=596#comments</comments>
		<pubDate>Wed, 07 Jul 2010 04:04:45 +0000</pubDate>
		<dc:creator>doug</dc:creator>
				<category><![CDATA[del.icio.us Links]]></category>

		<guid isPermaLink="false">http://www.dugthawts.com/?p=596</guid>
		<description><![CDATA[Unit testing with JUnit and EasyMock - Michael Minella (tags: testing java mock easymock tdd tutorials)]]></description>
			<content:encoded><![CDATA[<ul class="delicious">
<li>
<div class="delicious-link"><a href="http://www.michaelminella.com/testing/unit-testing-with-junit-and-easymock.html">Unit testing with JUnit and EasyMock - Michael Minella</a></div>
<div class="delicious-tags">(tags: <a href="http://delicious.com/vtecinc/testing">testing</a> <a href="http://delicious.com/vtecinc/java">java</a> <a href="http://delicious.com/vtecinc/mock">mock</a> <a href="http://delicious.com/vtecinc/easymock">easymock</a> <a href="http://delicious.com/vtecinc/tdd">tdd</a> <a href="http://delicious.com/vtecinc/tutorials">tutorials</a>)</div>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.dugthawts.com/?feed=rss2&amp;p=596</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
