<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" media="screen" href="/App_Themes/default/rss.xslt"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:evnet="http://www.mscommunities.com/rssmodule/"><channel><title>Entries for dcuccia</title><atom:link rel="self" type="application/rss+xml" href="http://channel9.msdn.com/niners/dcuccia/rss/default.aspx" /><image><url>http://mschnlnine.vo.llnwd.net/d1/Dev/App_Themes/C9/images/feedimage.png</url><title>Entries for dcuccia</title><link>http://channel9.msdn.com/Niners/dcuccia/</link></image><description>Entries, comments and threads posted by dcuccia</description><link>http://channel9.msdn.com/Niners/dcuccia/</link><language>en-us</language><pubDate>Mon, 06 Oct 2008 06:28:55 GMT</pubDate><lastBuildDate>Mon, 06 Oct 2008 06:28:55 GMT</lastBuildDate><generator>EvNet (EvNet, Version=1.0.3608.3122, Culture=neutral, PublicKeyToken=null)</generator><item><title>Thank god it's Monday! [Thank god it's Monday!]</title><description>Can't wait to work on the crap I couldn't finish all weekend...&lt;br&gt;&lt;p&gt;in reply to &lt;a href='http://channel9.msdn.com/forums/Coffeehouse/431315-Thank-god-its-Monday/'&gt;Thank god it's Monday!&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel9.msdn.com/431315/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/forums/Coffeehouse/431315-Thank-god-its-Monday/</comments><link>http://channel9.msdn.com/forums/Coffeehouse/431315-Thank-god-its-Monday/</link><pubDate>Mon, 06 Oct 2008 06:28:55 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/forums/Coffeehouse/431315-Thank-god-its-Monday/</guid><evnet:views>1164</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/431315/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Can't wait to work on the crap I couldn't finish all weekend...in reply to Thank god it's Monday!</evnet:previewtext><dc:creator>dcuccia</dc:creator><slash:comments>17</slash:comments><wfw:commentRss>http://channel9.msdn.com/forums/Coffeehouse/431315-Thank-god-its-Monday/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/431315/Trackback.aspx</trackback:ping></item><item><title>Unconventional use of indexers [Unconventional use of indexers]</title><description>I'm playing around with trying to make array math in C# as easy and concise as in Matlab, and (besides array operators) the biggest language "mismatch" is in indexers, ranges, etc. In Matlab, I can easily get a subarray of A, such as A[0:5:255]&lt;br&gt;&lt;br&gt;As a user of a fluent interface DSL in C#, would you ever put up with unconventional use of indexers? Like:&lt;br&gt;&lt;br&gt;[code language="csharp"]A[Get.Range[0,5,255]][/code]&lt;br&gt;&lt;br&gt;...where Range is actually a static readonly field holding an instance of class Range&lt;br&gt;&lt;br&gt;[code language="csharp"]&amp;nbsp;&amp;nbsp;&amp;nbsp; public class Get&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static readonly Range Range = new Range();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static readonly Size Size = new Size();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public class Range&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public Range this[int from, int to] { get { return new Range(from, 1, to); } }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public Range this[int from, int every, int to] { get { return new Range(from, every, to); } }&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private Range(int start, int every, int stop) { Start = start; Every = every;  Stop = stop; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private Range(int start, int stop) : this(start, 1, stop) { }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; internal Range() { } // for indexer use&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public int Start { get; private set; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public int Stop { get; private set; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public int Every { get; private set; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public int Count() { return (Stop - Start) / Every + 1; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public class Size&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public Size this[int d0] { get { return new Size(new int[] { d0 }); } }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public Size this[int d0, int d1] { get { return new Size(new int[] { d0, d1 }); } }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public Size this[int d0, int d1, int d2] { get { return new Size(new int[] { d0, d1, d2 }); } }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public Size this[int d0, int d1, int d2, int d3] { get { return new Size(new int[] { d0, d1, d2, d3 }); } }&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private Size(int[] dimensions) { Dimensions = dimensions.ToArray(); }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; internal Size() { } // for indexer use&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public int[] Dimensions { get; private set; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;[/code]&lt;br&gt;&lt;br&gt;Obviously the following would be more C-sharpy:&lt;br&gt;&lt;br&gt;[code language="csharp"]A[new Range(0,5,255)][/code]&lt;br&gt;&lt;br&gt;But, isn't it OK to stray a bit as long as there's a consistent convention in the DSL?&lt;br&gt;&lt;br&gt;&lt;p&gt;in reply to &lt;a href='http://channel9.msdn.com/forums/Coffeehouse/426985-Unconventional-use-of-indexers/'&gt;Unconventional use of indexers&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel9.msdn.com/426985/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/forums/Coffeehouse/426985-Unconventional-use-of-indexers/</comments><link>http://channel9.msdn.com/forums/Coffeehouse/426985-Unconventional-use-of-indexers/</link><pubDate>Thu, 11 Sep 2008 06:53:49 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/forums/Coffeehouse/426985-Unconventional-use-of-indexers/</guid><evnet:views>956</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/426985/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>I'm playing around with trying to make array math in C# as easy and concise as in Matlab, and (besides array operators) the biggest language "mismatch" is in indexers, ranges, etc. In Matlab, I can easily get a subarray of A, such as A[0:5:255]As a user of a fluent interface DSL in C#, would you&amp;#8230;</evnet:previewtext><dc:creator>dcuccia</dc:creator><slash:comments>4</slash:comments><wfw:commentRss>http://channel9.msdn.com/forums/Coffeehouse/426985-Unconventional-use-of-indexers/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/426985/Trackback.aspx</trackback:ping></item><item><title>Zeep Mobile APIs - Free SMS! [Zeep Mobile APIs - Free SMS!]</title><description>&lt;a href="http://channel9.msdn.com/shows/This+Week+On+Channel+9/This-Week-on-C9-IE8-and-Popfly-Betas-WPF-tools-and-apps-SP1-improvements-and-more/"&gt;This week&lt;/a&gt; on, um "This Week on C9" the guys pointed out Zeep Mobile, a free service for sending and receiving SMS messages (last 40 characters are reserved for targeted advertising). &lt;br&gt;&lt;br&gt;They have both Ruby and Python APIs &lt;a href="http://code.google.com/p/zeep-messaging/wiki/Source?tm=4"&gt;available&lt;/a&gt; on Google code. &lt;br&gt;&lt;br&gt;Usage from "Getting Started" (Python example):&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; import zeep.sms&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; connection = zeep.sms.connect("&amp;lt;your api key&amp;gt;", "&amp;lt;your secret key&amp;gt;")&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; connection.send_message("&amp;lt;user_id&amp;gt;", "Surfs up!")&lt;br&gt;&lt;br&gt;Based on the source code, it looks like someone with even basic web authentication skills could whip up a .NET/Silverlight version...&lt;br&gt;&lt;p&gt;in reply to &lt;a href='http://channel9.msdn.com/forums/Coffeehouse/424515-Zeep-Mobile-APIs-Free-SMS/'&gt;Zeep Mobile APIs - Free SMS!&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel9.msdn.com/424515/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/forums/Coffeehouse/424515-Zeep-Mobile-APIs-Free-SMS/</comments><link>http://channel9.msdn.com/forums/Coffeehouse/424515-Zeep-Mobile-APIs-Free-SMS/</link><pubDate>Mon, 01 Sep 2008 00:29:45 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/forums/Coffeehouse/424515-Zeep-Mobile-APIs-Free-SMS/</guid><evnet:views>1541</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/424515/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>This week on, um "This Week on C9" the guys pointed out Zeep Mobile, a free service for sending and receiving SMS messages (last 40 characters are reserved for targeted advertising). They have both Ruby and Python APIs available on Google code. Usage from "Getting Started" (Python&amp;#8230;</evnet:previewtext><dc:creator>dcuccia</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://channel9.msdn.com/forums/Coffeehouse/424515-Zeep-Mobile-APIs-Free-SMS/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/424515/Trackback.aspx</trackback:ping></item><item><title>"Near C Performance" w/ TraceMonkey JavaScript Engine ["Near C Performance" w/ TraceMonkey JavaScript Engine]</title><description>Just saw &lt;a href="http://www.infoq.com/news/2008/08/tracemonkey"&gt;this article&lt;/a&gt; on the TraceMonkey complier for FF 3.1, which allows Javascript language features to "achieve a speedup of 22x."&lt;br&gt;&lt;br&gt;Knee-jerk reactions: &lt;br&gt;&lt;ol&gt;&lt;li&gt;"Hey, no fair!"&lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://jsc.sourceforge.net/"&gt;JSC&lt;/a&gt; and &lt;a href="http://livelabs.com/volta/"&gt;Volta&lt;/a&gt; just got more relevant for cross-platform RIAs&lt;/li&gt;&lt;/ol&gt;Any thoughts?&lt;br&gt;&lt;p&gt;in reply to &lt;a href='http://channel9.msdn.com/forums/Coffeehouse/424380-Near-C-Performance-w-TraceMonkey-JavaScript-Engine/'&gt;"Near C Performance" w/ TraceMonkey JavaScript Engine&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel9.msdn.com/424380/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/forums/Coffeehouse/424380-Near-C-Performance-w-TraceMonkey-JavaScript-Engine/</comments><link>http://channel9.msdn.com/forums/Coffeehouse/424380-Near-C-Performance-w-TraceMonkey-JavaScript-Engine/</link><pubDate>Sun, 31 Aug 2008 00:56:08 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/forums/Coffeehouse/424380-Near-C-Performance-w-TraceMonkey-JavaScript-Engine/</guid><evnet:views>1617</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/424380/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Just saw this article on the TraceMonkey complier for FF 3.1, which allows Javascript language features to "achieve a speedup of 22x."Knee-jerk reactions: "Hey, no fair!"JSC and Volta just got more relevant for cross-platform RIAsAny thoughts?in reply to "Near C Performance" w/ TraceMonkey JavaScript Engine</evnet:previewtext><dc:creator>dcuccia</dc:creator><slash:comments>20</slash:comments><wfw:commentRss>http://channel9.msdn.com/forums/Coffeehouse/424380-Near-C-Performance-w-TraceMonkey-JavaScript-Engine/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/424380/Trackback.aspx</trackback:ping></item><item><title>Extension Method for InvokeRequired? [Extension Method for InvokeRequired?]</title><description>Do you guys see any potential problems with the following InvokeRequired strategy for simple Actions?&lt;br&gt;&lt;br&gt;public static class ControlInvokeRequiredExtensionMethods&lt;br&gt;{&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static void ExecuteOnUIThread(this Control myControl, Action action)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if (myControl.InvokeRequired)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; myControl.BeginInvoke(action);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; else { action(); }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static void ExecuteOnUIThread&amp;lt;T&amp;gt;(this Control myControl, Action&amp;lt;T&amp;gt; action, T parameter)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if (myControl.InvokeRequired)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; myControl.BeginInvoke(action, new object[] { parameter });&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; else { action(parameter); }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // etc...&lt;br&gt;}&lt;br&gt;&lt;br&gt;Sample usage:&lt;br&gt;&lt;br&gt;RichTextBox textBox = new RichTextBox();&lt;br&gt;public void WriteMessage(string message)&lt;br&gt;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; textBox.ExecuteOnUIThread(textBox.AppendText, message);&lt;br&gt;}&lt;br&gt;&lt;br&gt;Found &lt;a href="http://www.codeproject.com/KB/cs/AOPInvokeRequired.aspx"&gt;this&lt;/a&gt; alternative, but would prefer to avoid AOP. Seems to me like an Extension Method strikes a nice balance between simplicity and transparency.&lt;br&gt;&lt;p&gt;in reply to &lt;a href='http://channel9.msdn.com/forums/TechOff/405710-Extension-Method-for-InvokeRequired/'&gt;Extension Method for InvokeRequired?&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel9.msdn.com/405710/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/forums/TechOff/405710-Extension-Method-for-InvokeRequired/</comments><link>http://channel9.msdn.com/forums/TechOff/405710-Extension-Method-for-InvokeRequired/</link><pubDate>Tue, 27 May 2008 08:03:43 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/forums/TechOff/405710-Extension-Method-for-InvokeRequired/</guid><evnet:views>660</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/405710/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Do you guys see any potential problems with the following InvokeRequired strategy for simple Actions?&lt;br&gt;&lt;br&gt;public static class ControlInvokeRequiredExtensionMethods&lt;br&gt;{&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static void ExecuteOnUIThread(this Control myControl, Action action)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if (myControl.InvokeRequired)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; myControl.BeginInvoke(action);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; else { action(); }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;br&gt;</evnet:previewtext><dc:creator>dcuccia</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://channel9.msdn.com/forums/TechOff/405710-Extension-Method-for-InvokeRequired/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/405710/Trackback.aspx</trackback:ping></item><item><title>Pattern for initializable objects [Pattern for initializable objects]</title><description>Hi all,&lt;br&gt;&lt;br&gt;I write a lot of code to control hardware (cameras, projectors, etc), and find myself frequently using the following pattern:&lt;br&gt;&lt;br&gt;// Instantiate the class and the physical piece of hardware&lt;br&gt;Hardware h = new Hardware();&lt;br&gt;&lt;br&gt;// Get settings from the user&lt;br&gt;HardwareSettings settings = GetSettingsFromGui();&lt;br&gt;&lt;br&gt;// Set all parameters in an Initialize function&lt;br&gt;h.Initialize(settings);&lt;br&gt;&lt;br&gt;The point of separating Initialize() is that I want to be able to change a piece of hardware's settings repeatedly w/o actually shutting it down.&lt;br&gt;&lt;br&gt;Since this is a common pattern for me, I was just about to write an IInitializable interface, so that all my hardware could be spun up with the same code.&lt;br&gt;&lt;br&gt;Is this a common pattern (eg. long-running db connections or something)? Is there a similar interface or pattern in the .NET BCL that already exists? &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;in reply to &lt;a href='http://channel9.msdn.com/forums/TechOff/405691-Pattern-for-initializable-objects/'&gt;Pattern for initializable objects&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel9.msdn.com/405691/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/forums/TechOff/405691-Pattern-for-initializable-objects/</comments><link>http://channel9.msdn.com/forums/TechOff/405691-Pattern-for-initializable-objects/</link><pubDate>Tue, 27 May 2008 05:37:49 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/forums/TechOff/405691-Pattern-for-initializable-objects/</guid><evnet:views>613</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/405691/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Hi all,&lt;br&gt;&lt;br&gt;I write a lot of code to control hardware (cameras, projectors, etc), and find myself frequently using the following pattern:&lt;br&gt;&lt;br&gt;// Instantiate the class and the physical piece of hardware&lt;br&gt;Hardware h = new Hardware();&lt;br&gt;&lt;br&gt;// Get settings from the user&lt;br&gt;HardwareSettings settings = GetSettingsFromGui();&lt;br&gt;&lt;br&gt;// Set all parameters in an Initialize function&lt;br&gt;h.Initialize(settings);&lt;br&gt;&lt;br&gt;The point of separating Initialize() is that I want to be able to change a piece of hardware's settings repeatedly w/o actually shutting it down.&lt;br&gt;&lt;br&gt;</evnet:previewtext><dc:creator>dcuccia</dc:creator><slash:comments>3</slash:comments><wfw:commentRss>http://channel9.msdn.com/forums/TechOff/405691-Pattern-for-initializable-objects/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/405691/Trackback.aspx</trackback:ping></item><item><title>Microsoft Acquires Springsource [Microsoft Acquires Springsource]</title><description>&lt;a href="http://www.infoq.com/news/2008/04/microsoft-springsource-purchase"&gt;InfoQ Link&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;blockquote&gt;"a greater focus will be placed upon filling out the .Net-based side of the Spring Portfolio, with a .Net-based version of &lt;a href="http://www.infoq.com/springwebflow;jsessionid=D89D22FB08770AA1D15DAE35CBF055EB"&gt;Spring Web Flow&lt;/a&gt; becoming the basis for the ASP.Net web development APIs."&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;"the Spring Framework would be
integrated into the Windows operating system, with users having the
ability to configure most settings and applications via associated
Spring Beans" &lt;/p&gt;
&lt;p&gt; &lt;a href="http://blog.springsource.com/main/author/mpollack/"&gt;"Mark Pollack&lt;/a&gt;, founder and lead of the &lt;a href="http://www.infoq.com/springnet;jsessionid=D89D22FB08770AA1D15DAE35CBF055EB"&gt;Spring.Net&lt;/a&gt; project, added: &lt;/p&gt;
&lt;blockquote&gt; Anders Hejlsberg, Erik Meijer and I have had some
excellent conversations around where Spring.Net can improve the
development process for .Net applications, and we expect to add many of
the existing Spring APIs in the .Net Framework 4.0 release. The AOP and
Aspect namespaces will likely be added to the System namespace, and the
DAO and Data namespaces will augment the existing ADO.Net APIs." &lt;/blockquote&gt;&lt;/blockquote&gt;&lt;p&gt;in reply to &lt;a href='http://channel9.msdn.com/forums/Coffeehouse/261992-Microsoft-Acquires-Springsource/'&gt;Microsoft Acquires Springsource&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel9.msdn.com/261992/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/forums/Coffeehouse/261992-Microsoft-Acquires-Springsource/</comments><link>http://channel9.msdn.com/forums/Coffeehouse/261992-Microsoft-Acquires-Springsource/</link><pubDate>Tue, 01 Apr 2008 16:43:26 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/forums/Coffeehouse/261992-Microsoft-Acquires-Springsource/</guid><evnet:views>2287</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/261992/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>&lt;a href="http://www.infoq.com/news/2008/04/microsoft-springsource-purchase"&gt;InfoQ Link&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;blockquote&gt;"a greater focus will be placed upon filling out the .Net-based side of the Spring Portfolio, with a .Net-based version of &lt;a href="http://www.infoq.com/springwebflow;jsessionid=D89D22FB08770AA1D15DAE35CBF055EB"&gt;Spring Web Flow&lt;/a&gt; becoming the basis for the ASP.Net web development APIs."&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;"the Spring Framework would be
integrated into the Windows operating system, with users having the
ability to configure most settings and applications via associated
Spring Beans" &lt;/p&gt;</evnet:previewtext><dc:creator>dcuccia</dc:creator><slash:comments>3</slash:comments><wfw:commentRss>http://channel9.msdn.com/forums/Coffeehouse/261992-Microsoft-Acquires-Springsource/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/261992/Trackback.aspx</trackback:ping></item><item><title>Silverlight on the iPhone [Silverlight on the iPhone]</title><description>Just saw &lt;a href="http://www.trustedreviews.com/apple/news/2008/03/11/Microsoft-To-Bring-Flash-Rival-To-iPhone/p1"&gt;this&lt;/a&gt; referencing &lt;a href="http://www.techradar.com/news/phone-and-communications/microsoft-well-develop-silverlight-for-iphone-261080"&gt;this&lt;/a&gt;.&lt;br&gt;&lt;br&gt;Confirms what ScottGu said w/o saying in his MIX keynote "anything with an SDK."&lt;br&gt;&lt;p&gt;in reply to &lt;a href='http://channel9.msdn.com/forums/Coffeehouse/261591-Silverlight-on-the-iPhone/'&gt;Silverlight on the iPhone&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel9.msdn.com/261591/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/forums/Coffeehouse/261591-Silverlight-on-the-iPhone/</comments><link>http://channel9.msdn.com/forums/Coffeehouse/261591-Silverlight-on-the-iPhone/</link><pubDate>Tue, 11 Mar 2008 06:45:29 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/forums/Coffeehouse/261591-Silverlight-on-the-iPhone/</guid><evnet:views>4465</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/261591/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Just saw &lt;a href="http://www.trustedreviews.com/apple/news/2008/03/11/Microsoft-To-Bring-Flash-Rival-To-iPhone/p1"&gt;this&lt;/a&gt; referencing &lt;a href="http://www.techradar.com/news/phone-and-communications/microsoft-well-develop-silverlight-for-iphone-261080"&gt;this&lt;/a&gt;.&lt;br&gt;&lt;br&gt;Confirms what ScottGu said w/o saying in his MIX keynote "anything with an SDK."&lt;br&gt;</evnet:previewtext><dc:creator>dcuccia</dc:creator><slash:comments>63</slash:comments><wfw:commentRss>http://channel9.msdn.com/forums/Coffeehouse/261591-Silverlight-on-the-iPhone/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/261591/Trackback.aspx</trackback:ping></item><item><title>How do I apply generic constraints to: void MyFunction&amp;lt;T1, T2&amp;gt;() {}? [How do I apply generic constraints to: void MyFunction&amp;lt;T1, T2&amp;gt;() {}?]</title><description>I've tried the following...&lt;br&gt;&lt;br&gt;&lt;blockquote&gt;void MyFunction&amp;lt;T1, T2&amp;gt;() where T1, T2 : struct {}&lt;br&gt;&lt;br&gt;void MyFunction&amp;lt;T1, T2&amp;gt;() where T1: struct , T2 : struct {}&lt;br&gt;&lt;br&gt;void MyFunction&amp;lt;T1, T2&amp;gt;() where T1: struct ,&amp;nbsp; where T2 : struct {}&lt;br&gt;&lt;br&gt;&lt;/blockquote&gt;...but alas, I'm stumped. Please help!&lt;br&gt;&lt;p&gt;in reply to &lt;a href='http://channel9.msdn.com/forums/TechOff/261547-How-do-I-apply-generic-constraints-to-void-MyFunctionltT1-T2gt-/'&gt;How do I apply generic constraints to: void MyFunction&amp;lt;T1, T2&amp;gt;() {}?&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel9.msdn.com/261547/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/forums/TechOff/261547-How-do-I-apply-generic-constraints-to-void-MyFunctionltT1-T2gt-/</comments><link>http://channel9.msdn.com/forums/TechOff/261547-How-do-I-apply-generic-constraints-to-void-MyFunctionltT1-T2gt-/</link><pubDate>Sat, 08 Mar 2008 23:25:18 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/forums/TechOff/261547-How-do-I-apply-generic-constraints-to-void-MyFunctionltT1-T2gt-/</guid><evnet:views>418</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/261547/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>I've tried the following...&lt;br&gt;&lt;br&gt;&lt;blockquote&gt;void MyFunction&amp;lt;T1, T2&amp;gt;() where T1, T2 : struct {}&lt;br&gt;&lt;br&gt;void MyFunction&amp;lt;T1, T2&amp;gt;() where T1: struct , T2 : struct {}&lt;br&gt;&lt;br&gt;void MyFunction&amp;lt;T1, T2&amp;gt;() where T1: struct ,&amp;nbsp; where T2 : struct {}&lt;br&gt;&lt;br&gt;&lt;/blockquote&gt;...but alas, I'm stumped. Please help!&lt;br&gt;</evnet:previewtext><dc:creator>dcuccia</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://channel9.msdn.com/forums/TechOff/261547-How-do-I-apply-generic-constraints-to-void-MyFunctionltT1-T2gt-/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/261547/Trackback.aspx</trackback:ping></item><item><title>Dynamic Linq Expressions and GADTs...new approach to the expression problem in C#? [Dynamic Linq Expressions and GADTs...new approach to the expression problem in C#?]</title><description>Hi all,&lt;br&gt;&lt;br&gt;I was watching the video of Anders Hejlsberg's talk at Lang.Net 2008. About 3/4 of the way through, he mentioned that you can actually compile Linq expressions at runtime, and this is part of the basis for dynamic C# features going forward. I had no idea that this sort of thing was enabled in 3.5...thought the only way to dynamic was through reflection or IL. &lt;br&gt;&lt;br&gt;So, I've been playing around to understand the functionality, trying to address the &lt;a href="http://lambda-the-ultimate.org/node/2232"&gt;expression problem&lt;/a&gt; for generalized algebraic data types (GADTs).&lt;br&gt;&lt;br&gt;Let me know what you guys think of this kernel of an implementation:&lt;br&gt;&lt;br&gt;namespace C9Question&lt;br&gt;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public class TestGADT&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static void Main()&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Number&amp;lt;float&amp;gt; n1 = 5;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Number&amp;lt;float&amp;gt; n2 = 4;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(n1+n2);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.Read();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public struct Number&amp;lt;T&amp;gt; where T : struct&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public T myNumber;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public T Add(T a, T b)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Func&amp;lt;T, T, T&amp;gt; f = typeof(GADTHelper).GetFunc&amp;lt;T, T, T&amp;gt;("Add");&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return f(a, b);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static Number&amp;lt;T&amp;gt; Add(Number&amp;lt;T&amp;gt; a, Number&amp;lt;T&amp;gt; b)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;b&gt;Func&amp;lt;T, T, T&amp;gt; f = typeof(GADTHelper).GetFunc&amp;lt;T, T, T&amp;gt;("Add");&lt;/b&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return new Number&amp;lt;T&amp;gt;() { myNumber = f(a.myNumber, b.myNumber) };&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static Number&amp;lt;T&amp;gt; operator +(Number&amp;lt;T&amp;gt; a, Number&amp;lt;T&amp;gt; b){ return Add(a, b); }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static implicit operator Number&amp;lt;T&amp;gt;(T value) { return new Number&amp;lt;T&amp;gt;() { myNumber = value }; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public override string ToString() { return myNumber.ToString(); }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; private static class GADTHelper&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static double Add(double myDouble, double addend) { return myDouble + addend; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static float Add(float myFloat, float addend) { return myFloat+ addend; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static int Add(int myInt, int addend) { return myInt+ addend; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static long Add(long myLong, long addend) { return myLong+ addend; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static class DynamicLinqExtensions&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static Func&amp;lt;T1, T2, TResult&amp;gt; GetFunc&amp;lt;T1, T2, TResult&amp;gt;(this Type t, string method)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Type[] types = new Type[] { typeof(T1), typeof(T2) };&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ParameterExpression p1 = Expression.Parameter(types[0], "p1");&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ParameterExpression p2 = Expression.Parameter(types[1], "p2");&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Expression body = Expression.Call(t.GetMethod(method, types), p1, p2);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Expression&amp;lt;Func&amp;lt;T1, T2, TResult&amp;gt;&amp;gt; e = Expression.Lambda&amp;lt;Func&amp;lt;T1, T2, TResult&amp;gt;&amp;gt;(body, p1, p2);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return e.Compile();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;}&lt;br&gt;&lt;br&gt;&lt;p&gt;in reply to &lt;a href='http://channel9.msdn.com/forums/TechOff/261312-Dynamic-Linq-Expressions-and-GADTsnew-approach-to-the-expression-problem-in-C/'&gt;Dynamic Linq Expressions and GADTs...new approach to the expression problem in C#?&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel9.msdn.com/261312/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/forums/TechOff/261312-Dynamic-Linq-Expressions-and-GADTsnew-approach-to-the-expression-problem-in-C/</comments><link>http://channel9.msdn.com/forums/TechOff/261312-Dynamic-Linq-Expressions-and-GADTsnew-approach-to-the-expression-problem-in-C/</link><pubDate>Thu, 28 Feb 2008 17:50:08 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/forums/TechOff/261312-Dynamic-Linq-Expressions-and-GADTsnew-approach-to-the-expression-problem-in-C/</guid><evnet:views>1814</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/261312/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Hi all,&lt;br&gt;&lt;br&gt;I was watching the video of Anders Hejlsberg's talk at Lang.Net 2008. About 3/4 of the way through, he mentioned that you can actually compile Linq expressions at runtime, and this is part of the basis for dynamic C# features going forward. I had no idea that this sort of thing was enabled in 3.5...thought the only way to dynamic was through reflection or IL. &lt;br&gt;&lt;br&gt;So, I've been playing around to understand the functionality, trying to address the &lt;a href="http://lambda-the-ultimate.org/node/2232"&gt;expression problem&lt;/a&gt; for generalized algebraic data types (GADTs).&lt;br&gt;&lt;br&gt;</evnet:previewtext><dc:creator>dcuccia</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://channel9.msdn.com/forums/TechOff/261312-Dynamic-Linq-Expressions-and-GADTsnew-approach-to-the-expression-problem-in-C/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/261312/Trackback.aspx</trackback:ping></item><item><title>Windows Media Player 11 not installed?? [Windows Media Player 11 not installed??]</title><description>I'm using a clean install of Vista Business (x86), and Firefox 2.0.0.12 seems to think I don't have plugins for Windows Media Player installed. I discovered this trying to play music samples on Amazon, ala &lt;a href="http://www.amazon.com/Best-Narada-New-Flamenco-Guitar/dp/B0000AM6HP/ref=sr_1_4?ie=UTF8&amp;amp;s=music&amp;amp;qid=1202660245&amp;amp;sr=8-4"&gt;here&lt;/a&gt;. IE 7.0 works fine.&amp;nbsp;&amp;nbsp;  &lt;br&gt;&lt;br&gt;Anyone else have this problem?&lt;br&gt;&lt;p&gt;in reply to &lt;a href='http://channel9.msdn.com/forums/Coffeehouse/260963-Windows-Media-Player-11-not-installed/'&gt;Windows Media Player 11 not installed??&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel9.msdn.com/260963/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/forums/Coffeehouse/260963-Windows-Media-Player-11-not-installed/</comments><link>http://channel9.msdn.com/forums/Coffeehouse/260963-Windows-Media-Player-11-not-installed/</link><pubDate>Thu, 14 Feb 2008 02:40:21 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/forums/Coffeehouse/260963-Windows-Media-Player-11-not-installed/</guid><evnet:views>998</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/260963/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>I'm using a clean install of Vista Business (x86), and Firefox 2.0.0.12 seems to think I don't have plugins for Windows Media Player installed. I discovered this trying to play music samples on Amazon, ala &lt;a href="http://www.amazon.com/Best-Narada-New-Flamenco-Guitar/dp/B0000AM6HP/ref=sr_1_4?ie=UTF8&amp;amp;s=music&amp;amp;qid=1202660245&amp;amp;sr=8-4"&gt;here&lt;/a&gt;. IE 7.0 works fine.&amp;nbsp;&amp;nbsp;  &lt;br&gt;&lt;br&gt;Anyone else have this problem?&lt;br&gt;</evnet:previewtext><dc:creator>dcuccia</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://channel9.msdn.com/forums/Coffeehouse/260963-Windows-Media-Player-11-not-installed/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/260963/Trackback.aspx</trackback:ping></item><item><title>Extension Methods and LGPL? [Extension Methods and LGPL?]</title><description>Hi, I was reading &lt;a href="http://channel9.msdn.com/ShowPost.aspx?PostID=120264#120264&gt;this&lt;/a&gt; Channel 9 post discussing the terms of the GPL and LGPL. &lt;br&gt;&lt;br&gt;My question is this: &lt;br&gt;&lt;br&gt;If I'm not modifying the &lt;i&gt;binary &lt;/i&gt;library under LGPL, but extending the library &lt;i&gt;conceptually &lt;/i&gt;through C# 3.0 extension methods, am I safe from having to share my extension method code?&lt;br&gt;&lt;p&gt;in reply to &lt;a href='http://channel9.msdn.com/forums/Coffeehouse/257707-Extension-Methods-and-LGPL/'&gt;Extension Methods and LGPL?&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel9.msdn.com/257707/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/forums/Coffeehouse/257707-Extension-Methods-and-LGPL/</comments><link>http://channel9.msdn.com/forums/Coffeehouse/257707-Extension-Methods-and-LGPL/</link><pubDate>Wed, 19 Sep 2007 07:22:00 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/forums/Coffeehouse/257707-Extension-Methods-and-LGPL/</guid><evnet:views>2360</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/257707/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Hi, I was reading &lt;a href="/ShowPost.aspx?PostID=120264#120264"&gt;this&lt;/a&gt; Channel 9 post discussing the terms of the GPL and LGPL. &lt;br&gt;&lt;br&gt;My question is this: &lt;br&gt;&lt;br&gt;If I'm not modifying the &lt;i&gt;binary &lt;/i&gt;library under LGPL, but extending the library &lt;i&gt;conceptually &lt;/i&gt;through C# 3.0 extension methods, am I safe from having to share my extension method code?&lt;br&gt;</evnet:previewtext><dc:creator>dcuccia</dc:creator><slash:comments>8</slash:comments><wfw:commentRss>http://channel9.msdn.com/forums/Coffeehouse/257707-Extension-Methods-and-LGPL/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/257707/Trackback.aspx</trackback:ping></item></channel></rss>