<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Gotham Canuk</title>
	<atom:link href="http://shawngandhi.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://shawngandhi.wordpress.com</link>
	<description></description>
	<lastBuildDate>Wed, 28 Sep 2011 04:04:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='shawngandhi.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Gotham Canuk</title>
		<link>http://shawngandhi.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://shawngandhi.wordpress.com/osd.xml" title="Gotham Canuk" />
	<atom:link rel='hub' href='http://shawngandhi.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Kevin Kelly @ First HPC/Cloud Computing SIG</title>
		<link>http://shawngandhi.wordpress.com/2010/01/19/kevin-kelly-first-hpccloud-computing-sig/</link>
		<comments>http://shawngandhi.wordpress.com/2010/01/19/kevin-kelly-first-hpccloud-computing-sig/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 03:25:26 +0000</pubDate>
		<dc:creator>shawngandhi</dc:creator>
				<category><![CDATA[Finance]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Lab49]]></category>
		<category><![CDATA[NY Java SIG]]></category>
		<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Liquidnet]]></category>
		<category><![CDATA[High Performance Computing]]></category>
		<category><![CDATA[Kevin Kelly]]></category>
		<category><![CDATA[HPC/Cloud Computing SIG]]></category>
		<category><![CDATA[Amazon Web Services]]></category>
		<category><![CDATA[Animoto]]></category>
		<category><![CDATA[Market Replay]]></category>
		<category><![CDATA[S3]]></category>

		<guid isPermaLink="false">http://shawngandhi.wordpress.com/?p=248</guid>
		<description><![CDATA[Last week was the first meeting of the HPC/Cloud Computing workshop, hosted by Lab49 and Liquidnet. Changing from the typical NY Java SIG format, this new workshop was a bit of an experiment. We limited the attendance to foster a more discussion-oriented workshop. I&#8217;m sure everyone in attendance would agree it was a great formula and a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=shawngandhi.wordpress.com&amp;blog=7273831&amp;post=248&amp;subd=shawngandhi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Last week was the first meeting of the HPC/Cloud Computing workshop, hosted by <a href="http://www.lab49.com">Lab49 </a>and <a href="http://www.liquidnet.com/">Liquidnet</a>.</p>
<p>Changing from the typical <a href="http://www.nyjavasig.com">NY Java SIG</a> format, this new workshop was a bit of an experiment. We limited the attendance to foster a more discussion-oriented workshop. I&#8217;m sure everyone in attendance would agree it was a great formula and a welcomed change from large seminar-styled approach. I asked Kevin Kelly from <a href="http://aws.amazon.com/">Amazon Web Services</a> come to town and give the membership an introduction to Cloud Computing.</p>
<div id="attachment_249" class="wp-caption aligncenter" style="width: 310px"><a href="http://shawngandhi.files.wordpress.com/2010/01/dscn4460.jpg"><img class="size-medium wp-image-249" title="DSCN4460" src="http://shawngandhi.files.wordpress.com/2010/01/dscn4460.jpg?w=300&#038;h=225" alt="" width="300" height="225" /></a><p class="wp-caption-text">Kevin Kelly on Cloud Computing</p></div>
<p>Once he got the basics out of the way, we got into some of the technology and business use-cases. One of my favorite&#8217;s was <a href="http://animoto.com/">animoto</a>, a -very- cool startup who&#8217;s strategy was to rely 100% on the cloud. No local data center what-so-ever. On the other extreme, there&#8217;s the well known bio-tech company Eli Lilly who&#8217;s trimmed their time-to-market and reduced capex by conducting protein and genome workflow experiements in the cloud.</p>
<p>On the financial front, Nasdaq pushes heaps of data to <a href="https://s3.amazonaws.com/">S3</a>, allowing their <a href="https://data.nasdaq.com/MR.aspx">Market Replay</a> tool to play-back and analyze historical market events with milli-second precision. A great way to warehouse data without having to provision for peaks in the market.</p>
<p style="text-align:center;"><a href="http://shawngandhi.files.wordpress.com/2010/01/dscn44622.jpg"><img class="size-medium wp-image-252  aligncenter" title="DSCN4462" src="http://shawngandhi.files.wordpress.com/2010/01/dscn44622.jpg?w=300&#038;h=225" alt="" width="300" height="225" /></a></p>
<p>Towards the end, we went over some look-fors when choosing a cloud solution. This included geographic redundancy/failover, availability zones,  synchronization, licensing, and data center augmentation. After a long round of questions, we finally had to put it a stop to the show and went for a <a href="http://www.stitchnyc.com/">drink</a>.</p>
<p>Overall, I&#8217;d say it was great workshop. I&#8217;m already planning the next one &#8212; likely something a little more &#8220;hands-on&#8221; and in the grid domain. Stay tuned&#8230;.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/shawngandhi.wordpress.com/248/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/shawngandhi.wordpress.com/248/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/shawngandhi.wordpress.com/248/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/shawngandhi.wordpress.com/248/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/shawngandhi.wordpress.com/248/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/shawngandhi.wordpress.com/248/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/shawngandhi.wordpress.com/248/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/shawngandhi.wordpress.com/248/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/shawngandhi.wordpress.com/248/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/shawngandhi.wordpress.com/248/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/shawngandhi.wordpress.com/248/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/shawngandhi.wordpress.com/248/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/shawngandhi.wordpress.com/248/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/shawngandhi.wordpress.com/248/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=shawngandhi.wordpress.com&amp;blog=7273831&amp;post=248&amp;subd=shawngandhi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://shawngandhi.wordpress.com/2010/01/19/kevin-kelly-first-hpccloud-computing-sig/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/8810f6a94f0b61b20b534521e2b77786?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">shawngandhi</media:title>
		</media:content>

		<media:content url="http://shawngandhi.files.wordpress.com/2010/01/dscn4460.jpg?w=300" medium="image">
			<media:title type="html">DSCN4460</media:title>
		</media:content>

		<media:content url="http://shawngandhi.files.wordpress.com/2010/01/dscn44622.jpg?w=300" medium="image">
			<media:title type="html">DSCN4462</media:title>
		</media:content>
	</item>
		<item>
		<title>Introducing the HPC/Cloud Computing SIG</title>
		<link>http://shawngandhi.wordpress.com/2010/01/07/introducing-the-hpccloud-computing-sig/</link>
		<comments>http://shawngandhi.wordpress.com/2010/01/07/introducing-the-hpccloud-computing-sig/#comments</comments>
		<pubDate>Fri, 08 Jan 2010 00:10:39 +0000</pubDate>
		<dc:creator>shawngandhi</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Lab49]]></category>
		<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Liquidnet]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[HPC]]></category>
		<category><![CDATA[High Performance Computing]]></category>
		<category><![CDATA[Kevin Kelly]]></category>
		<category><![CDATA[HPC/Cloud Computing SIG]]></category>

		<guid isPermaLink="false">http://shawngandhi.wordpress.com/?p=244</guid>
		<description><![CDATA[I&#8217;ve been working with the NY Java SIG to create a more intimate SIG, specifically focused on HPC and Cloud Computing. I&#8217;ll be organizing meetings every other month, with talks from industry speakers on variety technologies and products entering these markets. I&#8217;m happy to say that the inaugural meeting will be next Tuesday, January 12th, hosted by Lab49 and Liquidnet at Liquidnet World Headquarters in midtown New York. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=shawngandhi.wordpress.com&amp;blog=7273831&amp;post=244&amp;subd=shawngandhi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been working with the NY Java SIG to create a more intimate SIG, specifically focused on HPC and Cloud Computing. I&#8217;ll be organizing meetings every other month, with talks from industry speakers on variety technologies and products entering these markets.</p>
<p>I&#8217;m happy to say that the inaugural meeting will be next Tuesday, January 12th, hosted by Lab49 and Liquidnet at Liquidnet World Headquarters in midtown New York. Our first speaker will be Kevin Kelly from Amazon Web Services.</p>
<p>Rather than an Amazon-centric presentation, Kevin will explain various aspects about the cloud and it&#8217;s technologies. He&#8217;ll cover various deployment scenarios that fit different business use cases. Looking to the future, he&#8217;ll explain some of the challenges that cloud computing has in the horizon.</p>
<p>The SIG is going for a more interactive and hands on feel in comparison to the general Java SIG. To keep an intimate atmosphere, registration will be limited to 50 people. Registration can be found <a href="http://http://www.javasig.com/meeting/show/25">here</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/shawngandhi.wordpress.com/244/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/shawngandhi.wordpress.com/244/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/shawngandhi.wordpress.com/244/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/shawngandhi.wordpress.com/244/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/shawngandhi.wordpress.com/244/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/shawngandhi.wordpress.com/244/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/shawngandhi.wordpress.com/244/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/shawngandhi.wordpress.com/244/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/shawngandhi.wordpress.com/244/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/shawngandhi.wordpress.com/244/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/shawngandhi.wordpress.com/244/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/shawngandhi.wordpress.com/244/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/shawngandhi.wordpress.com/244/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/shawngandhi.wordpress.com/244/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=shawngandhi.wordpress.com&amp;blog=7273831&amp;post=244&amp;subd=shawngandhi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://shawngandhi.wordpress.com/2010/01/07/introducing-the-hpccloud-computing-sig/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/8810f6a94f0b61b20b534521e2b77786?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">shawngandhi</media:title>
		</media:content>
	</item>
		<item>
		<title>Closures: They&#8217;re Baaaack&#8230;..</title>
		<link>http://shawngandhi.wordpress.com/2009/11/22/closures-theyre-baaaack/</link>
		<comments>http://shawngandhi.wordpress.com/2009/11/22/closures-theyre-baaaack/#comments</comments>
		<pubDate>Mon, 23 Nov 2009 03:23:36 +0000</pubDate>
		<dc:creator>shawngandhi</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[BGGA]]></category>
		<category><![CDATA[CICE]]></category>
		<category><![CDATA[Closures]]></category>
		<category><![CDATA[Devoxx]]></category>
		<category><![CDATA[European Commision]]></category>
		<category><![CDATA[FCM]]></category>
		<category><![CDATA[Java 7]]></category>

		<guid isPermaLink="false">http://shawngandhi.wordpress.com/?p=230</guid>
		<description><![CDATA[Rather than dwell over the European Commission&#8217;s anti-trust concerns, (namely the dichotomy of Sun&#8217;s open-source MySQL and Oracle&#8217;s enterprise database line-up under the same proverbial roof), Sun is forward-looking and busy re-shaping the future of Java. On Thursday, out of the cloudy Belgian sky, Mark Reinhold of Sun announced a tiny update to Java 7&#8242;s [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=shawngandhi.wordpress.com&amp;blog=7273831&amp;post=230&amp;subd=shawngandhi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Rather than dwell over the European Commission&#8217;s anti-trust concerns, (namely the dichotomy of Sun&#8217;s open-source MySQL and Oracle&#8217;s enterprise database line-up under the same proverbial roof), Sun is forward-looking and busy re-shaping the future of Java. On Thursday, out of the cloudy Belgian sky, Mark Reinhold of Sun announced a tiny update to Java 7&#8242;s windy roadmap: the re-instatement Closures. <span id="more-230"></span></p>
<p><strong>What&#8217;s a Closure?</strong> There&#8217;s some great sites that can explain in <a href="http://fishbowl.pastiche.org/2003/05/16/closures_and_java_a_tutorial/">detail</a>, but generally speaking it&#8217;s a block of code that you can pass to a function. So if you&#8217;re thinking about Java&#8217;s anonymous inner-class, you&#8217;re on the right track. But rather than <em>-only-</em> having access to final variables, the block of code holds a binding to the environment in which it was created, giving it access to all local variables in that scope. Also, an easy syntax plays a large role.</p>
<p><strong>What&#8217;s being proposed?</strong></p>
<p>From what I see, there are at least 3 main proposals of the much anticipated and slightly controversial feature:</p>
<ul>
<li><a href="http://www.javac.info/closures-v05.html">BGGA</a> &#8211; Seems to be the most popular; named after its 4 authors (including James Gosling); and not far off from what you see in Ruby</li>
<li><a href="http://www.jroller.com/scolebourne/entry/first_class_methods_java_style">FCM (First Class Methods)</a> &#8211; Seems the most similar to the one presented at DEVOXX &#8217;09</li>
<li><a href="http://docs.google.com/Doc.aspx?id=k73_1ggr36h">CICE (Concise Instance Creation Expressions)</a> &#8211; A lighter-weight and simpler syntax, authored by Doug Lea, Josh Bloch, and Bob Lee</li>
</ul>
<p>One thing I&#8217;ve noticed &#8212; they all use type-inferance and don&#8217;t require <strong>final</strong>. I&#8217;m not sure which flavor of closures will come out on top &#8211; but the last minute chaos created from shaking the boat is a welcomed sign of life at Sun.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/shawngandhi.wordpress.com/230/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/shawngandhi.wordpress.com/230/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/shawngandhi.wordpress.com/230/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/shawngandhi.wordpress.com/230/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/shawngandhi.wordpress.com/230/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/shawngandhi.wordpress.com/230/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/shawngandhi.wordpress.com/230/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/shawngandhi.wordpress.com/230/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/shawngandhi.wordpress.com/230/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/shawngandhi.wordpress.com/230/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/shawngandhi.wordpress.com/230/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/shawngandhi.wordpress.com/230/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/shawngandhi.wordpress.com/230/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/shawngandhi.wordpress.com/230/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=shawngandhi.wordpress.com&amp;blog=7273831&amp;post=230&amp;subd=shawngandhi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://shawngandhi.wordpress.com/2009/11/22/closures-theyre-baaaack/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/8810f6a94f0b61b20b534521e2b77786?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">shawngandhi</media:title>
		</media:content>
	</item>
		<item>
		<title>AWS Eclipse Toolkit @ NYJavaSIG</title>
		<link>http://shawngandhi.wordpress.com/2009/09/29/aws-eclipse-toolkit-nyjavasig/</link>
		<comments>http://shawngandhi.wordpress.com/2009/09/29/aws-eclipse-toolkit-nyjavasig/#comments</comments>
		<pubDate>Wed, 30 Sep 2009 00:13:40 +0000</pubDate>
		<dc:creator>shawngandhi</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[EC2]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://shawngandhi.wordpress.com/?p=220</guid>
		<description><![CDATA[At last week&#8217;s NY Java SIG, Kevin Kelly from EC2 Cloud Computing gave a demo of the AWS Developer Toolkit for Eclipse. If you missed it, you can see here how easy it is to use: It makes launching AMI&#8217;s, managing security groups, packing, deploying, and even remote debugging a breeze. And having it all from [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=shawngandhi.wordpress.com&amp;blog=7273831&amp;post=220&amp;subd=shawngandhi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>At last week&#8217;s <a href="www.nyjavasig.com">NY Java SIG</a>, Kevin Kelly from EC2 Cloud Computing gave a demo of the <a href="http://aws.amazon.com/eclipse/">AWS Developer Toolkit </a>for Eclipse. If you missed it, you can see here how easy it is to use:</p>
<p><span style="display:block;width:425px;margin:0 auto;"><embed src='http://widgets.vodpod.com/w/video_embed/Groupvideo.3531563' type='application/x-shockwave-flash' AllowScriptAccess='sameDomain' pluginspage='http://www.macromedia.com/go/getflashplayer' wmode='transparent' flashvars='file=http://media.amazonwebservices.com/videos/awsToolkit.flv&skin=http://media.amazonwebservices.com/player/nacht.swf&autostart=false' width='425' height='350' /> </span></p>
<p><span id="more-220"></span>It makes launching AMI&#8217;s, managing security groups, packing, deploying, and even remote debugging a breeze. And having it all from within your eclipse workspace makes managing your Tomcat container that much easier.</p>
<p>Here&#8217;s a step-by-step tutorial if you want to get your <a title="Java Web Apps with Tomcat and AWS" href="http://developer.amazonwebservices.com/connect/entry.jspa?externalID=2241&amp;ref=featured">hands dirty</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/shawngandhi.wordpress.com/220/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/shawngandhi.wordpress.com/220/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/shawngandhi.wordpress.com/220/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/shawngandhi.wordpress.com/220/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/shawngandhi.wordpress.com/220/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/shawngandhi.wordpress.com/220/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/shawngandhi.wordpress.com/220/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/shawngandhi.wordpress.com/220/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/shawngandhi.wordpress.com/220/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/shawngandhi.wordpress.com/220/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/shawngandhi.wordpress.com/220/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/shawngandhi.wordpress.com/220/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/shawngandhi.wordpress.com/220/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/shawngandhi.wordpress.com/220/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=shawngandhi.wordpress.com&amp;blog=7273831&amp;post=220&amp;subd=shawngandhi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://shawngandhi.wordpress.com/2009/09/29/aws-eclipse-toolkit-nyjavasig/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/8810f6a94f0b61b20b534521e2b77786?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">shawngandhi</media:title>
		</media:content>
	</item>
		<item>
		<title>The Inaugural JRubyConf in San Fran</title>
		<link>http://shawngandhi.wordpress.com/2009/09/18/the-inaugural-jrubyconf-in-san-fran/</link>
		<comments>http://shawngandhi.wordpress.com/2009/09/18/the-inaugural-jrubyconf-in-san-fran/#comments</comments>
		<pubDate>Fri, 18 Sep 2009 13:56:38 +0000</pubDate>
		<dc:creator>shawngandhi</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://shawngandhi.wordpress.com/?p=211</guid>
		<description><![CDATA[Good news for JRuby enthusiasts &#8212; you no longer have to hide in the closets or try to fit in at RubyConf.  After three years of development, there&#8217;s finally a place for JRuby developers to congregate: JRubyConf. It&#8217;s the next day after RubyConf, at the same Embassy Suites Hotel by the San Francisco airport.  And thanks to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=shawngandhi.wordpress.com&amp;blog=7273831&amp;post=211&amp;subd=shawngandhi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Good news for JRuby enthusiasts &#8212; you no longer have to hide in the closets or try to fit in at <a href="www.rubyconf.org">RubyConf</a>.  After three years of development, there&#8217;s finally a place for JRuby developers to congregate: <a href="www.jrubyconf.com/">JRubyConf</a>. It&#8217;s the next day after RubyConf, at the same Embassy Suites Hotel by the San Francisco airport.</p>
<p><img class="aligncenter size-thumbnail wp-image-213" title="jruby" src="http://shawngandhi.files.wordpress.com/2009/09/jruby.jpg?w=150&#038;h=133" alt="jruby" width="150" height="133" /></p>
<p> And thanks to <a href="www.engineyard.com">Engine Yard</a>, <a href="http://edgecase.com/home">EdgeCase</a>, and <a href="http://studios.thoughtworks.com/">ThoughtWorks studios</a>, registration is free.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/shawngandhi.wordpress.com/211/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/shawngandhi.wordpress.com/211/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/shawngandhi.wordpress.com/211/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/shawngandhi.wordpress.com/211/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/shawngandhi.wordpress.com/211/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/shawngandhi.wordpress.com/211/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/shawngandhi.wordpress.com/211/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/shawngandhi.wordpress.com/211/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/shawngandhi.wordpress.com/211/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/shawngandhi.wordpress.com/211/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/shawngandhi.wordpress.com/211/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/shawngandhi.wordpress.com/211/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/shawngandhi.wordpress.com/211/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/shawngandhi.wordpress.com/211/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=shawngandhi.wordpress.com&amp;blog=7273831&amp;post=211&amp;subd=shawngandhi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://shawngandhi.wordpress.com/2009/09/18/the-inaugural-jrubyconf-in-san-fran/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/8810f6a94f0b61b20b534521e2b77786?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">shawngandhi</media:title>
		</media:content>

		<media:content url="http://shawngandhi.files.wordpress.com/2009/09/jruby.jpg?w=150" medium="image">
			<media:title type="html">jruby</media:title>
		</media:content>
	</item>
		<item>
		<title>Gone in .50 Seconds</title>
		<link>http://shawngandhi.wordpress.com/2009/09/13/gone-in-50-seconds/</link>
		<comments>http://shawngandhi.wordpress.com/2009/09/13/gone-in-50-seconds/#comments</comments>
		<pubDate>Mon, 14 Sep 2009 03:47:42 +0000</pubDate>
		<dc:creator>shawngandhi</dc:creator>
				<category><![CDATA[Finance]]></category>
		<category><![CDATA[Flash Orders]]></category>
		<category><![CDATA[HFT]]></category>
		<category><![CDATA[High Frequency Trading]]></category>

		<guid isPermaLink="false">http://shawngandhi.wordpress.com/?p=185</guid>
		<description><![CDATA[For better or worse, as of Sept 1, Nasdaq OMX and BATS ECNs are no longer using flash orders. The move  was provoked by New York Senator Charles Schumer&#8217;s letter to the SEC demanding a ban on the practice. Although SEC chairman Mary Schapiro&#8217;s request for a ban is still under consideration at the SEC, it seems [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=shawngandhi.wordpress.com&amp;blog=7273831&amp;post=185&amp;subd=shawngandhi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>For better or worse, as of Sept 1, Nasdaq OMX and BATS ECNs are no longer using <em>flash orders</em>. The move  was provoked by New York Senator Charles Schumer&#8217;s letter to the SEC demanding a ban on the practice. Although SEC chairman Mary Schapiro&#8217;s request for a ban is still under consideration at the SEC, it seems the media attention around the issue was reason enough to trigger the exchanges&#8217; mutual agreement to stop using flash orders.</p>
<h4>What&#8217;s a flash order?<span id="more-185"></span></h4>
<p>When an order is received it must be posted within 1 second for the rest of the market to see. If the exchange&#8217;s order book cannot immediately fill the order, before passing it passing it on to other exchanges, it privately &#8220;flashes&#8221; it<em> </em>to several firms capable of high frequency trading, or HFT. The order is put out for a maximum of a half second &#8212; enough for a HFT firm to act or pass on the trade before anyone else.</p>
<h4>The controversty of who wins and who loses</h4>
<p><span style="font-weight:normal;">The exchange benfits by keeping the trade completely internal. The HFT firm profits by cutting out other exchanges, keeping the initial trader from getting the best possible price from the rest of the market. Moreover, the HVT firm receives rebates for acting on orders from the exchange.</span></p>
<p>Of course, the privilege of seeing this information before it goes public comes with a cost that is previously worked out between the exchange and the HFT firm. Having a privileged set of traders creates a two tiered market &#8212; something the SEC will likely not allow.</p>
<p>Proponents of flash orders say that initial trader also benefit because s/he doesn&#8217;t have to pay a fee for going outside of the exchange. Moreover, flash orders vastly increase the likelihood of an order filling, thereby increasing the liquidity of the market.</p>
<h4>How is this legal? The loop hole explained.</h4>
<p>When a market centre receives an order, under SEC rule 11Ac1-1, (better known as the <em>quote rule)</em>, it must display the order to all exchanges. The exception to this rule is when the order is immediately executed or cancelled. Since a flash order is posted for up to half a second, it benefits from this exception, thereby allowing private and advanced dissemination market data.</p>
<p>This may remind you of the <a title="What is front running?" href="http://en.wikipedia.org/wiki/Front_running">front running</a> investigations of the late &#8217;90s. The reason flash orders have gotten away with it for several years is because of the small impact each order has on the market as a whole. These days, as large orders are split up electronically and obfuscated across multiple venues, individual flash orders don&#8217;t move the market enough to be criminalized front running.</p>
<p>To further put things into perspective, despite the recent growth of flash orders in the US markets, it only accounted for 2.4% of trades (by volume) in June of this year. The way I see it, it can be compared to a few people shaving a <a title="Penny Pinching Scammers" href="http://theofficemaster.com/wp-content/uploads/2008/06/ajay_naidu5.jpg">pennies off transactions</a>. Nothing to cause concern to any single person, but when spread out across this kind of volume, it can make a few investment firms very rich at the expense of  every day non-HFT traders.</p>
<h4>What it could mean for Nasdaq, NYSE, and BATS</h4>
<p><span style="font-weight:normal;">With Nasdaq and BATS joining the ranks of NYSE by willingly having stopped flash ordering, there is a growing concern that market share of trades will be lost to exchanges like Direct Edge and the Chicago Board Options Exchange, where flash ordering was first created. And with the growing number of HFT shops and transactions in today&#8217;s market, this may drive away HFT firms along with the liquidity that they provide, creating in imbalance of liquidity between various exchanges.</span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/shawngandhi.wordpress.com/185/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/shawngandhi.wordpress.com/185/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/shawngandhi.wordpress.com/185/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/shawngandhi.wordpress.com/185/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/shawngandhi.wordpress.com/185/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/shawngandhi.wordpress.com/185/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/shawngandhi.wordpress.com/185/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/shawngandhi.wordpress.com/185/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/shawngandhi.wordpress.com/185/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/shawngandhi.wordpress.com/185/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/shawngandhi.wordpress.com/185/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/shawngandhi.wordpress.com/185/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/shawngandhi.wordpress.com/185/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/shawngandhi.wordpress.com/185/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=shawngandhi.wordpress.com&amp;blog=7273831&amp;post=185&amp;subd=shawngandhi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://shawngandhi.wordpress.com/2009/09/13/gone-in-50-seconds/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/8810f6a94f0b61b20b534521e2b77786?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">shawngandhi</media:title>
		</media:content>
	</item>
		<item>
		<title>Lesser known features of Java 7</title>
		<link>http://shawngandhi.wordpress.com/2009/08/30/lesser-known-features-of-java-7/</link>
		<comments>http://shawngandhi.wordpress.com/2009/08/30/lesser-known-features-of-java-7/#comments</comments>
		<pubDate>Mon, 31 Aug 2009 02:46:32 +0000</pubDate>
		<dc:creator>shawngandhi</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[catch statement]]></category>
		<category><![CDATA[Java 7]]></category>
		<category><![CDATA[String Switch]]></category>

		<guid isPermaLink="false">http://shawngandhi.wordpress.com/?p=165</guid>
		<description><![CDATA[If Java 7 headliners include Fork/Join, G1, and NIO2, etc, then here are some of the opening acts. String Switch Statements Without getting into the cons of encouraging the use of Strings, I am happy to hear Java developers can finally switch on a String without relying on Enums. Its kinda of sad that it [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=shawngandhi.wordpress.com&amp;blog=7273831&amp;post=165&amp;subd=shawngandhi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>If Java 7 headliners include Fork/Join, G1, and NIO2, etc, then here are some of the opening acts.</p>
<h4>String Switch Statements</h4>
<p>Without getting into the cons of encouraging the use of Strings, I am happy to hear Java developers can finally switch on a String without relying on Enums. Its kinda of sad that it wasn&#8217;t there before.</p>
<pre style="overflow:auto;"> <span style="font-family:'Courier New';line-height:normal;"><span style="color:#701653;"><strong>static</strong></span> <span style="color:#701653;"><strong>boolean</strong></span> simpleStringSwitchExample(String s) {  </span>
 <span style="font-family:'Courier New';line-height:normal;">    <span style="color:#701653;"><strong>switch</strong></span>(s) {  </span>
 <span style="font-family:'Courier New';line-height:normal;">      <span style="color:#701653;"><strong>case</strong></span> <span style="color:#1f1af5;">"one"</span>:  </span>
 <span style="font-family:'Courier New';line-height:normal;">        <span style="color:#701653;"><strong>return</strong></span> <span style="color:#701653;"><strong>true</strong></span>;  </span>
 <span style="font-family:'Courier New';line-height:normal;">      <span style="color:#701653;"><strong>case</strong></span> <span style="color:#1f1af5;">"zero"</span>:  </span>
<span style="font-family:'Courier New';line-height:normal;">        <span style="color:#701653;"><strong>return</strong></span> <span style="color:#701653;"><strong>false</strong></span>;  
</span> <span style="font-family:'Courier New';line-height:normal;">    }  </span>
 <span style="font-family:'Courier New';line-height:normal;">    <span style="color:#701653;"><strong>throw</strong></span> <span style="color:#701653;"><strong>new</strong></span> IllegalArgumentException(s);  </span>
 <span style="font-family:'Courier New';line-height:normal;"><span style="white-space:pre;"> </span>}  </span>
<span style="font-family:'Courier New';line-height:normal;"><strong>
</strong></span></pre>
<h4>Simplified Exception Catching</h4>
<p>When catching two unrelated exceptions with the same error handling, you no longer need multiple <em>catch</em> clauses. Instead, there&#8217;s something that reminds me of a bitwise OR.<span id="more-165"></span></p>
<pre style="overflow:auto;font:normal normal normal 12px/18px Consolas, Monaco, 'Courier New', Courier, monospace;"> <strong>try</strong><span style="font-family:'Courier New';line-height:normal;"> {  </span>
 <span style="font-family:'Courier New';line-height:normal;">    <strong>return<span style="color:#000000;font-weight:normal;"> myObj.methodThatThrowsTwoExceptions();</span></strong></span></pre>
<pre style="overflow:auto;font:normal normal normal 12px/18px Consolas, Monaco, 'Courier New', Courier, monospace;"><span style="font-family:'Courier New';line-height:normal;"><strong><span style="color:#000000;font-weight:normal;"> }  <strong>catch <span style="color:#000000;font-weight:normal;">(FirstExceptionType | SecondExceptionType e) {</span></strong></span></strong></span></pre>
<pre style="font:normal normal normal 12px/18px Consolas, Monaco, 'Courier New', Courier, monospace;"> <span style="font-family:'Courier New';line-height:normal;">    handleException(e);  </span>
 <span style="font-family:'Courier New';line-height:normal;">}  </span></pre>
<p>Now obviously if you have to handle each exception differently, then you can&#8217;t use this optimization. What I haven&#8217;t quite figured out is, do you have to cast the exception, <em>e</em>, to its type in order to invoke exception-specific functionality?</p>
<p>Lastly, if you&#8217;re like most developers out there and hate checked exceptions to begin with, you&#8217;re probably cursing Java for treating the symptom and not the problem.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/shawngandhi.wordpress.com/165/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/shawngandhi.wordpress.com/165/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/shawngandhi.wordpress.com/165/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/shawngandhi.wordpress.com/165/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/shawngandhi.wordpress.com/165/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/shawngandhi.wordpress.com/165/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/shawngandhi.wordpress.com/165/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/shawngandhi.wordpress.com/165/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/shawngandhi.wordpress.com/165/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/shawngandhi.wordpress.com/165/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/shawngandhi.wordpress.com/165/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/shawngandhi.wordpress.com/165/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/shawngandhi.wordpress.com/165/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/shawngandhi.wordpress.com/165/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=shawngandhi.wordpress.com&amp;blog=7273831&amp;post=165&amp;subd=shawngandhi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://shawngandhi.wordpress.com/2009/08/30/lesser-known-features-of-java-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/8810f6a94f0b61b20b534521e2b77786?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">shawngandhi</media:title>
		</media:content>
	</item>
		<item>
		<title>CloudFoundry &#8211; Quick Cloud Deployment of your Java Apps</title>
		<link>http://shawngandhi.wordpress.com/2009/08/23/cloudfoundry-quick-cloud-deployment-of-your-java-apps/</link>
		<comments>http://shawngandhi.wordpress.com/2009/08/23/cloudfoundry-quick-cloud-deployment-of-your-java-apps/#comments</comments>
		<pubDate>Sun, 23 Aug 2009 22:07:33 +0000</pubDate>
		<dc:creator>shawngandhi</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Cloud Foundry]]></category>
		<category><![CDATA[EC2]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[SpringSource]]></category>

		<guid isPermaLink="false">http://shawngandhi.wordpress.com/?p=163</guid>
		<description><![CDATA[SpringSource has recently released a self-service tool that allow developers to deploy their feature rich Java apps to Amazon&#8217;s EC2. It&#8217;s an apache webapp that allow you to &#8220;build, deploy, and manage&#8221; your Java applications with ease. You simply upload your war files, sql scripts and enter your database specs. Cloud Foundry will take it [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=shawngandhi.wordpress.com&amp;blog=7273831&amp;post=163&amp;subd=shawngandhi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>SpringSource has recently released a self-service tool that allow developers to deploy their feature rich Java apps to Amazon&#8217;s EC2. It&#8217;s an apache webapp that allow you to &#8220;build, deploy, and manage&#8221; your Java applications with ease.</p>
<p>You simply upload your war files, sql scripts and enter your database specs. Cloud Foundry will take it from there by launching an EC2 instance, configure Apache, TCServer, and MySQL. Your app should be deployed within minutes under the context root you specified.</p>
<p>Currently under Beta, Cloud Foundry is planning to allow you to choose your own on/off premise cloud computing infrastructure.</p>
<p><a href="http://www.cloudfoundry.com/">www.cloudfoundry.com</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/shawngandhi.wordpress.com/163/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/shawngandhi.wordpress.com/163/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/shawngandhi.wordpress.com/163/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/shawngandhi.wordpress.com/163/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/shawngandhi.wordpress.com/163/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/shawngandhi.wordpress.com/163/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/shawngandhi.wordpress.com/163/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/shawngandhi.wordpress.com/163/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/shawngandhi.wordpress.com/163/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/shawngandhi.wordpress.com/163/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/shawngandhi.wordpress.com/163/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/shawngandhi.wordpress.com/163/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/shawngandhi.wordpress.com/163/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/shawngandhi.wordpress.com/163/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=shawngandhi.wordpress.com&amp;blog=7273831&amp;post=163&amp;subd=shawngandhi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://shawngandhi.wordpress.com/2009/08/23/cloudfoundry-quick-cloud-deployment-of-your-java-apps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/8810f6a94f0b61b20b534521e2b77786?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">shawngandhi</media:title>
		</media:content>
	</item>
		<item>
		<title>Tell Your Big Problems to Fork-Off: Java 7 Flirts with Functional Programming</title>
		<link>http://shawngandhi.wordpress.com/2009/08/16/tell-your-big-problems-to-fork-off-java-7-flirts-with-functional-programming/</link>
		<comments>http://shawngandhi.wordpress.com/2009/08/16/tell-your-big-problems-to-fork-off-java-7-flirts-with-functional-programming/#comments</comments>
		<pubDate>Mon, 17 Aug 2009 04:21:57 +0000</pubDate>
		<dc:creator>shawngandhi</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Concurrency]]></category>
		<category><![CDATA[Fibanacci]]></category>
		<category><![CDATA[Fork]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Java 7]]></category>

		<guid isPermaLink="false">http://shawngandhi.wordpress.com/?p=109</guid>
		<description><![CDATA[If you&#8217;ve been paying attention to CPU clock speeds, you may have noticed that they haven&#8217;t gotten any faster since 2003. Instead hardware is scaling horizontally, and in this multi-core multi-CPU revolution we can&#8217;t simply swap our are old hardware for newer machines in hopes to increase the responsiveness and efficiency of our applications. I&#8217;ve [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=shawngandhi.wordpress.com&amp;blog=7273831&amp;post=109&amp;subd=shawngandhi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;ve been paying attention to CPU clock speeds, you may have noticed that they haven&#8217;t gotten any faster since 2003. Instead hardware is scaling horizontally, and in this multi-core multi-CPU revolution we can&#8217;t simply swap our are old hardware for newer machines in hopes to increase the responsiveness and efficiency of our applications. I&#8217;ve seen this antiquated and misguided approach on trading desks &#8212; the resulting return on capex is not pretty.<span id="more-109"></span></p>
<p>The challenge now is to break big tasks and coarsely-grained user requests into finely diced units of work. This may mean a slight increase in the total number of clock ticks; but between you, me, and the <a href="http://cache.gizmodo.com/assets/resources/2006/07/daliclock.jpg">clock on the wall</a>, things will seem a lot faster.</p>
<p>Java 7 takes a step in the direction of functional programming by introducing the Fork/Join framework in <em>java.util.concurrent.forkjoin</em>. This package is more than your typical fork and join, here&#8217;s an overview.</p>
<h4><span style="font-weight:normal;">N</span>ot your typical java.lang.Thread</h4>
<p>The FJFramework only requires a subset of the scheduling strategies and synchronization management that are required by <a href="http://en.wikipedia.org/wiki/POSIX_Threads">run-of-the-mill threads</a>. To avoid this overhead and keep this framework beneficial, an <em><a href="http://g.oswego.edu/dl/classes/EDU/oswego/cs/dl/util/concurrent/FJTask.html">FJTask</a></em> is extended instead of<em> java.lang.</em><em>Thread</em>. This is still a Runnable but with framework-specific support for operations such as <em>fork</em>, <em>join</em>, <em>coInvoke</em>, etc. Here&#8217;s the general approach to a problem:</p>
<pre class="code" style="height:200px;overflow:auto;">MyProblem extends FJTask {

 public void run() {

  if (problem is small enough)
    result = solveSequentially()
  else
    1. Split problem by defining independent sub-problems of type MyProblem
    2. Coinvoke(SubProblem1, SubProblem2) // This takes care of the fork &amp; join
    3. result = meaningfulAggregationOf(Subproblem1, SubProblem2)
  }
}</pre>
<p> </p>
<p>Instead of your typical Executor, you simply submit your FJTask to a FJTaskRunnerGroup :</p>
<p style="font:9px Times;margin:0;"><span style="font:12px Helvetica;"> </span></p>
<pre class="code" style="height:50px;overflow:auto;">FJTaskRunnerGroup group = new FJTaskRunnerGroup( numOfWorkerThreads ); // Where numOfThreads roughly equals available CPUs
group.invoke(new MyProblem)</pre>
<p> </p>
<h4>Work Stealing (The coolest part)</h4>
<p>So far, the framework&#8217;s paradigm has been breaking work into small FJTasks. Each thread in the FJTaskRunnerGroup has its own queue of FJTasks. Any sub-tasks created are simply added to the end of the queue for that thread. This allows for the possibility of having an uneven amount of FJTasks across the group of threads, implying that one thread will have to wait for the other before it can join.</p>
<p>This problem is addressed by using double-ended queues, or <em>deques</em>. If one worker thread runs out of FJTasks, it will then &#8220;steal&#8221; a chunk of FJTasks from the bottom of the deque, keeping both threads busy. The beauty of stealing from the bottom allows for minimal contention for FJTasks.</p>
<p style="line-height:19px;font:13px Georgia;margin:0 0 17px;"> </p>
<h4>Performance Results</h4>
<p>On a 30 CPU <a href="http://www.sun.com/servers/highend/e10000/">Sun machine</a>, benchmarking 7 different problems which lend themselves to parallelization, speedups have ranged between 15-28x. These problems range from a brute force Fibonacci algorithm to a 4-step lookahead board game solution.</p>
<p>Of course, when it comes to parallelization and performance, each problem is unique and should be measured. But generally speaking, before you&#8217;re done with your next high-performance user-responsive application, consider the benefits of sticking a fork in it.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/shawngandhi.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/shawngandhi.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/shawngandhi.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/shawngandhi.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/shawngandhi.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/shawngandhi.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/shawngandhi.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/shawngandhi.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/shawngandhi.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/shawngandhi.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/shawngandhi.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/shawngandhi.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/shawngandhi.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/shawngandhi.wordpress.com/109/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=shawngandhi.wordpress.com&amp;blog=7273831&amp;post=109&amp;subd=shawngandhi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://shawngandhi.wordpress.com/2009/08/16/tell-your-big-problems-to-fork-off-java-7-flirts-with-functional-programming/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/8810f6a94f0b61b20b534521e2b77786?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">shawngandhi</media:title>
		</media:content>
	</item>
		<item>
		<title>Apple to Microsoft: Stop Playing those Laptop Commercials</title>
		<link>http://shawngandhi.wordpress.com/2009/07/16/apple-to-microsoft-stop-playing-those-laptop-commercials/</link>
		<comments>http://shawngandhi.wordpress.com/2009/07/16/apple-to-microsoft-stop-playing-those-laptop-commercials/#comments</comments>
		<pubDate>Thu, 16 Jul 2009 21:23:35 +0000</pubDate>
		<dc:creator>shawngandhi</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Laptop Hunter]]></category>
		<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://shawngandhi.wordpress.com/?p=111</guid>
		<description><![CDATA[Do you know those Microsoft Laptop Hunter commercials &#8212; the one where Lauren needs to find a laptop for under $1000? And she quickly learns, the Apple store only has the 13&#8243; macbook to offer. Well apparently that ad hit a bit of a tender spot at Apple. At yesterday&#8217;s Microsoft&#8217;s Worldwide Partner Conference in New Orleans, COO Kevin Turner walked [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=shawngandhi.wordpress.com&amp;blog=7273831&amp;post=111&amp;subd=shawngandhi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Do you know those Microsoft <a href="http://www.youtube.com/watch?v=EIS6G-HvnkU">Laptop Hunter</a> commercials &#8212; the one where Lauren needs to find a laptop for under $1000? And she quickly learns, the Apple store only has the 13&#8243; macbook to offer. Well apparently that ad hit a bit of a tender spot at Apple.<span id="more-111"></span></p>
<p>At yesterday&#8217;s Microsoft&#8217;s Worldwide Partner Conference in New Orleans, COO <a href="http://www.microsoft.com/presspass/exec/elop/07-15-09WPC2009.mspx">Kevin Turner</a> walked through a phone call he received from Apple&#8217;s legal department which demanded MS to take it off the air. Reason being, Apple has dropped their prices.</p>
<p>The way I see it, if prices have changed then Apple does have a point. (Although I still only see one macbook sub-$1k on their website.) But generally speaking, it seems Apple has no problem dishing it out but can&#8217;t take it. Unfortunately for them, it seems they&#8217;re going to have to as MS has no plans to take it off the air.</p>
<p>With the success of commercials, it seems Microsoft is learning that there&#8217;s room for two to play this game. According to the same conference, Microsoft&#8217;s next move is the Microsoft store.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/shawngandhi.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/shawngandhi.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/shawngandhi.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/shawngandhi.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/shawngandhi.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/shawngandhi.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/shawngandhi.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/shawngandhi.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/shawngandhi.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/shawngandhi.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/shawngandhi.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/shawngandhi.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/shawngandhi.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/shawngandhi.wordpress.com/111/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=shawngandhi.wordpress.com&amp;blog=7273831&amp;post=111&amp;subd=shawngandhi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://shawngandhi.wordpress.com/2009/07/16/apple-to-microsoft-stop-playing-those-laptop-commercials/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/8810f6a94f0b61b20b534521e2b77786?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">shawngandhi</media:title>
		</media:content>
	</item>
	</channel>
</rss>
