<?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>Casey Watson &#187; Java</title>
	<atom:link href="http://casedogdesigns.com/wordpress/category/java/feed/" rel="self" type="application/rss+xml" />
	<link>http://casedogdesigns.com/wordpress</link>
	<description>Outdated Thoughts</description>
	<lastBuildDate>Tue, 01 Dec 2009 22:08:09 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Code Duplication</title>
		<link>http://casedogdesigns.com/wordpress/code-duplication/</link>
		<comments>http://casedogdesigns.com/wordpress/code-duplication/#comments</comments>
		<pubDate>Wed, 19 Mar 2008 05:45:57 +0000</pubDate>
		<dc:creator>Casey</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://casedogdesigns.com/wordpress/code-duplication/</guid>
		<description><![CDATA[A while ago I fixed some obscure bugs in one of the search results pages of an enterprise application that I work on. I spent about four hours of focused development time refactoring and cleaning up some of the logic that handles the rendering and paging of the results. The new code worked well.
A couple [...]]]></description>
			<content:encoded><![CDATA[<p>A while ago I fixed some obscure bugs in one of the search results pages of an enterprise application that I work on. I spent about four hours of focused development time refactoring and cleaning up some of the logic that handles the rendering and paging of the results. The new code worked well.</p>
<p>A couple of weeks later I found myself bug squashing on another search results page. As I dove into the code, I found a nagging sense of deja vu. This page had the same logic errors and mistakes as the page I had worked on weeks earlier. I found myself fixing the same bugs and performing the exact same refactorings as I had before.</p>
<p>I became more frustrated as I realized that the original author had copied all of the logic from the original page. Rather than extracting the common functionality to a reusable location, he took the lazy approach with copy and paste.</p>
<p>This kind of mistake is expensive. By duplicating the code, the cost of maintenance has doubled. Bugs must now be fixed in both places. Merging the common logic after the fact is more difficult than it would have been initially.</p>
<p>We have these wonderful object oriented languages. There are many ways to reuse code. Some of the following come to mind:</p>
<ul>
<li>Two subclasses can share common functionality in a parent class.</li>
<li>Duplicated code can be moved into it&#8217;s own class. This can be done in a concrete class or via a static utility class.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://casedogdesigns.com/wordpress/code-duplication/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Guest Post: Eclipse 3.3.2 and DBEdit</title>
		<link>http://casedogdesigns.com/wordpress/guest-post-eclipse-332-and-dbedit/</link>
		<comments>http://casedogdesigns.com/wordpress/guest-post-eclipse-332-and-dbedit/#comments</comments>
		<pubDate>Fri, 07 Mar 2008 17:52:56 +0000</pubDate>
		<dc:creator>tstone</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://casedogdesigns.com/wordpress/?p=18</guid>
		<description><![CDATA[On Tuesday, Eclipse told me it had updates (3.3.2) available.  For the
next three days I got 404/503 errors from the mirror sites it tried to
use.  I finally got it updated today and learned that they fixed
whatever was keeping DBEdit from working.  So if Eclipse&#8217;s Database
Development views annoy you as much as me, [...]]]></description>
			<content:encoded><![CDATA[<p>On Tuesday, Eclipse told me it had updates (3.3.2) available.  For the<br />
next three days I got 404/503 errors from the mirror sites it tried to<br />
use.  I finally got it updated today and learned that they fixed<br />
whatever was keeping DBEdit from working.  So if Eclipse&#8217;s Database<br />
Development views annoy you as much as me, upgrade when you get a<br />
chance.<br />
<span id="more-18"></span><br />
The difference between DBEdit and Eclipse&#8217;s take is quite telling.  The<br />
Eclipse one tends to information overload, showing you every possible<br />
facet of the database you might want to look into.  DBEdit tends to ease<br />
<strike> of</strike> use, making it easy to query and edit the contents of tables.<br />
Navigating to a table in Eclipse requires right-click-to-connect, then<br />
about seven levels of tree expansion.</p>
<p>DBEdit connects on double click and then provides tables at most three<br />
levels deep.  You can double click on a table to see the data in the<br />
table and can browse all the data.  You don&#8217;t have to switch between<br />
tabs after running every query.  It doesn&#8217;t prompt you to save your SQL<br />
queries when you run a program.  DBEdit is a good example of<br />
user-centered design.  Focus on a specific problem (examining database<br />
contents) and make it easy for the user to solve that problem.<br />
Eclipse&#8217;s database tools are an example of model-focused design.  Figure<br />
out all of the parts of the domain and create a user interface that<br />
follows that model.  I&#8217;m sure there are things that the Database<br />
Development perspective can do that DBEdit can&#8217;t, but those are things I<br />
usually don&#8217;t want to do.</p>
<p>(Caveat: I haven&#8217;t played with Database Development Tools in 3.3.2, so<br />
some of the UI quirks may have improved.  But the interface<br />
fundamentally makes it hard for me to do what I usually want to do.)</p>
]]></content:encoded>
			<wfw:commentRss>http://casedogdesigns.com/wordpress/guest-post-eclipse-332-and-dbedit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java 6 in Ubuntu, The Right Way</title>
		<link>http://casedogdesigns.com/wordpress/java-6-in-ubuntu-the-right-way/</link>
		<comments>http://casedogdesigns.com/wordpress/java-6-in-ubuntu-the-right-way/#comments</comments>
		<pubDate>Thu, 31 May 2007 06:09:34 +0000</pubDate>
		<dc:creator>Casey</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://cd2/wordpress/?p=13</guid>
		<description><![CDATA[Ubuntu has made it extremely easy to install the Sun Java Development Environment. This is good, because the default java-gcj is very slow.
First install the package with: sudo apt-get install sun-java6-jdk
That may take a while since the package is 125MB. Once it is installed, you still need to make it the default:
sudo update-java-alternatives -s java-6-sun
]]></description>
			<content:encoded><![CDATA[<p>Ubuntu has made it extremely easy to install the Sun Java Development Environment. This is good, because the default java-gcj is very slow.</p>
<p>First install the package with: <strong>sudo apt-get install sun-java6-jdk</strong></p>
<p>That may take a while since the package is 125MB. Once it is installed, you still need to make it the default:</p>
<p><strong>sudo update-java-alternatives -s java-6-sun</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://casedogdesigns.com/wordpress/java-6-in-ubuntu-the-right-way/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
