<?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"
	>

<channel>
	<title>musc@> $daniele.rant &#124; Out-Blog &#187; C#</title>
	<atom:link href="http://www.muscetta.com/category/c/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.muscetta.com</link>
	<description>Superior Dedication - Specialization is bullshit.</description>
	<pubDate>Tue, 26 Aug 2008 16:55:12 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.1</generator>
	<language>en</language>
			<item>
		<title>Test from WordPress 2.3</title>
		<link>http://www.muscetta.com/2007/09/26/test-wp-23/</link>
		<comments>http://www.muscetta.com/2007/09/26/test-wp-23/#comments</comments>
		<pubDate>Wed, 26 Sep 2007 19:11:55 +0000</pubDate>
		<dc:creator>Daniele Muscetta</dc:creator>
		
		<category><![CDATA[Blogs]]></category>

		<category><![CDATA[C#]]></category>

		<category><![CDATA[Coding]]></category>

		<category><![CDATA[Cross Platform]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[Tools]]></category>

		<category><![CDATA[WebSite]]></category>

		<guid isPermaLink="false">http://www.muscetta.com/2007/09/26/test-wp-23/</guid>
		<description><![CDATA[Blog works, all the plugin work too. I will *only* have to re-write a whole bunch on SQL queries for my .Net frontend that is now broken. I&#039;ll do that at one stage, now I can&#039;t be asked.
]]></description>
			<content:encoded><![CDATA[<p>Blog works, all the plugin work too. I will *only* have to re-write a whole bunch on SQL queries for <a href="http://www.muscetta.com/2007/05/30/this-blog-in-c/">my .Net frontend</a> that is now broken. I&#039;ll do that at one stage, now I can&#039;t be asked.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.muscetta.com/2007/09/26/test-wp-23/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Open Source Projects and Microsoft</title>
		<link>http://www.muscetta.com/2007/08/24/open-source-projects-and-microsoft/</link>
		<comments>http://www.muscetta.com/2007/08/24/open-source-projects-and-microsoft/#comments</comments>
		<pubDate>Fri, 24 Aug 2007 12:16:50 +0000</pubDate>
		<dc:creator>Daniele Muscetta</dc:creator>
		
		<category><![CDATA[Blogs]]></category>

		<category><![CDATA[C#]]></category>

		<category><![CDATA[Choice]]></category>

		<category><![CDATA[Coding]]></category>

		<category><![CDATA[Cross Platform]]></category>

		<category><![CDATA[Cross Post]]></category>

		<category><![CDATA[ITVC]]></category>

		<category><![CDATA[Integration]]></category>

		<category><![CDATA[Interop]]></category>

		<category><![CDATA[Microsoft]]></category>

		<category><![CDATA[Places]]></category>

		<category><![CDATA[Tools]]></category>

		<category><![CDATA[dotNet]]></category>

		<guid isPermaLink="false">http://www.muscetta.com/2007/08/24/open-source-projects-and-microsoft/</guid>
		<description><![CDATA[This CNet article about CodePlex has some VERY interesting points:
[...] Bayarsaikhan has posted the top 25 most active open-source projects on Microsoft&#039;s Codeplex site. Looking at the list, it looks like Microsoft developers spend their time doing much the same as the rest of the Java/other world: play games and make the Web world pretty with [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://news.com.com/8301-10784_3-9761998-7.html">This CNet article about CodePlex</a> has some VERY interesting points:</p>
<blockquote><p><em>[...] Bayarsaikhan </em><a href="http://www.plentyofcode.com/2007/08/most-active-open-source-projects-in.html" class="external-link"><font color="#0048c0"><em>has posted</em></font></a><em> the top 25 most active open-source projects on </em><a href="http://www.codeplex.com/"><font color="#20328e"><em>Microsoft&#039;s Codeplex</em></font></a><em> site. Looking at the list, it looks like Microsoft developers spend their time doing much the same as the rest of the Java/other world: play games and make the Web world pretty with AJAX. You can see the top project interests below in the Codeplex tag cloud.</em></p>
<p><em>Codeplex is interesting to me for several reasons, but primarily because it demonstrates something that I&#039;ve argued for many years now: </em><a href="http://asay.blogspot.com/2005/06/windows-as-open-source-platform.html" class="external-link"><font color="#0048c0"><em>open source on the Windows platform is a huge opportunity for Microsoft</em></font></a><em>. It is something for the company to embrace, not despise.</em></p>
<p><em>And it does several things well (better than Sourceforge, in my opinion) [...]</em></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.muscetta.com/2007/08/24/open-source-projects-and-microsoft/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Facebook Mobile is not working for Italy</title>
		<link>http://www.muscetta.com/2007/08/21/facebook-mobile-is-not-working-for-italy/</link>
		<comments>http://www.muscetta.com/2007/08/21/facebook-mobile-is-not-working-for-italy/#comments</comments>
		<pubDate>Tue, 21 Aug 2007 09:04:01 +0000</pubDate>
		<dc:creator>Daniele Muscetta</dc:creator>
		
		<category><![CDATA[Blogs]]></category>

		<category><![CDATA[C#]]></category>

		<category><![CDATA[Choice]]></category>

		<category><![CDATA[Coding]]></category>

		<category><![CDATA[Cross Platform]]></category>

		<category><![CDATA[Facebook]]></category>

		<category><![CDATA[ITVC]]></category>

		<category><![CDATA[Integration]]></category>

		<category><![CDATA[Interop]]></category>

		<category><![CDATA[Personal]]></category>

		<category><![CDATA[Rant]]></category>

		<category><![CDATA[Social Networking]]></category>

		<category><![CDATA[dotNet]]></category>

		<guid isPermaLink="false">http://www.muscetta.com/2007/08/21/facebook-mobile-is-not-working-for-italy/</guid>
		<description><![CDATA[    .flickr-photo { border: solid 2px #000000; }  .flickr-yourcomment { }  .flickr-frame { text-align: left; padding: 3px; }  .flickr-caption { font-size: 0.8em; margin-top: 0px; }

Facebook mobile is not working from mobile operators not in the US, I suppose.
I can&#039;t even log on to m.facebook.com with my WIndows Mobile SmartPhone.
I [...]]]></description>
			<content:encoded><![CDATA[<style type="text/css">    .flickr-photo { border: solid 2px #000000; }  .flickr-yourcomment { }  .flickr-frame { text-align: left; padding: 3px; }  .flickr-caption { font-size: 0.8em; margin-top: 0px; }</style>
<p class="flickr-frame"><a href="http://www.flickr.com/photos/dani3l3/1192155232/" title="photo sharing"><img src="http://farm2.static.flickr.com/1341/1192155232_2852c73935.jpg" alt="Facebook Mobile is not working for Italy" class="flickr-photo" /></a></p>
<p>Facebook mobile is not working from mobile operators not in the US, I suppose.<br />
I can&#039;t even log on to m.facebook.com with my WIndows Mobile SmartPhone.<br />
I can&#039;t send status updates through SMS.</p>
<p>I can&#039;t even send them by mail, or I get the following back:</p>
<p><a href="http://www.flickr.com/photos/dani3l3/1191285337/"><img width="416" src="http://farm2.static.flickr.com/1047/1191285337_ba494d53ef_o.jpg" alt="Facebook Mobile is not working for Italy" height="447" /></a></p>
<p>So, now, I am updating <a href="http://twitter.com/dani3l3">Twitter</a>.<br />
Twitter can be updated with an SMS even from Europe. Or it can be updated with a bot running GTalk. Very easy, can do it from everywhere.</p>
<p>I then wrote a small command line application (<a href="http://www.muscetta.com/2007/08/03/facebook-statetray/">based on the same &#034;hack&#034; as the one described before</a>) that runs every five minutes from the scheduler on my server and keeps the two in sync.</p>
<p>I wrote it in C# as a Console application because that&#039;s usually what I do when I want it to run it both on my windows machines and/or on my Linux server (with <a href="http://www.mono-project.com/">MONO</a>). I already used this approach in the past and I found it to be successful. As long as you keep the application simple enough and check out <a href="http://www.go-mono.com/docs">the documentation for the implemented classes on mono</a>, it runs without modification both on windows on the &#034;real&#034; .Net framework and on Mono on Linux. i just copy the executable and I am ready to go.<br />
Not this time, though.<br />
I am hitting what seems to be a bug in mono. I might be able to find a workaround, but I haven&#039;t had the time to dig in the issue yet.<br />
I posted some <a href="http://www.gotmono.com/cgi-bin/yabb/YaBB.pl?board=news;action=display;num=1180633385">info about this on this forum</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.muscetta.com/2007/08/21/facebook-mobile-is-not-working-for-italy/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Windows Live ID Web Authentication 1.0 SDK !</title>
		<link>http://www.muscetta.com/2007/08/16/windows-live-id-web-authentication-10-sdk/</link>
		<comments>http://www.muscetta.com/2007/08/16/windows-live-id-web-authentication-10-sdk/#comments</comments>
		<pubDate>Thu, 16 Aug 2007 14:28:50 +0000</pubDate>
		<dc:creator>Daniele Muscetta</dc:creator>
		
		<category><![CDATA[Blogs]]></category>

		<category><![CDATA[C#]]></category>

		<category><![CDATA[Choice]]></category>

		<category><![CDATA[Coding]]></category>

		<category><![CDATA[Cross Platform]]></category>

		<category><![CDATA[Cross Post]]></category>

		<category><![CDATA[Hotmail]]></category>

		<category><![CDATA[ITVC]]></category>

		<category><![CDATA[Integration]]></category>

		<category><![CDATA[Interop]]></category>

		<category><![CDATA[Java]]></category>

		<category><![CDATA[Links]]></category>

		<category><![CDATA[LiveID]]></category>

		<category><![CDATA[Microsoft]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[Passport]]></category>

		<category><![CDATA[Python]]></category>

		<category><![CDATA[Ruby]]></category>

		<category><![CDATA[Tools]]></category>

		<category><![CDATA[WebSite]]></category>

		<category><![CDATA[dotNet]]></category>

		<guid isPermaLink="false">http://www.muscetta.com/2007/08/16/windows-live-id-web-authentication-10-sdk/</guid>
		<description><![CDATA[Check this out:
Windows Live ID Team has published on the web the SDK that lets you liveID (or &#034;passport&#034;)-enable your applications!
http://msdn2.microsoft.com/en-us/library/bb676633.aspx
There are even code samples in six different languages: C#, Java, PHP, Python, Ruby e Perl! You can download them from http://go.microsoft.com/fwlink/?LinkId=91761
Wow! Having time, it would be cool to write a Wordpress plugin using Passport [...]]]></description>
			<content:encoded><![CDATA[<p>Check this out:</p>
<p>Windows Live ID Team has published on the web the SDK that lets you liveID (or &#034;passport&#034;)-enable your applications!</p>
<p><a href="http://msdn2.microsoft.com/en-us/library/bb676633.aspx">http://msdn2.microsoft.com/en-us/library/bb676633.aspx</a></p>
<p>There are even code samples in six different languages: C#, Java, PHP, Python, Ruby e Perl! You can download them from <a href="http://go.microsoft.com/fwlink/?LinkId=91761">http://go.microsoft.com/fwlink/?LinkId=91761</a></p>
<p>Wow! Having time, it would be cool to write a Wordpress plugin using Passport authentication to authenticate/identify users that want to comment&#8230; mumble mumble&#8230;.. <img src='http://www.muscetta.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Interoperability. Wow.</p>
<p>More info at the Live ID starting Page: <a href="http://dev.live.com/blogs/liveid/archive/2006/05/18/8.aspx">http://dev.live.com/blogs/liveid/archive/2006/05/18/8.aspx</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.muscetta.com/2007/08/16/windows-live-id-web-authentication-10-sdk/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Why do developers tend to forget about people behind proxy servers ?</title>
		<link>http://www.muscetta.com/2007/08/13/why-do-developers-tend-to-forget-about-people-behind-proxy-servers/</link>
		<comments>http://www.muscetta.com/2007/08/13/why-do-developers-tend-to-forget-about-people-behind-proxy-servers/#comments</comments>
		<pubDate>Mon, 13 Aug 2007 11:38:49 +0000</pubDate>
		<dc:creator>Daniele Muscetta</dc:creator>
		
		<category><![CDATA[Blogs]]></category>

		<category><![CDATA[C#]]></category>

		<category><![CDATA[Choice]]></category>

		<category><![CDATA[Coding]]></category>

		<category><![CDATA[Cross Platform]]></category>

		<category><![CDATA[Cross Post]]></category>

		<category><![CDATA[Facebook]]></category>

		<category><![CDATA[ITVC]]></category>

		<category><![CDATA[Integration]]></category>

		<category><![CDATA[Interop]]></category>

		<category><![CDATA[Networking]]></category>

		<category><![CDATA[Proxy]]></category>

		<category><![CDATA[Rant]]></category>

		<category><![CDATA[Security]]></category>

		<category><![CDATA[dotNet]]></category>

		<guid isPermaLink="false">http://www.muscetta.com/2007/08/13/why-do-developers-tend-to-forget-about-people-behind-proxy-servers/</guid>
		<description><![CDATA[I know this is a very common issue.
I keep finding way too many software that claim to interact with Web 2.0 sites or services, and connect here or there&#8230;. still forgetting one basic simple rule, that is: letting people use a proxy.
Most programmers for some reasons just assume that since they are directly connected to [...]]]></description>
			<content:encoded><![CDATA[<p>I know this is a very common issue.</p>
<p>I keep finding way too many software that claim to interact with Web 2.0 sites or services, and connect here or there&#8230;. still forgetting one basic simple rule, that is: letting people use a proxy.</p>
<p>Most programmers for some reasons just assume that since they are directly connected to the internet, everybody is. Which isn&#039;t always the case. Most companies have proxies and will only let you out to port 80 - by using their proxy.</p>
<p>&#8230;which in turn is one of the reasons why most applications now &#034;talk&#034; and tunnel whatever application protocol on top of HTTP&#8230; still a lot of softwares simply &#034;forget&#034; or don&#039;t care proving a simple checkbox &#034;use proxy&#034;, which will translate in two or three extra lines of code&#8230; three lines which I personally usually include in my projects, when I am not even a *developer*!! (but that might explain why I *think* of it&#8230; I come from a security and networking background :-))</p>
<p>I thought of writing this post after having read <a href="http://geekswithblogs.net/technetbytes/archive/2007/08/11/114573.aspx">this post by Saqib Ullah</a>.</p>
<p>Anyway. I keep finding this thing over and over again. Both in simple, hobbyist, sample and/or in complex, big, expensive enterprise software. Last time I got pissed off about a piece of code missing this feature was some days ago when testing <a href="http://www.codeplex.com/FacebookToolkit">http://www.codeplex.com/FacebookToolkit</a>. The previous time was during Windows Vista beta-testing (I had found a similar issue in beta2, and had it fixed for RC1.)</p>
<p>Actually, I am being polite saying it is &#034;missing a feature&#034;. To be honest I think missing this &#034;feature&#034; would have to be considered a bug: every piece of software using HTTP *should* include the possibility to pass thorugh proxy (also, don&#039;t forget about  AUTHENTICATED proxies), or the purpose of using HTTP in the first place is defeated!!</p>
<p>Developers!!! You have to remember people ARE behind proxies !!!!!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.muscetta.com/2007/08/13/why-do-developers-tend-to-forget-about-people-behind-proxy-servers/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Facebook StateTray</title>
		<link>http://www.muscetta.com/2007/08/03/facebook-statetray/</link>
		<comments>http://www.muscetta.com/2007/08/03/facebook-statetray/#comments</comments>
		<pubDate>Fri, 03 Aug 2007 21:44:23 +0000</pubDate>
		<dc:creator>Daniele Muscetta</dc:creator>
		
		<category><![CDATA[Blogs]]></category>

		<category><![CDATA[C#]]></category>

		<category><![CDATA[Choice]]></category>

		<category><![CDATA[Coding]]></category>

		<category><![CDATA[Cross Post]]></category>

		<category><![CDATA[Facebook]]></category>

		<category><![CDATA[ITVC]]></category>

		<category><![CDATA[Integration]]></category>

		<category><![CDATA[Interop]]></category>

		<category><![CDATA[Personal]]></category>

		<category><![CDATA[Social Networking]]></category>

		<category><![CDATA[Tools]]></category>

		<category><![CDATA[dotNet]]></category>

		<guid isPermaLink="false">http://www.muscetta.com/2007/08/03/facebook-statetray/</guid>
		<description><![CDATA[       .flickr-photo { border: solid 2px #000000; } .flickr-yourcomment { } .flickr-frame { text-align: left; padding: 3px; } .flickr-caption { font-size: 0.8em; margin-top: 0px; } 

Facebook StateTray, uploaded by Daniele Muscetta on Flickr.
This is a Screenshot of the small application I first described in my previous blog post.
It is [...]]]></description>
			<content:encoded><![CDATA[<style type="text/css">       .flickr-photo { border: solid 2px #000000; } .flickr-yourcomment { } .flickr-frame { text-align: left; padding: 3px; } .flickr-caption { font-size: 0.8em; margin-top: 0px; } </style>
<p class="flickr-frame"><a href="http://www.flickr.com/photos/dani3l3/986527032/" title="photo sharing"><img src="http://farm2.static.flickr.com/1050/986527032_6dd64a6f5a.jpg" alt="Facebook StateTray" class="flickr-photo" /></a></p>
<p><span class="flickr-caption"><a href="http://www.flickr.com/photos/dani3l3/986527032/">Facebook StateTray</a>, uploaded by <a href="http://www.flickr.com/people/dani3l3/">Daniele Muscetta</a> on Flickr.</span></p>
<p class="flickr-yourcomment">This is a Screenshot of the small application I first described in <a href="http://www.muscetta.com/2007/08/02/facebook-api-and-winform-experiment/">my previous blog post</a>.</p>
<p>It is a simple Windows Form that lets you change your status on Facebook without having to browse to the site. It does not rely on <a href="http://developers.facebook.com/documentation.php">Facebook&#039;s API</a> (as they won&#039;t let you change your status, at least to date) but is really uses a hack on the <a href="http://m.facebook.com">Facebook mobile pages</a>. It is based on <a href="http://www.nexdot.net/blog/2007/04/20/updating-facebook-status-using-php/">PHP code posted by Christian Flickinger</a>, ported to C# (.Net 2.0) by me.</p>
<p>When you pull down the form you get to see the settings:</p>
<p><a href="http://www.flickr.com/photos/dani3l3/999229925/"><img width="459" src="http://farm2.static.flickr.com/1396/999229925_8020fb6938.jpg" alt="Facebook State Tray" height="500" /></a></p>
<p>Those can be stored in an XML file, that gets loaded automatically every time the program starts.<br />
Beware that password ARE displayed and stored in clear text.</p>
<p>The idea so far is that you run it on your PC and you just keep it resized so it does not show the &#034;dangerous&#034; bits.<br />
You can keep it minimized on the tray in windows, pop it up when you need to update your status, write your new status and click &#034;change&#034; - it will freeze for a couple of seconds while updates your status, since it uses synchronous calls - then you can minimize it again.</p>
<p><strong><em>UPDATED -  September 1st 2007: I have been asked by Facebook to pull down the source code from the Net, as it violates their <a href="http://www.facebook.com/terms.php">terms of service</a> (I had not realized that). Apologies to all.</em></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.muscetta.com/2007/08/03/facebook-statetray/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Facebook API and WinForm experiment</title>
		<link>http://www.muscetta.com/2007/08/02/facebook-api-and-winform-experiment/</link>
		<comments>http://www.muscetta.com/2007/08/02/facebook-api-and-winform-experiment/#comments</comments>
		<pubDate>Thu, 02 Aug 2007 14:24:26 +0000</pubDate>
		<dc:creator>Daniele Muscetta</dc:creator>
		
		<category><![CDATA[Blogs]]></category>

		<category><![CDATA[C#]]></category>

		<category><![CDATA[Choice]]></category>

		<category><![CDATA[Coding]]></category>

		<category><![CDATA[Cross Platform]]></category>

		<category><![CDATA[Cross Post]]></category>

		<category><![CDATA[Facebook]]></category>

		<category><![CDATA[ITVC]]></category>

		<category><![CDATA[Integration]]></category>

		<category><![CDATA[Interop]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[Social Networking]]></category>

		<category><![CDATA[dotNet]]></category>

		<guid isPermaLink="false">http://www.muscetta.com/2007/08/02/facebook-api-and-winform-experiment/</guid>
		<description><![CDATA[While testing with the Facebook API, I started creating a WinForm using the Facebook Toolkit.
What I had in mind was a simple program that would run on my PC, maybe minimized in the system tray, that would let me update my status in a click, thorugh the day, without having to log on to the [...]]]></description>
			<content:encoded><![CDATA[<p>While testing with the <a href="http://developers.facebook.com/documentation.php">Facebook API</a>, I started creating a WinForm using the <a href="http://www.codeplex.com/FacebookToolkit">Facebook Toolkit</a>.</p>
<p>What I had in mind was a simple program that would run on my PC, maybe minimized in the system tray, that would let me <a href="http://www.facebook.com/statusupdates/?ref=tn">update my status</a> in a click, thorugh the day, without having to log on to the website. Most of the day I am busy working, and I don&#039;t really have time to go surf and check Facebook&#8230; but I like the possibility for people to hear how I am doing. Changing the status would keep them up to date, and would keep my profile current.</p>
<p>As I figured out afterwards, their API does not yet let you change your status yet.</p>
<p><a href="http://www.25hoursaday.com/weblog/CommentView.aspx?guid=51b24ec1-ec28-4526-b7fe-9d1e6c7fc802">There are other people asking for this possibility</a>&#8230; but then I went further searching on the Internet, and I found this blog: <a href="http://www.nexdot.net/blog/2007/04/20/updating-facebook-status-using-php/">http://www.nexdot.net/blog/2007/04/20/updating-facebook-status-using-php/</a>. </p>
<p>I just hacked together a small WinForm written in C# that reimplements this idea.</p>
<p><a href="http://www.flickr.com/photos/dani3l3/986527032/" title="Photo Sharing"><img width="500" src="http://farm2.static.flickr.com/1050/986527032_6dd64a6f5a.jpg" alt="Facebook StateTray" height="66" /></a></p>
<p>I indeed would like to thank Christian for the idea, and my friend and colleague Pierluigi for his precious help with the regular expressions <img src='http://www.muscetta.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>At the moment it has terrible things such as hardcoded passwords in it, but as soon as I will have time to polish the code a bit, I will post it.</p>
<p>One more thing I would like to do with it is turning it from a standalone application into a <a href="http://msdn2.microsoft.com/en-us/library/aa905655.aspx">Live Messenger Add-In</a>, so that it synchronizes my messenger status with the one of Facebook. When I will have time for that.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.muscetta.com/2007/08/02/facebook-api-and-winform-experiment/feed/</wfw:commentRss>
		</item>
		<item>
		<title>This blog in C#</title>
		<link>http://www.muscetta.com/2007/05/30/this-blog-in-c/</link>
		<comments>http://www.muscetta.com/2007/05/30/this-blog-in-c/#comments</comments>
		<pubDate>Wed, 30 May 2007 10:18:21 +0000</pubDate>
		<dc:creator>Daniele Muscetta</dc:creator>
		
		<category><![CDATA[Blogs]]></category>

		<category><![CDATA[C#]]></category>

		<category><![CDATA[Coding]]></category>

		<category><![CDATA[Cross Platform]]></category>

		<category><![CDATA[ITVC]]></category>

		<category><![CDATA[Integration]]></category>

		<category><![CDATA[Interop]]></category>

		<category><![CDATA[Linux]]></category>

		<category><![CDATA[Microsoft]]></category>

		<category><![CDATA[WebSite]]></category>

		<category><![CDATA[dotNet]]></category>

		<guid isPermaLink="false">http://www.muscetta.com/2007/05/30/this-blog-in-c/</guid>
		<description><![CDATA[I have been busy trying to write a new frontend for this blog that uses .Net. I already blogged about it here. In the last couple of weeks I have been adding stuff - permalinks using mod_rewrite, I finally show the comments properly, I have added categories and category archives (as in http://www.muscetta.net/dotnet/tag/coding). There is [...]]]></description>
			<content:encoded><![CDATA[<p>I have been busy trying to write <a href="http://www.muscetta.net/dotnet/Blog.aspx">a new frontend for this blog that uses .Net</a>. I already blogged about it <a href="http://www.muscetta.com/2007/05/01/wordpressnet/">here</a>. In the last couple of weeks I have been adding stuff - permalinks using mod_rewrite, I finally show the comments properly, I have added categories and category archives (as in <a href="http://www.muscetta.net/dotnet/tag/coding">http://www.muscetta.net/dotnet/tag/coding</a>). There is even an <a href="http://www.muscetta.net/dotnet/Feed.aspx">RSS Feed</a>.</p>
<p>The layout is still crap, but I sort of like it being so light weight, so that is not on my priority list so far. Moreover, I am a crap designer.</p>
<p>Before that, tough, I still have to add important functionalities like the possibility to POST comments (which needs a new CAPTCHA, etc, so it will take me a while), and I am having issues with text encoding (it does not show the accented characters properly, yet).</p>
<p>But I am having fun doing it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.muscetta.com/2007/05/30/this-blog-in-c/feed/</wfw:commentRss>
		</item>
		<item>
		<title>WordPress.Net</title>
		<link>http://www.muscetta.com/2007/05/01/wordpressnet/</link>
		<comments>http://www.muscetta.com/2007/05/01/wordpressnet/#comments</comments>
		<pubDate>Tue, 01 May 2007 08:14:41 +0000</pubDate>
		<dc:creator>Daniele Muscetta</dc:creator>
		
		<category><![CDATA[Blogs]]></category>

		<category><![CDATA[C#]]></category>

		<category><![CDATA[Coding]]></category>

		<category><![CDATA[Cross Platform]]></category>

		<category><![CDATA[ITVC]]></category>

		<category><![CDATA[Integration]]></category>

		<category><![CDATA[Interop]]></category>

		<category><![CDATA[Linux]]></category>

		<category><![CDATA[Microsoft]]></category>

		<category><![CDATA[Personal]]></category>

		<category><![CDATA[WebSite]]></category>

		<category><![CDATA[dotNet]]></category>

		<guid isPermaLink="false">http://www.muscetta.com/2007/05/01/wordpressnet/</guid>
		<description><![CDATA[
.flickr-photo { border: solid 2px #000000; }
.flickr-yourcomment { }
.flickr-frame { text-align: left; padding: 3px; }
.flickr-caption { font-size: 0.8em; margin-top: 0px; }


WordPress.Net, uploaded by Daniele Muscetta on Flickr.
It has been quite a while that I wanted to experiment a bit more with ASP.Net but I don&#039;t have a windows machine on the internet. Not one that [...]]]></description>
			<content:encoded><![CDATA[<style type="text/css">
.flickr-photo { border: solid 2px #000000; }
.flickr-yourcomment { }
.flickr-frame { text-align: left; padding: 3px; }
.flickr-caption { font-size: 0.8em; margin-top: 0px; }
</style>
<div class="flickr-frame"><a title="photo sharing" href="http://www.flickr.com/photos/dani3l3/479584212/"><img alt="WordPress.Net" class="flickr-photo" src="http://farm1.static.flickr.com/222/479584212_c5acb5300c.jpg" /></a></p>
<p><span class="flickr-caption"><a href="http://www.flickr.com/photos/dani3l3/479584212/">WordPress.Net</a>, uploaded by <a href="http://www.flickr.com/people/dani3l3/">Daniele Muscetta</a> on Flickr.</span></div>
<p class="flickr-yourcomment">It has been quite a while that I wanted to experiment a bit more with <a href="http://www.asp.net">ASP.Net</a> but I don&#039;t have a windows machine on the internet. Not one that performs enough anyway. My server runs linux. I have had <a href="http://www.mono-project.com">mono</a> running on it for a while, but its support was not complete with the <a href="http://www.debian.org/releases/sarge">old release of Debian</a>, so part of my mono and mod_mono installation were a custom compile and they were breaking from time to time, each time some library got updated. So I did run a &#034;Hello World&#034; page with it, but nothing more, because it was a bit of a mess to mantain and, moreover, because I had not yet figured out how to have it connect with mysql instead than with MS SQL Server.<br />
Also, I did not have any real project or idea to implement in my mind.</p>
<p>Now that I have upgraded to <a href="http://www.debian.org/releases/etch">Debian Etch</a>, mono support seems to be much more out-of-the-box and stable on this release. I also got an idea of what to do with it, so I finally gave it a try.</p>
<p>As a starter, I am trying to re-publish my blog, historically running at <a href="http://www.muscetta.com">www.muscetta.com</a>, on my other <a href="http://www.muscetta.net">muscetta.NET</a> domain (it makes sense to use a .NET domain, right?). But this is not a new site, it is a republish of the same content, but done using C# - just pointing at the same wordpress&#039; mysql database. Connection to MySQL is done with <a href="http://dev.mysql.com/doc/refman/5.1/en/connector-net-ref-mysqlclient.html">MySql.Data (the ADO.Net driver for MySQL)</a>.</p>
<p>I still need to implement a lot of things/features, such as comment posting (you can only read them now), some layout/styling/framing to make it look nicer, some sidebar/blogroll, feeds, and a many other things. I am not aiming at a complete rewrite (for example I won&#039;t do an administrative interface or a webservice so far), but just a republish/frontend to the visitors.<br />
I don&#039;t know when I will have time to continue writing it, but all in all I am glad it works so far, and I had fun doing it.</p>
<p>Writing ASP.Net for mono on linux in the absence of Frontpage server extentions and WebDAV and the remote debugger is proving slightly more challenging than just dragging and dropping controls in Visual Studio and let it do a lot of work with you. You have to write the code, upload it, and see if it works. No debugging, no intellisense. Just the hard old way of trial and error, which makes development slower, but you learn a hell of a lot more that way. Of course you need  to keep the <a href="http://msdn2.microsoft.com/en-us/Library">MSDN library</a> handly <img src='http://www.muscetta.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.muscetta.com/2007/05/01/wordpressnet/feed/</wfw:commentRss>
		</item>
		<item>
		<title>MOM 2005 Alerts to RSS feed</title>
		<link>http://www.muscetta.com/2007/03/22/mom-2005-alerts-to-rss-feed/</link>
		<comments>http://www.muscetta.com/2007/03/22/mom-2005-alerts-to-rss-feed/#comments</comments>
		<pubDate>Thu, 22 Mar 2007 18:07:00 +0000</pubDate>
		<dc:creator>Daniele Muscetta</dc:creator>
		
		<category><![CDATA[C#]]></category>

		<category><![CDATA[Coding]]></category>

		<category><![CDATA[Cross Platform]]></category>

		<category><![CDATA[Cross Post]]></category>

		<category><![CDATA[ITVC]]></category>

		<category><![CDATA[Integration]]></category>

		<category><![CDATA[Interop]]></category>

		<category><![CDATA[MOM]]></category>

		<category><![CDATA[MOM2005]]></category>

		<category><![CDATA[Microsoft]]></category>

		<category><![CDATA[Networking]]></category>

		<category><![CDATA[RSS]]></category>

		<category><![CDATA[Tools]]></category>

		<category><![CDATA[WebSite]]></category>

		<category><![CDATA[dotNet]]></category>

		<guid isPermaLink="false">http://www.muscetta.com/2007/03/22/mom-2005-alerts-to-rss-feed/</guid>
		<description><![CDATA[I am an RSS Addict, you know that.So I wanted an RSS Feed to show MOM Alerts. I have been thinking of it for a while, last year (or was it the year before?).
It seemed like a logical thing to me: alerts are created (and can be resolved - that is, expire), generally get sorted [...]]]></description>
			<content:encoded><![CDATA[<p>I am an RSS Addict, you know that.So I wanted an RSS Feed to show MOM Alerts. I have been thinking of it for a while, last year (or was it the year before?).<br />
It seemed like a logical thing to me: alerts are created (and can be resolved - that is, expire), generally get sorted by the date and the time when they have been created, the look pretty much like a list. Also, many people like to receive mail notification when new alerts are generated.<br />
So, if the alert can be sent to you (push), you could also get to it(pull).<br />
Pretty much the same deal with receiving a mail or reading a newsgroup, or syndicating a feed.</p>
<p>At the time I looked around but it seemed like no one had something like this already done.<br />
So I wrote a very simple RSS feed generator for MOM Alerts.<br />
I did it quite an amount of time ago, just as an exercise.<br />
Then, after a while, I figured out that the <a href="http://www.microsoft.com/technet/mom/2005/downloads/tools/reskit.mspx">MOM 2005 Resource Kit</a> had been updated to include such a utility!</p>
<p>Wow, I thought, they finally added what I have been thinking for a while. Might it be because I mentioned it on an private Mailing list ? Maybe. Maybe not. Who cares. Of course, if it is included in the resource kit it must be way cooler than the one I made, I though.<br />
I really thought something along these lines, but never actually had the time to try it out.<br />
I think I just sort of assumed it must have been cooler than the one I made, since it was part of an official package, while I am not a developer. So I basically forgot about the one I wrote, dismissing it as being crap without looking too much into it anymore.<br />
Until today.<br />
Today I actually tried to use the alert to RSS tool included in the resource kit, because a customer asked if there was any other way to get notified, other than receiving notification or using the console (or the console notifier).<br />
So I looked at the resource kit&#039;s Alert-to-RSS Utility.<br />
My experience with it:<br />
1) it is provided in source code form - which is ok if it was ALSO provided as source. Instead it is ONLY provided as source, and most admins don&#039;t have Visual Studio installed or don&#039;t know how to compile from the command line;<br />
2) Even when they wanted to compile it, it includes a bug which makes it impossible to compile - solution <a href="http://groups.google.it/group/microsoft.public.mom/browse_thread/thread/79257d4472479fe0/2c21222bb33cb163?lnk=st&#038;q=MOM+Alert+RSS&#038;rnum=1#2c21222bb33cb163">in this newsgroup discussion</a>;<br />
3) if you don&#039;t want to mess about with code since you are using a resource Kit tool (as opposed to something present in the SDK) you can even get it already compiled by someone from somewhere on the net, but that choice is about trust.</p>
<p>Anyway, one way or another, after it is finally set up&#8230;. surprise surprise!!!<br />
It does NOT show a LIST of alerts (as I was expecting).<br />
It shows a summary of how many alerts you have. basically it is an RSS feed made of a single item, and this single item tells you how many alerts you have. What is one supposed to do with such a SUMMARY? IMHO, it is useless the way it is. It is even worse than one of those feed that only contains the excerpt of the article, rather than the full article.<br />
Knowing that I have 7 critical errors and 5 warning without actually knowing ANYTHING of them is pointless.<br />
It might be useful for a manager, but not for a sysadmin, at least.</p>
<p>So I thought my version, even if coded crap, might be useful to someone because it gives you a list of alerts (those that are not resolved) and each one of them tells you the description of the alert, the machine tat generated it, and includes links to the actual alert in the web console, so you can click, go there, and start troubleshooting from within your aggregator!<br />
My code does this. Anyway, since I am a crap coder, since I wrote it in only fifteen minutes more than a year ago, and since I don&#039;t have time to fix it and make it nicer&#8230; it has several issues, and could be improved in a million ways, in particular for the following aspects:</p>
<ol>
<li>is currently depends on the SDK Database views - it could use the MOM Server API&#039;s or the webservice instead;</li>
<li>it uses SQL Security to connect to the DB - by default MOM does not allow this - it is suggested for the SQL instance hosting &#034;OnePoint&#034; to only use Windows Integrated Authentication.. so to make my code work you have to switch back to Mixed mode, and create a login in SQL that has permission to read the database. This is due to the fact that I&#039;ve coded this in five minutes and I don&#039;t know how to use delegation - if I was able to use delegation, I would&#8230; so that the end user accessing IIS would be the one connecting to the DB. If anybody wants to teach me how to do this, I will be most grateful.</li>
<li>it could accept parameters as URL variables, so to filter out only events for a specific machine, or a specific resolution state, etc etc</li>
<li>At present it uses <a href="http://rss-net.sourceforge.net/">RSS.Net</a> to generate the feed. It could made independent from it, but I don&#039;t really see why, and I quite like that library.</li>
</ol>
<p>The code is just an ASP.Net page and its codebehind, no need to compile, but of course you need to change a couple of lines to match your webconsole address.<br />
Also, you need to get <a href="http://rss-net.sourceforge.net/">RSS.NET</a> and copy its library (RSS.Net.dll) in the /bin subfolder of the website directory where you place the RSSFeed generator page. I see that I wrote this with version 0.86, but any version should do, really.</p>
<p>Here is what it will look like:</p>
<p><a title="Photo Sharing" href="http://www.flickr.com/photo_zoom.gne?id=430556283&#038;size=o"><img width="500" height="375" alt="AlertToRSS" src="http://farm1.static.flickr.com/173/430556283_6eb615a080.jpg" /></a></p>
<p>And here&#039;s the code of the page (two files):</p>
<p><strong>Default.aspx</strong></p>
<p>&lt;%@ Page Language=&#034;C#&#034; AutoEventWireup=&#034;true&#034; CodeFile=&#034;Default.aspx.cs&#034; Inherits=&#034;_Default&#034; %&gt;</p>
<p><strong>Default.aspx.cs</strong></p>
<p>using System;<br />
using System.Data;<br />
using System.Data.SqlClient;<br />
using System.Configuration;<br />
using System.Web;<br />
using Rss;</p>
<p>public partial class _Default : System.Web.UI.Page<br />
{<br />
protected void Page_Load(object sender, EventArgs e)<br />
{<br />
string webconsoleaddress = &#034;<a href="http://192.168.0.222:1272/AlertDetail.aspx?v=a&#038;sid=">http://192.168.0.222:1272/AlertDetail.aspx?v=a&#038;sid=&#034;</a> // must change to match your address</p>
<p>// Inizializza il Feed<br />
RssChannel rssChannel = new RssChannel();<br />
rssChannel.Title = &#034;MOM Alerts&#034;<br />
rssChannel.PubDate = DateTime.Now;<br />
rssChannel.Link = new Uri(&#034;<a href="http://192.168.0.222:1272/rss/">http://192.168.0.222:1272/rss/&#034;);</a> // must change to match your address<br />
rssChannel.LastBuildDate = DateTime.Now;<br />
rssChannel.Description = &#034;Contains the latest Alerts&#034;</p>
<p>// query - you might want to change the severity<br />
string mySelectQuery = &#034;SELECT ComputerName, Name, Severity, TimeRaised, RepeatCount, GUID FROM dbo.SDKAlertView WHERE Severity &gt; 10 AND ResolutionState &lt; 255&#034;</p>
<p>// SQL Connection – must change SQL server, user name and password<br />
SqlConnection conn = new SqlConnection(&#034;Data Source=192.168.0.222;Initial Catalog=OnePoint;User ID=rss;Password=rss&#034;);<br />
SqlDataReader rdr = null;</p>
<p>try<br />
{<br />
conn.Open();<br />
SqlCommand cmd = new SqlCommand(mySelectQuery, conn);<br />
rdr = cmd.ExecuteReader();<br />
while (rdr.Read())<br />
{<br />
RssItem rssItem = new RssItem();<br />
string titleField = rdr[1].ToString();<br />
rssItem.Title = titleField;<br />
string url = webconsoleaddress + rdr[5];<br />
rssItem.Link = new Uri(url.ToString());<br />
string description = &#034;&lt;![CDATA[ &lt;p&gt;&lt;a xhref=\"" + rssItem.Link + "\"&gt;" + rdr[1] + &#034; &lt;/a&gt;&lt;/p&gt;&lt;br&gt;&#034; + &#034;&lt;br&gt;Computer: &#034; + rdr[0] + &#034;&lt;br&gt;Repeat Count: &#034; + rdr[4] + &#034;&lt;BR&gt;Original ALert Time: &#034; + rdr[3];<br />
rssItem.Description = description;<br />
rssChannel.Items.Add(rssItem);<br />
}</p>
<p>// Finalizza il feed<br />
RssFeed rssFeed = new RssFeed();<br />
rssFeed.Channels.Add(rssChannel);<br />
Response.ContentType = &#034;text/xml&#034;<br />
Response.ExpiresAbsolute = DateTime.MinValue;<br />
rssFeed.Write(Response.OutputStream);<br />
}<br />
finally<br />
{<br />
if (rdr != null)<br />
{<br />
rdr.Close();<br />
}</p>
<p>if (conn != null)<br />
{<br />
conn.Close();<br />
}<br />
}<br />
}<br />
}</p>
]]></content:encoded>
			<wfw:commentRss>http://www.muscetta.com/2007/03/22/mom-2005-alerts-to-rss-feed/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Out-Blog!</title>
		<link>http://www.muscetta.com/2006/11/24/out-blog/</link>
		<comments>http://www.muscetta.com/2006/11/24/out-blog/#comments</comments>
		<pubDate>Fri, 24 Nov 2006 11:21:19 +0000</pubDate>
		<dc:creator>Daniele Muscetta</dc:creator>
		
		<category><![CDATA[Blogs]]></category>

		<category><![CDATA[C#]]></category>

		<category><![CDATA[Choice]]></category>

		<category><![CDATA[Coding]]></category>

		<category><![CDATA[Cross Post]]></category>

		<category><![CDATA[ITVC]]></category>

		<category><![CDATA[Integration]]></category>

		<category><![CDATA[Interop]]></category>

		<category><![CDATA[Microsoft]]></category>

		<category><![CDATA[Networking]]></category>

		<category><![CDATA[Personal]]></category>

		<category><![CDATA[PowerShell]]></category>

		<category><![CDATA[Rant]]></category>

		<category><![CDATA[Tools]]></category>

		<category><![CDATA[WebSite]]></category>

		<category><![CDATA[dotNet]]></category>

		<guid isPermaLink="false">http://www.muscetta.com/2006/11/24/out-blog/</guid>
		<description><![CDATA[[Edited again 25th November -&#160;Jachym gave me some suggestions and insights on the use of parameters, and I slightly changed/fixed the original code I had posted yesterday. There&#160;are still some more things that could be improved, of course, but I'll leave them to the future, next time I'll have time fot it (who knows when [...]]]></description>
			<content:encoded><![CDATA[<p><span style="color: black">[Edited again 25th November -&nbsp;<a href="http://blog.vyvojar.cz/jachymko/">Jachym</a> gave me some suggestions and insights on the use of parameters, and I slightly changed/fixed the original code I had posted yesterday. There&nbsp;are still some more things that could be improved, of course, but I'll leave them to the future, next time I'll have time fot it (who knows when that will be?)]</span></p>
<p><span style="color: black">This one is a post regarding my first test writing a cmdlet for PowerShell. After a few days since having change my blog&#039;s title to <strong><em>&#034;$daniele.rant | Out-Blog&#034;</em></strong> (where Out-Blog was a fantasy cmdlet name, and the title just meant to mimick PowerShell syntax in a funny way), I stumbled across this wonderful blog post: </span><span style="color: #669966; text-decoration: underline"><a href="http://blog.boschin.it/archive/2006/09/21/4375.aspx">http://blog.boschin.it/archive/2006/09/21/4375.aspx</a></span>&nbsp;<span style="color: black">that describes how to use the assemblies of &#034;Windows Live Writer&#034;. Then I saw the light: I could actually implement an &#034;Out-Blog&#034; cmdlet. I am not sure what this could be useful for&#8230; but I thought it was funny to experiment with. I followed the HOW TO information on this other blog post to guide me through the coding: </span><span style="color: #669966; text-decoration: underline"><a href="http://www.proudlyserving.com/archives/2005/10/lets_all_write_1.html">http://www.proudlyserving.com/archives/2005/10/lets_all_write_1.html</a></span></p>
<p><span style="color: #669966; text-decoration: underline"></span><span style="font-size: 10pt">The result is the&nbsp;</span><span style="font-size: 10pt; color: black">code that follows. you see is pretty much Boschin&#039;s code wrapped into a cmdlet class. Nothing fancy. Just a&nbsp;test. I thought someone might find it interesting. It is provided &#034;AS IS&#034;, mainly for educational purpose (MINE, only&nbsp;mine&#8230;. I&#039;m the one whose education is being improved, not you :-))</span></p>
<p><span style="font-size: 10pt; font-family: trebuchet ms"></span></p>
<p><img src="http://static.flickr.com/119/304859662_fa52bac956.jpg"/>&nbsp;</p>
<p>&nbsp;</p>
</p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">using</span> System; </p>
<p><span style="color: blue">using</span> System.Collections.Generic; </p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">using</span> System.Text; </p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">using</span> System.Management.Automation; </p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">using</span> WindowsLive.Writer.BlogClient.Clients; </p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">using</span> WindowsLive.Writer.BlogClient; </p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">using</span> WindowsLive.Writer.CoreServices; </p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">using</span> WindowsLive.Writer.CoreServices.Settings; </p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">using</span> WindowsLive.Writer.Extensibility.BlogClient; </p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">using</span> Microsoft.Win32; </p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">namespace</span> LiveWriterCmdlet </p>
<p><span style="font-size: 10pt; font-family: courier new">{ </span></p>
<p><span style="font-size: 10pt; font-family: courier new">[</span><span style="color: teal">Cmdlet</span>(<span style="color: maroon">"out"</span>, <span style="color: maroon">"blog"</span>, SupportsShouldProcess=<span style="color: blue">true</span>)] </p>
<p>&nbsp;</p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">public</span> <span style="color: blue">sealed</span> <span style="color: blue">class</span> <span style="color: teal">OutBlogCmdlet</span> : <span style="color: teal">Cmdlet </span></p>
<p><span style="font-size: 10pt; font-family: courier new">{ </span></p>
<p><span style="font-size: 10pt; font-family: courier new">[</span><span style="color: teal">Parameter</span>(Position = 0, Mandatory = <span style="color: blue">true</span>, ValueFromPipeline = <span style="color: blue">false</span>, ValueFromPipelineByPropertyName = <span style="color: blue">true</span>)] </p>
<p><span style="font-size: 10pt; font-family: courier new">[</span><span style="color: teal">ValidateNotNullOrEmpty</span>] </p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">public</span> <span style="color: blue">string</span> Title </p>
<p><span style="font-size: 10pt; font-family: courier new">{ </span></p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">get</span> { <span style="color: blue">return</span> _title; } </p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">set</span> { _title = <span style="color: blue">value</span>; } </p>
<p><span style="font-size: 10pt; font-family: courier new">} </span></p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">private</span> <span style="color: blue">string</span> _title; </p>
<p>&nbsp;</p>
<p><span style="font-size: 10pt; font-family: courier new">[</span><span style="color: teal">Parameter</span>(Position=1,Mandatory=<span style="color: blue">true</span>,ValueFromPipeline=<span style="color: blue">true</span>,ValueFromPipelineByPropertyName=<span style="color: blue">true</span>)] </p>
<p><span style="font-size: 10pt; font-family: courier new">[</span><span style="color: teal">ValidateNotNullOrEmpty</span>] </p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">public</span> <span style="color: blue">string</span> Text </p>
<p><span style="font-size: 10pt; font-family: courier new">{ </span></p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">get</span> { <span style="color: blue">return</span> _text; } </p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">set</span> { _text = <span style="color: blue">value</span>; } </p>
<p><span style="font-size: 10pt; font-family: courier new">} </span></p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">private</span> <span style="color: blue">string</span> _text; </p>
<p>&nbsp;</p>
<p><span style="font-size: 10pt; font-family: courier new">[</span><span style="color: teal">Parameter</span>(Position = 2, Mandatory = <span style="color: blue">true</span>, ValueFromPipeline = <span style="color: blue">false</span>, ValueFromPipelineByPropertyName = <span style="color: blue">true</span>)] </p>
<p><span style="font-size: 10pt; font-family: courier new">[</span><span style="color: teal">ValidateNotNullOrEmpty</span>] </p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">public</span> <span style="color: blue">string</span> BlogApiEndPoint </p>
<p><span style="font-size: 10pt; font-family: courier new">{ </span></p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">get</span> { <span style="color: blue">return</span> _blogapiendpoint; } </p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">set</span> { _blogapiendpoint = <span style="color: blue">value</span>; } </p>
<p><span style="font-size: 10pt; font-family: courier new">} </span></p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">private</span> <span style="color: blue">string</span> _blogapiendpoint; </p>
<p>&nbsp;</p>
<p><span style="font-size: 10pt; font-family: courier new">[</span><span style="color: teal">Parameter</span>(Position = 3, Mandatory = <span style="color: blue">true</span>, ValueFromPipeline = <span style="color: blue">false</span>, ValueFromPipelineByPropertyName = <span style="color: blue">true</span>)] </p>
<p><span style="font-size: 10pt; font-family: courier new">[</span><span style="color: teal">ValidateNotNullOrEmpty</span>] </p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">public</span> <span style="color: blue">string</span> UserName </p>
<p><span style="font-size: 10pt; font-family: courier new">{ </span></p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">get</span> { <span style="color: blue">return</span> _username; } </p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">set</span> { _username = <span style="color: blue">value</span>; } </p>
<p><span style="font-size: 10pt; font-family: courier new">} </span></p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">private</span> <span style="color: blue">string</span> _username; </p>
<p>&nbsp;</p>
<p><span style="font-size: 10pt; font-family: courier new">[</span><span style="color: teal">Parameter</span>(Position = 4, Mandatory = <span style="color: blue">true</span>, ValueFromPipeline = <span style="color: blue">false</span>, ValueFromPipelineByPropertyName = <span style="color: blue">true</span>)] </p>
<p><span style="font-size: 10pt; font-family: courier new">[</span><span style="color: teal">ValidateNotNullOrEmpty</span>] </p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">public</span> <span style="color: blue">string</span> Password </p>
<p><span style="font-size: 10pt; font-family: courier new">{ </span></p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">get</span> { <span style="color: blue">return</span> _password; } </p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">set</span> { _password = <span style="color: blue">value</span>; } </p>
<p><span style="font-size: 10pt; font-family: courier new">} </span></p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">private</span> <span style="color: blue">string</span> _password; </p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="font-size: 10pt; font-family: courier new">[</span><span style="color: teal">Parameter</span>(Position = 6, Mandatory = <span style="color: blue">false</span>, ValueFromPipeline = <span style="color: blue">false</span>, ValueFromPipelineByPropertyName = <span style="color: blue">true</span>)] </p>
<p><span style="font-size: 10pt; font-family: courier new">[</span><span style="color: teal">ValidateNotNullOrEmpty</span>] </p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">public</span> <span style="color: blue">string</span> ProxyAddress </p>
<p><span style="font-size: 10pt; font-family: courier new">{ </span></p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">get</span> { <span style="color: blue">return</span> _proxyaddress; } </p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">set</span> { _proxyaddress = <span style="color: blue">value</span>; } </p>
<p><span style="font-size: 10pt; font-family: courier new">} </span></p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">private</span> <span style="color: blue">string</span> _proxyaddress; </p>
<p>&nbsp;</p>
<p><span style="font-size: 10pt; font-family: courier new">[</span><span style="color: teal">Parameter</span>(Position = 7, Mandatory = <span style="color: blue">false</span>, ValueFromPipeline = <span style="color: blue">false</span>, ValueFromPipelineByPropertyName = <span style="color: blue">true</span>)] </p>
<p><span style="font-size: 10pt; font-family: courier new">[</span><span style="color: teal">ValidateNotNullOrEmpty</span>] </p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">public</span> <span style="color: blue">int</span> ProxyPort </p>
<p><span style="font-size: 10pt; font-family: courier new">{ </span></p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">get</span> { <span style="color: blue">return</span> _proxyport; } </p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">set</span> { _proxyport = <span style="color: blue">value</span>; } </p>
<p><span style="font-size: 10pt; font-family: courier new">} </span></p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">private</span> <span style="color: blue">int</span> _proxyport; </p>
<p>&nbsp;</p>
<p><span style="font-size: 10pt; font-family: courier new">[</span><span style="color: teal">Parameter</span>(Position = 8, Mandatory = <span style="color: blue">false</span>, ValueFromPipeline = <span style="color: blue">false</span>, ValueFromPipelineByPropertyName = <span style="color: blue">true</span>)] </p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">public</span> <span style="color: blue">string</span> ProxyUserName </p>
<p><span style="font-size: 10pt; font-family: courier new">{ </span></p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">get</span> { <span style="color: blue">return</span> _proxyusername; } </p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">set</span> { _proxyusername = <span style="color: blue">value</span>; } </p>
<p><span style="font-size: 10pt; font-family: courier new">} </span></p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">private</span> <span style="color: blue">string</span> _proxyusername; </p>
<p>&nbsp;</p>
<p><span style="font-size: 10pt; font-family: courier new">[</span><span style="color: teal">Parameter</span>(Position = 9, Mandatory = <span style="color: blue">false</span>, ValueFromPipeline = <span style="color: blue">false</span>, ValueFromPipelineByPropertyName = <span style="color: blue">true</span>)] </p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">public</span> <span style="color: blue">string</span> ProxyPassword </p>
<p><span style="font-size: 10pt; font-family: courier new">{ </span></p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">get</span> { <span style="color: blue">return</span> _proxypassword; } </p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">set</span> { _proxypassword = <span style="color: blue">value</span>; } </p>
<p><span style="font-size: 10pt; font-family: courier new">} </span></p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">private</span> <span style="color: blue">string</span> _proxypassword; </p>
<p>&nbsp;</p>
<p><span style="font-size: 10pt; font-family: courier new">[</span><span style="color: teal">Parameter</span>(Position = 10, Mandatory = <span style="color: blue">false</span>, ValueFromPipeline = <span style="color: blue">false</span>, ValueFromPipelineByPropertyName = <span style="color: blue">true</span>)] </p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">public</span> <span style="color: teal">SwitchParameter</span> Published </p>
<p><span style="font-size: 10pt; font-family: courier new">{ </span></p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">get</span> { <span style="color: blue">return</span> _published; } </p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">set</span> { _published = <span style="color: blue">value</span>; } </p>
<p><span style="font-size: 10pt; font-family: courier new">} </span></p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">private</span> <span style="color: blue">bool</span> _published; </p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">protected</span> <span style="color: blue">override</span> <span style="color: blue">void</span> BeginProcessing() </p>
<p><span style="font-size: 10pt; font-family: courier new">{ </span></p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">base</span>.BeginProcessing(); </p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: teal">ApplicationEnvironment</span>.Initialize(); </p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">if</span> ((ProxyAddress != <span style="color: blue">null</span>) | (ProxyAddress != <span style="color: maroon">&#034;&#034;</span>)) </p>
<p><span style="font-size: 10pt; font-family: courier new">{ </span></p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: teal">WebProxySettings</span>.ProxyEnabled = <span style="color: blue">true</span>; </p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: teal">WebProxySettings</span>.Hostname = ProxyAddress; </p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: teal">WebProxySettings</span>.Port = ProxyPort; </p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: teal">WebProxySettings</span>.Username = ProxyUserName; </p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: teal">WebProxySettings</span>.Password = ProxyPassword; </p>
<p>&nbsp;</p>
<p><span style="font-size: 10pt; font-family: courier new">} </span></p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">else</span> </p>
<p><span style="font-size: 10pt; font-family: courier new">{ </span></p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: teal">WebProxySettings</span>.ProxyEnabled = <span style="color: blue">false</span>; </p>
<p><span style="font-size: 10pt; font-family: courier new">} </span></p>
<p>&nbsp;</p>
<p><span style="font-size: 10pt; font-family: courier new">} </span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">protected</span> <span style="color: blue">override</span> <span style="color: blue">void</span> ProcessRecord() </p>
<p><span style="font-size: 10pt; font-family: courier new">{ </span></p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: blue">if</span> (ShouldProcess(Text)) </p>
<p><span style="font-size: 10pt; font-family: courier new">{ </span></p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: teal">ISettingsPersister</span> persister = <span style="color: blue">new</span> <span style="color: teal">RegistrySettingsPersister</span>(<span style="color: teal">Registry</span>.CurrentUser, <span style="color: maroon">@&#034;Software\Windows Live Writer&#034;</span>); </p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: teal">IBlogCredentials</span> credentials = <span style="color: blue">new</span> <span style="color: teal">BlogCredentials</span>(<span style="color: blue">new</span> <span style="color: teal">SettingsPersisterHelper</span>(persister)); </p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: teal">IBlogCredentialsAccessor</span> credentialsAccessor = <span style="color: blue">new</span> <span style="color: teal">BlogCredentialsAccessor</span>(<span style="color: maroon">&#034;dummy-value&#034;</span>, credentials); </p>
<p>&nbsp;</p>
<p><span style="font-size: 10pt; font-family: courier new">credentials.Username = UserName; </span></p>
<p><span style="font-size: 10pt; font-family: courier new">credentials.Password = Password; </span></p>
<p>&nbsp;</p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: teal">MovableTypeClient</span> client = <span style="color: blue">new</span> <span style="color: teal">MovableTypeClient</span>(<span style="color: blue">new</span> <span style="color: teal">Uri</span>(BlogApiEndPoint), credentialsAccessor, <span style="color: teal">PostFormatOptions</span>.Unknown); </p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="font-size: 10pt; font-family: courier new"></span><span style="color: teal">BlogPost</span> MyPost = <span style="color: blue">new</span> <span style="color: teal">BlogPost</span>(); </p>
<p><span style="font-size: 10pt; font-family: courier new">MyPost.Title = Title; </span></p>
<p><span style="font-size: 10pt; font-family: courier new">MyPost.Contents = Text; </span></p>
<p><span style="font-size: 10pt; font-family: courier new">client.NewPost(</span><span style="color: maroon">&#034;dummy-value&#034;</span>, MyPost, Published); </p>
<p>&nbsp;</p>
<p><span style="font-size: 10pt; font-family: courier new">WriteVerbose(</span><span style="color: maroon">&#034;Posted Successfully.&#034;</span>); </p>
<p>&nbsp;</p>
<p><span style="font-size: 10pt; font-family: courier new">} </span></p>
<p>&nbsp;</p>
<p><span style="font-size: 10pt; font-family: courier new">} </span></p>
<p>&nbsp;</p>
<p><span style="font-size: 10pt; font-family: courier new">} </span></p>
<p><span style="font-size: 10pt; font-family: courier new">} </span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.muscetta.com/2006/11/24/out-blog/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Thoughts, Blogs, and Ruby with .Net</title>
		<link>http://www.muscetta.com/2006/06/09/thoughts-blogs-and-ruby-with-net/</link>
		<comments>http://www.muscetta.com/2006/06/09/thoughts-blogs-and-ruby-with-net/#comments</comments>
		<pubDate>Fri, 09 Jun 2006 11:14:29 +0000</pubDate>
		<dc:creator>Daniele Muscetta</dc:creator>
		
		<category><![CDATA[Blogs]]></category>

		<category><![CDATA[C#]]></category>

		<category><![CDATA[Choice]]></category>

		<category><![CDATA[Coding]]></category>

		<category><![CDATA[Cross Platform]]></category>

		<category><![CDATA[Cross Post]]></category>

		<category><![CDATA[General]]></category>

		<category><![CDATA[ITVC]]></category>

		<category><![CDATA[Integration]]></category>

		<category><![CDATA[Interop]]></category>

		<category><![CDATA[Ruby]]></category>

		<category><![CDATA[dotNet]]></category>

		<guid isPermaLink="false">http://www.muscetta.com/?p=115</guid>
		<description><![CDATA[For those who have not seen it yet, Mischa Kroon has a nice blog post about interoperability between Ruby and the .Net framework.
It provides several links and things to think about. If you are into .Net, or Ruby, or both, or simply interested about how things can interoperate, give it a read.
]]></description>
			<content:encoded><![CDATA[<p>For those who have not seen it yet, <a href="http://bloggingabout.net/blogs/mischa/archive/2006/05/14/12184.aspx">Mischa Kroon has a nice blog post about interoperability between Ruby and the .Net framework</a>.</p>
<p>It provides several links and things to think about. If you are into .Net, or Ruby, or both, or simply interested about how things can interoperate, give it a read.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.muscetta.com/2006/06/09/thoughts-blogs-and-ruby-with-net/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
