<?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>Javatech &#187; Uncategorized</title>
	<atom:link href="http://javatech.org/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://javatech.org</link>
	<description>The Bleeding Edge of Java Technology</description>
	<lastBuildDate>Wed, 24 Jun 2009 22:30:48 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Hadoop Explained</title>
		<link>http://javatech.org/2009/06/hadoop-explained/</link>
		<comments>http://javatech.org/2009/06/hadoop-explained/#comments</comments>
		<pubDate>Sun, 21 Jun 2009 07:10:21 +0000</pubDate>
		<dc:creator>deevis</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[hadoop cloud]]></category>

		<guid isPermaLink="false">http://javatech.org/2009/06/hadoop-explained/</guid>
		<description><![CDATA[
Cloudera Hadoop Training: Programming with Hadoop from Cloudera on Vimeo.
]]></description>
			<content:encoded><![CDATA[<p><object width="400" height="300"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=3584610&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=3584610&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"></embed></object>
<p><a href="http://vimeo.com/3584610">Cloudera Hadoop Training: Programming with Hadoop</a> from <a href="http://vimeo.com/cloudera">Cloudera</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://javatech.org/2009/06/hadoop-explained/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Amazon Cloud</title>
		<link>http://javatech.org/2009/06/amazon-cloud/</link>
		<comments>http://javatech.org/2009/06/amazon-cloud/#comments</comments>
		<pubDate>Fri, 19 Jun 2009 05:41:03 +0000</pubDate>
		<dc:creator>deevis</dc:creator>
				<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[aws]]></category>
		<category><![CDATA[ec2]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[s3]]></category>

		<guid isPermaLink="false">http://javatech.org/2009/06/amazon-cloud/</guid>
		<description><![CDATA[WHEN YOU TERMINATE AN EC2 INSTANCE, IT'S LIKE YOU STUFFED THE CASE WITH TNT AND THREW IT INTO A CAMPFIRE.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been playing around with a Fedora system out in EC2 of late.  It&#8217;s pretty darn cool and I&#8217;ve got my system almost ready to start playing around seriously.  What this means is that I&#8217;ve got enough stuff installed on it to stop playing the install game.<br />
Being the type to optimize everything, I&#8217;m trying to get my system configured in the least amount of uptime.  So, I&#8217;ll have it up for an hour or two when I have a chance to work on it, and then if I make any good progress I&#8217;ll snap a new AMI and startup from this new AMI when I pick up the next time.<br />
It&#8217;s my first time using Fedora and I&#8217;m getting used to things being different from my comfort zone &#8211; Ubuntu.<br />
The first big difference is that &#8216;apt-get&#8217; doesn&#8217;t exist in Fedora.  But it does have an analog called &#8216;yum&#8217;.<br />
To install mysql on Fedora I simply ran:<br />
<strong>yum install mysql-server mysql</strong></p>
<p>To get apache web server with php/mysql support installed I just ran:<br />
<strong>yum install httpd php-mysql</strong><br />
This is every bit as easy as apt-get.  Making some really good progess.  So, the first time around I terminate the instance and figure I&#8217;ll pick up where I&#8217;ve left off.<br />
The next time when I come back to the AWS console &#8211; my instance isn&#8217;t there for me to restart.  Now, here&#8217;s the thing with the EC2 server instances :</p>
<p><strong>WHEN YOU TERMINATE AN EC2 INSTANCE, IT&#8217;S LIKE YOU STUFFED THE CASE WITH TNT AND THREW IT INTO A CAMPFIRE.</strong></p>
<p>That&#8217;s right, terminate doesn&#8217;t mean power-down.  It means obliterate.  Anything on the drives is G-O-N-E.  It is no more &#8211; it&#8217;s an ex-instance.</p>
<p>That was rather eye-opening.  So, back to the drawing board and this time, to be safe, I made sure to pick an AMI with EC2 utilities installed on it already.    I installed my software on the instance and this time even registered the services to startup automatically.<br />
<strong>service mysql start<br />
service httpd start<br />
</strong>I restarted the instance and tested that it came back up with apache and mysql running &#8211; it did.  Good enough &#8211; it was time to save this instance as an AMI into one of my S3 buckets.   After a bit of finagling I found the correct couple of incantations.<br />
<strong>ec2-bundle-vol &#8211;cert publicCert &#8211;privatekey privatePem &#8211;user awsAccountNumber</strong><br />
The above command will create an imageManifestXml which you&#8217;ll use in the following statement:<br />
<strong>ec2-upload-bundle &#8211;bucket s3BucketName &#8211;accessKey awsAccessKey &#8211;secretKey awsSecretKey &#8211;manifest imageManifestXml</strong></p>
<p>This took maybe ten minutes to run both of the above, but afterwards I had new starting point AMI to use &#8211; in theory at least&#8230;</p>
<p>I double checked everything by starting another instance ( before shutting down the good one ) with the new AMI and making sure that it passed snuff &#8211; which it did.  I shut down both instances and retired for the night &#8211; all of this to save 10 cents an hour.  But more importantly it is to understand the process.  No, it&#8217;s the money <img src='http://javatech.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
This virtualization stuff is really powerful &#8211; I&#8217;ll write some more on mounting Volumes and using existing Snapshots of open-sourced datasets soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://javatech.org/2009/06/amazon-cloud/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Prototype, JQuery and JQueryUI</title>
		<link>http://javatech.org/2009/02/prototype-jquery-and-jqueryui/</link>
		<comments>http://javatech.org/2009/02/prototype-jquery-and-jqueryui/#comments</comments>
		<pubDate>Wed, 18 Feb 2009 07:51:06 +0000</pubDate>
		<dc:creator>deevis</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[prototype]]></category>

		<guid isPermaLink="false">http://javatech.org/2009/02/18/prototype-jquery-and-jqueryui/</guid>
		<description><![CDATA[We&#8217;ve switched over to using JQuery from Prototype at my current employer.  We&#8217;d previously used Prototype-1.5 for a long time and had a lot of dependencies to it.  When we first started using JQuery it was version 1.1.3.1.  There was no JQueryUI at that time.
So, we currently use JQuery-1.2.6 and JQueryUI-1.6rc2 and I really like [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve switched over to using JQuery from Prototype at my current employer.  We&#8217;d previously used Prototype-1.5 for a long time and had a lot of dependencies to it.  When we first started using JQuery it was version 1.1.3.1.  There was no JQueryUI at that time.</p>
<p>So, we currently use JQuery-1.2.6 and JQueryUI-1.6rc2 and I really like them a lot.  Oh yeah, we still have Prototype in the mix and it&#8217;s version 1.6 ( which is lots better than 1.5 ).</p>
<p>I recently, however, had issues with attempting to port new code back to a previous install.  The new code was using JQueryUI, and the old code was on Prototype 1.5 and JQuery 1.1.3.1.  Well &#8211; it took me a while to figure this out ( and I mentioned it already above ), but there is NO JQueryUI version compatible with JQuery-1.1.3.1.  It wasn&#8217;t created until the 1.2.x branches of JQuery.</p>
<p>So &#8211; here&#8217;s the compatibility matrix for Prototype, JQuery and JQueryUI for any of you who care:</p>
<table border="0">
<tbody>
<tr>
<th>Prototype</th>
<th>JQuery</th>
<th>JQueryUI</th>
</tr>
<tr>
<td>1.5</td>
<td>1.1.3.1</td>
<td>&#8212;-</td>
</tr>
<tr>
<td>1.6</td>
<td>1.2.6</td>
<td>1.5.3</td>
</tr>
<tr>
<td>1.6</td>
<td>1.3+</td>
<td>1.6rc6</td>
</tr>
<tr>
<td>1.6.0.2</td>
<td>1.3.2</td>
<td>1.7</td>
</tr>
</tbody>
</table>
<p>Ciao.</p>
]]></content:encoded>
			<wfw:commentRss>http://javatech.org/2009/02/prototype-jquery-and-jqueryui/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ArrayList vs Vector</title>
		<link>http://javatech.org/2008/03/arraylist-vs-vector/</link>
		<comments>http://javatech.org/2008/03/arraylist-vs-vector/#comments</comments>
		<pubDate>Tue, 18 Mar 2008 14:15:06 +0000</pubDate>
		<dc:creator>deevis</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://javatech.org/2008/03/18/arraylist-vs-vector/</guid>
		<description><![CDATA[I&#8217;ve done some more work on the ArrayList vs Vector performance issue.  The post below originally stated that Vector would/could outperform ArrayList even though it is synchronized while ArrayList is not.  Well, in digging deeper into the issue, I&#8221;ve determined that there is a problem with the benchmarking framework being used.  I ran a very [...]]]></description>
			<content:encoded><![CDATA[<p><span style="color: red"><em>I&#8217;ve done some more work on the ArrayList vs Vector performance issue.  The post below originally stated that Vector would/could outperform ArrayList even though it is synchronized while ArrayList is not.  Well, in digging deeper into the issue, I&#8221;ve determined that there is a problem with the benchmarking framework being used.  I ran a very simple test with ArrayList and Vector to look at performance of add() and contains() methods and have determined that:</em></p>
<p><em>ArrayList.add() is 13% faster than Vector.add()</em></p>
<p><em>ArrayList.contains() is 3% faster than Vector.contains()</em></p>
<p><em>Now I need to identify the problem with the benchmark framework. </em><br />
</span><br />
I&#8217;ve been surprised of late in my Unique Collection Building benchmarks that TreeSet was outperformed by ArrayList.  One reason this could happen would be due to the nature of the dataset being processed and the data set I had contained many items with the first 20 characters or so being the same.  You know, lots of entries starting with &#8220;/WEB-INF/javascript&#8221; perhaps.  This would have made the TreeSets comparisons in deciding ordering more costly.</p>
<p>So, now I run the test again but with Vector thrown into the mix and the Strings are all 40 characters long and very, very random.  The odds of differing after 2 or 3 characters are now very high.</p>
<p>TreeSet should do much better.</p>
<p>But how will Vector fair?</p>
<p>You probably know as well as I do that ArrayList is the faster, unsynchronized option to Vector ( much like using StringBuilder instead of StringBuffer ).  But how much faster is ArrayList?  Here are the results:</p>
<p><a href="http://javatech.org/wp-content/uploads/2008/03/building_unique_collection_of_random-generated_40_character_strings_-_every_element_appears_twice_2008_03_18__01_15_am.png" title="building_unique_collection_of_random-generated_40_character_strings_-_every_element_appears_twice_2008_03_18__01_15_am.png"><img src="http://javatech.org/wp-content/uploads/2008/03/building_unique_collection_of_random-generated_40_character_strings_-_every_element_appears_twice_2008_03_18__01_15_am.png" alt="building_unique_collection_of_random-generated_40_character_strings_-_every_element_appears_twice_2008_03_18__01_15_am.png" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://javatech.org/2008/03/arraylist-vs-vector/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>More on Autoboxing</title>
		<link>http://javatech.org/2008/03/more-on-autoboxing/</link>
		<comments>http://javatech.org/2008/03/more-on-autoboxing/#comments</comments>
		<pubDate>Mon, 17 Mar 2008 05:31:31 +0000</pubDate>
		<dc:creator>deevis</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://javatech.org/2008/03/17/more-on-autoboxing/</guid>
		<description><![CDATA[I recently did a benchmark on Autoboxing where I determined that Autoboxing cost about 15 nanoseconds.  Well, then I got to thinking that I&#8217;d written that test to work with int/Integer datatypes.  But what about the other types?  Today I add Boolean, Float, Double and Long into the mix.
To cut to the [...]]]></description>
			<content:encoded><![CDATA[<p>I recently did a <a href="http://javatech.org/2008/03/15/the-cost-of-autoboxing/">benchmark on Autoboxing</a> where I determined that Autoboxing cost about 15 nanoseconds.  Well, then I got to thinking that I&#8217;d written that test to work with int/Integer datatypes.  But what about the other types?  Today I add Boolean, Float, Double and Long into the mix.</p>
<p>To cut to the chase, I&#8217;ll first tell you the cost of Autoboxing these types.</p>
<p>Boolean: 1/1 nanoseconds</p>
<p>Integer: 15/17 nanoseconds</p>
<p>Float: 19/19 nanoseconds</p>
<p>Double: 22/24 nanoseconds</p>
<p>Long: 30/40 nanoseconds</p>
<p>The two numbers are the results for Half and Full Boxing.  Half Boxing is going one way from either primitive to Object or Object to primitive.  Full Boxing is a full round trip going primitive to Object and back to primitive.  So, for the Long results it takes 30 nanoseconds to Half Box (one way) while it takes 40 nanoseconds to Full Box ( round trip ).</p>
<p>So, the underlying datatype&#8217;s size seems to directly impact the cost of the Autoboxing.  I&#8217;ll be doing more tests with other types shortly.  Here are the charts from the Boolean and Long trials.</p>
<p><a href="http://javatech.org/wp-content/uploads/2008/03/java_boolean_autoboxing_2008_03_16__11_21_pm.png" title="java_boolean_autoboxing_2008_03_16__11_21_pm.png">Boolean Autoboxing Results</a></p>
<p><a href="http://javatech.org/wp-content/uploads/2008/03/java_integer_autoboxing_2008_03_16__10_50_pm.png" title="java_integer_autoboxing_2008_03_16__10_50_pm.png">Integer Autoboxing Results</a></p>
<p><a href="http://javatech.org/wp-content/uploads/2008/03/java_float_autoboxing_2008_03_16__11_55_pm.png" title="java_float_autoboxing_2008_03_16__11_55_pm.png">Float Autoboxing Results</a></p>
<p><a href="http://javatech.org/wp-content/uploads/2008/03/java_double_autoboxing_2008_03_16__11_51_pm.png" title="java_double_autoboxing_2008_03_16__11_51_pm.png">Double Autoboxing Results</a></p>
<p><a href="http://javatech.org/wp-content/uploads/2008/03/java_long_autoboxing_2008_03_16__10_56_pm.png" title="java_long_autoboxing_2008_03_16__10_56_pm.png">Long Autoboxing Results</a></p>
]]></content:encoded>
			<wfw:commentRss>http://javatech.org/2008/03/more-on-autoboxing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The cost of Autoboxing</title>
		<link>http://javatech.org/2008/03/the-cost-of-autoboxing/</link>
		<comments>http://javatech.org/2008/03/the-cost-of-autoboxing/#comments</comments>
		<pubDate>Sat, 15 Mar 2008 06:36:52 +0000</pubDate>
		<dc:creator>deevis</dc:creator>
				<category><![CDATA[Benchmarks]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://javatech.org/2008/03/15/the-cost-of-autoboxing/</guid>
		<description><![CDATA[Simple question: How expensive is autoboxing of int/Integer types?
Simple answer: 15 nanoseconds per boxing.
No autoboxing ( ints only )
[source:java]
	public void runInternalTrial() throws Exception {
		int i = getRandomWithoutAutobox();
	}
	public int getRandomWithoutAutobox() {
		return rnd.nextInt(1000);
	}
[/source]
Autoboxing
[source:java]
	public void runInternalTrial() throws Exception {
		int i = getRandom();
	}
	// Will Autobox an int to an Integer&#8230;
	public Integer getRandom() {
		return rnd.nextInt(1000);
	}
[/source]
Note that the Autoboxing example has [...]]]></description>
			<content:encoded><![CDATA[<p>Simple question: How expensive is autoboxing of int/Integer types?<br />
Simple answer: 15 nanoseconds per boxing.</p>
<p><b>No autoboxing ( ints only )</b><br />
[source:java]<br />
	public void runInternalTrial() throws Exception {<br />
		int i = getRandomWithoutAutobox();<br />
	}</p>
<p>	public int getRandomWithoutAutobox() {<br />
		return rnd.nextInt(1000);<br />
	}<br />
[/source]<br />
<b>Autoboxing</b><br />
[source:java]<br />
	public void runInternalTrial() throws Exception {<br />
		int i = getRandom();<br />
	}</p>
<p>	// Will Autobox an int to an Integer&#8230;<br />
	public Integer getRandom() {<br />
		return rnd.nextInt(1000);<br />
	}<br />
[/source]<br />
Note that the Autoboxing example has to Autobox the value returned by getRandom to an Integer and then the caller has to then unbox this back to an int primitive.  The two examples for HalfBoxing are simply Autoboxing and then not unboxing back to an int.  Here are the results:<br />
<a href='http://javatech.org/wp-content/uploads/2008/03/java_autoboxing_2008_03_12__02_07_am.png' title='java_autoboxing_2008_03_12__02_07_am.png'><img src='http://javatech.org/wp-content/uploads/2008/03/java_autoboxing_2008_03_12__02_07_am.thumbnail.png' alt='java_autoboxing_2008_03_12__02_07_am.png' /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://javatech.org/2008/03/the-cost-of-autoboxing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JVM Comparison and Java Optimization Myths</title>
		<link>http://javatech.org/2008/03/jvm-comparison-and-java-optimization-myths/</link>
		<comments>http://javatech.org/2008/03/jvm-comparison-and-java-optimization-myths/#comments</comments>
		<pubDate>Sat, 15 Mar 2008 04:18:19 +0000</pubDate>
		<dc:creator>deevis</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://javatech.org/?p=40</guid>
		<description><![CDATA[Here&#8217;s a fairly comprehensive overview of 6 performance related myths as they relate to 7 different JVMs.  I now feel safer running with try/catch blocks and with synchronization.  We&#8217;ll be running our own benchmarks on these and the results will be up pretty soon.  Here&#8217;s the link to the paper.
]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a fairly comprehensive overview of 6 performance related myths as they relate to 7 different JVMs.  I now feel safer running with try/catch blocks and with synchronization.  We&#8217;ll be running our own benchmarks on these and the results will be up pretty soon.  Here&#8217;s the <a href="http://www.scribd.com/doc/248581/Java-Tech-Performance-Myths">link to the paper</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://javatech.org/2008/03/jvm-comparison-and-java-optimization-myths/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JBoss Seam Presentation</title>
		<link>http://javatech.org/2007/11/jboss-seam-presentation/</link>
		<comments>http://javatech.org/2007/11/jboss-seam-presentation/#comments</comments>
		<pubDate>Thu, 15 Nov 2007 23:08:41 +0000</pubDate>
		<dc:creator>deevis</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://javatech.org/?p=20</guid>
		<description><![CDATA[ Seam is a must learn technology &#8211; check it out. 








clipped from www.theserverside.com





In this presentation, recorded at the recent Grails Exchange event in London, organized by Skills Matter, Christian Bauer discusses how JBoss Seam simplifies the handling of stateful conversations, multi-window operations and concurrent, fine-grained Ajax requests.  He also shows how Seam unifies [...]]]></description>
			<content:encoded><![CDATA[<div > Seam is a must learn technology &#8211; check it out. </div>
<table cellpadding="0" cellspacing="0" width="100%" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;">
<tr>
<td valign="top">
<table cellpadding="0" cellspacing="0" width="100%" class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;">
<tr>
<td valign="top">
<table cellpadding="0" cellspacing="0" width="100%" style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;">
<tr>
<td valign="top"><a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"><img src="http://content.clipmarks.com/blog_icon/ff77e9d2-5a35-4a49-9b78-211c2162adef/8F91C87C-C375-4D8B-99AD-189A0EC5FE9F/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /></a>clipped from <a title="http://www.theserverside.com/news/thread.tss?thread_id=47490" href="http://www.theserverside.com/news/thread.tss?thread_id=47490" style="font-size: 11px;">www.theserverside.com</a></td>
</tr>
</table>
<table cellpadding="0" cellspacing="0" width="100%" style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;">
<tr>
<td valign="top"><!-- CLIPPED FROM: http://www.theserverside.com/news/thread.tss?thread_id=47490 -->
<div>In this presentation, recorded at the recent Grails Exchange event in London, organized by <a href="http://www.skillsmatter.com/">Skills Matter</a>, Christian Bauer discusses how JBoss Seam simplifies the handling of stateful conversations, multi-window operations and concurrent, fine-grained Ajax requests.  He also shows how Seam unifies and integrates popular open source technologies like Facelets, Hibernate, jBPM, Drools, Groovy, iText and Lucene. </div>
</td>
</tr>
</table>
<div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"></div>
<table cellpadding="0" cellspacing="0" width="100%" style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;">
<tr>
<td valign="top"><!-- CLIPPED FROM: http://www.theserverside.com/news/thread.tss?thread_id=47490 -->
<div align="center"><embed src="http://video.google.com/googleplayer.swf?docid=1030919232322118868" height="329" width="400" wmode="opaque" quality="high" flashvars="" type="application/x-shockwave-flash"></embed></div>
</td>
</tr>
</table>
</td>
</tr>
</table>
<div style="margin: 0px 6px 6px 4px;">
<table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="background:transparent;border-width:0px;padding:0px;">&nbsp;</td>
<td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"><a href="http://clipmarks.com/share/8F91C87C-C375-4D8B-99AD-189A0EC5FE9F/blog/" title="blog or email this clip"><img src="http://content58022.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /></a></td>
</tr>
</table>
</div>
</td>
</tr>
</table>
]]></content:encoded>
			<wfw:commentRss>http://javatech.org/2007/11/jboss-seam-presentation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using Patterns to Suppliment your Spring Configuration</title>
		<link>http://javatech.org/2007/11/using-patterns-to-suppliment-your-spring-configuration/</link>
		<comments>http://javatech.org/2007/11/using-patterns-to-suppliment-your-spring-configuration/#comments</comments>
		<pubDate>Thu, 15 Nov 2007 17:24:58 +0000</pubDate>
		<dc:creator>corbix</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://javatech.org/?p=19</guid>
		<description><![CDATA[Your Spring configuration probably consists of one or more well know XML files which are loaded by name. Have you ever wanted to override something without having to touch your base configuration? Here&#8217;s what we do. After we load our base configuration we use a pattern to load any XML files which exist in a [...]]]></description>
			<content:encoded><![CDATA[<p>Your Spring configuration probably consists of one or more well know XML files which are loaded by name. Have you ever wanted to override something without having to touch your base configuration? Here&#8217;s what we do. After we load our base configuration we use a pattern to load any XML files which exist in a specific &#8220;configuration-override&#8221; directory. In most cases the directory is empty and just the base configuration is loaded. When we want to override a particular bean we just place a file in the override directory.Here&#8217;s a clip from the Spring API docs:</p>
<table cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top">
<table cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top">
<table cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top"><a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"><img src="http://content.clipmarks.com/blog_icon/b13b2e88-8f64-407c-992f-d8235dfe4978/75B0FCF3-E8E9-4248-B600-031B6949D0BB/" border="0" height="19" width="19" /></a>clipped from <a href="http://static.springframework.org/spring/docs/2.0.x/reference/resources.html" title="http://static.springframework.org/spring/docs/2.0.x/reference/resources.html">static.springframework.org</a></td>
</tr>
</table>
<table cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top"><!-- CLIPPED FROM: http://static.springframework.org/spring/docs/2.0.x/reference/resources.html --></p>
<p><h4>4.7.2.1. Ant-style Patterns</h4>
<p>When the path location contains an Ant-style pattern, for example:</p>
<pre>     /WEB-INF/*-context.xml
     com/mycompany/**/applicationContext.xml
     file:C:/some/path/*-context.xml
     classpath:com/mycompany/**/applicationContext.xml</pre>
<h4></h4>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
]]></content:encoded>
			<wfw:commentRss>http://javatech.org/2007/11/using-patterns-to-suppliment-your-spring-configuration/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Integrating Google Earth with a Java webapp</title>
		<link>http://javatech.org/2007/11/integrating-google-earth-with-a-java-webapp/</link>
		<comments>http://javatech.org/2007/11/integrating-google-earth-with-a-java-webapp/#comments</comments>
		<pubDate>Sun, 11 Nov 2007 07:51:17 +0000</pubDate>
		<dc:creator>deevis</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://javatech.org/?p=15</guid>
		<description><![CDATA[I did this at work the other day and thought I&#8217;d give the broad sweeping overview here should else want to do it.  It&#8217;s not too bad after all&#8217;s said and done ( and sifted through&#8230; ).  Here&#8217;s the quick and easy:
1) Add these mimetypes in web.xml:


application/vnd.google-earth.kml+xml
kml


application/vnd.google-earth.kmz
kmz


2) You&#8217;ll want to write back KML [...]]]></description>
			<content:encoded><![CDATA[<p>I did this at work the other day and thought I&#8217;d give the broad sweeping overview here should else want to do it.  It&#8217;s not too bad after all&#8217;s said and done ( and sifted through&#8230; ).  Here&#8217;s the quick and easy:</p>
<p>1) Add these mimetypes in web.xml:<br />
<code><br />
<mime-mapping><br />
<mime-type>application/vnd.google-earth.kml+xml</mime-type><br />
<extension>kml</extension><br />
</mime-mapping><br />
<mime-mapping><br />
<mime-type>application/vnd.google-earth.kmz</mime-type><br />
<extension>kmz</extension><br />
</mime-mapping><br />
</code><br />
2) You&#8217;ll want to write back KML ( a flavor of XML ) with a content-type of &#8220;application/vnd.google-earth.kml+xml&#8221;:</p>
<p>response.setContentType(&#8221;application/vnd.google-earth.kml+xml&#8221;);</p>
<p>3) Make sure you give the stream a default filename that ends in .kml or else GoogleEarth won&#8217;t actually process the file.</p>
<p>response.setHeader(&#8221;Content-Disposition&#8221;, &#8220;attachment; filename=&#8221; + filename + &#8220;.kml&#8221;);</p>
<p>That&#8217;s really a 40,000 foot view of the process.  Here&#8217;s <a href="http://code.google.com/apis/kml/documentation/kml_tut.html">Google&#8217;s KML Tutorial</a> so you can learn more.</p>
]]></content:encoded>
			<wfw:commentRss>http://javatech.org/2007/11/integrating-google-earth-with-a-java-webapp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
