<?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>Ketan&#039;s Musings &#187; Uncategorized</title>
	<atom:link href="http://ketan.padegaonkar.name/category/uncategorized/feed" rel="self" type="application/rss+xml" />
	<link>http://ketan.padegaonkar.name</link>
	<description>Where he blogs about his eclipse musings</description>
	<lastBuildDate>Sat, 26 Feb 2011 18:24:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>JRuby and static imports</title>
		<link>http://ketan.padegaonkar.name/2010/09/29/jruby-and-static-imports.html</link>
		<comments>http://ketan.padegaonkar.name/2010/09/29/jruby-and-static-imports.html#comments</comments>
		<pubDate>Wed, 29 Sep 2010 14:57:33 +0000</pubDate>
		<dc:creator>Ketan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[jruby]]></category>
		<category><![CDATA[swt]]></category>
		<category><![CDATA[swtbot]]></category>

		<guid isPermaLink="false">http://ketan.padegaonkar.name/?p=465</guid>
		<description><![CDATA[The last few weeks have been interesting working with SWT and some newly acquired (J)Ruby chops, to hack together a couple of approaches to build a recorder for SWTBot. Here is one of the interesting hacks which was cobbled together: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 [...]]]></description>
			<content:encoded><![CDATA[<p>The last few weeks have been interesting working with SWT and some newly acquired (J)Ruby chops, to hack together a couple of approaches to build a recorder for <a href="http://swtbot.org">SWTBot</a>. Here is one of the interesting hacks which was cobbled together:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#CC0066; font-weight:bold;">require</span> <span style="color:#996600;">'java'</span>
<span style="color:#9966CC; font-weight:bold;">module</span> Recorder
  <span style="color:#9966CC; font-weight:bold;">module</span> SWTInitializer
&nbsp;
      include_package <span style="color:#996600;">'org.eclipse.swt'</span>
      include_package <span style="color:#996600;">'org.eclipse.swt.layout'</span>
      include_package <span style="color:#996600;">'org.eclipse.swt.widgets'</span>
      include_package <span style="color:#996600;">'org.eclipse.swt.custom'</span>
      include_packate  <span style="color:#996600;">'org.eclipse.swtbot.swt.finder'</span>
&nbsp;
      <span style="color:#008000; font-style:italic;"># loop through a few known classes to implement static imports</span>
      <span style="color:#9966CC; font-weight:bold;">def</span> method_missing<span style="color:#006600; font-weight:bold;">&#40;</span>method, <span style="color:#006600; font-weight:bold;">*</span>args, <span style="color:#006600; font-weight:bold;">&amp;</span>amp;block<span style="color:#006600; font-weight:bold;">&#41;</span>
        klass = <span style="color:#006600; font-weight:bold;">&#91;</span>
            org.<span style="color:#9900CC;">eclipse</span>.<span style="color:#9900CC;">swtbot</span>.<span style="color:#9900CC;">swt</span>.<span style="color:#9900CC;">finder</span>.<span style="color:#9900CC;">matchers</span>.<span style="color:#9900CC;">WidgetMatcherFactory</span>,
            org.<span style="color:#9900CC;">eclipse</span>.<span style="color:#9900CC;">swtbot</span>.<span style="color:#9900CC;">swt</span>.<span style="color:#9900CC;">finder</span>.<span style="color:#9900CC;">utils</span>.<span style="color:#9900CC;">SWTUtils</span><span style="color:#006600; font-weight:bold;">&#93;</span>.<span style="color:#9900CC;">find</span> <span style="color:#9966CC; font-weight:bold;">do</span> <span style="color:#006600; font-weight:bold;">|</span>k<span style="color:#006600; font-weight:bold;">|</span>
          k.<span style="color:#9900CC;">respond_to</span>?<span style="color:#006600; font-weight:bold;">&#40;</span>method<span style="color:#006600; font-weight:bold;">&#41;</span>
        <span style="color:#9966CC; font-weight:bold;">end</span>
        <span style="color:#0000FF; font-weight:bold;">return</span> klass.<span style="color:#9900CC;">send</span><span style="color:#006600; font-weight:bold;">&#40;</span>method, <span style="color:#006600; font-weight:bold;">*</span>args, <span style="color:#006600; font-weight:bold;">&amp;</span>amp;block<span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#9966CC; font-weight:bold;">if</span> klass
        <span style="color:#9966CC; font-weight:bold;">super</span>
      <span style="color:#9966CC; font-weight:bold;">end</span>
  <span style="color:#9966CC; font-weight:bold;">end</span>
<span style="color:#9966CC; font-weight:bold;">end</span></pre></td></tr></table></div>

<p>To use this class:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#9966CC; font-weight:bold;">class</span> Application
  <span style="color:#9966CC; font-weight:bold;">include</span> <span style="color:#6666ff; font-weight:bold;">Recorder::SWTInitializer</span>
  <span style="color:#008000; font-style:italic;"># the with_text invocation falls into the method_missing </span>
  <span style="color:#008000; font-style:italic;"># which delegates it to WidgetMatcherFactory</span>
  <span style="color:#9966CC; font-weight:bold;">def</span> <span style="color:#0000FF; font-weight:bold;">self</span>.<span style="color:#9900CC;">run</span>
    SWTBot.<span style="color:#9900CC;">new</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color:#9900CC;">widgets</span><span style="color:#006600; font-weight:bold;">&#40;</span>with_text<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">'hello'</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span>
  <span style="color:#9966CC; font-weight:bold;">end</span>
<span style="color:#9966CC; font-weight:bold;">end</span></pre></td></tr></table></div>



<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center">
<ul class="socials">
		<li class="shr-googlebuzz">
			<a href="http://www.shareaholic.com/api/share/?title=JRuby+and+static+imports&amp;link=http://ketan.padegaonkar.name/2010/09/29/jruby-and-static-imports.html&amp;notes=The%20last%20few%20weeks%20have%20been%20interesting%20working%20with%20SWT%20and%20some%20newly%20acquired%20%28J%29Ruby%20chops%2C%20to%20hack%20together%20a%20couple%20of%20approaches%20to%20build%20a%20recorder%20for%20SWTBot.%20Here%20is%20one%20of%20the%20interesting%20hacks%20which%20was%20cobbled%20together%3A%0D%0A%0D%0A%0D%0Arequire%20%27java%27%0D%0Amodule%20Recorder%0D%0A%20%20module%20SWTInitializer%0D%0A%0D%0A%20&amp;short_link=&amp;shortener=bitly&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=257&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-reddit">
			<a href="http://www.shareaholic.com/api/share/?title=JRuby+and+static+imports&amp;link=http://ketan.padegaonkar.name/2010/09/29/jruby-and-static-imports.html&amp;notes=The%20last%20few%20weeks%20have%20been%20interesting%20working%20with%20SWT%20and%20some%20newly%20acquired%20%28J%29Ruby%20chops%2C%20to%20hack%20together%20a%20couple%20of%20approaches%20to%20build%20a%20recorder%20for%20SWTBot.%20Here%20is%20one%20of%20the%20interesting%20hacks%20which%20was%20cobbled%20together%3A%0D%0A%0D%0A%0D%0Arequire%20%27java%27%0D%0Amodule%20Recorder%0D%0A%20%20module%20SWTInitializer%0D%0A%0D%0A%20&amp;short_link=&amp;shortener=bitly&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=40&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-twitter">
			<a href="http://www.shareaholic.com/api/share/?title=JRuby+and+static+imports&amp;link=http://ketan.padegaonkar.name/2010/09/29/jruby-and-static-imports.html&amp;notes=The%20last%20few%20weeks%20have%20been%20interesting%20working%20with%20SWT%20and%20some%20newly%20acquired%20%28J%29Ruby%20chops%2C%20to%20hack%20together%20a%20couple%20of%20approaches%20to%20build%20a%20recorder%20for%20SWTBot.%20Here%20is%20one%20of%20the%20interesting%20hacks%20which%20was%20cobbled%20together%3A%0D%0A%0D%0A%0D%0Arequire%20%27java%27%0D%0Amodule%20Recorder%0D%0A%20%20module%20SWTInitializer%0D%0A%0D%0A%20&amp;short_link=&amp;shortener=bitly&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=RT+%40ketanpkr+%24%7Btitle%7D+-+%24%7Bshort_link%7D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.shareaholic.com/api/share/?title=JRuby+and+static+imports&amp;link=http://ketan.padegaonkar.name/2010/09/29/jruby-and-static-imports.html&amp;notes=The%20last%20few%20weeks%20have%20been%20interesting%20working%20with%20SWT%20and%20some%20newly%20acquired%20%28J%29Ruby%20chops%2C%20to%20hack%20together%20a%20couple%20of%20approaches%20to%20build%20a%20recorder%20for%20SWTBot.%20Here%20is%20one%20of%20the%20interesting%20hacks%20which%20was%20cobbled%20together%3A%0D%0A%0D%0A%0D%0Arequire%20%27java%27%0D%0Amodule%20Recorder%0D%0A%20%20module%20SWTInitializer%0D%0A%0D%0A%20&amp;short_link=&amp;shortener=bitly&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-dzone">
			<a href="http://www.shareaholic.com/api/share/?title=JRuby+and+static+imports&amp;link=http://ketan.padegaonkar.name/2010/09/29/jruby-and-static-imports.html&amp;notes=The%20last%20few%20weeks%20have%20been%20interesting%20working%20with%20SWT%20and%20some%20newly%20acquired%20%28J%29Ruby%20chops%2C%20to%20hack%20together%20a%20couple%20of%20approaches%20to%20build%20a%20recorder%20for%20SWTBot.%20Here%20is%20one%20of%20the%20interesting%20hacks%20which%20was%20cobbled%20together%3A%0D%0A%0D%0A%0D%0Arequire%20%27java%27%0D%0Amodule%20Recorder%0D%0A%20%20module%20SWTInitializer%0D%0A%0D%0A%20&amp;short_link=&amp;shortener=bitly&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=102&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Add this to DZone">Add this to DZone</a>
		</li>
</ul><div style="clear: both;"></div><div class="shr-getshr" style="visibility:hidden;font-size:10px !important"><a target="_blank" href="http://www.shareaholic.com/?src=pub">Get Shareaholic</a></div><div style="clear: both;"></div></div>

]]></content:encoded>
			<wfw:commentRss>http://ketan.padegaonkar.name/2010/09/29/jruby-and-static-imports.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Code Complexity Visualization for Ruby</title>
		<link>http://ketan.padegaonkar.name/2010/07/20/code-complexity-visualization-for-ruby.html</link>
		<comments>http://ketan.padegaonkar.name/2010/07/20/code-complexity-visualization-for-ruby.html#comments</comments>
		<pubDate>Wed, 21 Jul 2010 03:33:05 +0000</pubDate>
		<dc:creator>Ketan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://ketan.padegaonkar.name/?p=450</guid>
		<description><![CDATA[Image from http://www.osnews.com/story/19266/WTFs_m WTF implies lack of clarity. Clear code is easier to understand, easier to maintain and easier to extend. Announcing saikuro_treemap &#8212; an easy to setup tool to generate complexity treemaps of ruby code. See a demo for yourself. Post on Google Buzz Share this on Reddit Tweet This! Share this on Facebook [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_451" class="wp-caption alignnone" style="width: 510px"><a href="http://ketan.padegaonkar.name/files/2010/06/wtfm.jpg"><img src="http://ketan.padegaonkar.name/files/2010/06/wtfm.jpg" alt="Only Valid Measure of Code Quality" width="500" height="471" class="size-full wp-image-451" /></a><p class="wp-caption-text">Only Valid Measure of Code Quality</p></div>
<p>Image from http://www.osnews.com/story/19266/WTFs_m</p>
<p>WTF implies lack of clarity. Clear code is easier to understand, easier to maintain and easier to extend.</p>
<p>Announcing <a href="http://github.com/ThoughtWorksStudios/saikuro_treemap">saikuro_treemap</a> &#8212; an easy to setup tool to generate complexity treemaps of ruby code.</p>
<p>See a <a href="http://thoughtworksstudios.github.com/rake.ccn.html">demo</a> for yourself.</p>
<div id="attachment_454" class="wp-caption alignnone" style="width: 310px"><a href="http://thoughtworksstudios.github.com/rake.ccn.html"><img src="http://ketan.padegaonkar.name/files/2010/07/rake.ccn_-300x186.png" alt="" width="300" height="186" class="size-medium wp-image-454" /></a><p class="wp-caption-text">Complexity Visualization of Rake</p></div>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center">
<ul class="socials">
		<li class="shr-googlebuzz">
			<a href="http://www.shareaholic.com/api/share/?title=Code+Complexity+Visualization+for+Ruby&amp;link=http://ketan.padegaonkar.name/2010/07/20/code-complexity-visualization-for-ruby.html&amp;notes=%0D%0A%0D%0AImage%20from%20http%3A%2F%2Fwww.osnews.com%2Fstory%2F19266%2FWTFs_m%0D%0A%0D%0AWTF%20implies%20lack%20of%20clarity.%20Clear%20code%20is%20easier%20to%20understand%2C%20easier%20to%20maintain%20and%20easier%20to%20extend.%0D%0A%0D%0AAnnouncing%20saikuro_treemap%20--%20an%20easy%20to%20setup%20tool%20to%20generate%20complexity%20treemaps%20of%20ruby%20code.%0D%0A%0D%0ASee%20a%20demo%20for%20yourself.%0D%0A%0D%0A%0D%0A&amp;short_link=&amp;shortener=bitly&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=257&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-reddit">
			<a href="http://www.shareaholic.com/api/share/?title=Code+Complexity+Visualization+for+Ruby&amp;link=http://ketan.padegaonkar.name/2010/07/20/code-complexity-visualization-for-ruby.html&amp;notes=%0D%0A%0D%0AImage%20from%20http%3A%2F%2Fwww.osnews.com%2Fstory%2F19266%2FWTFs_m%0D%0A%0D%0AWTF%20implies%20lack%20of%20clarity.%20Clear%20code%20is%20easier%20to%20understand%2C%20easier%20to%20maintain%20and%20easier%20to%20extend.%0D%0A%0D%0AAnnouncing%20saikuro_treemap%20--%20an%20easy%20to%20setup%20tool%20to%20generate%20complexity%20treemaps%20of%20ruby%20code.%0D%0A%0D%0ASee%20a%20demo%20for%20yourself.%0D%0A%0D%0A%0D%0A&amp;short_link=&amp;shortener=bitly&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=40&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-twitter">
			<a href="http://www.shareaholic.com/api/share/?title=Code+Complexity+Visualization+for+Ruby&amp;link=http://ketan.padegaonkar.name/2010/07/20/code-complexity-visualization-for-ruby.html&amp;notes=%0D%0A%0D%0AImage%20from%20http%3A%2F%2Fwww.osnews.com%2Fstory%2F19266%2FWTFs_m%0D%0A%0D%0AWTF%20implies%20lack%20of%20clarity.%20Clear%20code%20is%20easier%20to%20understand%2C%20easier%20to%20maintain%20and%20easier%20to%20extend.%0D%0A%0D%0AAnnouncing%20saikuro_treemap%20--%20an%20easy%20to%20setup%20tool%20to%20generate%20complexity%20treemaps%20of%20ruby%20code.%0D%0A%0D%0ASee%20a%20demo%20for%20yourself.%0D%0A%0D%0A%0D%0A&amp;short_link=&amp;shortener=bitly&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=RT+%40ketanpkr+%24%7Btitle%7D+-+%24%7Bshort_link%7D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.shareaholic.com/api/share/?title=Code+Complexity+Visualization+for+Ruby&amp;link=http://ketan.padegaonkar.name/2010/07/20/code-complexity-visualization-for-ruby.html&amp;notes=%0D%0A%0D%0AImage%20from%20http%3A%2F%2Fwww.osnews.com%2Fstory%2F19266%2FWTFs_m%0D%0A%0D%0AWTF%20implies%20lack%20of%20clarity.%20Clear%20code%20is%20easier%20to%20understand%2C%20easier%20to%20maintain%20and%20easier%20to%20extend.%0D%0A%0D%0AAnnouncing%20saikuro_treemap%20--%20an%20easy%20to%20setup%20tool%20to%20generate%20complexity%20treemaps%20of%20ruby%20code.%0D%0A%0D%0ASee%20a%20demo%20for%20yourself.%0D%0A%0D%0A%0D%0A&amp;short_link=&amp;shortener=bitly&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-dzone">
			<a href="http://www.shareaholic.com/api/share/?title=Code+Complexity+Visualization+for+Ruby&amp;link=http://ketan.padegaonkar.name/2010/07/20/code-complexity-visualization-for-ruby.html&amp;notes=%0D%0A%0D%0AImage%20from%20http%3A%2F%2Fwww.osnews.com%2Fstory%2F19266%2FWTFs_m%0D%0A%0D%0AWTF%20implies%20lack%20of%20clarity.%20Clear%20code%20is%20easier%20to%20understand%2C%20easier%20to%20maintain%20and%20easier%20to%20extend.%0D%0A%0D%0AAnnouncing%20saikuro_treemap%20--%20an%20easy%20to%20setup%20tool%20to%20generate%20complexity%20treemaps%20of%20ruby%20code.%0D%0A%0D%0ASee%20a%20demo%20for%20yourself.%0D%0A%0D%0A%0D%0A&amp;short_link=&amp;shortener=bitly&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=102&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Add this to DZone">Add this to DZone</a>
		</li>
</ul><div style="clear: both;"></div><div class="shr-getshr" style="visibility:hidden;font-size:10px !important"><a target="_blank" href="http://www.shareaholic.com/?src=pub">Get Shareaholic</a></div><div style="clear: both;"></div></div>

]]></content:encoded>
			<wfw:commentRss>http://ketan.padegaonkar.name/2010/07/20/code-complexity-visualization-for-ruby.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Tell, Don&#8217;t Ask &#8211; Part 2</title>
		<link>http://ketan.padegaonkar.name/2009/09/04/tell-dont-ask-part-2.html</link>
		<comments>http://ketan.padegaonkar.name/2009/09/04/tell-dont-ask-part-2.html#comments</comments>
		<pubDate>Fri, 04 Sep 2009 02:46:42 +0000</pubDate>
		<dc:creator>Ketan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[clean-code]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[mocks]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://ketan.padegaonkar.name/?p=404</guid>
		<description><![CDATA[Objects exposing behavior, not state Controlling complexity of your codebase by limiting what state your objects expose The more objects that can see and change states on other objects, the more complex your system. Objects returning a boolean mean that someone calling that method will use an if branch, returning an integer would mean someone [...]]]></description>
			<content:encoded><![CDATA[<h2>Objects exposing behavior, not state</h2>
<h3>Controlling complexity of your codebase by limiting what state your objects expose</h3>
<p>The more objects that can see and change states on other objects, the more complex your system. Objects returning a boolean mean that someone calling that method will use an if branch, returning an integer would mean someone using if/else or switch/case. Returning objects would mean introspeting that returned object to invoke something else on it. This increases coupling between classes, makes code hard to read and test.</p>
<h3>My class has 3 friends, I talk to my friends&#8217; friends. My friends are difficult to mock, therefore mocking sucks&#8230;</h3>
<p>&#8230; well, yeah!</p>
<p>Testing procedural code is hard. Testing such code generally involves setting up &#8220;data&#8221; and asserting on state of objects. <a href="http://www.c2.com/cgi/wiki?TellDontAsk">Tell Don&#8217;t Ask</a> code on the other hand is easier to test since you&#8217;re not testing state. Also notice how DI makes things simpler to test.</p>
<pre>
void testOwnerCanFeedDog(){
    Dog dog = new Dog();
    // have to create a mouth since owner calls dog.getMouth() to feed it
    Mouth mouth = new Mouth();
    dog.setMouth(mouth);
    PetOwner owner = new PetOwner();
    owner.setDog(dog);
    owner.feedDog(food);

    // verify that the dog gets the food (well the mouth, actually)
    assertEquals(food, mouth.getFood());
}
</pre>
<pre>
void testOwnerCanFeedDog(){
    Dog dog = mock(Dog.class);
    PetOwner owner = new PetOwner(dog);
    owner.feed(food);

    // verify that the dog gets the food
    verify(dog).feed(food);
}
</pre>
<p>Without <a href="http://martinfowler.com/articles/injection.html">Dependency Injection</a>, testing is quite difficult; without <a href="http://www.c2.com/cgi/wiki?TellDontAsk">Tell Don&#8217;t Ask</a>, testing is almost always impossible. Put together, things are separated, testing is simplified.</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center">
<ul class="socials">
		<li class="shr-googlebuzz">
			<a href="http://www.shareaholic.com/api/share/?title=Tell%2C+Don%27t+Ask+-+Part+2&amp;link=http://ketan.padegaonkar.name/2009/09/04/tell-dont-ask-part-2.html&amp;notes=Objects%20exposing%20behavior%2C%20not%20state%0D%0A%0D%0AControlling%20complexity%20of%20your%20codebase%20by%20limiting%20what%20state%20your%20objects%20expose%0D%0A%0D%0AThe%20more%20objects%20that%20can%20see%20and%20change%20states%20on%20other%20objects%2C%20the%20more%20complex%20your%20system.%20Objects%20returning%20a%20boolean%20mean%20that%20someone%20calling%20that%20method%20will%20use%20an%20&amp;short_link=&amp;shortener=bitly&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=257&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-reddit">
			<a href="http://www.shareaholic.com/api/share/?title=Tell%2C+Don%27t+Ask+-+Part+2&amp;link=http://ketan.padegaonkar.name/2009/09/04/tell-dont-ask-part-2.html&amp;notes=Objects%20exposing%20behavior%2C%20not%20state%0D%0A%0D%0AControlling%20complexity%20of%20your%20codebase%20by%20limiting%20what%20state%20your%20objects%20expose%0D%0A%0D%0AThe%20more%20objects%20that%20can%20see%20and%20change%20states%20on%20other%20objects%2C%20the%20more%20complex%20your%20system.%20Objects%20returning%20a%20boolean%20mean%20that%20someone%20calling%20that%20method%20will%20use%20an%20&amp;short_link=&amp;shortener=bitly&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=40&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-twitter">
			<a href="http://www.shareaholic.com/api/share/?title=Tell%2C+Don%27t+Ask+-+Part+2&amp;link=http://ketan.padegaonkar.name/2009/09/04/tell-dont-ask-part-2.html&amp;notes=Objects%20exposing%20behavior%2C%20not%20state%0D%0A%0D%0AControlling%20complexity%20of%20your%20codebase%20by%20limiting%20what%20state%20your%20objects%20expose%0D%0A%0D%0AThe%20more%20objects%20that%20can%20see%20and%20change%20states%20on%20other%20objects%2C%20the%20more%20complex%20your%20system.%20Objects%20returning%20a%20boolean%20mean%20that%20someone%20calling%20that%20method%20will%20use%20an%20&amp;short_link=&amp;shortener=bitly&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=RT+%40ketanpkr+%24%7Btitle%7D+-+%24%7Bshort_link%7D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.shareaholic.com/api/share/?title=Tell%2C+Don%27t+Ask+-+Part+2&amp;link=http://ketan.padegaonkar.name/2009/09/04/tell-dont-ask-part-2.html&amp;notes=Objects%20exposing%20behavior%2C%20not%20state%0D%0A%0D%0AControlling%20complexity%20of%20your%20codebase%20by%20limiting%20what%20state%20your%20objects%20expose%0D%0A%0D%0AThe%20more%20objects%20that%20can%20see%20and%20change%20states%20on%20other%20objects%2C%20the%20more%20complex%20your%20system.%20Objects%20returning%20a%20boolean%20mean%20that%20someone%20calling%20that%20method%20will%20use%20an%20&amp;short_link=&amp;shortener=bitly&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-dzone">
			<a href="http://www.shareaholic.com/api/share/?title=Tell%2C+Don%27t+Ask+-+Part+2&amp;link=http://ketan.padegaonkar.name/2009/09/04/tell-dont-ask-part-2.html&amp;notes=Objects%20exposing%20behavior%2C%20not%20state%0D%0A%0D%0AControlling%20complexity%20of%20your%20codebase%20by%20limiting%20what%20state%20your%20objects%20expose%0D%0A%0D%0AThe%20more%20objects%20that%20can%20see%20and%20change%20states%20on%20other%20objects%2C%20the%20more%20complex%20your%20system.%20Objects%20returning%20a%20boolean%20mean%20that%20someone%20calling%20that%20method%20will%20use%20an%20&amp;short_link=&amp;shortener=bitly&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=102&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Add this to DZone">Add this to DZone</a>
		</li>
</ul><div style="clear: both;"></div><div class="shr-getshr" style="visibility:hidden;font-size:10px !important"><a target="_blank" href="http://www.shareaholic.com/?src=pub">Get Shareaholic</a></div><div style="clear: both;"></div></div>

]]></content:encoded>
			<wfw:commentRss>http://ketan.padegaonkar.name/2009/09/04/tell-dont-ask-part-2.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Tell, Don&#8217;t Ask &#8211; Part 1</title>
		<link>http://ketan.padegaonkar.name/2009/09/04/tell-dont-ask-part-1.html</link>
		<comments>http://ketan.padegaonkar.name/2009/09/04/tell-dont-ask-part-1.html#comments</comments>
		<pubDate>Fri, 04 Sep 2009 02:40:41 +0000</pubDate>
		<dc:creator>Ketan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[clean-code]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[mocks]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://ketan.padegaonkar.name/?p=371</guid>
		<description><![CDATA[I spend more time reading code than writing it. I therefore like code that is readable. Rarely do I like to read code that is verbose and does too much orchestration in order to do something that is orthognal to what I&#8217;m looking for. Code is easier to read and maintain when objects are written [...]]]></description>
			<content:encoded><![CDATA[<p>I spend more time reading code than writing it. I therefore like code that is readable. Rarely do I like to read code that is verbose and does too much orchestration in order to do something that is orthognal to what I&#8217;m looking for.</p>
<p>Code is easier to read and maintain when objects are written in a <a href="http://www.c2.com/cgi/wiki?TellDontAsk">Tell Don&#8217;t Ask</a>.</p>
<p>&#8220;Tell, Don&#8217;t Ask&#8221; is a style of programming where anObject tells anotherObject to doSomething(), rather than asking anotherObject to getSomeValue() and then makeADecision().</p>
<p>Code that does violates this this is more procedural than it is object oriented. In the procedural world code is written to fetch some data (or state) and then make a decision or perform some action. Procedural programming &#8220;pulls data&#8221; into the logic to get things done.</p>
<p>In object oriented programming, we do the opposite &#8212; have objects do something for you instead of you doing it yourself. Don&#8217;t overdo this too much, someone still has to do the real work though <img src='http://ketan.padegaonkar.name/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Identifying places where you may tell instead of ask:</p>
<pre>
class PetOwner{
    void feedDog(Food food){
        if(getDog().isHungry()){
            dog.getMouth().putFood(food);
        }
    }
}
</pre>
<p>This can instead be written as:</p>
<pre>
class PetOwner{
    void feedDog(Food food){
        dog.feed(food);
    }
}

class Dog{
    void feed(Food food){
        if (iAmHungry()){
            // consume food
        }
    }
}
</pre>
<p>Notice how the PetOwner does not know (or care to know) about the fact that the dog has a mouth.</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center">
<ul class="socials">
		<li class="shr-googlebuzz">
			<a href="http://www.shareaholic.com/api/share/?title=Tell%2C+Don%27t+Ask+-+Part+1&amp;link=http://ketan.padegaonkar.name/2009/09/04/tell-dont-ask-part-1.html&amp;notes=I%20spend%20more%20time%20reading%20code%20than%20writing%20it.%20I%20therefore%20like%20code%20that%20is%20readable.%20Rarely%20do%20I%20like%20to%20read%20code%20that%20is%20verbose%20and%20does%20too%20much%20orchestration%20in%20order%20to%20do%20something%20that%20is%20orthognal%20to%20what%20I%27m%20looking%20for.%0D%0A%0D%0ACode%20is%20easier%20to%20read%20and%20maintain%20when%20objects%20are%20written%20in&amp;short_link=&amp;shortener=bitly&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=257&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-reddit">
			<a href="http://www.shareaholic.com/api/share/?title=Tell%2C+Don%27t+Ask+-+Part+1&amp;link=http://ketan.padegaonkar.name/2009/09/04/tell-dont-ask-part-1.html&amp;notes=I%20spend%20more%20time%20reading%20code%20than%20writing%20it.%20I%20therefore%20like%20code%20that%20is%20readable.%20Rarely%20do%20I%20like%20to%20read%20code%20that%20is%20verbose%20and%20does%20too%20much%20orchestration%20in%20order%20to%20do%20something%20that%20is%20orthognal%20to%20what%20I%27m%20looking%20for.%0D%0A%0D%0ACode%20is%20easier%20to%20read%20and%20maintain%20when%20objects%20are%20written%20in&amp;short_link=&amp;shortener=bitly&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=40&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-twitter">
			<a href="http://www.shareaholic.com/api/share/?title=Tell%2C+Don%27t+Ask+-+Part+1&amp;link=http://ketan.padegaonkar.name/2009/09/04/tell-dont-ask-part-1.html&amp;notes=I%20spend%20more%20time%20reading%20code%20than%20writing%20it.%20I%20therefore%20like%20code%20that%20is%20readable.%20Rarely%20do%20I%20like%20to%20read%20code%20that%20is%20verbose%20and%20does%20too%20much%20orchestration%20in%20order%20to%20do%20something%20that%20is%20orthognal%20to%20what%20I%27m%20looking%20for.%0D%0A%0D%0ACode%20is%20easier%20to%20read%20and%20maintain%20when%20objects%20are%20written%20in&amp;short_link=&amp;shortener=bitly&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=RT+%40ketanpkr+%24%7Btitle%7D+-+%24%7Bshort_link%7D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.shareaholic.com/api/share/?title=Tell%2C+Don%27t+Ask+-+Part+1&amp;link=http://ketan.padegaonkar.name/2009/09/04/tell-dont-ask-part-1.html&amp;notes=I%20spend%20more%20time%20reading%20code%20than%20writing%20it.%20I%20therefore%20like%20code%20that%20is%20readable.%20Rarely%20do%20I%20like%20to%20read%20code%20that%20is%20verbose%20and%20does%20too%20much%20orchestration%20in%20order%20to%20do%20something%20that%20is%20orthognal%20to%20what%20I%27m%20looking%20for.%0D%0A%0D%0ACode%20is%20easier%20to%20read%20and%20maintain%20when%20objects%20are%20written%20in&amp;short_link=&amp;shortener=bitly&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-dzone">
			<a href="http://www.shareaholic.com/api/share/?title=Tell%2C+Don%27t+Ask+-+Part+1&amp;link=http://ketan.padegaonkar.name/2009/09/04/tell-dont-ask-part-1.html&amp;notes=I%20spend%20more%20time%20reading%20code%20than%20writing%20it.%20I%20therefore%20like%20code%20that%20is%20readable.%20Rarely%20do%20I%20like%20to%20read%20code%20that%20is%20verbose%20and%20does%20too%20much%20orchestration%20in%20order%20to%20do%20something%20that%20is%20orthognal%20to%20what%20I%27m%20looking%20for.%0D%0A%0D%0ACode%20is%20easier%20to%20read%20and%20maintain%20when%20objects%20are%20written%20in&amp;short_link=&amp;shortener=bitly&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=102&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Add this to DZone">Add this to DZone</a>
		</li>
</ul><div style="clear: both;"></div><div class="shr-getshr" style="visibility:hidden;font-size:10px !important"><a target="_blank" href="http://www.shareaholic.com/?src=pub">Get Shareaholic</a></div><div style="clear: both;"></div></div>

]]></content:encoded>
			<wfw:commentRss>http://ketan.padegaonkar.name/2009/09/04/tell-dont-ask-part-1.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Code Coverage And Functional Tests</title>
		<link>http://ketan.padegaonkar.name/2009/08/26/code-coverage-and-functional-tests.html</link>
		<comments>http://ketan.padegaonkar.name/2009/08/26/code-coverage-and-functional-tests.html#comments</comments>
		<pubDate>Wed, 26 Aug 2009 04:04:03 +0000</pubDate>
		<dc:creator>Ketan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[code coverage]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[functional testing]]></category>

		<guid isPermaLink="false">http://ketan.padegaonkar.name/?p=390</guid>
		<description><![CDATA[I am often asked this rather perilous question: How do I view code coverage for my functional tests? Short answer: Here&#8217;s how&#8230;. However, use it only for figuring out what functionality is not covered, not as a workaround for not having enough unit and integrations. Having to use functional tests to determine percentage of code [...]]]></description>
			<content:encoded><![CDATA[<p>I am often asked this rather perilous question:</p>
<blockquote><p>How do I view code coverage for my functional tests?</p></blockquote>
<p>Short answer:</p>
<blockquote><p>Here&#8217;s how&#8230;. However, use it only for figuring out what functionality is not covered, not as a workaround for not having enough unit and integrations.</p></blockquote>
<p>Having to use functional tests to determine percentage of code coverage is IMO a bad smell, avoid as much as possible.</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center">
<ul class="socials">
		<li class="shr-googlebuzz">
			<a href="http://www.shareaholic.com/api/share/?title=Code+Coverage+And+Functional+Tests&amp;link=http://ketan.padegaonkar.name/2009/08/26/code-coverage-and-functional-tests.html&amp;notes=I%20am%20often%20asked%20this%20rather%20perilous%20question%3A%0D%0A%0D%0AHow%20do%20I%20view%20code%20coverage%20for%20my%20functional%20tests%3F%0D%0A%0D%0AShort%20answer%3A%0D%0A%0D%0AHere%27s%20how....%20However%2C%20use%20it%20only%20for%20figuring%20out%20what%20functionality%20is%20not%20covered%2C%20not%20as%20a%20workaround%20for%20not%20having%20enough%20unit%20and%20integrations.%0D%0A%0D%0AHaving%20to%20use%20functi&amp;short_link=&amp;shortener=bitly&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=257&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-reddit">
			<a href="http://www.shareaholic.com/api/share/?title=Code+Coverage+And+Functional+Tests&amp;link=http://ketan.padegaonkar.name/2009/08/26/code-coverage-and-functional-tests.html&amp;notes=I%20am%20often%20asked%20this%20rather%20perilous%20question%3A%0D%0A%0D%0AHow%20do%20I%20view%20code%20coverage%20for%20my%20functional%20tests%3F%0D%0A%0D%0AShort%20answer%3A%0D%0A%0D%0AHere%27s%20how....%20However%2C%20use%20it%20only%20for%20figuring%20out%20what%20functionality%20is%20not%20covered%2C%20not%20as%20a%20workaround%20for%20not%20having%20enough%20unit%20and%20integrations.%0D%0A%0D%0AHaving%20to%20use%20functi&amp;short_link=&amp;shortener=bitly&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=40&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-twitter">
			<a href="http://www.shareaholic.com/api/share/?title=Code+Coverage+And+Functional+Tests&amp;link=http://ketan.padegaonkar.name/2009/08/26/code-coverage-and-functional-tests.html&amp;notes=I%20am%20often%20asked%20this%20rather%20perilous%20question%3A%0D%0A%0D%0AHow%20do%20I%20view%20code%20coverage%20for%20my%20functional%20tests%3F%0D%0A%0D%0AShort%20answer%3A%0D%0A%0D%0AHere%27s%20how....%20However%2C%20use%20it%20only%20for%20figuring%20out%20what%20functionality%20is%20not%20covered%2C%20not%20as%20a%20workaround%20for%20not%20having%20enough%20unit%20and%20integrations.%0D%0A%0D%0AHaving%20to%20use%20functi&amp;short_link=&amp;shortener=bitly&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=RT+%40ketanpkr+%24%7Btitle%7D+-+%24%7Bshort_link%7D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.shareaholic.com/api/share/?title=Code+Coverage+And+Functional+Tests&amp;link=http://ketan.padegaonkar.name/2009/08/26/code-coverage-and-functional-tests.html&amp;notes=I%20am%20often%20asked%20this%20rather%20perilous%20question%3A%0D%0A%0D%0AHow%20do%20I%20view%20code%20coverage%20for%20my%20functional%20tests%3F%0D%0A%0D%0AShort%20answer%3A%0D%0A%0D%0AHere%27s%20how....%20However%2C%20use%20it%20only%20for%20figuring%20out%20what%20functionality%20is%20not%20covered%2C%20not%20as%20a%20workaround%20for%20not%20having%20enough%20unit%20and%20integrations.%0D%0A%0D%0AHaving%20to%20use%20functi&amp;short_link=&amp;shortener=bitly&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-dzone">
			<a href="http://www.shareaholic.com/api/share/?title=Code+Coverage+And+Functional+Tests&amp;link=http://ketan.padegaonkar.name/2009/08/26/code-coverage-and-functional-tests.html&amp;notes=I%20am%20often%20asked%20this%20rather%20perilous%20question%3A%0D%0A%0D%0AHow%20do%20I%20view%20code%20coverage%20for%20my%20functional%20tests%3F%0D%0A%0D%0AShort%20answer%3A%0D%0A%0D%0AHere%27s%20how....%20However%2C%20use%20it%20only%20for%20figuring%20out%20what%20functionality%20is%20not%20covered%2C%20not%20as%20a%20workaround%20for%20not%20having%20enough%20unit%20and%20integrations.%0D%0A%0D%0AHaving%20to%20use%20functi&amp;short_link=&amp;shortener=bitly&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=102&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Add this to DZone">Add this to DZone</a>
		</li>
</ul><div style="clear: both;"></div><div class="shr-getshr" style="visibility:hidden;font-size:10px !important"><a target="_blank" href="http://www.shareaholic.com/?src=pub">Get Shareaholic</a></div><div style="clear: both;"></div></div>

]]></content:encoded>
			<wfw:commentRss>http://ketan.padegaonkar.name/2009/08/26/code-coverage-and-functional-tests.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>GEF Support for SWTBot</title>
		<link>http://ketan.padegaonkar.name/2009/08/04/gef-support-for-swtbot.html</link>
		<comments>http://ketan.padegaonkar.name/2009/08/04/gef-support-for-swtbot.html#comments</comments>
		<pubDate>Tue, 04 Aug 2009 02:20:33 +0000</pubDate>
		<dc:creator>Ketan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[gef]]></category>
		<category><![CDATA[swtbot]]></category>

		<guid isPermaLink="false">http://ketan.padegaonkar.name/?p=388</guid>
		<description><![CDATA[A long pending request from swtbot users has been support for GEF. The SWTBot4GEF project was created as a sandbox to see how feasible things were in the GEF world. Mariot Chauvin recently polished the initial contribution from David Green and released a version 0.1 of the gef support. We&#8217;re working towards integrating this as [...]]]></description>
			<content:encoded><![CDATA[<p>A long pending request from swtbot users has been <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=269609">support for GEF</a>. <a href="http://code.google.com/p/swtbot4gef/">The SWTBot4GEF project</a> was created as a sandbox to see how feasible things were in the GEF world.</p>
<p><a href="http://mariot-thoughts.blogspot.com/">Mariot Chauvin</a> recently polished the initial contribution from <a href="http://greensopinion.blogspot.com/search/label/SWTBot">David Green</a> and released a version 0.1 of the gef support. We&#8217;re working towards integrating this as part of swtbot and you should hear more about it once the IP process is done <img src='http://ketan.padegaonkar.name/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center">
<ul class="socials">
		<li class="shr-googlebuzz">
			<a href="http://www.shareaholic.com/api/share/?title=GEF+Support+for+SWTBot&amp;link=http://ketan.padegaonkar.name/2009/08/04/gef-support-for-swtbot.html&amp;notes=A%20long%20pending%20request%20from%20swtbot%20users%20has%20been%20support%20for%20GEF.%20The%20SWTBot4GEF%20project%20was%20created%20as%20a%20sandbox%20to%20see%20how%20feasible%20things%20were%20in%20the%20GEF%20world.%0D%0A%0D%0AMariot%20Chauvin%20recently%20polished%20the%20initial%20contribution%20from%20David%20Green%20and%20released%20a%20version%200.1%20of%20the%20gef%20support.%20We%27re%20work&amp;short_link=&amp;shortener=bitly&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=257&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-reddit">
			<a href="http://www.shareaholic.com/api/share/?title=GEF+Support+for+SWTBot&amp;link=http://ketan.padegaonkar.name/2009/08/04/gef-support-for-swtbot.html&amp;notes=A%20long%20pending%20request%20from%20swtbot%20users%20has%20been%20support%20for%20GEF.%20The%20SWTBot4GEF%20project%20was%20created%20as%20a%20sandbox%20to%20see%20how%20feasible%20things%20were%20in%20the%20GEF%20world.%0D%0A%0D%0AMariot%20Chauvin%20recently%20polished%20the%20initial%20contribution%20from%20David%20Green%20and%20released%20a%20version%200.1%20of%20the%20gef%20support.%20We%27re%20work&amp;short_link=&amp;shortener=bitly&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=40&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-twitter">
			<a href="http://www.shareaholic.com/api/share/?title=GEF+Support+for+SWTBot&amp;link=http://ketan.padegaonkar.name/2009/08/04/gef-support-for-swtbot.html&amp;notes=A%20long%20pending%20request%20from%20swtbot%20users%20has%20been%20support%20for%20GEF.%20The%20SWTBot4GEF%20project%20was%20created%20as%20a%20sandbox%20to%20see%20how%20feasible%20things%20were%20in%20the%20GEF%20world.%0D%0A%0D%0AMariot%20Chauvin%20recently%20polished%20the%20initial%20contribution%20from%20David%20Green%20and%20released%20a%20version%200.1%20of%20the%20gef%20support.%20We%27re%20work&amp;short_link=&amp;shortener=bitly&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=RT+%40ketanpkr+%24%7Btitle%7D+-+%24%7Bshort_link%7D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.shareaholic.com/api/share/?title=GEF+Support+for+SWTBot&amp;link=http://ketan.padegaonkar.name/2009/08/04/gef-support-for-swtbot.html&amp;notes=A%20long%20pending%20request%20from%20swtbot%20users%20has%20been%20support%20for%20GEF.%20The%20SWTBot4GEF%20project%20was%20created%20as%20a%20sandbox%20to%20see%20how%20feasible%20things%20were%20in%20the%20GEF%20world.%0D%0A%0D%0AMariot%20Chauvin%20recently%20polished%20the%20initial%20contribution%20from%20David%20Green%20and%20released%20a%20version%200.1%20of%20the%20gef%20support.%20We%27re%20work&amp;short_link=&amp;shortener=bitly&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-dzone">
			<a href="http://www.shareaholic.com/api/share/?title=GEF+Support+for+SWTBot&amp;link=http://ketan.padegaonkar.name/2009/08/04/gef-support-for-swtbot.html&amp;notes=A%20long%20pending%20request%20from%20swtbot%20users%20has%20been%20support%20for%20GEF.%20The%20SWTBot4GEF%20project%20was%20created%20as%20a%20sandbox%20to%20see%20how%20feasible%20things%20were%20in%20the%20GEF%20world.%0D%0A%0D%0AMariot%20Chauvin%20recently%20polished%20the%20initial%20contribution%20from%20David%20Green%20and%20released%20a%20version%200.1%20of%20the%20gef%20support.%20We%27re%20work&amp;short_link=&amp;shortener=bitly&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=102&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Add this to DZone">Add this to DZone</a>
		</li>
</ul><div style="clear: both;"></div><div class="shr-getshr" style="visibility:hidden;font-size:10px !important"><a target="_blank" href="http://www.shareaholic.com/?src=pub">Get Shareaholic</a></div><div style="clear: both;"></div></div>

]]></content:encoded>
			<wfw:commentRss>http://ketan.padegaonkar.name/2009/08/04/gef-support-for-swtbot.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SWTBot Getting Started Video Tutorials</title>
		<link>http://ketan.padegaonkar.name/2009/07/15/swtbot-getting-started-video-tutorials.html</link>
		<comments>http://ketan.padegaonkar.name/2009/07/15/swtbot-getting-started-video-tutorials.html#comments</comments>
		<pubDate>Tue, 14 Jul 2009 19:21:33 +0000</pubDate>
		<dc:creator>Ketan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[swtbot]]></category>

		<guid isPermaLink="false">http://ketan.padegaonkar.name/?p=369</guid>
		<description><![CDATA[Getting started with SWTBot is a unique experience for a lot of users, and myself. Unlike most other projects hosted at eclipse.org, it&#8217;s an Eclipse UI testing tool written for primarily for testers to be able to write automated tests. In this regard the users of swtbot are a bit special. Most of them understand [...]]]></description>
			<content:encoded><![CDATA[<p>Getting started with <a href="http://eclipse.org/swtbot">SWTBot</a> is a unique experience for a lot of users, and myself. Unlike most other projects hosted at eclipse.org, it&#8217;s an <a href="http://eclipse.org/swtbot">Eclipse UI testing</a> tool written for primarily for testers to be able to write automated tests.</p>
<p>In this regard the users of swtbot are a bit special. Most of them understand testing and the principles associated with testing but do not necessarily understand swt, threading models and the workbench and platform internals. Getting such users to use eclipse, create test plugins and write tests in java involves more than just documentation and screenshots.</p>
<p>Mohammed recently posted two such 5 minute videos. <a href="http://download.eclipse.org/technology/swtbot/docs/videos/beginners/SWTBotGettingStartedIn5Minutes/">Getting started with swtbot</a> in under 5 minutes, and run your <a href="http://download.eclipse.org/technology/swtbot/docs/videos/beginners/SWTBotHeadlessTestingForNovices/">UI tests in a headless build</a> from within ant.</p>
<p>A video is worth a thousand images <img src='http://ketan.padegaonkar.name/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center">
<ul class="socials">
		<li class="shr-googlebuzz">
			<a href="http://www.shareaholic.com/api/share/?title=SWTBot+Getting+Started+Video+Tutorials&amp;link=http://ketan.padegaonkar.name/2009/07/15/swtbot-getting-started-video-tutorials.html&amp;notes=Getting%20started%20with%20SWTBot%20is%20a%20unique%20experience%20for%20a%20lot%20of%20users%2C%20and%20myself.%20Unlike%20most%20other%20projects%20hosted%20at%20eclipse.org%2C%20it%27s%20an%20Eclipse%20UI%20testing%20tool%20written%20for%20primarily%20for%20testers%20to%20be%20able%20to%20write%20automated%20tests.%0D%0A%0D%0AIn%20this%20regard%20the%20users%20of%20swtbot%20are%20a%20bit%20special.%20Most%20of&amp;short_link=&amp;shortener=bitly&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=257&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-reddit">
			<a href="http://www.shareaholic.com/api/share/?title=SWTBot+Getting+Started+Video+Tutorials&amp;link=http://ketan.padegaonkar.name/2009/07/15/swtbot-getting-started-video-tutorials.html&amp;notes=Getting%20started%20with%20SWTBot%20is%20a%20unique%20experience%20for%20a%20lot%20of%20users%2C%20and%20myself.%20Unlike%20most%20other%20projects%20hosted%20at%20eclipse.org%2C%20it%27s%20an%20Eclipse%20UI%20testing%20tool%20written%20for%20primarily%20for%20testers%20to%20be%20able%20to%20write%20automated%20tests.%0D%0A%0D%0AIn%20this%20regard%20the%20users%20of%20swtbot%20are%20a%20bit%20special.%20Most%20of&amp;short_link=&amp;shortener=bitly&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=40&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-twitter">
			<a href="http://www.shareaholic.com/api/share/?title=SWTBot+Getting+Started+Video+Tutorials&amp;link=http://ketan.padegaonkar.name/2009/07/15/swtbot-getting-started-video-tutorials.html&amp;notes=Getting%20started%20with%20SWTBot%20is%20a%20unique%20experience%20for%20a%20lot%20of%20users%2C%20and%20myself.%20Unlike%20most%20other%20projects%20hosted%20at%20eclipse.org%2C%20it%27s%20an%20Eclipse%20UI%20testing%20tool%20written%20for%20primarily%20for%20testers%20to%20be%20able%20to%20write%20automated%20tests.%0D%0A%0D%0AIn%20this%20regard%20the%20users%20of%20swtbot%20are%20a%20bit%20special.%20Most%20of&amp;short_link=&amp;shortener=bitly&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=RT+%40ketanpkr+%24%7Btitle%7D+-+%24%7Bshort_link%7D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.shareaholic.com/api/share/?title=SWTBot+Getting+Started+Video+Tutorials&amp;link=http://ketan.padegaonkar.name/2009/07/15/swtbot-getting-started-video-tutorials.html&amp;notes=Getting%20started%20with%20SWTBot%20is%20a%20unique%20experience%20for%20a%20lot%20of%20users%2C%20and%20myself.%20Unlike%20most%20other%20projects%20hosted%20at%20eclipse.org%2C%20it%27s%20an%20Eclipse%20UI%20testing%20tool%20written%20for%20primarily%20for%20testers%20to%20be%20able%20to%20write%20automated%20tests.%0D%0A%0D%0AIn%20this%20regard%20the%20users%20of%20swtbot%20are%20a%20bit%20special.%20Most%20of&amp;short_link=&amp;shortener=bitly&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-dzone">
			<a href="http://www.shareaholic.com/api/share/?title=SWTBot+Getting+Started+Video+Tutorials&amp;link=http://ketan.padegaonkar.name/2009/07/15/swtbot-getting-started-video-tutorials.html&amp;notes=Getting%20started%20with%20SWTBot%20is%20a%20unique%20experience%20for%20a%20lot%20of%20users%2C%20and%20myself.%20Unlike%20most%20other%20projects%20hosted%20at%20eclipse.org%2C%20it%27s%20an%20Eclipse%20UI%20testing%20tool%20written%20for%20primarily%20for%20testers%20to%20be%20able%20to%20write%20automated%20tests.%0D%0A%0D%0AIn%20this%20regard%20the%20users%20of%20swtbot%20are%20a%20bit%20special.%20Most%20of&amp;short_link=&amp;shortener=bitly&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=102&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Add this to DZone">Add this to DZone</a>
		</li>
</ul><div style="clear: both;"></div><div class="shr-getshr" style="visibility:hidden;font-size:10px !important"><a target="_blank" href="http://www.shareaholic.com/?src=pub">Get Shareaholic</a></div><div style="clear: both;"></div></div>

]]></content:encoded>
			<wfw:commentRss>http://ketan.padegaonkar.name/2009/07/15/swtbot-getting-started-video-tutorials.html/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Just upgraded my blog to a newer wordpress&#8230;</title>
		<link>http://ketan.padegaonkar.name/2009/07/15/just-upgraded-my-blog-to-a-newer-wordpress.html</link>
		<comments>http://ketan.padegaonkar.name/2009/07/15/just-upgraded-my-blog-to-a-newer-wordpress.html#comments</comments>
		<pubDate>Tue, 14 Jul 2009 18:34:21 +0000</pubDate>
		<dc:creator>Ketan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[eclipse]]></category>

		<guid isPermaLink="false">http://ketan.padegaonkar.name/2009/07/15/just-upgraded-my-blog-to-a-newer-wordpress.html</guid>
		<description><![CDATA[&#8230; and just wanted to see all the parts are still moving. Post on Google Buzz Share this on Reddit Tweet This! Share this on Facebook Add this to DZone Get Shareaholic]]></description>
			<content:encoded><![CDATA[<p>&#8230; and just wanted to see all the parts are still moving.</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center">
<ul class="socials">
		<li class="shr-googlebuzz">
			<a href="http://www.shareaholic.com/api/share/?title=Just+upgraded+my+blog+to+a+newer+wordpress...&amp;link=http://ketan.padegaonkar.name/2009/07/15/just-upgraded-my-blog-to-a-newer-wordpress.html&amp;notes=...%20and%20just%20wanted%20to%20see%20all%20the%20parts%20are%20still%20moving.&amp;short_link=&amp;shortener=bitly&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=257&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-reddit">
			<a href="http://www.shareaholic.com/api/share/?title=Just+upgraded+my+blog+to+a+newer+wordpress...&amp;link=http://ketan.padegaonkar.name/2009/07/15/just-upgraded-my-blog-to-a-newer-wordpress.html&amp;notes=...%20and%20just%20wanted%20to%20see%20all%20the%20parts%20are%20still%20moving.&amp;short_link=&amp;shortener=bitly&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=40&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-twitter">
			<a href="http://www.shareaholic.com/api/share/?title=Just+upgraded+my+blog+to+a+newer+wordpress...&amp;link=http://ketan.padegaonkar.name/2009/07/15/just-upgraded-my-blog-to-a-newer-wordpress.html&amp;notes=...%20and%20just%20wanted%20to%20see%20all%20the%20parts%20are%20still%20moving.&amp;short_link=&amp;shortener=bitly&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=RT+%40ketanpkr+%24%7Btitle%7D+-+%24%7Bshort_link%7D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.shareaholic.com/api/share/?title=Just+upgraded+my+blog+to+a+newer+wordpress...&amp;link=http://ketan.padegaonkar.name/2009/07/15/just-upgraded-my-blog-to-a-newer-wordpress.html&amp;notes=...%20and%20just%20wanted%20to%20see%20all%20the%20parts%20are%20still%20moving.&amp;short_link=&amp;shortener=bitly&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-dzone">
			<a href="http://www.shareaholic.com/api/share/?title=Just+upgraded+my+blog+to+a+newer+wordpress...&amp;link=http://ketan.padegaonkar.name/2009/07/15/just-upgraded-my-blog-to-a-newer-wordpress.html&amp;notes=...%20and%20just%20wanted%20to%20see%20all%20the%20parts%20are%20still%20moving.&amp;short_link=&amp;shortener=bitly&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=102&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Add this to DZone">Add this to DZone</a>
		</li>
</ul><div style="clear: both;"></div><div class="shr-getshr" style="visibility:hidden;font-size:10px !important"><a target="_blank" href="http://www.shareaholic.com/?src=pub">Get Shareaholic</a></div><div style="clear: both;"></div></div>

]]></content:encoded>
			<wfw:commentRss>http://ketan.padegaonkar.name/2009/07/15/just-upgraded-my-blog-to-a-newer-wordpress.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sriram at JavaOne</title>
		<link>http://ketan.padegaonkar.name/2007/05/02/sriram-at-javaone.html</link>
		<comments>http://ketan.padegaonkar.name/2007/05/02/sriram-at-javaone.html#comments</comments>
		<pubDate>Wed, 02 May 2007 05:16:58 +0000</pubDate>
		<dc:creator>Ketan</dc:creator>
				<category><![CDATA[eclipse]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[gtk]]></category>
		<category><![CDATA[javaone]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[opensolaris]]></category>
		<category><![CDATA[swt]]></category>

		<guid isPermaLink="false">http://ketan.padegaonkar.name/2007/05/02/sriram-at-javaone.html</guid>
		<description><![CDATA[It&#8217;s official now. Sriram a colleague at ThoughtWorks has finally got a US Visa to speak at JavaOne in San Fransisco. He&#8217;ll be speaking on OpenGrok, &#8220;a fast and usable source code search and cross reference engine.&#8221; He compiles Mozilla on Opensolaris during nights, and has recently been working on getting SWT/Mozilla to work on [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s official now. <a href="http://dynamicproxy.livejournal.com/">Sriram</a> a colleague at <a href="http://thoughtworks.co.in">ThoughtWorks</a> has finally got a <a href="http://dynamicproxy.livejournal.com/9795.html">US Visa to</a> speak at <a href="http://java.sun.com/javaone/sf/">JavaOne</a> in San Fransisco. He&#8217;ll be speaking on <a href="http://www.opensolaris.org/os/project/opengrok/">OpenGrok</a>, &#8220;a fast and usable source code search and cross reference engine.&#8221;</p>
<p>He compiles Mozilla on Opensolaris during nights, and has recently been working on getting SWT/Mozilla to work on OpenSolaris-gtk. He aims to eventually contribute eclipse builds for opensolaris. This would also get a lot og SWT based apps like the <a href="http://code.google.com/webtoolkit/">Google Web Toolkit(GWT)</a> to work on OpenSolaris</p>
<p>You can catch up with him at JavaOne and the <a href="http://ianskerrett.wordpress.com/2007/04/20/eclipse-party-at-javaone/">Eclipse Party at JavaOne</a>.</p>
<p>Sriram lives <a href="http://dynamicproxy.livejournal.com/">here</a>.</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center">
<ul class="socials">
		<li class="shr-googlebuzz">
			<a href="http://www.shareaholic.com/api/share/?title=Sriram+at+JavaOne&amp;link=http://ketan.padegaonkar.name/2007/05/02/sriram-at-javaone.html&amp;notes=It%27s%20official%20now.%20Sriram%20a%20colleague%20at%20ThoughtWorks%20has%20finally%20got%20a%20US%20Visa%20to%20speak%20at%20JavaOne%20in%20San%20Fransisco.%20He%27ll%20be%20speaking%20on%20OpenGrok%2C%20%22a%20fast%20and%20usable%20source%20code%20search%20and%20cross%20reference%20engine.%22%0A%0AHe%20compiles%20Mozilla%20on%20Opensolaris%20during%20nights%2C%20and%20has%20recently%20been%20working%20on%20&amp;short_link=&amp;shortener=bitly&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=257&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-reddit">
			<a href="http://www.shareaholic.com/api/share/?title=Sriram+at+JavaOne&amp;link=http://ketan.padegaonkar.name/2007/05/02/sriram-at-javaone.html&amp;notes=It%27s%20official%20now.%20Sriram%20a%20colleague%20at%20ThoughtWorks%20has%20finally%20got%20a%20US%20Visa%20to%20speak%20at%20JavaOne%20in%20San%20Fransisco.%20He%27ll%20be%20speaking%20on%20OpenGrok%2C%20%22a%20fast%20and%20usable%20source%20code%20search%20and%20cross%20reference%20engine.%22%0A%0AHe%20compiles%20Mozilla%20on%20Opensolaris%20during%20nights%2C%20and%20has%20recently%20been%20working%20on%20&amp;short_link=&amp;shortener=bitly&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=40&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-twitter">
			<a href="http://www.shareaholic.com/api/share/?title=Sriram+at+JavaOne&amp;link=http://ketan.padegaonkar.name/2007/05/02/sriram-at-javaone.html&amp;notes=It%27s%20official%20now.%20Sriram%20a%20colleague%20at%20ThoughtWorks%20has%20finally%20got%20a%20US%20Visa%20to%20speak%20at%20JavaOne%20in%20San%20Fransisco.%20He%27ll%20be%20speaking%20on%20OpenGrok%2C%20%22a%20fast%20and%20usable%20source%20code%20search%20and%20cross%20reference%20engine.%22%0A%0AHe%20compiles%20Mozilla%20on%20Opensolaris%20during%20nights%2C%20and%20has%20recently%20been%20working%20on%20&amp;short_link=&amp;shortener=bitly&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=RT+%40ketanpkr+%24%7Btitle%7D+-+%24%7Bshort_link%7D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.shareaholic.com/api/share/?title=Sriram+at+JavaOne&amp;link=http://ketan.padegaonkar.name/2007/05/02/sriram-at-javaone.html&amp;notes=It%27s%20official%20now.%20Sriram%20a%20colleague%20at%20ThoughtWorks%20has%20finally%20got%20a%20US%20Visa%20to%20speak%20at%20JavaOne%20in%20San%20Fransisco.%20He%27ll%20be%20speaking%20on%20OpenGrok%2C%20%22a%20fast%20and%20usable%20source%20code%20search%20and%20cross%20reference%20engine.%22%0A%0AHe%20compiles%20Mozilla%20on%20Opensolaris%20during%20nights%2C%20and%20has%20recently%20been%20working%20on%20&amp;short_link=&amp;shortener=bitly&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-dzone">
			<a href="http://www.shareaholic.com/api/share/?title=Sriram+at+JavaOne&amp;link=http://ketan.padegaonkar.name/2007/05/02/sriram-at-javaone.html&amp;notes=It%27s%20official%20now.%20Sriram%20a%20colleague%20at%20ThoughtWorks%20has%20finally%20got%20a%20US%20Visa%20to%20speak%20at%20JavaOne%20in%20San%20Fransisco.%20He%27ll%20be%20speaking%20on%20OpenGrok%2C%20%22a%20fast%20and%20usable%20source%20code%20search%20and%20cross%20reference%20engine.%22%0A%0AHe%20compiles%20Mozilla%20on%20Opensolaris%20during%20nights%2C%20and%20has%20recently%20been%20working%20on%20&amp;short_link=&amp;shortener=bitly&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=102&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Add this to DZone">Add this to DZone</a>
		</li>
</ul><div style="clear: both;"></div><div class="shr-getshr" style="visibility:hidden;font-size:10px !important"><a target="_blank" href="http://www.shareaholic.com/?src=pub">Get Shareaholic</a></div><div style="clear: both;"></div></div>

]]></content:encoded>
			<wfw:commentRss>http://ketan.padegaonkar.name/2007/05/02/sriram-at-javaone.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

