<?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>inverted index</title>
	<atom:link href="http://invertedindex.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://invertedindex.wordpress.com</link>
	<description>The personal blog of Graham Williamson.</description>
	<lastBuildDate>Sun, 29 Jan 2012 22:17:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='invertedindex.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://0.gravatar.com/blavatar/6d646c94b6d937886e2a95be50fde260?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>inverted index</title>
		<link>http://invertedindex.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://invertedindex.wordpress.com/osd.xml" title="inverted index" />
	<atom:link rel='hub' href='http://invertedindex.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Beware: Your API is more public than you may think</title>
		<link>http://invertedindex.wordpress.com/2009/10/29/beware-your-api-is-more-public-than-you-may-think/</link>
		<comments>http://invertedindex.wordpress.com/2009/10/29/beware-your-api-is-more-public-than-you-may-think/#comments</comments>
		<pubDate>Thu, 29 Oct 2009 13:07:41 +0000</pubDate>
		<dc:creator>grwilliamson</dc:creator>
				<category><![CDATA[Design & Architecture]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Web Services]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[distributed systems]]></category>
		<category><![CDATA[soa]]></category>

		<guid isPermaLink="false">http://invertedindex.wordpress.com/?p=535</guid>
		<description><![CDATA[Well, I made a classic school boy error today in my SOA service pubic API. I somehow convinced myself that wrapping an &#8220;internal&#8221; exception in a public/&#8221;external&#8221; API service-level exception would ensure that client would only be dependent on the external exception. Wrong! Certainly not when I did the sensible (?) thing of preserving the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=invertedindex.wordpress.com&amp;blog=6000144&amp;post=535&amp;subd=invertedindex&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Well, I made a classic school boy error today in my SOA service pubic API.</p>
<p>I somehow convinced myself that wrapping an &#8220;internal&#8221; exception in a public/&#8221;external&#8221; API service-level exception would ensure that client would only be dependent on the external exception. Wrong!</p>
<p>Certainly not when I did the sensible (?) thing of preserving the cause of the exception &#8211; that being the internal exception:</p>
<pre>try {
   doSomethingThatMightThrowAnInternalException();
} catch (InternalException e) {
   throw new ExternalException("A useful message.",e);
}</pre>
<p>The &#8220;,e);&#8221; is the culprit in the above code snippet.</p>
<p>My SOA service is offered as an RMI service as well as a web service. I provide a client jar containing all the public API classes (interfaces and exceptions) but no internal implementation classes. If the internal exception occurs though, then a ClassNotFoundException will occur when unmarshalling the <strong>external</strong> exception, because it has-a(n) <strong>internal </strong>exception.</p>
<pre>java.lang.ClassNotFoundException: com.my.InternalException
(no security manager: RMI class loader disabled)</pre>
<p>Now this wouldn&#8217;t happen if dynamic class loading were in use, but in this instance, it isn&#8217;t.</p>
<p>Three solutions are open now:</p>
<ul>
<li> Add the internal exception to the client interface jar.</li>
<li>Don&#8217;t wrap the internal exception, but instead throw a new external exception without a cause.</li>
<li>Turn on dynamic class loading by enabling the RMI class loader.</li>
</ul>
<p>Like I say, school boy error. We live and learn (or at least remember).</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/invertedindex.wordpress.com/535/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/invertedindex.wordpress.com/535/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/invertedindex.wordpress.com/535/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/invertedindex.wordpress.com/535/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/invertedindex.wordpress.com/535/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/invertedindex.wordpress.com/535/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/invertedindex.wordpress.com/535/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/invertedindex.wordpress.com/535/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/invertedindex.wordpress.com/535/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/invertedindex.wordpress.com/535/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/invertedindex.wordpress.com/535/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/invertedindex.wordpress.com/535/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/invertedindex.wordpress.com/535/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/invertedindex.wordpress.com/535/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=invertedindex.wordpress.com&amp;blog=6000144&amp;post=535&amp;subd=invertedindex&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://invertedindex.wordpress.com/2009/10/29/beware-your-api-is-more-public-than-you-may-think/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">g</media:title>
		</media:content>
	</item>
		<item>
		<title>Interesting Mapper/Builder Strategy</title>
		<link>http://invertedindex.wordpress.com/2009/10/14/interesting-mapperbuilder-strategy/</link>
		<comments>http://invertedindex.wordpress.com/2009/10/14/interesting-mapperbuilder-strategy/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 13:39:40 +0000</pubDate>
		<dc:creator>grwilliamson</dc:creator>
				<category><![CDATA[Design & Architecture]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[builder]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[design patterns]]></category>
		<category><![CDATA[mapping]]></category>

		<guid isPermaLink="false">http://invertedindex.wordpress.com/?p=515</guid>
		<description><![CDATA[Jakub has an interesting slant on the problem of mapping objects from one representation into another, without XML. This is something I&#8217;ve come up against many times on my most recent project. http://www.jakubkorab.net/2009/10/a-better-builder.html My thoughts: I like this approach. It provides a very elegant mechanism for mocking, for sure. On my recent project I opted [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=invertedindex.wordpress.com&amp;blog=6000144&amp;post=515&amp;subd=invertedindex&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a title="Jakub Korab" href="http://www.jakubkorab.net/about-me" target="_blank">Jakub</a> has an <a title="A Better Builder" href="http://www.jakubkorab.net/2009/10/a-better-builder.html" target="_blank">interesting slant</a> on the problem of mapping objects from one representation into another, without XML.</p>
<p>This is something I&#8217;ve come up against many times on my most recent project.</p>
<p><a title="Jakub Korab: A Better Builder" href="http://www.jakubkorab.net/2009/10/a-better-builder.html" target="_blank">http://www.jakubkorab.net/2009/10/a-better-builder.html</a></p>
<p><strong>My thoughts:</strong></p>
<div>
<p>I like this approach. It provides a very elegant mechanism for mocking, for sure.</p>
<p>On my recent project I opted for individual mapper classes due to their reusability across different scenarios – for example the mapping of a particular type that is a member of many different, and quite independent, objects.</p>
<p>In addition, the mapping classes were really pretty big and to have all of this logic in a single class would create a massive class. Not quite a monolithic block of code in a single method, but it would still have the feel of a retro procedural programming treat.</p>
<p>I guess for me I felt that the individual mapper classes were better aligned with the principles of single responsibility, separation of concerns, increased cohesion and reduced coupling, albeit for the cost of class explosion! Each mapper only knew about the input object, the resulting output object, and any child or member objects. It’s also simple to test – something which I did actually do.</p>
<p>Like everything though, it depends on the situation and it’s interesting to have another tool in the bat belt for this. I’ll definitely take this into consideration next time around.</p>
<p><strong>Further Thoughts:</strong></p>
<p>Couldn&#8217;t much the same be achieved by simply extending the Builder and then overriding the methods that you don&#8217;t want to test? I.e. mock the builder methods that are irrelevant during the test scenario.</p>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/invertedindex.wordpress.com/515/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/invertedindex.wordpress.com/515/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/invertedindex.wordpress.com/515/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/invertedindex.wordpress.com/515/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/invertedindex.wordpress.com/515/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/invertedindex.wordpress.com/515/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/invertedindex.wordpress.com/515/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/invertedindex.wordpress.com/515/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/invertedindex.wordpress.com/515/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/invertedindex.wordpress.com/515/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/invertedindex.wordpress.com/515/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/invertedindex.wordpress.com/515/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/invertedindex.wordpress.com/515/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/invertedindex.wordpress.com/515/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=invertedindex.wordpress.com&amp;blog=6000144&amp;post=515&amp;subd=invertedindex&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://invertedindex.wordpress.com/2009/10/14/interesting-mapperbuilder-strategy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">g</media:title>
		</media:content>
	</item>
		<item>
		<title>Intellij &amp; Parallels &#8211; Error Highlighting Broken</title>
		<link>http://invertedindex.wordpress.com/2009/09/30/intellij-parallels-error-highlighting-broken/</link>
		<comments>http://invertedindex.wordpress.com/2009/09/30/intellij-parallels-error-highlighting-broken/#comments</comments>
		<pubDate>Wed, 30 Sep 2009 06:07:00 +0000</pubDate>
		<dc:creator>grwilliamson</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Macs]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[intellij]]></category>

		<guid isPermaLink="false">http://invertedindex.wordpress.com/?p=509</guid>
		<description><![CDATA[If you are using Intellij on a mac via Parallels and Windows, beware the evil problems caused by sharing your home directory between Parallels and Mac OS X. Sharing your home directory will break your error highlighting within Intellij. Your code will build/make so long as you have configured your JDK (JSDK) correctly, but will [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=invertedindex.wordpress.com&amp;blog=6000144&amp;post=509&amp;subd=invertedindex&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>If you are using Intellij on a mac via Parallels and Windows, beware the evil problems caused by sharing your home directory between Parallels and Mac OS X.</p>
<p>Sharing your home directory will break your error highlighting within Intellij. Your code will build/make so long as you have configured your JDK (JSDK) correctly, but will fail to find core Java language types such as String within the editor.</p>
<p><strong>Save yourself many hours</strong> and uncheck the option in Parallels to share your home directory.</p>
<p>See the final comment in this chain for further details: <a title="Error highlighting is flagging my Java types &quot;cannot resolve symbol&quot; even tho compile &amp; run works" href="http://www.jetbrains.net/devnet/thread/280480" target="_blank">Error highlighting is flagging my Java types &#8220;cannot resolve symbol&#8221; even tho compile &amp; run works</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/invertedindex.wordpress.com/509/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/invertedindex.wordpress.com/509/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/invertedindex.wordpress.com/509/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/invertedindex.wordpress.com/509/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/invertedindex.wordpress.com/509/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/invertedindex.wordpress.com/509/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/invertedindex.wordpress.com/509/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/invertedindex.wordpress.com/509/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/invertedindex.wordpress.com/509/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/invertedindex.wordpress.com/509/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/invertedindex.wordpress.com/509/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/invertedindex.wordpress.com/509/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/invertedindex.wordpress.com/509/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/invertedindex.wordpress.com/509/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=invertedindex.wordpress.com&amp;blog=6000144&amp;post=509&amp;subd=invertedindex&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://invertedindex.wordpress.com/2009/09/30/intellij-parallels-error-highlighting-broken/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">g</media:title>
		</media:content>
	</item>
		<item>
		<title>Glorious Gotchas</title>
		<link>http://invertedindex.wordpress.com/2009/09/03/glorious-gotchas/</link>
		<comments>http://invertedindex.wordpress.com/2009/09/03/glorious-gotchas/#comments</comments>
		<pubDate>Thu, 03 Sep 2009 22:32:23 +0000</pubDate>
		<dc:creator>grwilliamson</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[manifest]]></category>
		<category><![CDATA[osgi]]></category>

		<guid isPermaLink="false">http://invertedindex.wordpress.com/?p=487</guid>
		<description><![CDATA[Two nice gotchas that helped me waste time tonight&#8230; EXCEPTION_ACCESS_VIOLATION If you get the following, kill all of your JVMs and try again. Simple as. Grrrr&#8230; Big red hearing when you&#8217;ve just changed a load of code. EXCEPTION_ACCESS_VIOLATION (0xc0000005) at Thanks to http://www.java-forums.org/eclipse/312-exception_access_violation-0xc0000005.html for this. OSGi Bundles and Native Code Be warned, configuring native code [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=invertedindex.wordpress.com&amp;blog=6000144&amp;post=487&amp;subd=invertedindex&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Two nice gotchas that helped me waste time tonight&#8230;</p>
<h2>EXCEPTION_ACCESS_VIOLATION</h2>
<p>If you get the following, kill all of your JVMs and try again. Simple as. Grrrr&#8230; Big red hearing when you&#8217;ve just changed a load of code.</p>
<pre>EXCEPTION_ACCESS_VIOLATION (0xc0000005) at</pre>
<p>Thanks to <a title="Exception Access Violation help at Java Forums" href="http://www.java-forums.org/eclipse/312-exception_access_violation-0xc0000005.html" target="_blank">http://www.java-forums.org/eclipse/312-exception_access_violation-0xc0000005.html</a> for this.</p>
<h2>OSGi Bundles and Native Code</h2>
<p>Be warned, configuring native code within an OSGi bundle manifest isn&#8217;t obvious or intuitive.</p>
<p>This looks like it works, but it doesn&#8217;t &#8230; and it fails silently, even though if I added some nonsense entry, it would complain.</p>
<pre>Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: My Cool Plug-in
Bundle-SymbolicName: com.figmentweb.cool;singleton:=true
Bundle-Version: 1.0.0
Bundle-Activator: com.figmentweb.cool.Activator
Bundle-Vendor: DKIB
SpringContext: OSGI-INF/importexport.xml,
 spring/cool/application-context.xml,
 spring/client/cool/cool-beans.xml
Require-Bundle: org.eclipse.core.runtime,
 org.eclipse.ui;bundle-version="3.4.1"
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-NativeCode: dll/a.dll,
 dll/b.dll,
 dll/c.dll,
 dll/d.dll,
 dll/e.dll,
 dll/f.dll,
 dll/g.dll,
 dll/h.dll
Bundle-ClassPath: ...</pre>
<p>This is what it should be:</p>
<pre>Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: My Cool Plug-in
Bundle-SymbolicName: com.figmentweb.cool;singleton:=true
Bundle-Version: 1.0.0
Bundle-Activator: com.figmentweb.cool.Activator
Bundle-Vendor: DKIB
SpringContext: OSGI-INF/importexport.xml,
 spring/cool/application-context.xml,
 spring/client/cool/cool-beans.xml
Require-Bundle: org.eclipse.core.runtime,
 org.eclipse.ui;bundle-version="3.4.1"
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-NativeCode: dll/a.dll;
 dll/b.dll;
 dll/c.dll;
 dll/d.dll;
 dll/e.dll;
 dll/f.dll;
 dll/g.dll;
 dll/h.dll
Bundle-ClassPath: ...</pre>
<p>That is, even though every other multi-entry/list of configurations is split across lines by &#8216;,&#8217; &#8211; within the Bundle-NativeCode we should use &#8216;;&#8217;. Using &#8216;,&#8217; won&#8217;t cause an error, it just means that only the first DLL is loaded.</p>
<p>The ability to bundle DLLs/SOs into a bundle jar is awesome though.</p>
<p>Thanks to: <a title="Eclipse Forum" href="http://www.eclipse.org/newsportal/article.php?id=12052&amp;group=eclipse.platform.rcp#12052" target="_blank">http://www.eclipse.org/newsportal/article.php?id=12052&amp;group=eclipse.platform.rcp#12052</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/invertedindex.wordpress.com/487/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/invertedindex.wordpress.com/487/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/invertedindex.wordpress.com/487/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/invertedindex.wordpress.com/487/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/invertedindex.wordpress.com/487/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/invertedindex.wordpress.com/487/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/invertedindex.wordpress.com/487/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/invertedindex.wordpress.com/487/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/invertedindex.wordpress.com/487/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/invertedindex.wordpress.com/487/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/invertedindex.wordpress.com/487/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/invertedindex.wordpress.com/487/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/invertedindex.wordpress.com/487/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/invertedindex.wordpress.com/487/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=invertedindex.wordpress.com&amp;blog=6000144&amp;post=487&amp;subd=invertedindex&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://invertedindex.wordpress.com/2009/09/03/glorious-gotchas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">g</media:title>
		</media:content>
	</item>
		<item>
		<title>Financial Engineering: On Reflection</title>
		<link>http://invertedindex.wordpress.com/2009/07/24/financial-engineering-on-reflection/</link>
		<comments>http://invertedindex.wordpress.com/2009/07/24/financial-engineering-on-reflection/#comments</comments>
		<pubDate>Fri, 24 Jul 2009 22:21:11 +0000</pubDate>
		<dc:creator>grwilliamson</dc:creator>
				<category><![CDATA[C plus plus]]></category>
		<category><![CDATA[Finance]]></category>
		<category><![CDATA[financial engineering]]></category>
		<category><![CDATA[quantitative finance]]></category>

		<guid isPermaLink="false">http://invertedindex.wordpress.com/?p=420</guid>
		<description><![CDATA[I received a Notification of Award of Credit for Financial Engineering in C++ at level U2 from City University London yesterday. While the piece of paper doesn&#8217;t look particularly special, has the odd typo and appears to have the wrong number of CATS credits, I&#8217;m half tempted to frame it. What began as a fairly [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=invertedindex.wordpress.com&amp;blog=6000144&amp;post=420&amp;subd=invertedindex&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I received a Notification of Award of Credit for <a title="Financial Engineering in C++ at City University London" href="http://www.city.ac.uk/cae/cfa/computing/programming_c/financialengineering.html" target="_blank">Financial Engineering in C++</a> at level U2 from <a title="City University London" href="http://www.city.ac.uk/" target="_blank">City University London</a> yesterday. While the piece of paper doesn&#8217;t look particularly special, has the odd typo and appears to have the wrong number of CATS credits, I&#8217;m half tempted to frame it.</p>
<p>What began as a fairly straight forward learning exercise encompassing mathematics, financial concepts and a bit of C++ programming managed to dissolve into an endurance test towards the end. As the course progressed, week by week more comrades fell by the way side, beaten into submission by <a title="Ito's Lemma on the Wikipedia" href="http://en.wikipedia.org/w/index.php?title=It%C5%8D%27s_lemma&amp;oldid=310320604" target="_blank">Ito&#8217;s Lemma</a>, <a title="Partial Differential Equations on the Wikipedia" href="http://en.wikipedia.org/w/index.php?title=Partial_differential_equation&amp;oldid=308467508" target="_blank">Partial Differential Equations</a> or some other <a title="Gabriel's Horn on the Wikipedia" href="http://en.wikipedia.org/w/index.php?title=Gabriel%27s_Horn&amp;oldid=302709603" target="_blank">abstract mathematical concept</a>. Worryingly, to even survive the 10 week course and serve a full tour of duty made me feel like I&#8217;d achieved something. By the end of the course the class size had reduced to a third, of which I suspect even fewer submitted any programming assignment solutions.</p>
<p>Each of the four programming assignments was allocated on a Tuesday and due by the following Friday. This meant getting as much done on the assignment over that coming weekend in preparation for the next class. After the first assignment had been allocated, it became the norm that the 10 minute break in each class be (ab)used as an intense assignment inquest by students.</p>
<p>Our assignments were as follows:</p>
<ul>
<li>Project 1: Bootstrapping the Yield Curve
<ul>
<li>Write a C++ program which will generate a continuous zero curve calibrated to price correctly the specified bonds.</li>
</ul>
</li>
<li>Project 2: Binomial Tree Pricing
<ul>
<li>Price the specified European-style vanilla call option with a tree.</li>
<li>Modify your program to price the corresponding American option.</li>
</ul>
</li>
<li>Project 3: Monte Carlo Pricing
<ul>
<li>Price the specified European-style vanilla put option using Monte Carlo.</li>
<li>Modify your program to work with Payoff classes handling vanilla call, vanilla put, digital call and digital put payoffs.</li>
</ul>
</li>
<li>Project 4: Exotic Option Monte Carlo Pricing
<ul>
<li>Price a European-style put option that gives the holder the right to sell the more expensive of two correlated stocks.</li>
<li>Price the option as a fixed strike lookback.</li>
</ul>
</li>
</ul>
<p>This is where the course made a big difference for me and where I believe its strength and value lie. Learning theory is all well and good, and the theory was taught as well as it could be, but it is incredibly dry. However, applying this theory and building a pricing model was nothing short of exciting.</p>
<p>Project 2 was the turning point for me. I had a great experience with the assignment and received positive feedback, which really spurred me on for later assignments. Project 2 was of particular interest to me after working on the <a title="Loan Pricing Service" href="http://invertedindex.wordpress.com/2009/01/02/template-method-pattern/" target="_self">Loan Pricing Service</a>, which used a <a title="Binomial Option Pricing Model (Wolfram)" href="http://demonstrations.wolfram.com/BinomialOptionPricingModel/" target="_blank">Binomial Option Pricing Model</a> (<a title="Binomial Option Pricing Model (Wikipedia)" href="http://en.wikipedia.org/w/index.php?title=Binomial_options_pricing_model&amp;oldid=300893444" target="_blank">BOPM</a>). While <a title="Paul Wilmott on the Wikipedia" href="http://en.wikipedia.org/wiki/Paul_Wilmott" target="_blank">Paul Wilmott</a> might not think much of it, I enjoyed it and I think it provides a solid foundation for more advanced models.</p>
<p>Particularly in the last two assignments (which were combined into a single assignment due to time limits), I really had to work hard to reach the desired solution which employed discrete and continuous time models, as well as working with correlated dividend paying stocks.</p>
<p>Ironically, <a title="Hull's Options, Futures, and Other Derivatives" href="http://www.rotman.utoronto.ca/~hull/ofod/" target="_blank">Hull</a> &#8211; a book I&#8217;d delved into from time-to-time over the past few years &#8211; became<strong> a lot</strong> more readible and accessible during the course.  It became my main reference and seemed to provide everything I needed. It&#8217;s funny how a book which once scared me soon became my bible. I guess everything is relative: university slides of pure notation versus vaguelly human-readable text.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/invertedindex.wordpress.com/420/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/invertedindex.wordpress.com/420/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/invertedindex.wordpress.com/420/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/invertedindex.wordpress.com/420/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/invertedindex.wordpress.com/420/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/invertedindex.wordpress.com/420/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/invertedindex.wordpress.com/420/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/invertedindex.wordpress.com/420/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/invertedindex.wordpress.com/420/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/invertedindex.wordpress.com/420/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/invertedindex.wordpress.com/420/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/invertedindex.wordpress.com/420/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/invertedindex.wordpress.com/420/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/invertedindex.wordpress.com/420/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=invertedindex.wordpress.com&amp;blog=6000144&amp;post=420&amp;subd=invertedindex&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://invertedindex.wordpress.com/2009/07/24/financial-engineering-on-reflection/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">g</media:title>
		</media:content>
	</item>
		<item>
		<title>What is an Inverted Index?</title>
		<link>http://invertedindex.wordpress.com/2009/06/21/what-is-an-inverted-index/</link>
		<comments>http://invertedindex.wordpress.com/2009/06/21/what-is-an-inverted-index/#comments</comments>
		<pubDate>Sun, 21 Jun 2009 20:34:15 +0000</pubDate>
		<dc:creator>grwilliamson</dc:creator>
				<category><![CDATA[Design & Architecture]]></category>
		<category><![CDATA[Information Retrieval]]></category>
		<category><![CDATA[inverted file]]></category>
		<category><![CDATA[inverted index]]></category>
		<category><![CDATA[posting list]]></category>
		<category><![CDATA[postings file]]></category>

		<guid isPermaLink="false">http://invertedindex.wordpress.com/?p=389</guid>
		<description><![CDATA[The Numbers Never Lie From my blog stats I&#8217;ve noticed that often people google* using keywords like &#8220;C#&#8221; &#8220;inverted index&#8221; &#8220;java&#8221; and select this blog as a result. * I say &#8220;google&#8221;, but really I mean generic web searching. Inverted Index Since there isn&#8217;t much direct information about inverted indexes (indices?) here, I thought I [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=invertedindex.wordpress.com&amp;blog=6000144&amp;post=389&amp;subd=invertedindex&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h2>The Numbers Never Lie</h2>
<p>From my blog stats I&#8217;ve noticed that often people google* using keywords like &#8220;C#&#8221; &#8220;inverted index&#8221; &#8220;java&#8221; and select this blog as a result.</p>
<p style="text-align:left;"><em>* I say &#8220;google&#8221;, but really I mean generic web searching.</em></p>
<h2>Inverted Index</h2>
<p>Since there isn&#8217;t much direct information about inverted indexes (indices?) here, I thought I should at least provide some information for those surfers I&#8217;m capturing &#8211; perhaps incorrectly &#8211; due to the blog&#8217;s URL.</p>
<p>An inverted index, also known as an inverted file, is a data structure central to text-based <a title="Information Retrieval (Wikipedia)" href="http://en.wikipedia.org/w/index.php?title=Information_retrieval&amp;oldid=296259088" target="_blank">information retrieval</a>. The name is derived from the structure&#8217;s design and purpose, which in its simplist form is a map of key-value pairs:</p>
<ul>
<li><strong>Key: </strong>The map is keyed by tokens, which can be a word, such as &#8220;dog&#8221; or &#8220;plate&#8221;, or some other code (perhaps a part of a word) depending on the granularity of the index.</li>
</ul>
<ul>
<li><strong>Value: </strong>The value in the map is a list of postings, sometimes stored as a separate file on the filespace and called a Postings File.</li>
</ul>
<p>The inverted index is the output of the indexing process. The input to this process is a collection of documents of texts, often referred to in IR terms as a corpus.</p>
<h2>Example</h2>
<p>For example, given the following documents&#8230;</p>
<p><span style="text-decoration:underline;">Document 1</span></p>
<pre>The cat sat on the mat.</pre>
<p><span style="text-decoration:underline;">Document 2</span></p>
<pre>The quick brown fox jumps over the lazy dog.</pre>
<p>Indexing documents 1 and 2 without employing any stopword removal or stemming would produce the following index&#8230;</p>
<pre>  {brown} -&gt; {2}
  {cat}   -&gt; {1}
  {dog}   -&gt; {2}
  {fox}   -&gt; {2}
  {jumps} -&gt; {2}
  {mat}   -&gt; {1}
  {on}    -&gt; {1}
  {over}  -&gt; {2}
  {quick} -&gt; {2}
  {sat}   -&gt; {1}
  {the}   -&gt; {1,2}</pre>
<p>This index only stores within the posting list the ID of the document a token is present in. It doesn&#8217;t indicate how often a token occurs within a document, where it appears within a document or how long a document is (for normalisation purposes).</p>
<p>None-the-less, even an index of such simple form can answer the question &#8220;which documents contain the words &#8216;quick&#8217; &#8216;dog&#8217; and &#8216;the&#8217;?&#8221;. It does not, however, answer (or support answering) the real question we want to ask, &#8220;which documents are <strong><span style="text-decoration:underline;">about </span></strong>&lt;subject&gt;?&#8221;, very accurately.</p>
<h2>Further Reading</h2>
<p>The following links will provide some useful information on the subject matter:</p>
<ul>
<li><a title="Introduction to Information Retrieval" href="http://www-csli.stanford.edu/~hinrich/information-retrieval-book.html" target="_blank">Introduction to Information Retrieval</a> &#8211; free online text from <a title="Christopher Manning at Stanford University" href="http://nlp.stanford.edu/~manning/" target="_blank">Manning</a>, <a title="Prabhakar Raghavan at Stanford University" href="http://theory.stanford.edu/~pragh/" target="_blank">Raghavan</a> (of <a title="Prabhakar Raghavan at Yahoo! Research" href="http://research.yahoo.com/Prabhakar_Raghavan" target="_blank">Yahoo! Research</a>) and <a title="Hinrich Schutze at Stanford University" href="http://www-csli.stanford.edu/~hinrich/" target="_blank">Schütze</a>. An excellent book from members of the IR community working in both academia and industry.</li>
</ul>
<ul>
<li><a title="Information Retrieval (online book by CJ van Rijsbergen)" href="http://www.dcs.gla.ac.uk/~iain/keith/" target="_blank">Information Retrieval</a> &#8211; free online text of a book by <a title="CJ van Rijsbergen" href="http://www.dcs.gla.ac.uk/~keith/" target="_blank">Dr. CJ van Rijsbergen</a> of the <a title="The University of Glasgow" href="http://www.gla.ac.uk/" target="_blank">University of Glasgow</a> covering advanced topics in Information Retrieval. A classic text and a great introduction.</li>
</ul>
<h2>Final Thoughts</h2>
<p>And the last question: why have I named this blog inverted index? See: <a title="About Graham Williamson's Personal Blog Inverted Index" href="http://invertedindex.wordpress.com/about/" target="_blank">about</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/invertedindex.wordpress.com/389/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/invertedindex.wordpress.com/389/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/invertedindex.wordpress.com/389/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/invertedindex.wordpress.com/389/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/invertedindex.wordpress.com/389/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/invertedindex.wordpress.com/389/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/invertedindex.wordpress.com/389/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/invertedindex.wordpress.com/389/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/invertedindex.wordpress.com/389/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/invertedindex.wordpress.com/389/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/invertedindex.wordpress.com/389/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/invertedindex.wordpress.com/389/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/invertedindex.wordpress.com/389/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/invertedindex.wordpress.com/389/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=invertedindex.wordpress.com&amp;blog=6000144&amp;post=389&amp;subd=invertedindex&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://invertedindex.wordpress.com/2009/06/21/what-is-an-inverted-index/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">g</media:title>
		</media:content>
	</item>
		<item>
		<title>VSTO: How to Create a Menu for an Excel Add-In</title>
		<link>http://invertedindex.wordpress.com/2009/06/11/vsto-how-to-create-a-menu-for-an-excel-add-in/</link>
		<comments>http://invertedindex.wordpress.com/2009/06/11/vsto-how-to-create-a-menu-for-an-excel-add-in/#comments</comments>
		<pubDate>Thu, 11 Jun 2009 22:00:14 +0000</pubDate>
		<dc:creator>grwilliamson</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[VSTO]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[add-in]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[excel]]></category>
		<category><![CDATA[menu]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[visual studio tools for office]]></category>

		<guid isPermaLink="false">http://invertedindex.wordpress.com/?p=353</guid>
		<description><![CDATA[Introduction This short how-to will show you how to create a menu as part of a Microsoft Visual Studio Tools for Office (VSTO) Excel 2003 Add-In. It is assumed that you have Microsoft Visual Studio and the Microsoft Visual Studio Tools for Office SDK installed. The project in this tutorial was created using Microsoft Visual [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=invertedindex.wordpress.com&amp;blog=6000144&amp;post=353&amp;subd=invertedindex&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h2>Introduction</h2>
<p>This short how-to will show you how to create a <a title="Menu (computer) on Wikipedia" href="http://en.wikipedia.org/w/index.php?title=Menu_(computing)&amp;oldid=283226856" target="_blank">menu</a> as part of a Microsoft Visual Studio Tools for Office (<a title="Microsoft Visual Studio Tools for Office on the Wikipedia" href="http://en.wikipedia.org/wiki/Visual_Studio_Tools_for_Office" target="_blank">VSTO</a>) <a title="Microsoft Excel on the Wikipedia" href="http://en.wikipedia.org/wiki/Microsoft_Excel" target="_blank">Excel</a> 2003 Add-In.</p>
<p>It is assumed that you have <a title="Microsoft Visual Studio" href="http://msdn.microsoft.com/en-gb/vstudio/default.aspx" target="_blank">Microsoft Visual Studio</a> and the <a title="Microsoft Visual Studio 2005 Tools for the 2007 Microsoft Office System" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=5e86cab3-6fd6-4955-b979-e1676db6b3cb&amp;DisplayLang=en" target="_blank">Microsoft Visual Studio Tools for Office SDK</a> installed. The project in this tutorial was created using Microsoft Visual Studio 2008, developing with <a title="C# on the Wikipedia" href="http://en.wikipedia.org/wiki/C_Sharp_(programming_language)" target="_blank">C#</a>.</p>
<h2>Create a new Project</h2>
<p>If you have an existing VSTO Excel add-in project you want to add a menu to, skip to the next section.</p>
<p>Otherwise:</p>
<ol>
<li> Open Microsoft Visual Studio.</li>
<li>Select File &gt; New &gt; Project.</li>
<li>From the New Project window select Visual C# &gt; Office &gt; 2003. (If you can&#8217;t see the Office branch of the Visual C# tree, you don&#8217;t have VSTO installed).</li>
<li>Select Excel 2003 Add-in.</li>
<li>Name the add-in project ExcelAddIn1.</li>
<li>Click OK.</li>
<li>Open the ThisAddIn.cs file.</li>
</ol>
<h2>Using Statements</h2>
<p>It is assumed throughout this tutorial that the following using statements are present:</p>
<pre>using Excel = Microsoft.Office.Interop.Excel;
using Office = Microsoft.Office.Core;</pre>
<p>These are normally automatically generated by the VSTO project.</p>
<h2>Add-In Callbacks</h2>
<p>It is assumed that you have something similar to the following in your Excel Add-In code file, named for example ThisAddIn.cs:</p>
<pre>private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
   #region VSTO generated code
   this.Application = (Excel.Application)
      Microsoft.Office.Tools.Excel.ExcelLocale1033Proxy.Wrap(
         typeof(Excel.Application), this.Application);
   #endregion
}
...
private void ThisAddIn_Shutdown(object sender, System.EventArgs e) { }
...
#region VSTO generated code
/// &lt;summary&gt;
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// &lt;/summary&gt;
private void InternalStartup()
{
   this.Startup += new System.EventHandler(ThisAddIn_Startup);
   this.Shutdown += new System.EventHandler(ThisAddIn_Shutdown);
}
#endregion</pre>
<h2>Member Fields</h2>
<p>Create the following member fields in your ThisAddIn.cs:</p>
<pre>public partial class ThisAddIn
{
   ...
   private Office.CommandBarPopup popupMenu;
   private Office.CommandBarButton menuCommand;
   ...
}</pre>
<h2>Add Menu Method</h2>
<p>Add the following method to your ThisAddIn.cs:</p>
<pre>private void AddMenuBar()
{
   try
   {
      Office.CommandBar activeMenuBar = (Office.CommandBar)
         Application.CommandBars.ActiveMenuBar;
      int controlCount = activeMenuBar.Controls.Count;

      popupMenu = (Office.CommandBarPopup)
         activeMenuBar.Controls.Add(
            Office.MsoControlType.msoControlPopup,
            missing,
            missing,
            controlCount,
            true);

      if (popupMenu != null)
      {
         popupMenu.Caption = "&amp;My Menu";

         menuCommand = (Office.CommandBarButton)
            popupMenu.Controls.Add(
               Office.MsoControlType.msoControlButton,
               missing,
               missing,
               missing,
               true);

         menuCommand.Caption = "&amp;Do Something";
         menuCommand.FaceId = 59;

         menuCommand.Click +=
            new Office._CommandBarButtonEvents_ClickEventHandler(
               menuCommand_Click);
      }
   }
   catch (Exception e)
   {
      MessageBox.Show(e.Message);
   }
}</pre>
<p>The first line gets a reference to the active menu bar. The method then uses this to create and add a menu to the menu bar with the caption &#8220;My Menu&#8221;. The newly created menu is assigned to the popupMenu member field. Notice that true is passed into the last variable of the Controls.Add() method &#8211; this specifies that the menu is a temporary object. By specifying that the menu is temporary, it will automatically be removed from Excel when the add-in is closed, either implicitly by closing Excel or by forceably removing the add-in. The benefit of this is that you don&#8217;t need to write any code to explicitly remove the menu.</p>
<p>A menu item (CommandBarButton) is then created using the previously created menu&#8217;s Controls.Add() method. The button is assigned to the menuCommand member field. A caption is set &#8211; this it the text visible in the menu item. The FaceId specifies an icon to display as part of the menu item (to the left of the menu item caption) which can be one of these <a title="Face IDs" href="http://www.outlookexchange.com/articles/toddwalker/BuiltInOLKIcons.asp" target="_blank">FaceIds</a>. Notice again that true is specified for the temporary argument of the Controls.Add() method.</p>
<p>An event handler is wired up to the menu button&#8217;s click event, which calls method menuCommand_Click (below).</p>
<p>Note: Your code won&#8217;t compile until you follow the next step.</p>
<h2>Event Handler Method</h2>
<p>Add the following method to your ThisAddIn.cs:</p>
<pre>private void menuCommand_Click(Office.CommandBarButton Ctrl, ref bool CancelDefault)
{
   MessageBox.Show("Menu Command Click!");
}</pre>
<p>This is the event handler wired up to the menu item click. It simply displays a message to the user each time the menu item is clicked.</p>
<p>Note: Your code should now compile.</p>
<h2>Installing the Menu</h2>
<p>If you run the add-in now, you will notice that the menu does not appear in the main menu bar as desired. We must tell the add-in to add the menu. To do this, modify the startup callback of your ThisAddIn.cs to match the following:</p>
<pre>private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
   #region VSTO generated code
   this.Application = (Excel.Application)
      Microsoft.Office.Tools.Excel.ExcelLocale1033Proxy.Wrap(
         typeof(Excel.Application), this.Application);
   #endregion

   AddMenuBar();
}</pre>
<p>That is, add the call to AddMenuBar() to the existing code.</p>
<h2>Run the Add-In</h2>
<p>Try running your project in debug mode. You should see a new menu with a single item like so:</p>
<div id="attachment_382" class="wp-caption aligncenter" style="width: 499px"><img class="size-full wp-image-382" title="Menu Screenshot" src="http://invertedindex.files.wordpress.com/2009/06/menu_screenshot1.jpg?w=490" alt="Menu Screenshot"   /><p class="wp-caption-text">Menu Screenshot</p></div>
<p style="text-align:left;">Clicking on the menu item will display the message box, as shown:</p>
<div id="attachment_383" class="wp-caption aligncenter" style="width: 142px"><img class="size-full wp-image-383" title="Message Box Screenshot" src="http://invertedindex.files.wordpress.com/2009/06/menu_screenshot2.jpg?w=490" alt="Message Box Screenshot"   /><p class="wp-caption-text">Message Box Screenshot</p></div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/invertedindex.wordpress.com/353/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/invertedindex.wordpress.com/353/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/invertedindex.wordpress.com/353/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/invertedindex.wordpress.com/353/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/invertedindex.wordpress.com/353/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/invertedindex.wordpress.com/353/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/invertedindex.wordpress.com/353/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/invertedindex.wordpress.com/353/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/invertedindex.wordpress.com/353/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/invertedindex.wordpress.com/353/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/invertedindex.wordpress.com/353/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/invertedindex.wordpress.com/353/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/invertedindex.wordpress.com/353/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/invertedindex.wordpress.com/353/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=invertedindex.wordpress.com&amp;blog=6000144&amp;post=353&amp;subd=invertedindex&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://invertedindex.wordpress.com/2009/06/11/vsto-how-to-create-a-menu-for-an-excel-add-in/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">g</media:title>
		</media:content>

		<media:content url="http://invertedindex.files.wordpress.com/2009/06/menu_screenshot1.jpg" medium="image">
			<media:title type="html">Menu Screenshot</media:title>
		</media:content>

		<media:content url="http://invertedindex.files.wordpress.com/2009/06/menu_screenshot2.jpg" medium="image">
			<media:title type="html">Message Box Screenshot</media:title>
		</media:content>
	</item>
		<item>
		<title>VSTO: How to Create a Toolbar for an Excel Add-In</title>
		<link>http://invertedindex.wordpress.com/2009/06/10/vsto-how-to-create-a-toolbar-for-an-excel-add-in/</link>
		<comments>http://invertedindex.wordpress.com/2009/06/10/vsto-how-to-create-a-toolbar-for-an-excel-add-in/#comments</comments>
		<pubDate>Wed, 10 Jun 2009 22:32:24 +0000</pubDate>
		<dc:creator>grwilliamson</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[VSTO]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[add-in]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[excel]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[toolbar]]></category>
		<category><![CDATA[visual studio tools for office]]></category>

		<guid isPermaLink="false">http://invertedindex.wordpress.com/?p=336</guid>
		<description><![CDATA[Introduction This short how-to will show you how to create a toolbar as part of a Microsoft Visual Studio Tools for Office (VSTO) Excel 2003 Add-In. It is assumed that you have Microsoft Visual Studio and the Microsoft Visual Studio Tools for Office SDK installed. The project in this tutorial was created using Microsoft Visual [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=invertedindex.wordpress.com&amp;blog=6000144&amp;post=336&amp;subd=invertedindex&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h2>Introduction</h2>
<p>This short how-to will show you how to create a <a title="Toolbar on Wikipedia" href="http://en.wikipedia.org/w/index.php?title=Toolbar&amp;oldid=293784462" target="_blank">toolbar</a> as part of a Microsoft Visual Studio Tools for Office (<a title="Microsoft Visual Studio Tools for Office on the Wikipedia" href="http://en.wikipedia.org/wiki/Visual_Studio_Tools_for_Office" target="_blank">VSTO</a>) <a title="Microsoft Excel on the Wikipedia" href="http://en.wikipedia.org/wiki/Microsoft_Excel" target="_blank">Excel</a> 2003 Add-In.</p>
<p>It is assumed that you have <a title="Microsoft Visual Studio" href="http://msdn.microsoft.com/en-gb/vstudio/default.aspx" target="_blank">Microsoft Visual Studio</a> and the <a title="Microsoft Visual Studio 2005 Tools for the 2007 Microsoft Office System" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=5e86cab3-6fd6-4955-b979-e1676db6b3cb&amp;DisplayLang=en" target="_blank">Microsoft Visual Studio Tools for Office SDK</a> installed. The project in this tutorial was created using Microsoft Visual Studio 2008, developing with <a title="C# on the Wikipedia" href="http://en.wikipedia.org/wiki/C_Sharp_(programming_language)" target="_blank">C#</a>.</p>
<h2>Create a new Project</h2>
<p>If you have an existing VSTO Excel add-in project you want to add a toolbar to, skip to the next section.</p>
<p>Otherwise:</p>
<ol>
<li> Open Microsoft Visual Studio.</li>
<li>Select File &gt; New &gt; Project.</li>
<li>From the New Project window select Visual C# &gt; Office &gt; 2003. (If you can&#8217;t see the Office branch of the Visual C# tree, you don&#8217;t have VSTO installed).</li>
<li>Select Excel 2003 Add-in.</li>
<li>Name the add-in project ExcelAddIn1.</li>
<li>Click OK.</li>
<li>Open the ThisAddIn.cs file.</li>
</ol>
<h2>Using Statements</h2>
<p>It is assumed throughout this tutorial that the following using statements are present:</p>
<pre>using Excel = Microsoft.Office.Interop.Excel;
using Office = Microsoft.Office.Core;</pre>
<p>These are normally automatically generated by the VSTO project.</p>
<h2>Add-In Callbacks</h2>
<p>It is assumed that you have something similar to the following in your Excel Add-In code file, named for example ThisAddIn.cs:</p>
<pre>private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
   #region VSTO generated code
   this.Application = (Excel.Application)
      Microsoft.Office.Tools.Excel.ExcelLocale1033Proxy.Wrap(
         typeof(Excel.Application), this.Application);
   #endregion
}
...
private void ThisAddIn_Shutdown(object sender, System.EventArgs e) { }
...
#region VSTO generated code
/// &lt;summary&gt;
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// &lt;/summary&gt;
private void InternalStartup()
{
   this.Startup += new System.EventHandler(ThisAddIn_Startup);
   this.Shutdown += new System.EventHandler(ThisAddIn_Shutdown);
}
#endregion</pre>
<h2>Member Fields</h2>
<p>Create the following member fields in your ThisAddIn.cs:</p>
<pre>public partial class ThisAddIn
{
   ...
   private Office.CommandBar toolbar;
   private Office.CommandBarButton toolbarCommand;
   ...
}</pre>
<h2>Add Toolbar Method</h2>
<p>Add the folloing method to your ThisAddIn.cs:</p>
<pre>private void AddToolbar()
{
   try
   {
      toolbar = Application.CommandBars.Add(
         "My Toolbar",
         Office.MsoBarPosition.msoBarTop,
         false,
         true);
      if (toolbar != null)
      {
         toolbarCommand = (Office.CommandBarButton)
            toolbar.Controls.Add(
               Office.MsoControlType.msoControlButton,
               missing,
               missing,
               missing,
               true);
         toolbarCommand.Caption = "Toolbar Button";
         toolbarCommand.FaceId = 59;
         toolbarCommand.Click +=
            new Office._CommandBarButtonEvents_ClickEventHandler(
               toolbarCommand_Click);
         toolbar.Visible = true;
      }
   }
   catch (Exception e)
   {
      MessageBox.Show(e.Message);
   }
}</pre>
<p>This method creates a new toolbar named &#8220;My Toolbar&#8221; and assigns it to the toolbar member field. Notice that true is passed into the last variable of the CommandBars.Add() method &#8211; this specifies that the toolbar is a temporary object. By specifying that the toolbar is temporary, it will automatically be removed from Excel when the add-in is closed, either implicitly by closing Ms Excel or by forceably removing the add-in. The benefit of this is that you don&#8217;t need to write any code to explicitly remove the toolbar.</p>
<p>A toolbar button is then created using the previously created toolbar&#8217;s Controls.Add() method. The button is assigned to the toolbarCommand member field. A caption is set &#8211; this will be displayed when the user hovers their mouse over the toolbar button. The FaceId specifies the toolbar button icon &#8211; which can be one of these <a title="Face IDs" href="http://www.outlookexchange.com/articles/toddwalker/BuiltInOLKIcons.asp" target="_blank">FaceIds</a>. Notice again that true is specified for the temporary argument of the Controls.Add() method.</p>
<p>An event handler is wired up to the toolbar button&#8217;s click event, which calls method toolbarCommand_Click (below).</p>
<p>This code has created the toolbar, but it will not be visible to the user unless explicitly instructed. Without setting the toolbar to visible here, the user would have to right click on the toolbar area and select the toolbar from a list of those available.</p>
<p>Note: Your code won&#8217;t compile until you follow the next step.</p>
<h2>Event Handler Method</h2>
<p>Add the following method to your ThisAddIn.cs:</p>
<pre>private void toolbarCommand_Click(Office.CommandBarButton Ctrl, ref bool CancelDefault)
{
   MessageBox.Show("Toolbar Command Click!");
}</pre>
<p>This is the event handler wired up to the toolbar button click. It simply displays a message to the user each time the toolbar button is clicked.</p>
<p>Note: Your code should now compile.</p>
<h2>Installing the Toolbar</h2>
<p>If you run the add-in now, you will notice that the toolbar is not installed by the add-in. We must tell the add-in to add the toolbar. To do this, modify the startup callback of your ThisAddIn.cs to match the following:</p>
<pre>private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
   #region VSTO generated code
   this.Application = (Excel.Application)
      Microsoft.Office.Tools.Excel.ExcelLocale1033Proxy.Wrap(
         typeof(Excel.Application), this.Application);
   #endregion

   AddToolbar();
}</pre>
<p>That is, add the call to AddToolbar() to the existing code.</p>
<h2>Run the Add-In</h2>
<p>Try running your project in debug mode. You should see a new toolbar with a single button like so:</p>
<div id="attachment_350" class="wp-caption aligncenter" style="width: 349px"><img class="size-full wp-image-350" title="Toolbar Screenshot" src="http://invertedindex.files.wordpress.com/2009/06/toolbar_screenshot12.jpg?w=490" alt="Toolbar Screenshot"   /><p class="wp-caption-text">Toolbar Screenshot</p></div>
<p style="text-align:center;">
<p style="text-align:left;">Clicking on the toolbar button will display the message box, as shown:</p>
<p style="text-align:center;">
<div id="attachment_351" class="wp-caption aligncenter" style="width: 153px"><img class="size-full wp-image-351" title="Message Box Screenshot" src="http://invertedindex.files.wordpress.com/2009/06/toolbar_screenshot2.jpg?w=490" alt="Message Box Screenshot"   /><p class="wp-caption-text">Message Box Screenshot</p></div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/invertedindex.wordpress.com/336/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/invertedindex.wordpress.com/336/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/invertedindex.wordpress.com/336/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/invertedindex.wordpress.com/336/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/invertedindex.wordpress.com/336/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/invertedindex.wordpress.com/336/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/invertedindex.wordpress.com/336/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/invertedindex.wordpress.com/336/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/invertedindex.wordpress.com/336/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/invertedindex.wordpress.com/336/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/invertedindex.wordpress.com/336/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/invertedindex.wordpress.com/336/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/invertedindex.wordpress.com/336/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/invertedindex.wordpress.com/336/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=invertedindex.wordpress.com&amp;blog=6000144&amp;post=336&amp;subd=invertedindex&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://invertedindex.wordpress.com/2009/06/10/vsto-how-to-create-a-toolbar-for-an-excel-add-in/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">g</media:title>
		</media:content>

		<media:content url="http://invertedindex.files.wordpress.com/2009/06/toolbar_screenshot12.jpg" medium="image">
			<media:title type="html">Toolbar Screenshot</media:title>
		</media:content>

		<media:content url="http://invertedindex.files.wordpress.com/2009/06/toolbar_screenshot2.jpg" medium="image">
			<media:title type="html">Message Box Screenshot</media:title>
		</media:content>
	</item>
		<item>
		<title>Creating a Java Windows Service</title>
		<link>http://invertedindex.wordpress.com/2009/06/05/creating-a-java-windows-service/</link>
		<comments>http://invertedindex.wordpress.com/2009/06/05/creating-a-java-windows-service/#comments</comments>
		<pubDate>Fri, 05 Jun 2009 08:25:14 +0000</pubDate>
		<dc:creator>grwilliamson</dc:creator>
				<category><![CDATA[Design & Architecture]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[service]]></category>
		<category><![CDATA[soa]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://invertedindex.wordpress.com/?p=329</guid>
		<description><![CDATA[When deploying a Java application to a Microsoft Windows system, you might also like to take advantage of the Windows Services management console to start and stop the application. Windows Services also provide a simple means of ensuring your application is restarted after a machine reboot. In addition, services can be run under a specific [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=invertedindex.wordpress.com&amp;blog=6000144&amp;post=329&amp;subd=invertedindex&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>When deploying a Java application to a Microsoft Windows system, you might also like to take advantage of the <a title="Windows Services on the Wikipedia" href="http://en.wikipedia.org/wiki/Windows_service" target="_blank">Windows Services management console</a> to start and stop the application. Windows Services also provide a simple means of ensuring your application is restarted after a machine reboot. In addition, services can be run under a specific user account, permitting finer-grained service-specific permissioning.</p>
<p>Windows Services are most suited to long-running, non-interactive processes. For example, a stand-alone server application that doesn&#8217;t run within a web or EJB container, such as a Spring or Core Java SE application.</p>
<p style="text-align:center;"><a href="http://wrapper.tanukisoftware.org"><img class="aligncenter" style="border:1px solid white;padding:5px;" title="Java Service Weapper" src="http://wrapper.tanukisoftware.org/buttons/UnderWrapper147x50.png" alt="" width="147" height="50" /></a></p>
<p>The <a title="Java Service Wrapper" href="http://wrapper.tanukisoftware.org" target="_blank">Java Services Wrapper</a> from <a title="Tanuki Software" href="http://www.tanukisoftware.com" target="_blank">Tanuki Software</a> provides a simple way to install a Java application as a Windows service. It also simplifies installation of the same Java application as  a daemon process on Unix systems.</p>
<p>I&#8217;ve used the wrapper for some time now to wrap an SOA application. It&#8217;s easy to use, configure and deploy.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/invertedindex.wordpress.com/329/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/invertedindex.wordpress.com/329/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/invertedindex.wordpress.com/329/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/invertedindex.wordpress.com/329/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/invertedindex.wordpress.com/329/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/invertedindex.wordpress.com/329/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/invertedindex.wordpress.com/329/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/invertedindex.wordpress.com/329/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/invertedindex.wordpress.com/329/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/invertedindex.wordpress.com/329/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/invertedindex.wordpress.com/329/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/invertedindex.wordpress.com/329/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/invertedindex.wordpress.com/329/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/invertedindex.wordpress.com/329/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=invertedindex.wordpress.com&amp;blog=6000144&amp;post=329&amp;subd=invertedindex&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://invertedindex.wordpress.com/2009/06/05/creating-a-java-windows-service/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">g</media:title>
		</media:content>

		<media:content url="http://wrapper.tanukisoftware.org/buttons/UnderWrapper147x50.png" medium="image">
			<media:title type="html">Java Service Weapper</media:title>
		</media:content>
	</item>
		<item>
		<title>Hazelcast: Distributed Java</title>
		<link>http://invertedindex.wordpress.com/2009/05/29/hazelcast-distributed-java/</link>
		<comments>http://invertedindex.wordpress.com/2009/05/29/hazelcast-distributed-java/#comments</comments>
		<pubDate>Fri, 29 May 2009 17:06:02 +0000</pubDate>
		<dc:creator>grwilliamson</dc:creator>
				<category><![CDATA[Design & Architecture]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[distributed]]></category>
		<category><![CDATA[Finance]]></category>
		<category><![CDATA[quants]]></category>

		<guid isPermaLink="false">http://invertedindex.wordpress.com/?p=325</guid>
		<description><![CDATA[Matt has a concise post about hazelcast and its performance when applied to distributed Black-Scholes pricing.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=invertedindex.wordpress.com&amp;blog=6000144&amp;post=325&amp;subd=invertedindex&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a title="Matt Dudbridge on LinkedIn" href="http://www.linkedin.com/in/mattdud" target="_blank">Matt</a> has a concise <a title="Matt Dudbridge's Post on Hazelcast" href="http://www.jroller.com/mattdud/entry/hazelcast_and_cep" target="_blank">post</a> about <a title="Hazelcast" href="http://www.hazelcast.com/" target="_blank">hazelcast</a> and its performance when applied to distributed <a title="Black-Scholes Option Pricing" href="http://www.riskglossary.com/link/black_scholes_1973.htm" target="_blank">Black-Scholes</a> pricing.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/invertedindex.wordpress.com/325/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/invertedindex.wordpress.com/325/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/invertedindex.wordpress.com/325/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/invertedindex.wordpress.com/325/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/invertedindex.wordpress.com/325/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/invertedindex.wordpress.com/325/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/invertedindex.wordpress.com/325/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/invertedindex.wordpress.com/325/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/invertedindex.wordpress.com/325/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/invertedindex.wordpress.com/325/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/invertedindex.wordpress.com/325/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/invertedindex.wordpress.com/325/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/invertedindex.wordpress.com/325/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/invertedindex.wordpress.com/325/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=invertedindex.wordpress.com&amp;blog=6000144&amp;post=325&amp;subd=invertedindex&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://invertedindex.wordpress.com/2009/05/29/hazelcast-distributed-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">g</media:title>
		</media:content>
	</item>
	</channel>
</rss>
