<?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>Hmadrigal&#039;s Blog</title>
	<atom:link href="http://hmadrigal.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://hmadrigal.wordpress.com</link>
	<description>More about tech and life ;-)</description>
	<lastBuildDate>Tue, 27 Dec 2011 03:54:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='hmadrigal.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Hmadrigal&#039;s Blog</title>
		<link>http://hmadrigal.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://hmadrigal.wordpress.com/osd.xml" title="Hmadrigal&#039;s Blog" />
	<atom:link rel='hub' href='http://hmadrigal.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Customizable On Screen Keyboard (OSK) for WPF (it works for WebBrowser control)</title>
		<link>http://hmadrigal.wordpress.com/2011/12/26/customizable-on-screen-keyboard-osk-for-wpf-it-works-for-webbrowser-control/</link>
		<comments>http://hmadrigal.wordpress.com/2011/12/26/customizable-on-screen-keyboard-osk-for-wpf-it-works-for-webbrowser-control/#comments</comments>
		<pubDate>Tue, 27 Dec 2011 01:41:24 +0000</pubDate>
		<dc:creator>hmadrigal</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[blend]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[expression blend]]></category>
		<category><![CDATA[IME]]></category>
		<category><![CDATA[Japanese]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[wpf]]></category>
		<category><![CDATA[xaml]]></category>
		<category><![CDATA[osk]]></category>
		<category><![CDATA[win32]]></category>
		<category><![CDATA[wosk]]></category>

		<guid isPermaLink="false">http://hmadrigal.wordpress.com/?p=248</guid>
		<description><![CDATA[Summary Recently my colleagues and I faced a very particular problem in WPF. We were creating a very stylish application for a kiosk, and the keyboard should look different from the default OSK in WPF. At the beginning we import our old OSK which concatenates characters to a string, but this approach won&#8217;t work on [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hmadrigal.wordpress.com&amp;blog=10596476&amp;post=248&amp;subd=hmadrigal&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h1>Summary</h1>
<p>Recently my colleagues and I faced a very particular problem in WPF. We were creating a very stylish application for a kiosk, and the keyboard should look different from the default OSK in WPF. At the beginning we import our old OSK which concatenates characters to a string, but this approach won&#8217;t work on the WebBrowser control since this control does not exposes internal components such as textbox. The following post is about my experience creating a solution for this particular problem.</p>
<h1>The Problem</h1>
<ul>
<li>Customizable style for the on screen keyboard</li>
<li>The OSK must be able to interact with the WebControl control.</li>
</ul>
<h1>The solution</h1>
<h2>The default OSK</h2>
<p>At first the most logical solution is to use the default. The problem with the default OSK is that it&#8217;s not possible to customize. Moreover the default OSK is not embedded into the WPF, it works on top of any other windows application.</p>
<p><a href="http://hmadrigal.files.wordpress.com/2011/12/defaultoskcapture.png"><img class="aligncenter size-medium wp-image-249" title="Default On Screen keyboard" src="http://hmadrigal.files.wordpress.com/2011/12/defaultoskcapture.png?w=300&#038;h=212" alt="Default Windows On Screen keyboard" width="300" height="212" /></a></p>
<p style="text-align:center;"><strong>Default Windows On Screen keyboard (OSK)</strong></p>
<h2>Appending strings</h2>
<p>The our team decided to import our old OSK from a previous project. This first version of the OSK was a custom control. This custom control has a lot buttons and one string. Each time a button is pressed, a new character  is append to the string, thus the user of the control only have to check the current string in order to know which characters has been typed. The problem with this other approach is that keys like &#8220;arrows&#8221;, &#8220;control&#8221; or &#8220;alt&#8221; don&#8217;t have a way to represented into a string. At this time we&#8217;ve created out QueryKeyboard Contol which defines a bunch of buttons and appends characters to a string.</p>
<h2>Customizing  a WPF OSK</h2>
<p>Later on, we realize that our application will have to interact with the WebBrowser. Thus I decide we can use the same approach that the <strong>Wosk: Flexible On Screen Keyboard using WPF (</strong><a href="http://wosk.codeplex.com/SourceControl/list/changesets">http://wosk.codeplex.com/SourceControl/list/changesets</a>) was using. Basically, WOSK was inserting keyboard  codes into the keyboard buffer, so the the operative system will report the input the the current focused window and control.</p>
<p>Thus, the approach was to separate the logic of the virtual keyboard from the keyboard control. So, the virtual keyboard could work as independent a service or be part of a more complex control such as the QueryKeyboardControl.</p>
<p>I&#8217;ve publish a sample of the project in Git Hub at <a href="https://github.com/hmadrigal/CodeSamples/tree/master/Hmadrigal.SampleKeyboard">https://github.com/hmadrigal/CodeSamples/tree/master/Hmadrigal.SampleKeyboard</a>. The following items are the most relevant into the project sample:</p>
<ul>
<li><strong>Hmadrigal.Services.VirtualKeyboard</strong>: This projects holds the Service for a Virtual Keyboard.</li>
<ul>
<li><strong>NativeUser32</strong>.cs: Wrapper for Win32 low level calls</li>
<li><strong>KeysEx.cs</strong>:  Known key codes. Set of known values to be inserted into the keyboard buffer.</li>
<li><strong>VirtualKeyboardService.cs</strong>: Singleton class which exposes functionality in order to keep the state of the virtual keyboard.</li>
</ul>
<li><strong>Hmadrigal.WpfToolkit</strong>: This projects holds the visual representation for a on screen keyboard control in WPF.</li>
<ul>
<li><strong>QuertyKeyboard.cs</strong>: Custom control which keeps logic for appending strings or utilizing the virtual keyboard service.</li>
<li><strong>Generic.xaml</strong>: Contains the default style for the custom control</li>
<li><strong>WeakEventHandling.cs</strong>: Weak event handling (see references)</li>
</ul>
<li><strong>Hmadrigal.SampleKeyboard</strong>: WPF application using the custom keyboard with a web browser.</li>
</ul>
<p><a href="http://hmadrigal.files.wordpress.com/2011/12/quertykeyboardcontrolcapture.png"><img class="aligncenter size-medium wp-image-251" title="Querty Keyboard Control" src="http://hmadrigal.files.wordpress.com/2011/12/quertykeyboardcontrolcapture.png?w=300&#038;h=163" alt="Querty Keyboard Control" width="300" height="163" /></a></p>
<p style="text-align:center;">Querty Keyboard Control using the virtual keyboard service</p>
<h1>Remarks</h1>
<ul>
<li>The default style has set the attribute &#8220;Focusable&#8221; to &#8220;False&#8221; in all the buttons (or any other item which can get  the focus). This should be done for any custom style. Because of the virtual keyboard service does not known who is going to handle the reported input, then the app is responsible of setting the focus to the proper item.</li>
<li>When debugging and using  keys like shift, alt, ctrl, those are kept pressed by the virtual keyboard service, but they will affect your debug execution because of the input is happening at the operative system level. So, be cautious about where the breakpoints are set.</li>
<li>Multilingual by using IME. Particularly I&#8217;ve set up my PC to use IMEI Japanese using romanji, so  FYI it will continue working <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> .</li>
<li>Because of the WebBrowser control is a Win32 interop control running on WPF, the default focus might no be on the WebBrowser contol. Sadly I don&#8217;t have a solution for this yet, just make sure that the user have an option to set the focus into the WebBrowser control once it has been loaded.</li>
</ul>
<h1>Code</h1>
<p>The sample code for this application is on Git Hub at:<br />
<a href="https://github.com/hmadrigal/CodeSamples/tree/master/Hmadrigal.SampleKeyboard">https://github.com/hmadrigal/CodeSamples/tree/master/Hmadrigal.SampleKeyboard</a></p>
<h1>References</h1>
<p><strong>How to make the Windows OSK open when a TextBox gets focus, instead of requiring users to tap a keyboard icon?</strong><br />
<a href="http://stackoverflow.com/questions/7518074/how-to-make-the-windows-osk-open-when-a-textbox-gets-focus-instead-of-requiring/7529920#7529920">http://stackoverflow.com/questions/7518074/how-to-make-the-windows-osk-open-when-a-textbox-gets-focus-instead-of-requiring/7529920#7529920</a></p>
<p><strong>.NET Framework Developer Center / Creating custom InputDevice</strong><br />
<a href="http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/a813a08a-7960-45fe-bc91-e81cdb75bd10">http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/a813a08a-7960-45fe-bc91-e81cdb75bd10</a></p>
<p><strong>Wosk: Flexible On Screen Keyboard using WPF</strong><br />
<a href="http://wosk.codeplex.com/SourceControl/list/changesets">http://wosk.codeplex.com/SourceControl/list/changesets</a></p>
<p><strong>SendInput Example In C#</strong><br />
<a href="http://www.ownedcore.com/forums/mmo/warhammer-online/186390-sendinput-example-c.html">http://www.ownedcore.com/forums/mmo/warhammer-online/186390-sendinput-example-c.html</a></p>
<p><strong>Simulating Keyboard with SendInput API in DirectInput applications</strong><br />
<a href="http://stackoverflow.com/questions/3644881/simulating-keyboard-with-sendinput-api-in-directinput-applications">http://stackoverflow.com/questions/3644881/simulating-keyboard-with-sendinput-api-in-directinput-applications</a></p>
<p><strong>Generic implementation for a weak event handling</strong><br />
<a href="http://puremsil.wordpress.com/2010/05/03/generic-weak-event-handlers/">http://puremsil.wordpress.com/2010/05/03/generic-weak-event-handlers/</a></p>
<p><strong>From Joel Pobar&#8217;s CLR weblog Creating delegate types via Reflection.Emit</strong><br />
<a href="http://blogs.msdn.com/joelpob/archive/2004/02/15/73239.aspx">http://blogs.msdn.com/joelpob/archive/2004/02/15/73239.aspx</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hmadrigal.wordpress.com/248/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hmadrigal.wordpress.com/248/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hmadrigal.wordpress.com/248/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hmadrigal.wordpress.com/248/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hmadrigal.wordpress.com/248/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hmadrigal.wordpress.com/248/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hmadrigal.wordpress.com/248/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hmadrigal.wordpress.com/248/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hmadrigal.wordpress.com/248/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hmadrigal.wordpress.com/248/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hmadrigal.wordpress.com/248/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hmadrigal.wordpress.com/248/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hmadrigal.wordpress.com/248/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hmadrigal.wordpress.com/248/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hmadrigal.wordpress.com&amp;blog=10596476&amp;post=248&amp;subd=hmadrigal&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hmadrigal.wordpress.com/2011/12/26/customizable-on-screen-keyboard-osk-for-wpf-it-works-for-webbrowser-control/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6e8659583670c9667aaa010e1a0f318e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Yogurt</media:title>
		</media:content>

		<media:content url="http://hmadrigal.files.wordpress.com/2011/12/defaultoskcapture.png?w=300" medium="image">
			<media:title type="html">Default On Screen keyboard</media:title>
		</media:content>

		<media:content url="http://hmadrigal.files.wordpress.com/2011/12/quertykeyboardcontrolcapture.png?w=300" medium="image">
			<media:title type="html">Querty Keyboard Control</media:title>
		</media:content>
	</item>
		<item>
		<title>Xhader 1.1</title>
		<link>http://hmadrigal.wordpress.com/2011/11/23/xhader-1-1/</link>
		<comments>http://hmadrigal.wordpress.com/2011/11/23/xhader-1-1/#comments</comments>
		<pubDate>Thu, 24 Nov 2011 00:02:20 +0000</pubDate>
		<dc:creator>hmadrigal</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[blend]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[expression blend]]></category>
		<category><![CDATA[extensions]]></category>
		<category><![CDATA[pixel shader]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[silverlight]]></category>
		<category><![CDATA[wpf]]></category>
		<category><![CDATA[xaml]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[shader]]></category>
		<category><![CDATA[xhader]]></category>

		<guid isPermaLink="false">http://hmadrigal.wordpress.com/?p=242</guid>
		<description><![CDATA[Hello Fellas, Today I&#8217;ve released a new version of Xhader. http://xhader.codeplex.com/releases/view/77425 The major feature is that it should work on Blend 4. Additionally it should be using WPF 4.0 and SL 4.0 support. Regards, Herber<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hmadrigal.wordpress.com&amp;blog=10596476&amp;post=242&amp;subd=hmadrigal&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hello Fellas,</p>
<p>Today I&#8217;ve released a new version of Xhader.</p>
<p><a href="http://xhader.codeplex.com/releases/view/77425">http://xhader.codeplex.com/releases/view/77425</a></p>
<p>The major feature is that it should work on Blend 4. Additionally it should be using WPF 4.0 and SL 4.0 support.</p>
<p>Regards,<br />
Herber</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hmadrigal.wordpress.com/242/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hmadrigal.wordpress.com/242/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hmadrigal.wordpress.com/242/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hmadrigal.wordpress.com/242/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hmadrigal.wordpress.com/242/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hmadrigal.wordpress.com/242/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hmadrigal.wordpress.com/242/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hmadrigal.wordpress.com/242/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hmadrigal.wordpress.com/242/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hmadrigal.wordpress.com/242/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hmadrigal.wordpress.com/242/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hmadrigal.wordpress.com/242/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hmadrigal.wordpress.com/242/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hmadrigal.wordpress.com/242/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hmadrigal.wordpress.com&amp;blog=10596476&amp;post=242&amp;subd=hmadrigal&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hmadrigal.wordpress.com/2011/11/23/xhader-1-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6e8659583670c9667aaa010e1a0f318e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Yogurt</media:title>
		</media:content>
	</item>
		<item>
		<title>The Chaos Monkey and Working with AWS</title>
		<link>http://hmadrigal.wordpress.com/2011/04/26/the-chaos-monkey-and-working-with-aws/</link>
		<comments>http://hmadrigal.wordpress.com/2011/04/26/the-chaos-monkey-and-working-with-aws/#comments</comments>
		<pubDate>Tue, 26 Apr 2011 15:59:07 +0000</pubDate>
		<dc:creator>hmadrigal</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[aws]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[programing]]></category>

		<guid isPermaLink="false">http://hmadrigal.wordpress.com/?p=240</guid>
		<description><![CDATA[Hello, There has been awhile since my last post. I&#8217;d like to share a really good posts that I&#8217;ve read recently. As usual, I want to share two articles: 5 Lessons We’ve Learned Using AWS http://techblog.netflix.com/2010/12/5-lessons-weve-learned-using-aws.html Working with the Chaos Monkey http://www.codinghorror.com/blog/2011/04/working-with-the-chaos-monkey.html The second is a post based on the first one, both are good [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hmadrigal.wordpress.com&amp;blog=10596476&amp;post=240&amp;subd=hmadrigal&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hello, </p>
<p>There has been awhile since my last post. I&#8217;d like to share a really good posts that I&#8217;ve read recently. </p>
<p>As usual, I want to share two articles:</p>
<p>5 Lessons We’ve Learned Using AWS<br />
<a href="http://techblog.netflix.com/2010/12/5-lessons-weve-learned-using-aws.html">http://techblog.netflix.com/2010/12/5-lessons-weve-learned-using-aws.html</a></p>
<p>Working with the Chaos Monkey<br />
<a href="http://www.codinghorror.com/blog/2011/04/working-with-the-chaos-monkey.html">http://www.codinghorror.com/blog/2011/04/working-with-the-chaos-monkey.html</a></p>
<p>The second is a post based on the first one, both are good to think about: &#8220;the best way to avoid failure is to fail constantly&#8221;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hmadrigal.wordpress.com/240/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hmadrigal.wordpress.com/240/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hmadrigal.wordpress.com/240/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hmadrigal.wordpress.com/240/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hmadrigal.wordpress.com/240/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hmadrigal.wordpress.com/240/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hmadrigal.wordpress.com/240/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hmadrigal.wordpress.com/240/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hmadrigal.wordpress.com/240/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hmadrigal.wordpress.com/240/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hmadrigal.wordpress.com/240/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hmadrigal.wordpress.com/240/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hmadrigal.wordpress.com/240/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hmadrigal.wordpress.com/240/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hmadrigal.wordpress.com&amp;blog=10596476&amp;post=240&amp;subd=hmadrigal&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hmadrigal.wordpress.com/2011/04/26/the-chaos-monkey-and-working-with-aws/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6e8659583670c9667aaa010e1a0f318e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Yogurt</media:title>
		</media:content>
	</item>
		<item>
		<title>Setting up F# to bu used in Ubuntu with F#</title>
		<link>http://hmadrigal.wordpress.com/2011/04/16/setting-up-f-to-bu-used-in-ubuntu-with-f/</link>
		<comments>http://hmadrigal.wordpress.com/2011/04/16/setting-up-f-to-bu-used-in-ubuntu-with-f/#comments</comments>
		<pubDate>Sat, 16 Apr 2011 18:51:21 +0000</pubDate>
		<dc:creator>hmadrigal</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[fsharp]]></category>
		<category><![CDATA[microsoft]]></category>

		<guid isPermaLink="false">http://hmadrigal.wordpress.com/?p=238</guid>
		<description><![CDATA[Hello, Because of I&#8217;m curious about technology, I&#8217;ve decide share some links and comments about it. In general the process is simple: 1. Download the F# distribution from microsoft site or codeplex http://msdn.microsoft.com/en-us/fsharp/cc835251.aspx http://fsxplat.codeplex.com/ Uncompress and run the install script 2. You can also download the additional scripts. Same procedure from http://fsxplat.codeplex.com/, the installation is [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hmadrigal.wordpress.com&amp;blog=10596476&amp;post=238&amp;subd=hmadrigal&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hello, </p>
<p>Because of I&#8217;m curious about technology, I&#8217;ve decide share some links and comments about it.<br />
In general the process is simple:</p>
<p>1. Download the F# distribution from microsoft site or codeplex</p>
<p>http://msdn.microsoft.com/en-us/fsharp/cc835251.aspx</p>
<p>http://fsxplat.codeplex.com/</p>
<p>Uncompress and run the install script <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>2. You can also download the additional scripts.<br />
Same procedure from http://fsxplat.codeplex.com/, the installation is similar uncompress and run the installation script. There is a chance where you can get the following error:</p>
<p>install-bonus.sh: 28: Syntax error: &#8220;(&#8221; unexpected (expecting &#8220;}&#8221;)</p>
<p>If so, change the first line from<br />
#! /bin/sh -e<br />
to<br />
#!/bin/bash -e<br />
source: http://askubuntu.com/questions/21100/problem-with-script-substitution-when-running-script</p>
<p>I&#8217;ll assume you&#8217;ve already MonoDevelop installed, so. Make sure you&#8217;re following all the pre requisites to make F# work on mono:</p>
<p>http://functional-variations.net/monodevelop/prereq.aspx</p>
<p>At last but not least, you can install the add-in for mono</p>
<p>A good amount of steps can be located at http://functional-variations.net/monodevelop/ , or you can try just by adding the repository and install it <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  (repository http://functional-variations.net/addin )</p>
<p>and pretty much that it. if you want to see a video, there is one available at http://functional-variations.net/crossplatform/.</p>
<p>Microsoft Research has published a side dedicated to teach FSharp at http://www.tryfsharp.org/ </p>
<p>Best regards,<br />
Herber</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hmadrigal.wordpress.com/238/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hmadrigal.wordpress.com/238/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hmadrigal.wordpress.com/238/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hmadrigal.wordpress.com/238/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hmadrigal.wordpress.com/238/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hmadrigal.wordpress.com/238/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hmadrigal.wordpress.com/238/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hmadrigal.wordpress.com/238/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hmadrigal.wordpress.com/238/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hmadrigal.wordpress.com/238/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hmadrigal.wordpress.com/238/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hmadrigal.wordpress.com/238/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hmadrigal.wordpress.com/238/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hmadrigal.wordpress.com/238/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hmadrigal.wordpress.com&amp;blog=10596476&amp;post=238&amp;subd=hmadrigal&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hmadrigal.wordpress.com/2011/04/16/setting-up-f-to-bu-used-in-ubuntu-with-f/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6e8659583670c9667aaa010e1a0f318e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Yogurt</media:title>
		</media:content>
	</item>
		<item>
		<title>Visual Studio re install individual packages</title>
		<link>http://hmadrigal.wordpress.com/2011/02/10/visual-studio-re-install-individual-packages/</link>
		<comments>http://hmadrigal.wordpress.com/2011/02/10/visual-studio-re-install-individual-packages/#comments</comments>
		<pubDate>Thu, 10 Feb 2011 22:15:04 +0000</pubDate>
		<dc:creator>hmadrigal</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[programing]]></category>
		<category><![CDATA[visual studio]]></category>

		<guid isPermaLink="false">http://hmadrigal.wordpress.com/?p=234</guid>
		<description><![CDATA[Hi, I remember that sometime ago my Visual Studio installation didn&#8217;t install the package correctly. And if you&#8217;ve installed visual studio you might know that the standard installation might take 1 hour at least. If you decide to repair the visual studio then the process can take 2 hours. However by reinstalling the visual studio [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hmadrigal.wordpress.com&amp;blog=10596476&amp;post=234&amp;subd=hmadrigal&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hi,</p>
<p>I remember that sometime ago my Visual Studio installation didn&#8217;t install the package correctly. And if you&#8217;ve installed visual studio you might know that the standard installation might take 1 hour at least. If you decide to repair the visual studio then the process can take 2 hours. However by reinstalling the visual studio you still might have errors.</p>
<p>I resolved my problems by reinstalling only the broken package. So, I&#8217;ll explain how you can do this. I&#8217;ll take the images from my friend <a href="http://abakerp.blogspot.com/">Anthony (arbot)</a> which has the same issue, and he could solve it by installing only what he needed (see details at this <a href="http://abakerp.blogspot.com/2011/02/cannot-load-file-or-assembly.html">post</a>). So my example is based on Arbot&#8217;s problem with the &#8220;<em>Microsoft SQL Server 2008 Management Objects</em>&#8220;</p>
<p><strong>Step 1: Prepare your bat-belt</strong><br />
Easy dude, you will need the <em>Visual Studio Installation</em> files. You are more likely to need admin rights to perform installation tasks.</p>
<p><strong>Step 2: Identify your broken component</strong><br />
In the Arbot, the broken package was &#8220;Microsoft SQL Server 2008 Management Objects&#8221;. Unfortunately these kind of errors does not have a friendly message. Usually they might look like:</p>
<p><a href="http://hmadrigal.files.wordpress.com/2011/02/vsdbproject_error.png"><img class="aligncenter size-medium wp-image-235" title="Visual Studio Broken package error" src="http://hmadrigal.files.wordpress.com/2011/02/vsdbproject_error.png?w=300&#038;h=126" alt="" width="300" height="126" /></a></p>
<p>So don&#8217;t be afraid if you see:<br />
&#8220;<em>Could not load file or assembly<br />
&#8216;Microsoft.SqlServer.Management.SqlParser, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91&#8242; or one of its dependencies. The system cannot find the file specified</em>&#8220;<br />
The thing here is that you should be able to recognize which part of your Visual Studio is failing. If you aren&#8217;t sure about the component, then check the list of packages /components that Visual Studio installs  at<br />
<a href="http://msdn.microsoft.com/en-us/library/ee225240.aspx">http://msdn.microsoft.com/en-us/library/ee225240.aspx</a></p>
<p><strong>Step 3: Remove what it&#8217;s not working</strong><br />
Once you know what component is missed, go to the control panel and uninstall the specific component. In the case or Arbot he uninstalled all the products from the &#8220;Microsoft SQL Server 2008 Management Objects&#8221;, which are under the folder WCU\SMO see <a href="http://msdn.microsoft.com/en-us/library/ee225240.aspx">http://msdn.microsoft.com/en-us/library/ee225240.aspx</a> to know which components are installed under the same folder.</p>
<p><strong>Step 4: Make sure you&#8217;re ready to reinstall</strong><br />
Ok, It seems obvious, but before installing the Visual studio components you will have to make sure that your current installation has all the components you might need. So, take your time and check <a href="http://msdn.microsoft.com/en-us/library/ee225240.aspx">http://msdn.microsoft.com/en-us/library/ee225240.aspx</a> and the prerequisites <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p><strong>Step 5: Install in order each package</strong><br />
open a command prompt in admin mode. (I&#8217;d recommend Visual Studio Command Prompt), and make sure MSIExec  is in your path (http://technet.microsoft.com/library/cc759262(WS.10).aspx). So, we can run the installer from the command prompt.<br />
Now In the command prompt,  go to the installer folders of your broken package. In the case of Arbot, look for &#8220;WCU\SMO&#8221; folder.  Review which platform you&#8217;re using because X86 platforms uses different commands than the X64 platforms. Additionally there are two kind of X64 platforms.<br />
One you have identifies the packages that you have to install run the commands, in the case of Arbot he ran these commands:</p>
<p><code><br />
C:\Windows\system32&gt;MSIExec SQLSysClrTypes_x86_enu.msi /log "%TEMP%\dd_SQLSysClr<br />
Types_x86_msi.txt"<br />
C:\Windows\system32&gt;MSIExec SharedManagementObjects_x86_enu.msi /log:"%TEMP%\dd_SharedManagementObjects_x86_MSI.txt"<br />
</code></p>
<p>Depending of the settings you&#8217;ve specified for MSIExec you might have to attend the installation and restart your computer.</p>
<p><strong>Step 6: Try you reinstalled component on visual studio </strong><br />
If the installation worked properly it shouldn&#8217;t report any issue, and you always have the option to check the log file generated by the MSIExec.</p>
<p>Now you should be able to run Visual Studio and try once again to use the feature on Visual studio, and hopefully it should be working properly. My friend Anthony made a post about his problem <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  if you need to see more pics <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p><a href="http://abakerp.blogspot.com/2011/02/cannot-load-file-or-assembly.html">http://abakerp.blogspot.com/2011/02/cannot-load-file-or-assembly.html</a></p>
<p>Best regards,<br />
Herber</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hmadrigal.wordpress.com/234/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hmadrigal.wordpress.com/234/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hmadrigal.wordpress.com/234/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hmadrigal.wordpress.com/234/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hmadrigal.wordpress.com/234/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hmadrigal.wordpress.com/234/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hmadrigal.wordpress.com/234/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hmadrigal.wordpress.com/234/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hmadrigal.wordpress.com/234/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hmadrigal.wordpress.com/234/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hmadrigal.wordpress.com/234/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hmadrigal.wordpress.com/234/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hmadrigal.wordpress.com/234/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hmadrigal.wordpress.com/234/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hmadrigal.wordpress.com&amp;blog=10596476&amp;post=234&amp;subd=hmadrigal&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hmadrigal.wordpress.com/2011/02/10/visual-studio-re-install-individual-packages/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6e8659583670c9667aaa010e1a0f318e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Yogurt</media:title>
		</media:content>

		<media:content url="http://hmadrigal.files.wordpress.com/2011/02/vsdbproject_error.png?w=300" medium="image">
			<media:title type="html">Visual Studio Broken package error</media:title>
		</media:content>
	</item>
		<item>
		<title>XNAWP7-1 A introduction</title>
		<link>http://hmadrigal.wordpress.com/2011/01/15/xnawp7-1-a-introduction/</link>
		<comments>http://hmadrigal.wordpress.com/2011/01/15/xnawp7-1-a-introduction/#comments</comments>
		<pubDate>Sat, 15 Jan 2011 14:19:01 +0000</pubDate>
		<dc:creator>hmadrigal</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[xna]]></category>
		<category><![CDATA[programing]]></category>
		<category><![CDATA[wp7]]></category>
		<category><![CDATA[XNAWP7]]></category>

		<guid isPermaLink="false">http://hmadrigal.wordpress.com/?p=225</guid>
		<description><![CDATA[Hello , I&#8217;ve been thinking about what should be my next post. I&#8217;d like to talk about WCF RIA, where I have had some encounters, but it&#8217;s like too soon to write about it. On the other hand, I won a raffle and the prize was a book about Windows Phone 7 Game Development (Thanks [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hmadrigal.wordpress.com&amp;blog=10596476&amp;post=225&amp;subd=hmadrigal&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hello ,</p>
<p>I&#8217;ve been thinking about what should be my next post. I&#8217;d like to talk about WCF RIA, where I have had some encounters, but it&#8217;s like too soon to write about it. On the other hand, I won a raffle and the prize was a book about <em>Windows Phone 7 Game Development</em> (Thanks to <a href="http://www.101ftb.com/?rid=C20W00E900">101FreeTechbook</a> and additionally there is going to be a free workshop about XNA 4.0 development at <a href="http://gamedevelopedia.com/workshop-signup.aspx">gamedevelopedia</a> (Starting at 17-Jan-2010). Thus, I&#8217;ve decided to write a set of tutorials about XNA and WP7 for those who wants to start as well as I want.  If everything goes well the series will have the following tag <em>XNAWP7</em>, and I&#8217;ll try to post every week about the every new topic. So, lets get started.</p>
<p><strong>WP7: Windows Phone 7 Development</strong><br />
<em>Windows Phone 7</em>&#8216;s the platform Microsoft has release to create new experiences on Windows Phone development. This new platform is based on managed code, so it&#8217;s backed on .NET Compact Framework. At this time it&#8217;s possible to write application C#. There are two main framework  available for WP7 development:</p>
<p><strong>XNA: Xna is Not an Acronym</strong><br />
XNA is a high-performance game framework. It&#8217;s over DirectX and it allows to create application taking advantage of high performance on Graphics, sounds, networking and input devices. Additionally, it can take advantage of <em>Microsoft Live</em> to have a customized game experience.  The only drawback of this platform is that you have to create most of the components almost from scratch or get a third party framework instead.</p>
<p><strong> SL: Silverlight</strong><br />
Silverlight is framework build on .NET and it allows to create  rich interactive applications by using a declarative language (XAML). Xaml uses XML to describe how the UI is drawn, and the C# to details on logic and interaction. This framework also supports game development, this framework is fairly enough for games which does not have high-performance graphics nor have tons of elements. Event though, SL4 is already in the market and SL5 is on feature request on Jan-2011, WP7 uses an special flavor of Silverlight 3. This special flavor of SL3 has removed not related feature of mobile such as System.Window.Browse namespace, and it has added specific new namespaces in order to take advantage of the platform specific items.</p>
<p><strong>Windows Phone 7 and its hardware</strong><br />
Microsoft has defined very specific hardware in order to be able to run properly WP7 Operative System (WP7 OS).</p>
<ul>
<li>1 Ghz CPU processor</li>
<li> WVGA (480&#215;800) or HVGA (480,320)</li>
<li>Accelerometer sensor. <em>This sensor helps to detect the orientation of the device, this means it allows to detect if the device is point up, down, left right, etc..</em></li>
<li>GPS sensor <em>This sensor helps to detect the position around the world by detecting the latitude and longitude</em></li>
</ul>
<p><strong>Development on WP7</strong><br />
At lats but not least, let see what it&#8217;s required to develop on WP7 platform. The SDK is free and it can be downloaded at <a href="http://create.msdn.com/en-US/">AppHub</a> If you have <em>Visual Studio</em> already installed the WP7 tools will integrate with VS automatically. If you don&#8217;t have Visual Studio, then you can get the <em>Visual Studio Express</em> version for free at <a href="www.microsoft.com/express/"><em>Visual Studio Express</em></a>.<br />
If you wan to run you application in you phone, then you&#8217;ll need to get a XNA creators account to being able to deploy your application into your phone. Additionally by acquiring an account you&#8217;ll be able to publish your game in the Market place, at this time (Jan-2011) only US and Europe are available to publish content, it&#8217;s planned to open more countries during the next years.<br />
Don&#8217;t get worried if you don&#8217;t have a Windows Phone 7, you can start coding using the emulator which is already included with WP7 SDK, however it&#8217;s strongly recommended to use a physical WP7 to perform final tests. </p>
<p><strong>An initial application</strong><br />
As traditional, the hello world application. So, on this little sample you it&#8217;s possible to appreciate the basis to display text and sprites.</p>
<p><strong>The Main Game loop</strong><br />
If haven&#8217;t worked with game frameworks before, let me point out a concept known as <em>game loop</em>. Traditional programing models are <em>event based</em>, this means that a certain functionality is executed by a given trigger. But the most common video game frameworks does not work on this scheme, instead they use the <em>game loop</em> which is a &#8220;infinite&#8221; cycle where the application performs an update and then draw the scene. Frameworks such as XNA have methods invoked before and after the game loop is executed to perform initialization tasks, or free resources. This main loop game is implemented by the <em>Game</em> class of XNA. BTW there is a particularity of using XNA on WP7. Normally an application has an entry point such as the <em>main</em> function, and you can clearly see this function on a WP7 template project. However WP7 loads looks for instances of <em>Game</em> in your projects and handles them such a contract to define the execution of your application. </p>
<p><strong>A sprite</strong><br />
The word <em>sprite</em> is an term which hasn&#8217;t changed from its origin. During the age of 8-bits the very first images that were drawn on a screen were called <em>sprites</em>. So, an sprite a two dimensional rendered figure <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> . <em>Sprites</em> have become a great resource because much of the game frameworks does not have a <em>graphic interface library</em> (GUI), thus sprites provides a good-alternative mechanism. On XNA an sprite is represented by the <em>Texture2D</em> class.</p>
<p><strong>Sprite font</strong><br />
Particularly XNA has decide to draw text by using sprites. Which means that all the charset is backed by images. A font on XNA is associated to an <em>spritefont</em>. On XNA an sprite is represented by the <em>SpriteFont</em> class.</p>
<p><strong>Drawing sprites</strong><br />
XNA defines a tool for drawing sprites (or spritefonts). XNA helps you to deal with the resources of you application by providing a content loader. This content loader is able to load the sprites, fonts, audio files that you application will consume. </p>
<p><strong>some csharp code<strong><br />
With all the previous <em>things</em> said I&#8217;m attaching what it would be the first post (hopefully of many more posts).<br />
<a href="http://hmadrigal.files.wordpress.com/2011/01/xnasample01.png"><img src="http://hmadrigal.files.wordpress.com/2011/01/xnasample01.png?w=300&#038;h=179" alt="" title="XNASample01" width="300" height="179" class="aligncenter size-medium wp-image-229" /></a><br />
Source code is at <a href="http://github.com/hmadrigal/xnawp7"> http://github.com/hmadrigal/xnawp7</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hmadrigal.wordpress.com/225/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hmadrigal.wordpress.com/225/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hmadrigal.wordpress.com/225/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hmadrigal.wordpress.com/225/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hmadrigal.wordpress.com/225/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hmadrigal.wordpress.com/225/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hmadrigal.wordpress.com/225/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hmadrigal.wordpress.com/225/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hmadrigal.wordpress.com/225/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hmadrigal.wordpress.com/225/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hmadrigal.wordpress.com/225/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hmadrigal.wordpress.com/225/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hmadrigal.wordpress.com/225/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hmadrigal.wordpress.com/225/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hmadrigal.wordpress.com&amp;blog=10596476&amp;post=225&amp;subd=hmadrigal&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hmadrigal.wordpress.com/2011/01/15/xnawp7-1-a-introduction/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6e8659583670c9667aaa010e1a0f318e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Yogurt</media:title>
		</media:content>

		<media:content url="http://hmadrigal.files.wordpress.com/2011/01/xnasample01.png?w=300" medium="image">
			<media:title type="html">XNASample01</media:title>
		</media:content>
	</item>
		<item>
		<title>Aspect Oriented Programming  and Interceptor design pattern with Unity 2</title>
		<link>http://hmadrigal.wordpress.com/2010/12/25/aspect-oriented-programming-and-interceptor-design-pattern-with-unity-2/</link>
		<comments>http://hmadrigal.wordpress.com/2010/12/25/aspect-oriented-programming-and-interceptor-design-pattern-with-unity-2/#comments</comments>
		<pubDate>Sat, 25 Dec 2010 13:15:33 +0000</pubDate>
		<dc:creator>hmadrigal</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[mono]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[csharp]]></category>
		<category><![CDATA[design patterns]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[programing]]></category>
		<category><![CDATA[unity]]></category>
		<category><![CDATA[unity2]]></category>

		<guid isPermaLink="false">http://hmadrigal.wordpress.com/?p=213</guid>
		<description><![CDATA[Hello, I&#8217;ve found a Microsoft article about Unity and Aspect Oriented programming, and it was really interesting. So, to be the theory in action I&#8217;ve decide to exemplify how Unity 2 uses the Interceptor design pattern to support Aspect Oriented Programming (aka AOP).  First of all, lets get the basis of each of these three [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hmadrigal.wordpress.com&amp;blog=10596476&amp;post=213&amp;subd=hmadrigal&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hello,</p>
<p>I&#8217;ve found a Microsoft article about Unity and Aspect Oriented programming, and it was really interesting. So, to be the theory in action I&#8217;ve decide to exemplify how Unity 2 uses the Interceptor design pattern to support Aspect Oriented Programming (aka AOP).  First of all, lets get the basis of each of these three main members of my sample:</p>
<ul>
<li><strong>Microsoft Unity 2</strong> is a Dependency Injection Framework which also supports which helps us to create loosely couple applications. See details at <a href="http://msdn.microsoft.com/en-us/library/dd203101.aspx">http://msdn.microsoft.com/en-us/library/dd203101.aspx</a></li>
<li><strong>Aspect Oriented Programming ( AOP )</strong> is a development style where the main concerns are separated from the secondary concerts of the application. E.g. you can be able to separate your the <span style="text-decoration:underline;"> </span>logic used to <em>log</em> information from the main <em>business logic</em> of the application. See more info at<a href="http://en.wikipedia.org/wiki/Aspect-oriented_programming"> http://en.wikipedia.org/wiki/Aspect-oriented_programming</a></li>
<li><strong>Interceptor design pattern</strong> is a software design pattern which allows to insert and configure logic when executing code in given methods. See more info at <a href="http://en.wikipedia.org/wiki/Interceptor_pattern">http://en.wikipedia.org/wiki/Interceptor_pattern</a></li>
</ul>
<p>Once again, I&#8217;ve decide to use MonoDevelop to create the sample and the source code is available to be downloaded from github at <a href="https://github.com/hmadrigal/CodeSamples/tree/master/AspectOriented.Terminal">https://github.com/hmadrigal/CodeSamples/tree/master/AspectOriented.Terminal</a></p>
<h2>Sample structure</h2>
<p>This example supposes that you have a proxy and want it to add logging information. So, we define a contract (interface) called <em>IProxy</em> to define the expected behavior of our proxy and let unity know which is the contract. Then we have in a separate project an concrete implementation <em>Proxy</em> which implements the interface. At last but not a least, we have a project which defines a Unity interceptor. All these components are united by the configuration file which lets unity know how these components should interact.</p>
<h3>AspectOriented.Infrastructure&#8217;s project</h3>
<p>This project contains all the common resources and the contracts (interfaces) to be used in the sample. Here is defined the <em>IProxy</em> interface:</p>
<p><pre class="brush: csharp;">
using System;
namespace AspectOriented.Infrastructure.Services
{
  public interface IProxy
  {
    bool IsEnabled ();
    void Open ();
    void Close ();
  }
}
</pre></p>
<h3>AspectOriented.UnityInterceptors&#8217;s project</h3>
<p>The second project we&#8217;re going to talk is where the <em>interceptor </em>is defined. As we&#8217;ve already mentioned the interceptor will allow unity to perform tasks before and/or after the intercepted method is invoked. To define  which method is going to be intercepted, we can use two alternative: a configuration file or by writing some code.This will he explain in the <strong>AspectOriented.Terminal&#8217;s project</strong>.</p>
<p><pre class="brush: csharp;">
using System;
using System.Collections.Generic;
using Microsoft.Practices.Unity.InterceptionExtension;

namespace AspectOriented.UnityInterceptors
{
	public class DiagnosticInterceptor : IInterceptionBehavior
	{
		public DiagnosticInterceptor ()
		{
		}

		#region IInterceptionBehavior implementation
		public IMethodReturn Invoke (IMethodInvocation input, GetNextInterceptionBehaviorDelegate getNext)
		{
			System.Console.WriteLine (String.Format (&quot;[{0}:{1}]&quot;, this.GetType ().Name, &quot;Invoke&quot;));

			// BEFORE the target method execution
			System.Console.WriteLine (String.Format (&quot;{0}&quot;, input.MethodBase.ToString ()));

			// Yield to the next module in the pipeline
			var methodReturn = getNext ().Invoke (input, getNext);

			// AFTER the target method execution
			if (methodReturn.Exception == null) {
				System.Console.WriteLine (String.Format (&quot;Successfully finished {0}&quot;, input.MethodBase.ToString ()));
			} else {
				System.Console.WriteLine (String.Format (&quot;Finished {0} with exception {1}: {2}&quot;, input.MethodBase.ToString (), methodReturn.Exception.GetType ().Name, methodReturn.Exception.Message));
			}

			return methodReturn;
		}

		public IEnumerable&lt;Type&gt; GetRequiredInterfaces ()
		{
			System.Console.WriteLine (String.Format (&quot;[{0}:{1}]&quot;, this.GetType ().Name, &quot;GetRequiredInterfaces&quot;));
			return Type.EmptyTypes;
		}

		public bool WillExecute {
			get {
				System.Console.WriteLine (String.Format (&quot;[{0}:{1}]&quot;, this.GetType ().Name, &quot;WillExecute&quot;));
				return true;
			}
		}
		#endregion
	}
}
</pre></p>
<p>As you might noticed the interceptor implements <em>IInterceptionBehavior </em> which will let Unity know that this class can act like an interceptor. To simplify things we only print message about when these calls are performed.</p>
<h3>AspectOriented.Terminal&#8217;s project</h3>
<p>This is the main project which generates the executable file. Here are two important things to point out.  Unity has being configured by using the configuration file, however you can use code instead. The main application performs calls on the instance that unity resolves, the <em>interception</em> process happens behind scenes and we only will see the result when we call the methods of the proxy.</p>
<p><pre class="brush: xml;">
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
&lt;configuration&gt;
	&lt;configSections&gt;
		&lt;section name=&quot;unity&quot; type=&quot;Microsoft.Practices.Unity.Configuration.UnityConfigurationSection, Microsoft.Practices.Unity.Configuration&quot; /&gt;
	&lt;/configSections&gt;
	&lt;unity xmlns=&quot;http://schemas.microsoft.com/practices/2010/unity&quot;&gt;
		&lt;!-- Interception is not part of the default Unity configuration schema. --&gt;
		&lt;!-- Before you can configure interception you must add the correct sectionExtension element to your configuration --&gt;
		&lt;!-- section in the configuration file.--&gt;
		&lt;sectionExtension type=&quot;Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptionConfigurationExtension, Microsoft.Practices.Unity.Interception.Configuration&quot; /&gt;
		&lt;!-- Defines some aliast to easily manipulate the mappings --&gt;
		&lt;alias alias=&quot;IProxy&quot; type=&quot;AspectOriented.Infrastructure.Services.IProxy, AspectOriented.Infrastructure&quot; /&gt;
		&lt;alias alias=&quot;Proxy&quot; type=&quot;AspectOriented.Terminal.Services.Proxy, AspectOriented.Terminal&quot; /&gt;
		&lt;alias alias=&quot;DiagnosticInterceptor&quot; type=&quot;AspectOriented.UnityInterceptors.DiagnosticInterceptor, AspectOriented.UnityInterceptors&quot; /&gt;
		&lt;!-- Default Container when creating the tree-chain of resolution--&gt;
		&lt;container&gt;
			&lt;!-- Loading the section extension only enables the interception configuration to be given in the configuration file. --&gt;
			&lt;!-- Interception itself will not work unless you also load the interception container extension in your Unity container instance.--&gt;
			&lt;extension type=&quot;Interception&quot; /&gt;
			&lt;register type=&quot;IProxy&quot; mapTo=&quot;Proxy&quot;&gt;
				&lt;lifetime type=&quot;ContainerControlledLifetimeManager&quot; /&gt;
				&lt;interceptor type=&quot;InterfaceInterceptor&quot; /&gt;
				&lt;interceptionBehavior type=&quot;DiagnosticInterceptor&quot; /&gt;
			&lt;/register&gt;
		&lt;/container&gt;
	&lt;/unity&gt;
&lt;/configuration&gt;
</pre></p>
<p>The configuration file defines two section which are mandatory to define <em>interceptors</em>, these are <em>sectionExtension</em> and <em>extension</em>. Then into the registration of a given type (or in our sample the IProxy Type) we can define the interceptors for this particular type resolution.</p>
<p><pre class="brush: csharp;">
using System;
using Microsoft.Practices.Unity;
using Microsoft.Practices.Unity.Configuration;
using System.Configuration;
using AspectOriented.Infrastructure.Services;

namespace AspectOriented.Terminal
{
	class MainClass
	{
		public static void Main (string[] args)
		{
			// Loads the container
			IUnityContainer container = new UnityContainer ();
			container = Microsoft.Practices.Unity.Configuration.UnityContainerExtensions.LoadConfiguration (container);

			// Resolve the proxy-sample
			var proxy = Microsoft.Practices.Unity.UnityContainerExtensions.Resolve&lt;IProxy&gt; (container);
			if (proxy.IsEnabled ()) {
				proxy.Open ();
			}
			proxy.Close ();

			// End of the test
			Console.ReadKey ();
		}
	}
}
</pre></p>
<p>At last but not least we&#8217;ve our main code. It&#8217;s quite straightforward, it creates a Unity container, loads the container configuration from the configuration file, and then uses the container to resolve the given interface (contract). As I mentioned the magic happens behind-scenes, when you call the <em>Proxy</em> methods there is functionality which is going to be injected before and after each call of this instance. Take a look of the final screen-shot to see the all the terminal messages which were triggered during the method calls of the <em>Proxy</em>.</p>
<p><a href="http://hmadrigal.files.wordpress.com/2010/12/screenshot-monodevelop-external-console.png"><img class="aligncenter" title="MonoDevelop External Console" src="http://hmadrigal.files.wordpress.com/2010/12/screenshot-monodevelop-external-console.png?w=300&#038;h=199" alt="" width="300" height="199" /></a></p>
<p>As you can notice the interception calls are injected before and after each call of the proxy instance. And this same functionality can be plugged to any other component (instance) by using the same mechanism.</p>
<h3>Resources about this topic</h3>
<ul>
<li>Aspect-Oriented Programming, Interception and Unity 2.0 <a href="http://msdn.microsoft.com/en-us/magazine/gg490353.aspx">http://msdn.microsoft.com/en-us/magazine/gg490353.aspx</a></li>
<li>Specifying Types in the Configuration File <a href="http://msdn.microsoft.com/en-us/library/ff660933%28v=PandP.20%29.aspx">http://msdn.microsoft.com/en-us/library/ff660933%28v=PandP.20%29.aspx</a></li>
<li>Extending the Unity Configuration Schema <a href="http://msdn.microsoft.com/en-us/library/ff660880%28v=PandP.20%29.aspx">http://msdn.microsoft.com/en-us/library/ff660880%28v=PandP.20%29.aspx</a></li>
<li>Configuration Files for Interception <a href="http://msdn.microsoft.com/en-us/library/ff660932%28v=PandP.20%29.aspx">http://msdn.microsoft.com/en-us/library/ff660932%28v=PandP.20%29.aspx</a></li>
<li>Unity Interception Extension <a href="http://www.peternilsson.me/#post14">http://www.peternilsson.me/#post14</a></li>
<li>Microsoft Unity &#8211; code to xml <a href="http://stackoverflow.com/questions/640806/microsoft-unity-code-to-xml">http://stackoverflow.com/questions/640806/microsoft-unity-code-to-xml</a></li>
</ul>
<p>Once again, I&#8217;ve decide to use MonoDevelop to create the sample and the  source code is available to be downloaded from github at <a href="https://github.com/hmadrigal/CodeSamples/tree/master/AspectOriented.Terminal">https://github.com/hmadrigal/CodeSamples/tree/master/AspectOriented.Terminal</a></p>
<p>&nbsp;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hmadrigal.wordpress.com/213/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hmadrigal.wordpress.com/213/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hmadrigal.wordpress.com/213/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hmadrigal.wordpress.com/213/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hmadrigal.wordpress.com/213/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hmadrigal.wordpress.com/213/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hmadrigal.wordpress.com/213/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hmadrigal.wordpress.com/213/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hmadrigal.wordpress.com/213/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hmadrigal.wordpress.com/213/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hmadrigal.wordpress.com/213/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hmadrigal.wordpress.com/213/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hmadrigal.wordpress.com/213/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hmadrigal.wordpress.com/213/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hmadrigal.wordpress.com&amp;blog=10596476&amp;post=213&amp;subd=hmadrigal&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hmadrigal.wordpress.com/2010/12/25/aspect-oriented-programming-and-interceptor-design-pattern-with-unity-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6e8659583670c9667aaa010e1a0f318e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Yogurt</media:title>
		</media:content>

		<media:content url="http://hmadrigal.files.wordpress.com/2010/12/screenshot-monodevelop-external-console.png?w=300" medium="image">
			<media:title type="html">MonoDevelop External Console</media:title>
		</media:content>
	</item>
		<item>
		<title>Free ebook &#8220;Free ebook: Moving to Microsoft Visual Studio 2010&#8243;</title>
		<link>http://hmadrigal.wordpress.com/2010/12/22/free-ebook-free-ebook-moving-to-microsoft-visual-studio-2010/</link>
		<comments>http://hmadrigal.wordpress.com/2010/12/22/free-ebook-free-ebook-moving-to-microsoft-visual-studio-2010/#comments</comments>
		<pubDate>Wed, 22 Dec 2010 21:12:25 +0000</pubDate>
		<dc:creator>hmadrigal</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[ebook]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[free]]></category>

		<guid isPermaLink="false">http://hmadrigal.wordpress.com/?p=210</guid>
		<description><![CDATA[Hi, Microsoft has a new free ebook. This is about Visual Studio 2010, you can get it at: http://blogs.msdn.com/b/microsoft_press/archive/2010/09/13/free-ebook-moving-to-microsoft-visual-studio-2010.aspx Best regards, Herber<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hmadrigal.wordpress.com&amp;blog=10596476&amp;post=210&amp;subd=hmadrigal&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hi,</p>
<p>Microsoft has a new free ebook. This is about Visual Studio 2010, you can get it at:</p>
<p><a href="http://blogs.msdn.com/b/microsoft_press/archive/2010/09/13/free-ebook-moving-to-microsoft-visual-studio-2010.aspx">http://blogs.msdn.com/b/microsoft_press/archive/2010/09/13/free-ebook-moving-to-microsoft-visual-studio-2010.aspx</a></p>
<p>Best regards,</p>
<p>Herber</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hmadrigal.wordpress.com/210/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hmadrigal.wordpress.com/210/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hmadrigal.wordpress.com/210/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hmadrigal.wordpress.com/210/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hmadrigal.wordpress.com/210/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hmadrigal.wordpress.com/210/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hmadrigal.wordpress.com/210/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hmadrigal.wordpress.com/210/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hmadrigal.wordpress.com/210/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hmadrigal.wordpress.com/210/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hmadrigal.wordpress.com/210/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hmadrigal.wordpress.com/210/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hmadrigal.wordpress.com/210/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hmadrigal.wordpress.com/210/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hmadrigal.wordpress.com&amp;blog=10596476&amp;post=210&amp;subd=hmadrigal&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hmadrigal.wordpress.com/2010/12/22/free-ebook-free-ebook-moving-to-microsoft-visual-studio-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6e8659583670c9667aaa010e1a0f318e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Yogurt</media:title>
		</media:content>
	</item>
		<item>
		<title>Free ebook: Programming Windows Phone 7, by Charles Petzold</title>
		<link>http://hmadrigal.wordpress.com/2010/12/16/free-ebook-programming-windows-phone-7-by-charles-petzold/</link>
		<comments>http://hmadrigal.wordpress.com/2010/12/16/free-ebook-programming-windows-phone-7-by-charles-petzold/#comments</comments>
		<pubDate>Fri, 17 Dec 2010 01:47:21 +0000</pubDate>
		<dc:creator>hmadrigal</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[blend]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[ebook]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[silverlight]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[programing]]></category>

		<guid isPermaLink="false">http://hmadrigal.wordpress.com/?p=208</guid>
		<description><![CDATA[Hello Certainly a platform is as strong as the tools that you can use on it. Microsoft is giving a lot of resources for developers in order to start producing in Windows Phone 7 (WP7). This time Microsoft Press book is giving a free ebook Programming Windows Phone 7 by Charles Petzold. &#160; You can [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hmadrigal.wordpress.com&amp;blog=10596476&amp;post=208&amp;subd=hmadrigal&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hello</p>
<p>Certainly a platform is as strong as the tools that you can use on it. Microsoft is giving a lot of resources for developers in order to start producing in Windows Phone 7 (WP7). This time Microsoft Press book is giving a free ebook Programming Windows Phone 7 by Charles Petzold.</p>
<p>&nbsp;</p>
<p><img class="alignnone" title="Book cover" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-17-44-metablogapi/6558.9780735643352x_5F00_thumb_5F00_6E9D86B6.jpg" alt="" width="355" height="432" /></p>
<p>You can download it at <a href="http://blogs.msdn.com/b/microsoft_press/archive/2010/10/28/free-ebook-programming-windows-phone-7-by-charles-petzold.aspx">Free ebook: Programming Windows Phone 7, by Charles Petzold</a></p>
<p>Best regards,<br />
Herber</p>
<div id="_mcePaste" class="mcePaste" style="position:absolute;left:-10000px;top:0;width:1px;height:1px;overflow:hidden;">
<h3 class="post-name">Free ebook: Programming Windows Phone 7, by  Charles Petzold</h3>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hmadrigal.wordpress.com/208/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hmadrigal.wordpress.com/208/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hmadrigal.wordpress.com/208/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hmadrigal.wordpress.com/208/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hmadrigal.wordpress.com/208/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hmadrigal.wordpress.com/208/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hmadrigal.wordpress.com/208/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hmadrigal.wordpress.com/208/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hmadrigal.wordpress.com/208/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hmadrigal.wordpress.com/208/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hmadrigal.wordpress.com/208/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hmadrigal.wordpress.com/208/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hmadrigal.wordpress.com/208/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hmadrigal.wordpress.com/208/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hmadrigal.wordpress.com&amp;blog=10596476&amp;post=208&amp;subd=hmadrigal&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hmadrigal.wordpress.com/2010/12/16/free-ebook-programming-windows-phone-7-by-charles-petzold/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6e8659583670c9667aaa010e1a0f318e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Yogurt</media:title>
		</media:content>

		<media:content url="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-17-44-metablogapi/6558.9780735643352x_5F00_thumb_5F00_6E9D86B6.jpg" medium="image">
			<media:title type="html">Book cover</media:title>
		</media:content>
	</item>
		<item>
		<title>Xhader 1.0 has been released!</title>
		<link>http://hmadrigal.wordpress.com/2010/12/15/xhader-1-0-has-been-released/</link>
		<comments>http://hmadrigal.wordpress.com/2010/12/15/xhader-1-0-has-been-released/#comments</comments>
		<pubDate>Wed, 15 Dec 2010 22:51:04 +0000</pubDate>
		<dc:creator>hmadrigal</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[expression blend]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[pixel shader]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[shader]]></category>
		<category><![CDATA[silverlight]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[wpf]]></category>
		<category><![CDATA[blend]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[xaml]]></category>

		<guid isPermaLink="false">http://hmadrigal.wordpress.com/?p=200</guid>
		<description><![CDATA[Hello, This is my first open source project that I&#8217;ve been published. It&#8217;s not based on my code, it&#8217;s based on a set of several tools and helpers I&#8217;ve been able to find in the web. So, the project itself is just a easy way to access all that resources in one single point by [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hmadrigal.wordpress.com&amp;blog=10596476&amp;post=200&amp;subd=hmadrigal&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hello,</p>
<p>This is my first open source project that I&#8217;ve been published. It&#8217;s not based on my code, it&#8217;s based on a set of several tools and helpers I&#8217;ve been able to find in the web. So, the project itself is just a easy way to access all that resources in one single point by using your Microsoft Blend tool.</p>
<p><strong>Xhader 1.0 Summary</strong></p>
<p>Xaml is a markup language based on xml, which is used to create  presentation layer in your Microsoft Application e.g. Silverlight  Applications and WPF applications. There is a particular feature that is  available for certain users which is to use the support  to modify the rendere</p>
<p>See more information at:<br />
<a href="http://xhader.codeplex.com/documentation?referringTitle=Home">Documentation</a></p>
<p><a href="http://xhader.codeplex.com/releases/view/57596">Download</a></p>
<p>Best regards,</p>
<p>Herber</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hmadrigal.wordpress.com/200/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hmadrigal.wordpress.com/200/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hmadrigal.wordpress.com/200/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hmadrigal.wordpress.com/200/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hmadrigal.wordpress.com/200/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hmadrigal.wordpress.com/200/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hmadrigal.wordpress.com/200/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hmadrigal.wordpress.com/200/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hmadrigal.wordpress.com/200/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hmadrigal.wordpress.com/200/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hmadrigal.wordpress.com/200/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hmadrigal.wordpress.com/200/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hmadrigal.wordpress.com/200/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hmadrigal.wordpress.com/200/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hmadrigal.wordpress.com&amp;blog=10596476&amp;post=200&amp;subd=hmadrigal&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hmadrigal.wordpress.com/2010/12/15/xhader-1-0-has-been-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6e8659583670c9667aaa010e1a0f318e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Yogurt</media:title>
		</media:content>
	</item>
	</channel>
</rss>
