<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.0.1" -->
<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/"
	>

<channel>
	<title>Chris Donnan : Programming - Brooklyn Style</title>
	<link>http://chrisdonnan.com/blog</link>
	<description>Enterprise Software Development on Wall St. - C#/ .Net, Java, C++ ...</description>
	<pubDate>Sat, 10 May 2008 12:56:58 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.0.1</generator>
	<language>en</language>
			<item>
		<title>How I have fit IronPython, Ruby, JRuby and IronRuby into my existing .net projects</title>
		<link>http://chrisdonnan.com/blog/2008/05/10/how-i-have-fit-ironpython-ruby-jruby-and-ironruby-into-my-existing-net-projects/</link>
		<comments>http://chrisdonnan.com/blog/2008/05/10/how-i-have-fit-ironpython-ruby-jruby-and-ironruby-into-my-existing-net-projects/#comments</comments>
		<pubDate>Sat, 10 May 2008 12:56:16 +0000</pubDate>
		<dc:creator>chrisdrop</dc:creator>
		
	<category>ruby</category>
	<category>java</category>
	<category>c#</category>
	<category>Interop</category>
	<category>programming</category>
	<category>.net</category>
	<category>dynamic languages</category>
	<category>python</category>
		<guid isPermaLink="false">http://chrisdonnan.com/blog/2008/05/10/how-i-have-fit-ironpython-ruby-jruby-and-ironruby-into-my-existing-net-projects/</guid>
		<description><![CDATA[Ruby and Python are great languages. I have spent several years now with ruby and I am just getting into python in the past year or so. I will still admit that I prefer ruby in every way, but I have come to like and appreciate python as well.
I have been working on building some [...]]]></description>
			<content:encoded><![CDATA[<p>Ruby and Python are great languages. I have spent several years now with ruby and I am just getting into python in the past year or so. I will still admit that I prefer ruby in every way, but I have come to like and appreciate python as well.</p>
<p>I have been working on building some very interesting global derivative trading applications - so how do python and ruby factor in?? Well - I could have &#8216;just used them&#8217; in several places. That of course is not valuable, but I have found a few ways to use these tools to really add value to my projects.</p>
<p><strong>Scripting for your existing .net application</strong></p>
<p>I have been making an effort to make our plugin application suite scriptable. I have been able to get IronPython 2 running along with a syntax hi-lighting code editor. It has proved extremely useful. I have also tried to do the same for IronRuby, but with less useful success. Why you may ask - predominantly for 2 reasons:</p>
<p><strong>IronPython vs IronRuby for scripting your existing applications</strong></p>
<p>Basically, IronRuby does not let you do some things that are a must! You CANNOT unsub from events yet <img src='http://chrisdonnan.com/blog/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> . The other big issue is calling existing .net APIs that need generic args. You can see Jon Lam&#8217;s response to my queries <a href="http://rubyforge.org/pipermail/ironruby-core/2008-April/001333.html">here</a>. Jon also said:</p>
<blockquote><p>Our .NET interop is fairly weak today. Because of our current push to get the language running in time for RailsConf, all .NET interop work is being pushed back into June on our schedule.</p></blockquote>
<p>I understand, but this does make it virtually unusable for using as an existing scripting engine against my current .net applications.</p>
<p>IronPython 2 does a MUCH better job of .net interop. It basically just works as expected in 99% of the cases I have needed it for. This is just a joy I must say. Especially trying to use the early cuts of IronRuby on the DLR, it was painful to get anything interop based between existing .net and IronRuby really working.</p>
<p>Another thing I have done with IronPython is to support &#8216;calculated formula columns&#8217; in a UI Grid control. We basically implemented this and it is currently &#8216;not supported&#8217; in production, but in a future iteration we have planned (and requested from users), excel like formula summaries/ aggregations. We will continue this work with IronPython.</p>
<p>So - as you can see - IronPython made itself able to add value.</p>
<p><strong>So how have I fit in Ruby in a meaningful way?</strong></p>
<p>Essentially, we have a plugin framework so that several teams can concurrently develop &#8216;independent&#8217; applications that can integrate. This means that there are several global teams developing plugins (think eclipse) that can integrate, use and extend one another. This is great, but it means there are all kinds of build, assembly versioning and other application packaging, deployment issues. </p>
<p>In any big bank, or other corporation I expect, there will be different ways of doing things. The continuous builds for differing teams may be different. Some are nant based, some are simple, some are complex, some are msbuild, some do a better job of CruiseControl setup than others, etc, etc. Now if you want to take the work from several teams like this, and build, package, test, deploy in a sane way, there is some orchestration needed. This is where I have used ruby to add real value.</p>
<p><strong>Ruby, Rake/ Python, BuildBot</strong></p>
<p>Rake (and plain old ruby, not j, iron, or another variety) have enabled me to have a single homogenous view of the otherwise complex world. It is basically my tool for integrating multiple teams that are doing things as is appropriate in their own area, but not necessarily what is the &#8216;best&#8217; for use by everyone else in the world. Ruby has REALLY shined here. In stead of having dozens of XML, Nant, MSBuild scripts, MSBuild extensions, Nant extensions, cruisecontrol configs, bat files, etc - I have &#8216;owned&#8217; them all with some rake build scripts. I have managed to do this with some ~200 lines of terse, easy to read ruby.</p>
<p>Interestingly, a smart colleague of mine has done something very similar with plain-old-python (and BuildBot). He has managed to take some 50 projects that can be put together in varying ways, built, deployed, etc. He has taken a very difficult problem (managing a large enterprise suite of .net of branched, versioned and VERY WIDELY UTILIZED software) and owned it with some 400-500 lines of python.</p>
<p><strong>What did we get for our efforts with python and ruby?</strong></p>
<p>Number one is just the joy of really getting into daily use of other languages. I have programmed several languages over the years from C/C++, to Java, to SQL, Javascript, Tradestation EL, to Python and Ruby. Working with new languages is a good experience - bottom line. I have had a lot more time with ruby than python. I always love ruby, and I have really enjoyed more real time with python in the past year. I think these languages have each made me a better programmer.</p>
<p>With regards to scripting applications, these languages, in particular IronPython have just made it too easy to add value fast. I have done the work with ANTLR, regex garbage languages, compiling C#, etc. These approaches ALL take much more effort to get similar rewards. I can see myself working in a mode of &#8216;core plumbing&#8217; in C# and/ java and the higher level stuff in IronRuby JRuby. </p>
<p>That reminds me, a small note. Since we are java server/ .net client apps, I have used JRuby on several occasions to quickly do some send messages around the network, and otherwise mimic stuff coming from the server. I have had more effort on the client/ .net side of things, but I am sure if I was doing more server work, I would be using JRuby all the time. </p>
<p>Regarding build and integration - the big thing that we got IMO was a homogenous solution. Whereas before, there were the xml files, bat files, etc. - we each now have small bits of easy to manage code that does all we need. This is coupled to a small degree of &#8216;convention over configuration&#8217;, but essentially, we have gotten a lot of value for a little code and effort. We have also gotten easy to maintain solutions going forward.</p>
<p><strong>Downsides??</strong></p>
<p>The only real downside here is &#8216;adding more tools&#8217;. There is always resistance (appropriate more or less) to adding to the enterprise overhead of &#8216;more tech&#8217;. Developers also need to learn more to work in more &#8216;polygot programmer&#8217; environment. So the &#8216;more tech is bad&#8217; and &#8216;devs need to learn more&#8217; arguments are valid arguments. That being said, I think the benefits are outweighing the downsides so far.</p>
<p><strong>The future?</strong></p>
<p>I see more coming in the same spaces. I will be working more on &#8216;higher level scripting&#8217; of existing .net apps, and build/ integration etc. At some point, I can see doing &#8216;it all&#8217; with these languages perhaps - but I think the current sweet spot in the stack is adding value at certain points of the abstraction. The right tools for the right job and all that.
</p>
]]></content:encoded>
			<wfw:commentRSS>http://chrisdonnan.com/blog/2008/05/10/how-i-have-fit-ironpython-ruby-jruby-and-ironruby-into-my-existing-net-projects/feed/</wfw:commentRSS>
		</item>
		<item>
		<title>How Has Functional Programming Influenced Your Coding Style?</title>
		<link>http://chrisdonnan.com/blog/2008/04/28/how-has-functional-programming-influenced-your-coding-style/</link>
		<comments>http://chrisdonnan.com/blog/2008/04/28/how-has-functional-programming-influenced-your-coding-style/#comments</comments>
		<pubDate>Mon, 28 Apr 2008 14:49:24 +0000</pubDate>
		<dc:creator>chrisdrop</dc:creator>
		
	<category>programming</category>
		<guid isPermaLink="false">http://chrisdonnan.com/blog/2008/04/28/how-has-functional-programming-influenced-your-coding-style/</guid>
		<description><![CDATA[In a rare straight up pointer to somebody else&#8217;s blog!:
How Has Functional Programming Influenced Your Coding Style?
When I have time, I will comment - but needless to say - my exposure to FP really has changed (in a positive way) my coding style.
-Chris

]]></description>
			<content:encoded><![CDATA[<p>In a rare straight up pointer to somebody else&#8217;s blog!:</p>
<p><a href="http://chrisdonnan.com/blog/2008/04/26/holy-exposure-batman/">How Has Functional Programming Influenced Your Coding Style?</a></p>
<p>When I have time, I will comment - but needless to say - my exposure to FP really has changed (in a positive way) my coding style.</p>
<p>-Chris
</p>
]]></content:encoded>
			<wfw:commentRSS>http://chrisdonnan.com/blog/2008/04/28/how-has-functional-programming-influenced-your-coding-style/feed/</wfw:commentRSS>
		</item>
		<item>
		<title>Holy Exposure Batman!</title>
		<link>http://chrisdonnan.com/blog/2008/04/26/holy-exposure-batman/</link>
		<comments>http://chrisdonnan.com/blog/2008/04/26/holy-exposure-batman/#comments</comments>
		<pubDate>Sat, 26 Apr 2008 12:10:13 +0000</pubDate>
		<dc:creator>chrisdrop</dc:creator>
		
	<category>Finance</category>
		<guid isPermaLink="false">http://chrisdonnan.com/blog/2008/04/26/holy-exposure-batman/</guid>
		<description><![CDATA[Here are a few images that I have been showing people for the past several weeks. 

and

These lovely images tell us things like:

JP Chase seems to have some 84 Trillion in derivs exposure (and 1.3 trillion in actual assets)
Citi seems to be in 2nd place with some less than half that derivs exposure (and 1.2 [...]]]></description>
			<content:encoded><![CDATA[<p>Here are a few images that I have been showing people for the past several weeks. </p>
<p><a href="http://bp0.blogger.com/_H2DePAZe2gA/SA4sL2f5ieI/AAAAAAAABt4/uZ4iMrstOH8/s1600-h/top25byexposure.PNG"><img src="http://bp0.blogger.com/_H2DePAZe2gA/SA4sL2f5ieI/AAAAAAAABt4/uZ4iMrstOH8/s320/top25byexposure.PNG" alt="deriv exposure" /></a></p>
<p>and</p>
<p><a href="http://bp2.blogger.com/_H2DePAZe2gA/SA4sVWf5ifI/AAAAAAAABuA/itdKBuGvh_E/s1600-h/top25bytype.JPG"><img src="http://bp2.blogger.com/_H2DePAZe2gA/SA4sVWf5ifI/AAAAAAAABuA/itdKBuGvh_E/s320/top25bytype.JPG" alt="deriv exposure" /></a></p>
<p>These lovely images tell us things like:</p>
<ul>
<li>JP Chase seems to have some 84 Trillion in derivs exposure (and 1.3 trillion in actual assets)</li>
<li>Citi seems to be in 2nd place with some less than half that derivs exposure (and 1.2 trillion in actual assets)</li>
<li>Lehman and Deutsche are way at the lower end of the spectrum of total exposure</li>
<li>Most of the big firms have their holdings in rate related contracts</li>
<li>It is ALL about the OTC market contracts</li>
</ul>
<p>It is an interesting picture, there are more <a href="http://jessescrossroadscafe.blogspot.com/2008/04/pictures-from-exhibition-of-financial.html">here</a>, but some folks have mentioned that cannot read this link behind most big bank internet content constraints.</p>
]]></content:encoded>
			<wfw:commentRSS>http://chrisdonnan.com/blog/2008/04/26/holy-exposure-batman/feed/</wfw:commentRSS>
		</item>
		<item>
		<title>Ruby refactors equals and get hash</title>
		<link>http://chrisdonnan.com/blog/2008/04/20/ruby-refactors-equals-and-get-hash/</link>
		<comments>http://chrisdonnan.com/blog/2008/04/20/ruby-refactors-equals-and-get-hash/#comments</comments>
		<pubDate>Sun, 20 Apr 2008 13:50:35 +0000</pubDate>
		<dc:creator>chrisdrop</dc:creator>
		
	<category>ruby</category>
	<category>c#</category>
	<category>programming</category>
		<guid isPermaLink="false">http://chrisdonnan.com/blog/2008/04/20/ruby-refactors-equals-and-get-hash/</guid>
		<description><![CDATA[I was looking @ moving some code for a project that was started in C# to Ruby. 1stly, it is astounding how much less code it takes to do the same stuff. That however is not the reason I chose to post this morning. 
Gabe and Micah are playing nicely together today (it is nice [...]]]></description>
			<content:encoded><![CDATA[<p>I was looking @ moving some code for a project that was started in C# to Ruby. 1stly, it is astounding how much less code it takes to do the same stuff. That however is not the reason I chose to post this morning. </p>
<p>Gabe and Micah are playing nicely together today (it is nice when a 3 and 5 year old brothers can get along so well). I have been fiddling with this code on the sofa and while moving my code, I came to move a c# Equals(object) method and the counterpart GetHashCode(). ReSharper is a great tool - it had given the basis for these overrides. Simple Alt+Insert gives you the &#8216;generate&#8217; menu and from there you can ask it to generate these methods for you. Essentially - you tell ReSharper the fields that must be &#8216;unique&#8217; and then it can handle the Equals and GetHashCode methods for you.</p>
<p>Here is what I had in my c# code:</p>
<p><img src="http://chrisdonnan.com/blog/wp-content/uploads/2008/04/csharpversion.jpg" alt="c sharp version" /></p>
<p>Now this is fine (not exactly) for my C# application as I see it. ReSharper kindly churned out the code I needed also - which is great. When I moved it into ruby however, it looked very un-ruby. Astute readers will also notice that the implementations of Equals and GetHashCode do not match - the Alias property was added later, included in the Equals but NOT in the GetHashCode <img src='http://chrisdonnan.com/blog/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> . Generating code has its issues it would seem.</p>
<p>One of the areas that ruby excels at is helping you write less code. Part of that is identifying the little repeated bits in your code and automating it away with a little ruby.</p>
<p>So what is the pattern above? Well - equals checks for null, checks for direct object reference comparison, then checks a number of fields. It also does a type check. Then it compares a number of fields. If any of these fields fails comparison - it returns false. Ruby does not really need the type check, it just says &#8216;if you have these props then you are fine by me&#8217; (duck typing).</p>
<p>The folks @ JetBrains recognized the pattern - based on the input of what properties are unique, it generates a code snippet. In ruby, we will not generate code, but handle it like this:</p>
<p><img id="image400" src="http://chrisdonnan.com/blog/wp-content/uploads/2008/04/example_use.jpg" alt="eql_hash.jpg" /></p>
<p>Here include a module called <strong>SymbolHashEquals</strong>. In this module I define 2 methods <strong>symbol_hash</strong> and  <strong>symbol_eql?</strong>. These methods take a list of attributes and then apply the same logic that resharper generated. This uses ruby&#8217;s symbols that allow you to refer to elements by the &#8216;name of the code&#8217; or &#8230; symbol.</p>
<p>In stead of having our class generate methods based on a heuristic or 2, we simply make a module that holds that abstraction, then we include it, and have our host class use it. Essentially, since ruby lets you &#8216;do more with less&#8217; we do not have to &#8216;generate more code&#8217; - we simply can codify more into our solution and have less dumb, generated code. Instead of investing in software to generate more code, we do less!</p>
<p>Here is our module that works on the symbols and handes the standard <strong>eql?</strong>and <strong>hash</strong>.</p>
<p><img src="http://chrisdonnan.com/blog/wp-content/uploads/2008/04/SymbolHashEqualsP1.jpg" alt="symbol hash eqls" /><br />
<img src="http://chrisdonnan.com/blog/wp-content/uploads/2008/04/SymbolHashEquals2.jpg" alt="symbol hash eqls" /></p>
<p>Now - rather than generating code every time I need that same logical heuristic, I simply include that 1 module, and we are good to go. Less code, less repetition, etc.</p>
<p>There you have it - ruby rocks!</p>
<p>=Chris=</p>
]]></content:encoded>
			<wfw:commentRSS>http://chrisdonnan.com/blog/2008/04/20/ruby-refactors-equals-and-get-hash/feed/</wfw:commentRSS>
		</item>
		<item>
		<title>Volatility Arbitrage/ Dispersion Trading</title>
		<link>http://chrisdonnan.com/blog/2008/04/19/volatility-arbitrage-dispersion-trading/</link>
		<comments>http://chrisdonnan.com/blog/2008/04/19/volatility-arbitrage-dispersion-trading/#comments</comments>
		<pubDate>Sat, 19 Apr 2008 20:23:53 +0000</pubDate>
		<dc:creator>chrisdrop</dc:creator>
		
	<category>trading</category>
	<category>Derivatives</category>
		<guid isPermaLink="false">http://chrisdonnan.com/blog/2008/04/19/volatility-arbitrage-dispersion-trading/</guid>
		<description><![CDATA[I was speaking with a few colleagues this week about dispersion trading. I though I had a basic understanding of what a dispersion trade was, but as we talked about it - I said to myself; it seems just like stat arb for volatility. 
So, this weekend, as Gabe is sitting next to me playing [...]]]></description>
			<content:encoded><![CDATA[<p>I was speaking with a few colleagues this week about dispersion trading. I though I had a basic understanding of what a dispersion trade was, but as we talked about it - I said to myself; it seems just like stat arb for volatility. </p>
<p>So, this weekend, as Gabe is sitting next to me playing his Legend of Zelda; I found <a href="http://www.risklatte.com/volatilityToday/volatilityToday050721.php">this article @ Risk Latte</a>. It says essentially what i thought - and even calls dispersion trading &#8220;volatility arbitrage&#8221;. I will not re-explain what the article says infinitely better than I could, but I thought it was interesting how simply connecting a concept you know to something you vaguely understand solidifies the understanding.</p>
<p>It is amazing how much I know that I do not know <img src='http://chrisdonnan.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>-Chris
</p>
]]></content:encoded>
			<wfw:commentRSS>http://chrisdonnan.com/blog/2008/04/19/volatility-arbitrage-dispersion-trading/feed/</wfw:commentRSS>
		</item>
		<item>
		<title>Using Artificial Immune Systems (AISs) to find mis-priced options</title>
		<link>http://chrisdonnan.com/blog/2008/04/13/using-artificial-immune-systems-aiss-to-find-mispriced-options/</link>
		<comments>http://chrisdonnan.com/blog/2008/04/13/using-artificial-immune-systems-aiss-to-find-mispriced-options/#comments</comments>
		<pubDate>Sun, 13 Apr 2008 12:05:29 +0000</pubDate>
		<dc:creator>chrisdrop</dc:creator>
		
	<category>AI/ Machine Learning</category>
	<category>algorithmic trading</category>
		<guid isPermaLink="false">http://chrisdonnan.com/blog/2008/04/13/using-artificial-immune-systems-aiss-to-find-mispriced-options/</guid>
		<description><![CDATA[Here is a quickie primer on AISs or immune system inspired algorithms. Essentially AISs do a good job of figuring out what is &#8216;itself&#8217; or &#8216;normal&#8217; and what is &#8216;non-self&#8217;, &#8216;alien&#8217; or &#8216;abnormal&#8217; in a system. Antigens are components that find pathogens (antigens find patterns that are normal to them, the non-normal things then are [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.artificial-immune-systems.org/algorithms.shtml">Here</a> is a quickie primer on AISs or immune system inspired algorithms. Essentially AISs do a good job of figuring out what is &#8216;itself&#8217; or &#8216;normal&#8217; and what is &#8216;non-self&#8217;, &#8216;alien&#8217; or &#8216;abnormal&#8217; in a system. Antigens are components that find pathogens (antigens find patterns that are normal to them, the non-normal things then are pathogens).</p>
<p>Some ~2 or 3 years ago, MIT&#8217;s Journal of Evolutionary Computation had a &#8217;special issue&#8217; on AISs. There were several interesting publications in that particular issue, and it led me on a minor reading splurge regarding AISs. At the time, I had been heavily focused on evolutionary and other bio-inspired algorithms and their applications for automated trading systems. There are a ton of algorithms in this class, many of them have mappings to various sub-problems in automated trading.</p>
<p>As far as I can find, there is no work out there currently that applies AISs to finding mis-priced options, and it seems quite a good fit. Searching over a sea of options to sort out which one seem to be aberrations may be a good match. AISs are relatively efficient algorithms compared to alternatives. Interestingly - it would not even necessarily involve your own option pricing model - you would be basically letting the AIS sort out what seem to be &#8216;normal&#8217; pricings and what seem to stand out as odd.</p>
<p>This is obviously one component of the puzzle, sorting out if the option should be bought or sold is another component. This particular technique could also be applied to any other derivative market with ample liquidity, not just options. </p>
<p>Just some nonsense that has been meandering around my brain for a week or so, so I figured I would write it up here.</p>
<p>-Chris
</p>
]]></content:encoded>
			<wfw:commentRSS>http://chrisdonnan.com/blog/2008/04/13/using-artificial-immune-systems-aiss-to-find-mispriced-options/feed/</wfw:commentRSS>
		</item>
		<item>
		<title>Portfolio Insurance Caused the &#8216;87 Crash</title>
		<link>http://chrisdonnan.com/blog/2008/04/13/portfolio-insurance-caused-the-87-crash/</link>
		<comments>http://chrisdonnan.com/blog/2008/04/13/portfolio-insurance-caused-the-87-crash/#comments</comments>
		<pubDate>Sun, 13 Apr 2008 11:52:34 +0000</pubDate>
		<dc:creator>chrisdrop</dc:creator>
		
	<category>Finance</category>
	<category>trading</category>
		<guid isPermaLink="false">http://chrisdonnan.com/blog/2008/04/13/portfolio-insurance-caused-the-87-crash/</guid>
		<description><![CDATA[I am reading an interesting and timely book on the current credit crisis; The Trillion Dollar Meltdown. I will update with my thoughts on the book when I am done with it, but I wanted to comment on 1 particular element presently&#8230; 

There have been several theories on why the 1987 crash happened, but it [...]]]></description>
			<content:encoded><![CDATA[<p>I am reading an interesting and timely book on the current credit crisis; <a href="http://www.amazon.com/Trillion-Dollar-Meltdown-Rollers-Credit/dp/1586485636/ref=pd_bbs_sr_1?ie=UTF8&#038;s=books&#038;qid=1208086413&#038;sr=8-1">The Trillion Dollar Meltdown</a>. I will update with my thoughts on the book when I am done with it, but I wanted to comment on 1 particular element presently&#8230; </p>
<p><img src="http://ecx.images-amazon.com/images/I/51syoeNSPDL._SL500_AA240_.jpg" alt="trillion dollar meltdown" /></p>
<p>There have been several theories on why the 1987 crash happened, but it seems that at least 2 books agree that it was due to &#8216;everybody using Portfolio Insurance&#8217;. The other book was Bookstabber&#8217;s Demons of our Own Design (which I quite enjoyed). Essentially, some smart folks came up with portfolio insurance. It worked well for them, they started selling it as a service to other firms. Soon enough, everybody was doing it. When the portfolios started hitting their floors, there was a fantastic circular reaction between markets that were now interconnected via portfolio insurance programs all over the street. Downward spiral ensues. Money disappears, etc.</p>
<p>I just thought it was noteworthy that this is the 2nd book that said outright that the basic issue was primarily portfolio insurance.</p>
<p>-Chris</p>
<p>PS - I am wondering if CPPI (zero coupon bonds usually involved) vs the futures technique referred to in the case of the &#8216;87 crash are the same? Is CPPI an evolution of that portfolio insurance? Always more to learn.</p>
]]></content:encoded>
			<wfw:commentRSS>http://chrisdonnan.com/blog/2008/04/13/portfolio-insurance-caused-the-87-crash/feed/</wfw:commentRSS>
		</item>
		<item>
		<title>CEP Explained</title>
		<link>http://chrisdonnan.com/blog/2008/04/03/cep-for-public-firms-explained/</link>
		<comments>http://chrisdonnan.com/blog/2008/04/03/cep-for-public-firms-explained/#comments</comments>
		<pubDate>Thu, 03 Apr 2008 00:53:56 +0000</pubDate>
		<dc:creator>chrisdrop</dc:creator>
		
	<category>programming</category>
		<guid isPermaLink="false">http://chrisdonnan.com/blog/2008/04/03/cep-for-public-firms-explained/</guid>
		<description><![CDATA[

]]></description>
			<content:encoded><![CDATA[<p><img src="http://geekandpoke.typepad.com/photos/uncategorized/2008/02/11/ed5b.jpg" alt="cep and staffing" />
</p>
]]></content:encoded>
			<wfw:commentRSS>http://chrisdonnan.com/blog/2008/04/03/cep-for-public-firms-explained/feed/</wfw:commentRSS>
		</item>
		<item>
		<title>language oriented programming</title>
		<link>http://chrisdonnan.com/blog/2008/03/30/language-oriented-programming/</link>
		<comments>http://chrisdonnan.com/blog/2008/03/30/language-oriented-programming/#comments</comments>
		<pubDate>Sun, 30 Mar 2008 16:15:42 +0000</pubDate>
		<dc:creator>chrisdrop</dc:creator>
		
	<category>programming</category>
		<guid isPermaLink="false">http://chrisdonnan.com/blog/2008/03/30/language-oriented-programming/</guid>
		<description><![CDATA[The building/ spreading meme of &#8216;language oriented programming&#8217;.

Martin Fowler + Neal Ford
Steve Yegge&#8217;s entertaining rant (his dialect of English)
Essentially - Java (and those like it) are good at making the lowest level bits and pieces of software, but bad at making logical &#8217;sentences&#8217; of software.
All seems interesting&#8230;.
Back to my non-stop work-athon - build done.
-Chris

]]></description>
			<content:encoded><![CDATA[<p>The building/ spreading meme of &#8216;language oriented programming&#8217;.</p>
<p><a href="http://event.on24.com/eventRegistration/EventLobbyServlet?target=previewLobby.jsp&#038;eventid=92643&#038;sessionid=1&#038;key=8EF4FE3D4124E466F5A04BD0537FFDC5"><br />
Martin Fowler + Neal Ford</a></p>
<p><a href="http://steve-yegge.blogspot.com/2006/03/execution-in-kingdom-of-nouns.html">Steve Yegge&#8217;s entertaining rant (his dialect of English)</a></p>
<p>Essentially - Java (and those like it) are good at making the lowest level bits and pieces of software, but bad at making logical &#8217;sentences&#8217; of software.</p>
<p>All seems interesting&#8230;.</p>
<p>Back to my non-stop work-athon - build done.</p>
<p>-Chris
</p>
]]></content:encoded>
			<wfw:commentRSS>http://chrisdonnan.com/blog/2008/03/30/language-oriented-programming/feed/</wfw:commentRSS>
		</item>
		<item>
		<title>Holy *&#038;%$* !!!</title>
		<link>http://chrisdonnan.com/blog/2008/03/17/holy/</link>
		<comments>http://chrisdonnan.com/blog/2008/03/17/holy/#comments</comments>
		<pubDate>Mon, 17 Mar 2008 02:12:03 +0000</pubDate>
		<dc:creator>chrisdrop</dc:creator>
		
	<category>Finance</category>
		<guid isPermaLink="false">http://chrisdonnan.com/blog/2008/03/17/holy/</guid>
		<description><![CDATA[JP Chase buys Bear Stearns for $236 million. 2$/ Share!!!
Goldman Sachs to reveal $3bn hit Tuesday
The Federal Reserve, in an emergency weekend decision, cut the rate on direct loans to commercial banks and opened up borrowing at the rate to primary dealers in government securities.
There is a ton more to read out there. This is [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.bloomberg.com/apps/news?pid=20601087&#038;sid=a.kwMtvHsOL0&#038;refer=home">JP Chase buys Bear Stearns for $236 million.</a><a href="http://www.ft.com/cms/s/e2206ed2-f380-11dc-b6bc-0000779fd2ac.html"> 2$/ Share!!!</a><br />
<a href="http://www.telegraph.co.uk/money/main.jhtml?xml=/money/2008/03/16/cngold116.xml">Goldman Sachs to reveal $3bn hit Tuesday</a><br />
<a href="http://www.bloomberg.com/apps/news?pid=20601087&#038;sid=asg0H5x.VQ4g&#038;refer=home">The Federal Reserve, in an emergency weekend decision, cut the rate on direct loans to commercial banks and opened up borrowing at the rate to primary dealers in government securities.</a></p>
<p>There is a ton more to read out there. This is plain nuts, crazy stuff folks!!</p>
<p>=Chris=
</p>
]]></content:encoded>
			<wfw:commentRSS>http://chrisdonnan.com/blog/2008/03/17/holy/feed/</wfw:commentRSS>
		</item>
		<item>
		<title>Jim Rogers on the Economy</title>
		<link>http://chrisdonnan.com/blog/2008/03/15/jim-rogers-on-the-economy/</link>
		<comments>http://chrisdonnan.com/blog/2008/03/15/jim-rogers-on-the-economy/#comments</comments>
		<pubDate>Sat, 15 Mar 2008 12:32:05 +0000</pubDate>
		<dc:creator>chrisdrop</dc:creator>
		
	<category>Finance</category>
		<guid isPermaLink="false">http://chrisdonnan.com/blog/2008/03/15/jim-rogers-on-the-economy/</guid>
		<description><![CDATA[Simply some of the sanest thing anyone has said about the current world economy.
Here on cnbc Jim Rogers talks about the current state of the US economy, how idiotic Bernanke has been in his efforts to &#8217;save the us economy&#8217;, the commodity markets (agriculture in particular), China, inflation, the debasing of the USD and more. [...]]]></description>
			<content:encoded><![CDATA[<p>Simply some of the sanest thing anyone has said about the current world economy.</p>
<p><a href="http://www.cnbc.com/id/23588079/site/14081545">Here on cnbc</a> Jim Rogers talks about the current state of the US economy, how idiotic Bernanke has been in his efforts to &#8217;save the us economy&#8217;, the commodity markets (agriculture in particular), China, inflation, the debasing of the USD and more. </p>
<p>The strongest point (to the Fed); stop trying to &#8217;save the economy&#8217;. Free markets will do a better job. Let people, companies, etc. fail. Stop printing money - it does not work. It seems the current fiscal policy is like the Doritos advertisement campaign of a few years back &#8220;crunch all you want, we&#8217;ll make more!&#8221;. Similarly - Bernanke seems to be saying &#8220;Problem? NO problem! You need $? We&#8217;ll make more!&#8221;. This cannot work. It violates the most basic economic rule; the more of some thing there is - the less it is worth. The very creation of more makes each worth less!!</p>
<p>Anyhow - go listen for a few minutes; well said Mr. Rogers.</p>
<p>=Chris=
</p>
]]></content:encoded>
			<wfw:commentRSS>http://chrisdonnan.com/blog/2008/03/15/jim-rogers-on-the-economy/feed/</wfw:commentRSS>
		</item>
		<item>
		<title>Microsoft Prism (think CAB for WPF)</title>
		<link>http://chrisdonnan.com/blog/2008/03/13/microsoft-prism-think-cab-for-wpf/</link>
		<comments>http://chrisdonnan.com/blog/2008/03/13/microsoft-prism-think-cab-for-wpf/#comments</comments>
		<pubDate>Thu, 13 Mar 2008 02:03:47 +0000</pubDate>
		<dc:creator>chrisdrop</dc:creator>
		
	<category>programming</category>
	<category>.net</category>
		<guid isPermaLink="false">http://chrisdonnan.com/blog/2008/03/13/microsoft-prism-think-cab-for-wpf/</guid>
		<description><![CDATA[The 1st Reference Implementation app and other bits drop today. Here. I will be looking hard at all this immediately as it is directly relevant to my world. Good details here.
Fun;
Chris
PS - I have been doing random .net build things with rake this evening. I gotta say - it is pretty darn nice and thusfar [...]]]></description>
			<content:encoded><![CDATA[<p>The 1st Reference Implementation app and other bits drop today. <a href="http://www.codeplex.com/prism">Here</a>. I will be looking hard at all this immediately as it is directly relevant to my world. Good details <a href="http://codebetter.com/blogs/glenn.block/archive/2008/03/12/prism-ri-first-drop.aspx">here</a>.</p>
<p>Fun;<br />
Chris</p>
<p>PS - I have been doing random .net build things with rake this evening. I gotta say - it is pretty darn nice and thusfar - seems better in many ways than MSBuild. More to come there too, it is still day 1 of playing.
</p>
]]></content:encoded>
			<wfw:commentRSS>http://chrisdonnan.com/blog/2008/03/13/microsoft-prism-think-cab-for-wpf/feed/</wfw:commentRSS>
		</item>
	</channel>
</rss>
