<?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 tagged with brian beckman - Channel 9</title><atom:link rel="self" type="application/rss+xml" href="http://channel9.msdn.com/tags/brian+beckman/rss/default.aspx" /><image><url>http://mschnlnine.vo.llnwd.net/d1/Dev/App_Themes/C9/images/feedimage.png</url><title>Entries tagged with brian beckman - Channel 9</title><link>http://channel9.msdn.com/tags/Brian+Beckman/</link></image><description>brian beckman</description><link>http://channel9.msdn.com/tags/Brian+Beckman/</link><language>en-us</language><pubDate>Wed, 16 Sep 2009 17:34:58 GMT</pubDate><lastBuildDate>Wed, 16 Sep 2009 17:34:58 GMT</lastBuildDate><generator>EvNet (EvNet, Version=1.0.3608.3122, Culture=neutral, PublicKeyToken=null)</generator><item><title>Expert to Expert: Rich Hickey and Brian Beckman - Inside Clojure</title><description>&lt;img src="http://ecn.channel9.msdn.com/o9/ch9/8/4/0/2/9/4/E2EBeckmanHickeyClojure_85_ch9.png" border="0" /&gt;&lt;a href="http://clojure.org/" target="_blank"&gt;Clojure&lt;/a&gt; is a dynamic programming language created by Rich Hickey that targets both the Java Virtual Machine and the CLR. It is designed to be a general-purpose language, combining the approachability and interactive development of a scripting language with an efficient and robust infrastructure for multithreaded programming. Clojure is a compiled language - it compiles directly to JVM bytecode, yet remains completely dynamic. Every feature supported by Clojure is supported at runtime. Clojure provides easy access to the Java frameworks, with optional type hints and type inference, to ensure that calls to Java can avoid reflection.&lt;br /&gt;
&lt;br /&gt;
Clojure is a dialect of Lisp, and shares with Lisp the code-as-data philosophy and a powerful macro system. Clojure is predominantly a functional programming language, and features a rich set of immutable, persistent data structures. When mutable state is needed, Clojure offers a software transactional memory system and reactive Agent system that ensure clean, correct, multithreaded designs.&lt;br /&gt;
&lt;br /&gt;
Astrophysicist and Software Architect Brian Beckman interviews Rich Hickey to dig into the details of this very interesting language. If you don't know much about Clojure and the general problems it aims to solve, well, watch and listen carefully to this great conversation with plenty of whiteboarding and outstanding questions. Expert to Expert simply rocks! Thank you for spending time with us, Rich! Clojure is great!&lt;br /&gt;&lt;img src="http://channel9.msdn.com/492048/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Rich-Hickey-and-Brian-Beckman-Inside-Clojure/</comments><link>http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Rich-Hickey-and-Brian-Beckman-Inside-Clojure/</link><pubDate>Tue, 06 Oct 2009 17:29:00 GMT</pubDate><guid isPermaLink="false">http://ecn.channel9.msdn.com/o9/ch9/8/4/0/2/9/4/E2EBeckmanHickeyClojure_ch9.wmv</guid><evnet:views>56063</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/492048/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>&lt;a href="http://clojure.org/" target="_blank"&gt;Clojure&lt;/a&gt; is a dynamic programming language created by Rich Hickey that targets both the Java Virtual Machine and the CLR. It is designed to be a general-purpose language, combining the approachability and interactive development of a scripting language with an efficient and robust infrastructure for multithreaded programming. Clojure is a compiled language - it compiles directly to JVM bytecode, yet remains completely dynamic. Every feature supported by Clojure is supported at runtime. Clojure provides easy access to the Java frameworks, with optional type hints and type inference, to ensure that calls to Java can avoid reflection.&lt;br /&gt;
&lt;br /&gt;
Clojure is a dialect of Lisp, and shares with Lisp the code-as-data philosophy and a powerful macro system. Clojure is predominantly a functional programming language, and features a rich set of immutable, persistent data structures. When mutable state is needed, Clojure offers a software transactional memory system and reactive Agent system that ensure clean, correct, multithreaded designs.&lt;br /&gt;
&lt;br /&gt;
Astrophysicist and Software Architect Brian Beckman interviews Rich Hickey to dig into the details of this very interesting language. If you don't know much about Clojure and the general problems it aims to solve, well, watch and listen carefully to this great conversation with plenty of whiteboarding and outstanding questions. Expert to Expert simply rocks! Thank you for spending time with us, Rich! Clojure is great!&lt;br /&gt;</evnet:previewtext><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/8/4/0/2/9/4/E2EBeckmanHickeyClojure_320_ch9.png" height="240" width="320" /><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/8/4/0/2/9/4/E2EBeckmanHickeyClojure_85_ch9.png" height="64" width="85" /><media:group><media:content url="http://ecn.channel9.msdn.com/o9/ch9/8/4/0/2/9/4/E2EBeckmanHickeyClojure_ch9.mp4" expression="full" duration="3236" fileSize="258485130" type="video/mp4" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/8/4/0/2/9/4/E2EBeckmanHickeyClojure_ch9.mp3" expression="full" duration="3236" fileSize="25891472" type="audio/mp3" medium="audio" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/8/4/0/2/9/4/E2EBeckmanHickeyClojure_ch9.mp4" expression="full" duration="3236" fileSize="258485130" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/8/4/0/2/9/4/E2EBeckmanHickeyClojure_ch9.wma" expression="full" duration="3236" fileSize="26178829" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/8/4/0/2/9/4/E2EBeckmanHickeyClojure_ch9.wmv" expression="full" duration="3236" fileSize="551330889" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/8/4/0/2/9/4/E2EBeckmanHickeyClojure_2MB_ch9.wmv" expression="full" duration="3236" fileSize="651182901" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/8/4/0/2/9/4/E2EBeckmanHickeyClojure_Zune_ch9.wmv" expression="full" duration="3236" fileSize="298866817" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/8/4/0/2/9/4/E2EBeckmanHickeyClojure_512_ch9.png" expression="full" duration="3236" type="image/jpeg" medium="image" /></media:group><enclosure url="http://ecn.channel9.msdn.com/o9/ch9/8/4/0/2/9/4/E2EBeckmanHickeyClojure_ch9.wmv" length="551330889" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>24</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Rich-Hickey-and-Brian-Beckman-Inside-Clojure/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/492048/Trackback.aspx</trackback:ping><category>Brian Beckman</category><category>Clojure</category><category>Dynamic Languages</category><category>Expert to Expert</category><category>JVM</category><category>Programming</category><category>Programming Languages</category></item><item><title>Expert to Expert: Brian Beckman and Erik Meijer - Inside the .NET Reactive Framework (Rx)</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/1/9/5/6/7/4/E2EBeckmanMeijerRx_small_ch9.png" border="0" /&gt;Erik Meijer and team (developer Wes Dyer, in particular) have created a profound and beautiful .NET library that will take managed event based programming to new levels. Of course, many of you wish that you could write LINQ expressions over events. Well, now you can thanks to Erik's and Wes Dyer's latest creation, Rx - .NET Reactive Framework. Erik, being a fundamentalist functional theoritician, can't create new programming abstractions without employing some form of monadic magic. &lt;br /&gt;
&lt;br /&gt;
Enter astrophysicist and monadic composition wizard Brian Beckman. The &lt;a href="http://channel9.msdn.com/shows/Going+Deep/Brian-Beckman-The-Zen-of-Expressing-State-The-State-Monad/" target="_blank"&gt;last time Brian was on C9 he taught us about the State Monad&lt;/a&gt;. At the end of that discussion he mentioned he wanted to teach us about the Continuation Monad next. So, who better to conduct this episode of Expert to Expert than Dr. Beckman? Yep. You guessed it! Rx employs the Continuation Monad in its composition. Erik is in the hot seat this time and it's always a real pleasure to converse with Erik and Brian in the same room at the same whiteboard. &lt;br /&gt;
&lt;br /&gt;
Now, what is Rx?&lt;br /&gt;
&lt;br /&gt;
The .NET Reactive Framework (Rx) is the &lt;a href="http://en.wikipedia.org/wiki/Dual_(category_theory)"&gt;mathematical dual&lt;/a&gt; of &lt;a href="http://msdn.microsoft.com/en-us/library/bb397919.aspx"&gt;LINQ to Objects&lt;/a&gt;. It consists of a pair of interfaces IObserver/IObservable that represent push-based, or &lt;i&gt;observable&lt;/i&gt;, collections, plus a library of extension methods that implement the &lt;a href="http://research.microsoft.com/en-us/um/people/emeijer/Papers/LINQSigmod.pdf"&gt;LINQ&lt;/a&gt; &lt;a href="http://msdn.microsoft.com/en-us/library/bb397896.aspx"&gt;Standard Query Operators&lt;/a&gt; and other useful stream transformation functions.&lt;br /&gt;
&lt;br /&gt;
interface IObservable&amp;lt;out T&amp;gt; &lt;br /&gt;
{      &lt;br /&gt;
    IDisposable Subscribe(IObserver o); &lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
interface IObserver&amp;lt;in T&amp;gt;  &lt;br /&gt;
{     &lt;br /&gt;
    void OnCompleted();     &lt;br /&gt;
    void OnNext(T v);      &lt;br /&gt;
    void OnError(Exception e); &lt;br /&gt;
}  &lt;br /&gt;
&lt;br /&gt;
Observable collections capture the essence of the well-known &lt;a href="http://en.wikipedia.org/wiki/Observer_pattern"&gt;subject/observer design pattern&lt;/a&gt;, and are tremendously useful for dealing with event-based and asynchronous programming, i.e. &lt;a href="http://dotnetaddict.dotnetdevelopersjournal.com/volta_ajax_tums.htm"&gt;AJAX-style applications&lt;/a&gt;. For example, here is the prototypical &lt;a href="http://www.objectgraph.com/dictionary/how.html"&gt;Dictionary Suggest&lt;/a&gt; written using LINQ query comprehensions over observable collections:&lt;br /&gt;
&lt;br /&gt;
&lt;p&gt;IObservable&amp;lt;Html&amp;gt; q = from fragment in textBox&lt;/p&gt;
&lt;p&gt;               from definitions in Dictionary.Lookup(fragment, 10).Until(textBox)&lt;/p&gt;
&lt;p&gt;               select definitions.FormatAsHtml();&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;q.Subscribe(suggestions =&amp;gt; { div.InnerHtml = suggestions; })&lt;/p&gt;
&lt;br /&gt;
&lt;br /&gt;
Please subscribe to this Channel 9 interview to be notified when we have clearance to distribute Rx over the counter (lame puns intended :-). &lt;br /&gt;
&lt;br /&gt;
Tune in. This should prove to be an instant classic besides being a very important episode of E2E. Rx is deep, man. Deep.&lt;br /&gt;
&lt;br /&gt;
Enjoy!&lt;img src="http://channel9.msdn.com/476591/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Brian-Beckman-and-Erik-Meijer-Inside-the-NET-Reactive-Framework-Rx/</comments><link>http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Brian-Beckman-and-Erik-Meijer-Inside-the-NET-Reactive-Framework-Rx/</link><pubDate>Thu, 09 Jul 2009 18:36:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/1/9/5/6/7/4/E2EBeckmanMeijerRx_ch9.wmv</guid><evnet:views>87802</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/476591/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Erik Meijer and team (developer Wes Dyer, in particular) have created a profound and beautiful .NET library that will take managed event based programming to new levels. Of course, many of you wish that you could write LINQ expressions over events. Well, now you can thanks to Erik's and Wes Dyer's latest creation, Rx - .NET Reactive Framework. Erik, being a fundamentalist functional theoritician, can't create new programming abstractions without employing some form of monadic magic. Enter astrophysicist and monadic composition wizard Brian Beckman as this E2E episode's chief inquisitor. Erik is in the hot seat this time and it's always a real pleasure to converse with Erik and Brian in the same room at the same whiteboard.</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/9/5/6/7/4/E2EBeckmanMeijerRx_large_ch9.png" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/9/5/6/7/4/E2EBeckmanMeijerRx_small_ch9.png" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/9/5/6/7/4/E2EBeckmanMeijerRx_ch9.mp4" expression="full" duration="4383" fileSize="432582360" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/9/5/6/7/4/E2EBeckmanMeijerRx_ch9.mp3" expression="full" duration="4383" fileSize="35068461" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/9/5/6/7/4/E2EBeckmanMeijerRx_ch9.mp4" expression="full" duration="4383" fileSize="432582360" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/9/5/6/7/4/E2EBeckmanMeijerRx_ch9.wma" expression="full" duration="4383" fileSize="70908401" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/9/5/6/7/4/E2EBeckmanMeijerRx_ch9.wmv" expression="full" duration="4383" fileSize="614943741" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/9/5/6/7/4/E2EBeckmanMeijerRx_2MB_ch9.wmv" expression="full" duration="4383" fileSize="1372208237" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/9/5/6/7/4/E2EBeckmanMeijerRx_Zune_ch9.wmv" expression="full" duration="4383" fileSize="621407721" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/9/5/6/7/4/E2EBeckmanMeijerRx_ch9.wmv" length="614943741" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>52</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Brian-Beckman-and-Erik-Meijer-Inside-the-NET-Reactive-Framework-Rx/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/476591/Trackback.aspx</trackback:ping><category>Brian Beckman</category><category>Erik Meijer</category><category>Expert to Expert</category><category>Monads</category><category>Programming</category><category>Reactive Extensions</category><category>Reactive Framework</category><category>Rx</category></item><item><title>Brian Beckman: On the General Theory of Channel 9 and Life in the Universe</title><description>&lt;img src="http://channel9.msdn.com/Link/3d581064-d77b-43bf-abd9-824d79855dc4/" border="0" /&gt;Brian Beckman, software architect and astrophysicist, discusses his General Theory of Channel 9, what Channel 9 means to him personally, his love for the Niner nation, the power of humanized corporate communication and life in the universe. :) &lt;br /&gt;
&lt;br /&gt;
Happy Birthday, Niners!!!&lt;br /&gt;
&lt;br /&gt;
Cheers!!&lt;img src="http://channel9.msdn.com/461866/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/Charles/Brian-Beckman-Happy-Birthday-Channel-9-and-Life-in-the-Universe/</comments><link>http://channel9.msdn.com/posts/Charles/Brian-Beckman-Happy-Birthday-Channel-9-and-Life-in-the-Universe/</link><pubDate>Mon, 06 Apr 2009 21:42:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/6/6/8/1/6/4/C9BDayBrianBeckman_ch9.wmv</guid><evnet:views>34702</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/461866/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Brian Beckman, software architect and astrophysicist, discusses his General Theory of Channel 9, what Channel 9 means to him personally, his love for the Niner nation, the power of humanized corporate communication and life in the universe. &lt;img src='/emoticons/C9/emotion-1.gif' alt='Smiley' /&gt; &lt;br /&gt;
&lt;br /&gt;
Happy Birthday, Niners!!!&lt;br /&gt;
&lt;br /&gt;
Cheers!!</evnet:previewtext><media:thumbnail url="http://channel9.msdn.com/Link/a602f8d6-45c2-48c7-b18b-86068bac392e/" height="240" width="320" /><media:thumbnail url="http://channel9.msdn.com/Link/3d581064-d77b-43bf-abd9-824d79855dc4/" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/6/6/8/1/6/4/C9BDayBrianBeckman_ch9.mp4" expression="full" duration="1041" fileSize="102787974" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/6/6/8/1/6/4/C9BDayBrianBeckman_ch9.mp3" expression="full" duration="1041" fileSize="8332980" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/6/6/8/1/6/4/C9BDayBrianBeckman_ch9.mp4" expression="full" duration="1041" fileSize="102787974" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/6/6/8/1/6/4/C9BDayBrianBeckman_ch9.wma" expression="full" duration="1041" fileSize="16863437" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/6/6/8/1/6/4/C9BDayBrianBeckman_ch9.wmv" expression="full" duration="1041" fileSize="63227689" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/6/6/8/1/6/4/C9BDayBrianBeckman_2MB_ch9.wmv" expression="full" duration="1041" fileSize="409364297" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/6/6/8/1/6/4/C9BDayBrianBeckman_Zune_ch9.wmv" expression="full" duration="1041" fileSize="82667669" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/6/6/8/1/6/4/C9BDayBrianBeckman_ch9.wmv" length="63227689" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>10</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/Charles/Brian-Beckman-Happy-Birthday-Channel-9-and-Life-in-the-Universe/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/461866/Trackback.aspx</trackback:ping><category>Brian Beckman</category><category>C9 Turns 5</category><category>Channel 9</category><category>Niners</category></item><item><title>Brian Beckman: The Zen of Stateless State - The State Monad - Part 2</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/3/4/4/4/BeckmanStateMonadPart2_small_ch9.jpg" border="0" /&gt;Concurrency is a problem that faces all developers as we move to the age of ManyCore processor architectures. Managing state is an important aspect of programming generally and for parallel programming especially. The great &lt;a href="http://channel9.msdn.com/tags/brian+beckman" target="_blank"&gt;Brian Beckman&lt;/a&gt; demonstrates three ways of labeling a binary tree with unique integer node numbers: (1) by hand, (2) non-monadically, but functionally, by threading an updating counter state variable through function arguments, and (3) monadically, by using a partially generalized state-monad implementation to handle the threading via composition. Of course during this lesson from one of the masters of mathematical programming, we wind through various conversational contexts, but always stay true to the default topic in a stateful monadic way (watch/listen to this piece to understand what this actually means :))&lt;br /&gt;
&lt;br /&gt;
This is another great conversation with astrophysicist and programming master Brian Beckman. Brian is one of the true human treasures of Microsoft. If you don't get mondas, this is a great primer. Even if you don't care about monadic data types, this is worth your time, especially if you write code for a living. This is part 2 of a 2 part series. &lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/Brian-Beckman-The-Zen-of-Expressing-State-The-State-Monad/" target="_blank"&gt;&lt;strong&gt;See part 1 here&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;.&lt;/strong&gt; &lt;br /&gt;
&lt;br /&gt;
Below, you will find several exercises for generalizing the constructions further. &lt;a href="http://mschnlnine.vo.llnwd.net/d1/ch9/StateMonad.zip" target="_blank"&gt;&lt;strong&gt;Here are the source files you need for playing with these algorithms in visual studio or your favorite Haskell environment&lt;/strong&gt;&lt;/a&gt;. Brian will monitor this thread so start your coding engines!!&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Exercise 1&lt;/b&gt;: generalize over the type of the state, from int&lt;br /&gt;
to &amp;lt;S&amp;gt;, say, so that the SM type can handle any kind of&lt;br /&gt;
state object. Start with Scp&amp;lt;T&amp;gt; --&amp;gt; Scp&amp;lt;S, T&amp;gt;, from&lt;br /&gt;
"label-content pair" to "state-content pair".
&lt;p&gt;&lt;b&gt;Exercise 2&lt;/b&gt;: go from labeling a tree to doing a constrained&lt;br /&gt;
container computation, as in WPF. Give everything a&lt;br /&gt;
bounding box, and size subtrees to fit inside their&lt;br /&gt;
parents, recursively.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Exercise 3&lt;/b&gt;: promote @return and @bind into an abstract&lt;br /&gt;
class "M" and make "SM" a subclass of that.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Exercise 4 (HARD)&lt;/b&gt;: go from binary tree to n-ary tree.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Exercise 5&lt;/b&gt;: Abstract from n-ary tree to IEnumerable; do&lt;br /&gt;
everything in LINQ! (Hint: SelectMany).&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Exercise 6&lt;/b&gt;: Go look up monadic parser combinators and&lt;br /&gt;
implement an elegant parser library on top of your new&lt;br /&gt;
state monad in LINQ.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Exercise 7&lt;/b&gt;: Verify the Monad laws, either abstractly&lt;br /&gt;
(pencil and paper), or mechnically, via a program, for the&lt;br /&gt;
state monad.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Exercise 8&lt;/b&gt;: Design an interface for the operators @return&lt;br /&gt;
and @bind and rewrite the state monad so that it implements&lt;br /&gt;
this interface. See if you can enforce the monad laws&lt;br /&gt;
(associativity of @bind, left identity of @return, right&lt;br /&gt;
identity of @return) in the interface implementation.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Exercise 9&lt;/b&gt;: Look up the List Monad and implement it so that it implements the same interface.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Exercise 10&lt;/b&gt;: deconstruct this entire example by using&lt;br /&gt;
destructive updates (assignment) in a discipline way that&lt;br /&gt;
treats the entire CLR and heap memory as an "ambient&lt;br /&gt;
monad." Identify the @return and @bind operators in this&lt;br /&gt;
monad, implement them explicitly both as virtual methods&lt;br /&gt;
and as interface methods.&lt;/p&gt;&lt;img src="http://channel9.msdn.com/444320/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/Brian-Beckman-The-Zen-of-Stateless-State-The-State-Monad-Part-2/</comments><link>http://channel9.msdn.com/shows/Going+Deep/Brian-Beckman-The-Zen-of-Stateless-State-The-State-Monad-Part-2/</link><pubDate>Thu, 20 Nov 2008 21:38:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/3/4/4/4/BeckmanStateMonadPart2_ch9.wmv</guid><evnet:views>93770</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/444320/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Concurrency is a problem that faces all developers as we move to the age of ManyCore processor architectures. Managing state is an important aspect of programming generally and for parallel programming especially. The great Brian Beckman demonstrates three ways of labeling a binary tree with unique integer node numbers: (1) by hand, (2) non-monadically, but functionally, by threading an updating counter state variable through function arguments, and (3) monadically, by using a partially generalized state-monad implementation to handle the threading via composition. Of course during this lesson from one of the masters of mathematical programming, we wind through various conversational contexts, but always stay true to the default topic in a stateful monadic way (watch/listen to this piece to understand what this actually means &lt;img src='/emoticons/C9/emotion-1.gif' alt='Smiley' /&gt;)This is another great conversation with astrophysicist and programming master Brian Beckman. Brian is one of the true human treasures of Microsoft. If you don't get mondas, this is a great primer. Even if you don't care about monadic data types, this is worth your time, especially if you write code for a living. This is part 2 of a 2 part series.</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/3/4/4/4/BeckmanStateMonadPart2_large_ch9.jpg" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/3/4/4/4/BeckmanStateMonadPart2_small_ch9.jpg" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/3/4/4/4/BeckmanStateMonadPart2_ch9.mp4" expression="full" duration="1483" fileSize="84221495" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/3/4/4/4/BeckmanStateMonadPart2_ch9.mp3" expression="full" duration="1483" fileSize="11869332" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/3/4/4/4/BeckmanStateMonadPart2_ch9.mp4" expression="full" duration="1483" fileSize="84221495" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/3/4/4/4/BeckmanStateMonadPart2_ch9.wma" expression="full" duration="1483" fileSize="12006387" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/3/4/4/4/BeckmanStateMonadPart2_ch9.wmv" expression="full" duration="1483" fileSize="94246695" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/3/4/4/4/BeckmanStateMonadPart2_2MB_ch9.wmv" expression="full" duration="1483" fileSize="464390843" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/3/4/4/4/BeckmanStateMonadPart2_Zune_ch9.wmv" expression="full" duration="1483" fileSize="117646755" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/3/4/4/4/BeckmanStateMonadPart2_ch9.wmv" length="94246695" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>3</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/Brian-Beckman-The-Zen-of-Stateless-State-The-State-Monad-Part-2/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/444320/Trackback.aspx</trackback:ping><category>Brian Beckman</category><category>Concurrency</category><category>Functional Programming</category><category>Monads</category><category>Parallel Computing</category><category>Programming</category></item><item><title>Brian Beckman: The Zen of Stateless State - The State Monad - Part 1</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/3/4/4/4/BeckmanStateMonadPart1_small_ch9.jpg" border="0" /&gt;Concurrency is a problem that faces all developers as we move to the age of ManyCore processor architectures. Managing state is an important aspect of programming generally and for parallel programming especially. The great &lt;a href="http://channel9.msdn.com/tags/brian+beckman" target="_blank"&gt;Brian Beckman&lt;/a&gt; demonstrates three ways of labeling a binary tree with unique integer node numbers: (1) by hand, (2) non-monadically, but functionally, by threading an updating counter state variable through function arguments, and (3) monadically, by using a partially generalized state-monad implementation to handle the threading via composition. Of course during this lesson from one of the masters of mathematical programming, we wind through various conversational contexts, but always stay true to the default topic in a stateful monadic way (watch/listen to this piece to understand what this actually means :))&lt;br /&gt;
&lt;br /&gt;
This is another great conversation with astrophysicist and programming master Brian Beckman. Brian is one of the true human treasures of Microsoft. If you don't get mondas, this is a great primer. Even if you don't care about monadic data types, this is worth your time, especially if you write code for a living. This is part 1 of a 2 part series.&lt;br /&gt;
 &lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/Brian-Beckman-The-Zen-of-Stateless-State-The-State-Monad-Part-2/" target="_blank"&gt;&lt;strong&gt;See Part 2 here&lt;/strong&gt;&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Included with this interview is &lt;a href="http://mschnlnine.vo.llnwd.net/d1/ch9/StateMonad.zip"&gt;a .zip file containing all of the code and diagrams Brian shows us &lt;/a&gt;(including both Haskell and C#). To understand the State Monad program, it may be best to start with Main, seeing how the various facilities are used, then backtrack through the code learning first the non-monadic tree labeler, starting with the function Label, then finally the monadic tree labeler, starting with the function MLabel.  &lt;br /&gt;
&lt;br /&gt;
Below, you will find several exercises for generalizing the constructions further. Brian will monitor this thread so start your coding engines!!&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Exercise 1&lt;/strong&gt;: generalize over the type of the state, from int$0 to &amp;lt;S&amp;gt;, say, so that the SM type can handle any kind of$0 state object. Start with Scp&amp;lt;T&amp;gt; --&amp;gt; Scp&amp;lt;S, T&amp;gt;, from "label-content pair" to "state-content pair".&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Exercise 2&lt;/strong&gt;: go from labeling a tree to doing a constrained$0 container computation, as in WPF. Give everything a$0 bounding box, and size subtrees to fit inside their$0 parents, recursively.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Exercise 3&lt;/strong&gt;: promote @return and @bind into an abstract$0 class "M" and make "SM" a subclass of that.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Exercise 4 (HARD)&lt;/strong&gt;: go from binary tree to n-ary tree.&lt;br /&gt;
&lt;br /&gt;
E&lt;strong&gt;xercise 5&lt;/strong&gt;: Abstract from n-ary tree to IEnumerable; do everything in LINQ! (Hint: SelectMany).&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Exercise 6&lt;/strong&gt;: Go look up monadic parser combinators and implement an elegant parser library on top of your new$0 state monad in LINQ.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Exercise 7&lt;/strong&gt;: Verify the Monad laws, either abstractly$0 (pencil and paper), or mechnically, via a program, for the state monad.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Exercise 8&lt;/strong&gt;: Design an interface for the operators @return and @bind and rewrite the state monad so that it implements this interface. See if you can enforce the monad laws (associativity of @bind, left identity of @return, right identity of @return) in the interface implementation.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Exercise 9&lt;/strong&gt;: Look up the List Monad and implement it so that it implements the same interface.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Exercise 10&lt;/strong&gt;: deconstruct this entire example by using destructive updates (assignment) in a discipline way that treats the entire CLR and heap memory as an "ambient monad." Identify the @return and @bind operators in this monad, implement them explicitly both as virtual methods and as interface methods.&lt;img src="http://channel9.msdn.com/443798/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/Brian-Beckman-The-Zen-of-Expressing-State-The-State-Monad/</comments><link>http://channel9.msdn.com/shows/Going+Deep/Brian-Beckman-The-Zen-of-Expressing-State-The-State-Monad/</link><pubDate>Thu, 20 Nov 2008 21:36:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/3/4/4/4/BeckmanStateMonadPart1_ch9.wmv</guid><evnet:views>96282</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/443798/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>The great Brian Beckman demonstrates three ways of labeling a binary tree with unique integer node numbers: (1) by hand, (2) non-monadically, but functionally, by threading an updating counter state variable through function arguments, and (3) monadically, by using a partially generalized state-monad implementation to handle the threading via composition. Another great conversation with astrophysicist and programming master Brian Beckman. Brian is one of the true human treasures of Microsoft. If you don't get mondas, this is a great primer. Even if you don't care about monadic data types, this is worth your time, especially if you write code for a living.</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/3/4/4/4/BeckmanStateMonadPart1_large_ch9.jpg" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/3/4/4/4/BeckmanStateMonadPart1_small_ch9.jpg" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/3/4/4/4/BeckmanStateMonadPart1_ch9.mp4" expression="full" duration="2534" fileSize="143848224" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/3/4/4/4/BeckmanStateMonadPart1_ch9.mp3" expression="full" duration="2534" fileSize="20278462" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/3/4/4/4/BeckmanStateMonadPart1_ch9.mp4" expression="full" duration="2534" fileSize="143848224" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/3/4/4/4/BeckmanStateMonadPart1_ch9.wma" expression="full" duration="2534" fileSize="20504703" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/3/4/4/4/BeckmanStateMonadPart1_ch9.wmv" expression="full" duration="2534" fileSize="160874361" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/3/4/4/4/BeckmanStateMonadPart1_2MB_ch9.wmv" expression="full" duration="2534" fileSize="793373149" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/3/4/4/4/BeckmanStateMonadPart1_Zune_ch9.wmv" expression="full" duration="2534" fileSize="200917061" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/3/4/4/4/BeckmanStateMonadPart1_ch9.wmv" length="160874361" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>47</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/Brian-Beckman-The-Zen-of-Expressing-State-The-State-Monad/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/443798/Trackback.aspx</trackback:ping><category>Brian Beckman</category><category>Concurrency</category><category>Functional Programming</category><category>Monads</category><category>Parallel Computing</category><category>Programming</category></item><item><title>Brian Beckman Does Higher Algebra with Visual Basic</title><description>&lt;P&gt;In this interview, Brian Beckman, Principal Developer (currently working with Erik Meijer), attempts to teach me higher algebra using Visual Basic, generics, and operator overloading. Brian is a wonderful person and brilliant physicist and we have a lot of fun with vectors and matrices and VB. I actually think I understood some of what Brian showed me ;). &lt;BR&gt;&lt;BR&gt;Visual Basic is a great language for mathematics as well as all kinds of other applications.&amp;nbsp;Brian makes the point&amp;nbsp;that he has fun coding in VB because of its intuitive style and how easy it is to be immediately productive.&amp;nbsp;Check out &lt;A class="" href="http://blogs.msdn.com/vbteam/archive/2007/12/19/higher-algebra-with-operator-overloads-brian-beckman.aspx" target=_blank&gt;Brian's blog post&lt;/A&gt; on the &lt;a href="http://blogs.msdn.com/vbteam/"&gt;VB Team blog&lt;/a&gt;! And for all you abstract algebra aficionados, &lt;A class="" href="http://wrofeq.bay.livefilestore.com/y1pi__YcVhyovwgv0CHgXJmFjt5Suuy1lOhmLkGupZ0OLPm-qg22wRIBXV_nF0ezBXytE8OmoLRBRJZImw6Wi0cbw/LinearAlgebra.zip?download"&gt;here's the code to play with&lt;/A&gt;. &lt;BR&gt;&lt;BR&gt;Enjoy,&lt;BR&gt;-&lt;A class="" href="http://blogs.msdn.com/bethmassi/" target=_blank /&gt;Beth Massi&lt;/A&gt;, VS Community&lt;/P&gt;&lt;img src="http://channel9.msdn.com/259798/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/funkyonex/Brian-Beckman-Does-Higher-Algebra-with-Visual-Basic/</comments><link>http://channel9.msdn.com/posts/funkyonex/Brian-Beckman-Does-Higher-Algebra-with-Visual-Basic/</link><pubDate>Wed, 19 Dec 2007 16:19:29 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/posts/funkyonex/Brian-Beckman-Does-Higher-Algebra-with-Visual-Basic/</guid><evnet:views>9530</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/259798/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>In this interview, Brian Beckman, Principal Developer (currently working with Erik Meijer), attempts to teach me higher algebra using Visual Basic, generics, and operator overloading. Brian is a wonderful person and brilliant physicist and we have a lot of fun with vectors and matrices and VB. I actually think I understood some of what Brian showed me &lt;img src='/emoticons/C9/emotion-5.gif' alt='Wink' /&gt;. Visual Basic is a great language for mathematics as well as all kinds of other applications.&amp;nbsp;Brian makes the point&amp;nbsp;that he has fun coding in VB because of its intuitive style and how easy it is to be immediately&amp;#8230;</evnet:previewtext><media:thumbnail url="http://channel9.msdn.com/Link/9e245542-99e6-4f14-9b0b-06497e56d646/" height="240" width="320" /><media:thumbnail url="http://channel9.msdn.com/Link/2a2e281d-e6eb-4dd1-b661-558a91f890ab/" height="240" width="320" /><media:thumbnail url="http://channel9.msdn.com/Link/bac52020-d48f-46cb-aa87-cf132b360e6e/" height="240" width="320" /><media:thumbnail url="http://channel9.msdn.com/Link/2e039316-221d-47a9-bc5b-d3ed2e350a72/" height="64" width="85" /><media:thumbnail url="http://channel9.msdn.com/Link/8f6d31ad-6446-4872-b20e-13b47f94b84a/" height="64" width="85" /><media:thumbnail url="http://channel9.msdn.com/Link/f561ae69-06e5-4574-90f4-41ee088ce974/" height="64" width="85" /><media:group><media:content isDefault="true" url="http://download.microsoft.com/download/0/8/6/08671109-4b72-4e34-8470-680c8918e907/BrianBeckman.wmv" expression="full" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/9/7/9/5/2/367090.jpg" expression="full" type="image/jpeg" medium="image" /></media:group><enclosure url="http://download.microsoft.com/download/0/8/6/08671109-4b72-4e34-8470-680c8918e907/BrianBeckman.wmv" length="1" type="video/x-ms-wmv" /><dc:creator>Beth Massi</dc:creator><slash:comments>3</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/funkyonex/Brian-Beckman-Does-Higher-Algebra-with-Visual-Basic/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/259798/Trackback.aspx</trackback:ping><category>Brian Beckman</category><category>VB Team</category><category>VB.NET</category></item><item><title>Expert to Expert: Brian Beckman and Sam Druker - Deep Entity Framework</title><description>&lt;P&gt;You've seen a few conversations on Channel 9 about Microsoft's &lt;a href="http://channel9.msdn.com/tags/Entity+Framework&gt;Entity Framework&lt;/a&gt;. Well, it's time for another one, but with a new twist...&lt;BR&gt;&lt;BR&gt;&lt;a href="http://channel9.msdn.com/tags/Brian+Beckman&gt;Brian Beckman&lt;/a&gt;&amp;nbsp;recently had a deep technical&amp;nbsp;chat with Sam Druker about the Entity Framework data model&amp;nbsp;and related technologies. &lt;BR&gt;&lt;BR&gt;Sam is GM of the Data Programmability Group at Microsoft and also happens to be Brian's boss and former programming colleague. Sam's a &lt;EM&gt;very&lt;/EM&gt; technically-inclined executive... He has to be considering he's a leader in the Microsoft group that makes SQL and the plethora of data-related platform technologies, not to mention that he has to manage the likes of Erik Meijer and Brian Beckman.&lt;BR&gt;&lt;BR&gt;This interview is great for two simple reasons. The first reason is that, well, it's a &lt;EM&gt;great&lt;/EM&gt; (and &lt;EM&gt;deep&lt;/EM&gt;, &lt;STRONG&gt;including whiteboarding&lt;/STRONG&gt;) conversation between experts that spans many technologies related to SQL and the Entity Framework. &lt;BR&gt;&lt;BR&gt;The second reason is that this is the first in a series of interviews on Channel 9 that&lt;EM&gt; involve experts in one domain (or many domains, like Brian) who interview other experts in another domain that is not well understood by the interviewer &lt;/EM&gt;(so, in this case, for example, the venerable Brian Beckman&amp;nbsp;really does not ask any questions that he already knows the answer to. Brian is not an expert in EF, but possesses a very unique perspective in this case given his mathematical tendencies and expert level understanding of things like set theory...)&lt;EM&gt;.&lt;/EM&gt; Yours truly, Charles,&amp;nbsp;takes part in the conversation of course, but I'm mainly a camera guy who throws in a random&amp;nbsp;question once and a while. Brian drives this interview. &lt;BR&gt;&lt;BR&gt;Like you, I'm in the audience and learning from people who truly understand the deepest levels of a given platform technology. Again, Brian Beckman &lt;EM&gt;conducts&lt;/EM&gt; this interview and I think this is&amp;nbsp;a trend you are going to &lt;EM&gt;really&lt;/EM&gt; enjoy. &lt;BR&gt;&lt;BR&gt;Thank you, Brian and Sam!&lt;BR&gt;&lt;BR&gt;You'll see more of this class of interview in the future on Channel 9.&lt;BR&gt;&lt;BR&gt;Learn. Enjoy.&lt;/P&gt;&lt;img src="http://channel9.msdn.com/249565/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Brian-Beckman-and-Sam-Druker-Deep-Entity-Framework/</comments><link>http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Brian-Beckman-and-Sam-Druker-Deep-Entity-Framework/</link><pubDate>Wed, 05 Dec 2007 16:53:29 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Brian-Beckman-and-Sam-Druker-Deep-Entity-Framework/</guid><evnet:views>23790</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/249565/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>You've seen a few conversations on Channel 9 about Microsoft's Entity Framework. Well, it's time for another one, but with a new twist...Brian Beckman&amp;nbsp;recently had a deep technical&amp;nbsp;chat with Sam Druker about the Entity Framework data model&amp;nbsp;and related technologies. Sam is GM of the Data Programmability Group at Microsoft and also happens to be Brian's boss and former programming colleague. Sam's a very technically-inclined executive... He has to be considering he's a leader in the Microsoft group that makes SQL and the plethora of data-related platform technologies, not to&amp;#8230;</evnet:previewtext><media:thumbnail url="http://channel9.msdn.com/Link/fb0733e4-e306-4200-ac65-3872a6d6e51e/" height="240" width="320" /><media:thumbnail url="http://channel9.msdn.com/Link/814e7065-e10d-4758-8e3f-a0d51871d95e/" height="240" width="320" /><media:thumbnail url="http://channel9.msdn.com/Link/f78f617c-700b-4f5e-aca4-cd43be41716c/" height="240" width="320" /><media:thumbnail url="http://channel9.msdn.com/Link/db4e155b-394f-49c3-97b1-dcc8c67cf8b1/" height="64" width="85" /><media:thumbnail url="http://channel9.msdn.com/Link/a4a4228b-3915-42a2-9d23-bcd4c73f4fed/" height="64" width="85" /><media:thumbnail url="http://channel9.msdn.com/Link/4ce630e9-f1b1-4ec0-bd3b-9cd24b65e1a3/" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/BeckmanDrukkerEF_ch9.mp3" expression="full" duration="3821" type="audio/mp3" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/BeckmanDrukkerEF_ch9.wma" expression="full" duration="3821" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/Beckman_Drukker_EF.wmv" expression="full" duration="3821" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/Beckman_Drukker_EF.wmv" length="1" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>20</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Brian-Beckman-and-Sam-Druker-Deep-Entity-Framework/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/249565/Trackback.aspx</trackback:ping><category>ADO.NET</category><category>Architecture</category><category>Brian Beckman</category><category>Computing</category><category>Entity Framework</category><category>Expert to Expert</category><category>SQL Server</category></item><item><title>Brian Beckman: Don't fear the Monad</title><description>Functional programming is increasing in popularity these days given the inherent problems with shared mutable state that is rife in the imperative world. As we march on to a world of multi and many-core chipsets, software engineering must evolve to better equip software engineers with the tools to exploit the vast power of multiple core processors as it won't come for free as it did in the recent past which was predictably based on Moore's law.&lt;br /&gt;
&lt;br /&gt;
Of course, learning new ways to think about programming semantics and code patterns are not always straight forward. For example, most imperative programmers (which include most of us who build software for a living...) are somewhat perplexed by the notion of functions as first class data structures that can be combined to create powerful and composable systems. Languages like Haskell are pure functional languages and require programmers to think in a different way, often in a precise mathematical fashion where composing and chaining functions is "the Way". &lt;br /&gt;
&lt;br /&gt;
Dr. &lt;a href="http://channel9.msdn.com/tags/Brian+Beckmanshape="&gt;Brian Beckman&lt;/a&gt;, a Channel 9 celebrity, astrophysicist and senior software engineer thought it would be a very good idea to address the complexity of &lt;a href="http://en.wikipedia.org/wiki/Monads_in_functional_programming"&gt;monads&lt;/a&gt; in an easy to understand way: a technical conversation at the whiteboard with yours truly for Channel 9. &lt;br /&gt;
&lt;br /&gt;
This video interview is the result of Brian's idea that he can in fact remove the fear of monads from anybody who pays attention to his explanation. Of course, you can't just cover monads in a vacuum (category theory is not really addressed here) so the context is &lt;em&gt;functional programming&lt;/em&gt; (Brian covers functions and composable functional structures (function chains) and of course monoids and then monads).&lt;br /&gt;
&lt;br /&gt;
Tune in. There's a lot to learn here and only Brian can make monads easy to understand for the rest of us!&lt;br /&gt;
&lt;br /&gt;
Happy Thanksgiving to all the US Niners out there.&lt;br /&gt;
&lt;br /&gt;
Enjoy.&lt;img src="http://channel9.msdn.com/249560/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/Brian-Beckman-Dont-fear-the-Monads/</comments><link>http://channel9.msdn.com/shows/Going+Deep/Brian-Beckman-Dont-fear-the-Monads/</link><pubDate>Thu, 22 Nov 2007 18:28:00 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/shows/Going+Deep/Brian-Beckman-Dont-fear-the-Monads/</guid><evnet:views>53775</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/249560/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Functional programming is increasing in popularity these days given the inherent problems with shared mutable state that is rife in the imperative world. As we march on to a world of multi and many-core chipsets, software engineering must evolve to better equip software engineers with the tools to exploit the vast power of multiple core processors as it won't come for free as it did in the recent past which was predictably based on Moore's law.Of course, learning new ways to think about programming semantics and code patterns are not always straight forward. For example, most imperative…</evnet:previewtext><media:thumbnail url="http://channel9.msdn.com/Link/6dcfbd46-1e71-4490-b4c2-7e73fc35e02b/" height="240" width="320" /><media:thumbnail url="http://channel9.msdn.com/Link/974f44aa-8a8b-481d-9d16-cb438d3b603f/" height="240" width="320" /><media:thumbnail url="http://channel9.msdn.com/Link/1e2668cf-a66a-410f-8d70-6c51bba5093b/" height="240" width="320" /><media:thumbnail url="http://channel9.msdn.com/Link/3f15b5b3-38fd-46a2-acdc-2f109ad72d05/" height="64" width="85" /><media:thumbnail url="http://channel9.msdn.com/Link/54c44fe1-e452-4c3d-91cf-3561068d93fe/" height="64" width="85" /><media:thumbnail url="http://channel9.msdn.com/Link/81f91bc5-c998-4b83-a52f-85256ddaac16/" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/Beckman_OnMonoids_NoFear_ch9.mp3" expression="full" duration="4029" fileSize="32239908" type="audio/mp3" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/Beckman_OnMonoids_NoFear_ch9.wma" expression="full" duration="4029" fileSize="32598459" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/Beckman_On_Monads.wmv" expression="full" duration="4029" fileSize="1261286119" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/Beckman_On_Monads.wmv" length="1261286119" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>54</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/Brian-Beckman-Dont-fear-the-Monads/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/249560/Trackback.aspx</trackback:ping><category>Brian Beckman</category><category>Functional Programming</category><category>Monads</category><category>MS Personalities</category><category>Programming</category><category>Software Composability</category></item><item><title>Brian Beckman: A Brief History of Computing</title><description>I recently got the chance to sit down with &lt;a href="http://lorentzframe.blogspot.com/"&gt;Brian Beckman&lt;/a&gt;, physicist, programmer and &lt;a href="http://channel9.msdn.com/tags/Brian+Beckman&gt;Channel 9 celebrity&lt;/a&gt;, to learn about the history of computing. As you know, Brian is a great teacher. This lesson focuses on the evolution of computing devices and delves into some of the not-so-obvious uses of hand-held programmable calculators in the not-so-distant past. &lt;BR&gt;&lt;BR&gt;Did you know that the 1975 &lt;a href="http://www.hq.nasa.gov/office/pao/History/apollo/apsoyhist.html"&gt;Apollo Soyuz&lt;/a&gt; international space mission incorporated a programmable calculator, the &lt;a href="http://www.hpmuseum.org/hp65.htm"&gt;HP-65&lt;/a&gt;,&amp;nbsp;to calculate precise course corrections for the rendezvous and linking of Apollo and Soyuz space crafts? A calculator!! Indeed, programmable calculators are the predecessors of today's computers. But what came before the hand-held computing titans of the 70s? What was the first computer? &lt;BR&gt;&lt;BR&gt;Brian has quite a collection of computing devices in his office, some of which, as expected, predate digital devices. We get a look at these and learn about their place in history. &lt;BR&gt;&lt;BR&gt;Of course, Brian is a software developer with uncanny capability for designing accurate simulations (remember the &lt;a href="http://channel9.msdn.com/ShowPost.aspx?PostID=314874&gt;Forza math interview&lt;/a&gt;?)&amp;nbsp;so he decided to write an innovative application that simulates the HP-97, precisely. Brian works on the Data Programmability team (SQL, LINQ, Entity Framework, etc) so he implemented the HP-97's programmability and storage in ADO.NET and SQL. Brian will be producing a &lt;a href="http://channel9.msdn.com/showforum.aspx?forumid=38&gt;C9 Screencast&lt;/a&gt; to dig into what he did, so look for this showing up soon!&lt;BR&gt;&lt;BR&gt;As always, it was a pleasure to converse with Brian and learn about how computers got to where they are today. It's a long interview, so get comfortable, relax, and learn from a master.&lt;img src="http://channel9.msdn.com/249485/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/Charles/Brian-Beckman-A-Brief-History-of-Computing/</comments><link>http://channel9.msdn.com/posts/Charles/Brian-Beckman-A-Brief-History-of-Computing/</link><pubDate>Fri, 31 Aug 2007 18:07:18 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/posts/Charles/Brian-Beckman-A-Brief-History-of-Computing/</guid><evnet:views>25422</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/249485/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>I recently got the chance to sit down with Brian Beckman, physicist, programmer and Channel 9 celebrity, to learn about the history of computing. As you know, Brian is a great teacher. This lesson focuses on the evolution of computing devices and delves into some of the not-so-obvious uses of hand-held programmable calculators in the not-so-distant past. Did you know that the 1975 Apollo Soyuz international space mission incorporated a programmable calculator, the HP-65,&amp;nbsp;to calculate precise course corrections for the rendezvous and linking of Apollo and Soyuz space crafts? A calculator!!&amp;#8230;</evnet:previewtext><media:thumbnail url="http://channel9.msdn.com/Link/7293d4ef-71fd-444c-959b-c2733ac59309/" height="240" width="320" /><media:thumbnail url="http://channel9.msdn.com/Link/9f5bf830-10ff-4864-9bd6-d34a89e7ea8b/" height="240" width="320" /><media:thumbnail url="http://channel9.msdn.com/Link/f88645e5-b0d4-4940-8283-39bb3c73e2b2/" height="240" width="320" /><media:thumbnail url="http://channel9.msdn.com/Link/3cadc9f4-b3d7-4cb6-9f40-484c452f3d5d/" height="64" width="85" /><media:thumbnail url="http://channel9.msdn.com/Link/0ee03abd-dab8-40f2-bcde-4d19a16b7dc4/" height="64" width="85" /><media:thumbnail url="http://channel9.msdn.com/Link/81077c13-ed27-4c85-9d7d-d572ba06b427/" height="64" width="85" /><media:group><media:content url="http://download.microsoft.com/download/1/6/a/16a40371-2ee5-4f03-a997-1a084e150638/Beckman_HistoryOfComputing_ch9.mp3" expression="full" duration="4187" type="audio/mp3" medium="audio" /><media:content isDefault="true" url="http://download.microsoft.com/download/1/6/a/16a40371-2ee5-4f03-a997-1a084e150638/Beckman_HistoryOfComputing_ch9.wma" expression="full" duration="4187" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://download.microsoft.com/download/1/6/a/16a40371-2ee5-4f03-a997-1a084e150638/Beckman_ComputingHistory.wmv" expression="full" duration="4187" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://download.microsoft.com/download/1/6/a/16a40371-2ee5-4f03-a997-1a084e150638/Beckman_ComputingHistory.wmv" length="1" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>24</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/Charles/Brian-Beckman-A-Brief-History-of-Computing/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/249485/Trackback.aspx</trackback:ping><category>ADO.NET</category><category>Brian Beckman</category><category>Computing</category><category>MS Personalities</category><category>SQL Server</category></item><item><title>Brian Beckman: The Physics in Games - Real-Time Simulation Explained</title><description>Ever find yourself wondering about the math behind your favorite simulation game? Did you know that the motion physics of a car are much more complicated than the&amp;nbsp;those of an airplane? &lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lorentzframe.blogspot.com"&gt;Brian Beckman&lt;/a&gt;, physicist, programmer and Channel 9 celebrity (he's been on C9 a few times...), sure does. Besides spending time innovating programming languages and tools, Brian spends time working on the mathematics behind real-time physics simulation. Most recently, he worked on the math behind the tire physics of the popular racing game &lt;a href="http://games.teamxbox.com/xbox/902/Forza-Motorsport/"&gt;Forza&lt;/a&gt;. &lt;br /&gt;
&lt;br /&gt;
Simulation, by definition, needs to be accurate. Otherwise, well, it's not simulating reality, really, which is of course the idea of simulation. Games like &lt;a href="http://games.teamxbox.com/xbox/902/Forza-Motorsport/"&gt;Forza&lt;/a&gt; in fact simulate &lt;em&gt;real&lt;/em&gt; &lt;a href="http://phors.locost7.info/"&gt;physics of racing&lt;/a&gt; in a predictable and highly mathematically precise manner.&amp;nbsp;That's exactly why Forza is&amp;nbsp;a real-time&amp;nbsp;automobile&amp;nbsp;racing simulation game.&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
The past, present and future of computer simulation of real-time physical events, or simply computer-based simulations that involve highly accurate representations of things moving/changing in space and time that are precisely affected by multiple variables like wind, rain, gravity, mud, oil, planets, waves, etc are very fascinating topics for gamers(many&amp;nbsp;may not&amp;nbsp;realize&amp;nbsp;this explicitly, but they sure experience it!), mathematicians, programmers and physicists alike. Heck, any body who thinks about the thinking behind things that they experience in a simulated environment should watch/listen to this interview (available in &lt;a href="http://download.microsoft.com/download/9/b/0/9b0d4f77-7c76-42d9-a0e9-fa3b028703d3/Beckman_GamePhysics_ch9.mp3"&gt;podcast &lt;/a&gt;form as well as video). &lt;br /&gt;
&lt;br /&gt;
Towards the end of this conversation, Brian mentions &lt;a href="http://rigsofrods.blogspot.com"&gt;Rigs of Rods&lt;/a&gt; and &lt;a href="http://www.plasmapong.com/"&gt;Plasma Pong&lt;/a&gt;. Check out the Rigs of Rods simulation demo at 00:58:11! &lt;br /&gt;
&lt;br /&gt;
Our sister site, &lt;a href="http://on10.net"&gt;Channel 10&lt;/a&gt;, has a &lt;a href="http://on10.net/Blogs/tina/the-driver-behind-forza-2/"&gt;great Forza piece&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Tune in. Learn (alot).&lt;img src="http://channel9.msdn.com/249399/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/Charles/Brian-Beckman-The-Physics-in-Games-Real-Time-Simulation-Explained/</comments><link>http://channel9.msdn.com/posts/Charles/Brian-Beckman-The-Physics-in-Games-Real-Time-Simulation-Explained/</link><pubDate>Sat, 09 Jun 2007 01:53:00 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/posts/Charles/Brian-Beckman-The-Physics-in-Games-Real-Time-Simulation-Explained/</guid><evnet:views>64695</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/249399/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Ever find yourself wondering about the math behind your favorite simulation game? Did you know that the motion physics of a car are much more complicated than the&amp;nbsp;those of an airplane? Brian Beckman, physicist, programmer and Channel 9 celebrity (he's been on C9 a few times...), sure does. Besides spending time innovating programming languages and tools, Brian spends time working on the mathematics behind real-time physics simulation. Most recently, he worked on the math behind the tire physics of the popular racing game Forza. Simulation, by definition, needs to be accurate. Otherwise,…</evnet:previewtext><media:thumbnail url="http://channel9.msdn.com/Link/d8c36df2-86da-48b9-8004-a45e87ef4aa7/" height="240" width="320" /><media:thumbnail url="http://channel9.msdn.com/Link/3c71b813-baef-467f-8089-563d2b724df0/" height="240" width="320" /><media:thumbnail url="http://channel9.msdn.com/Link/ed417a55-9dcb-4009-8c58-57e4f3d3224c/" height="240" width="320" /><media:thumbnail url="http://channel9.msdn.com/Link/b8fd1190-b499-4143-a8fe-dadb6777e268/" height="64" width="85" /><media:thumbnail url="http://channel9.msdn.com/Link/e8cf89c2-c3bd-4afb-8284-4981df957d71/" height="64" width="85" /><media:thumbnail url="http://channel9.msdn.com/Link/3602bdca-8106-4250-9ca5-2897698908a9/" height="64" width="85" /><media:group><media:content url="http://download.microsoft.com/download/9/b/0/9b0d4f77-7c76-42d9-a0e9-fa3b028703d3/Beckman_GamePhysics_ch9.mp3" expression="full" duration="4385" fileSize="35087046" type="audio/mp3" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/4/7/8/4/1/3/Beckman_GamePhysics.wmv" expression="full" duration="4385" fileSize="604528231" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/4/7/8/4/1/3/Beckman_GamePhysics.wmv" expression="full" duration="4385" fileSize="604528231" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/4/7/8/4/1/3/Beckman_GamePhysics.wmv" length="604528231" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>24</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/Charles/Brian-Beckman-The-Physics-in-Games-Real-Time-Simulation-Explained/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/249399/Trackback.aspx</trackback:ping><category>Brian Beckman</category><category>Flight Simulator</category><category>Forza</category><category>MS Personalities</category><category>Programming</category><category>Simulation</category></item><item><title>Anders Hejlsberg, Herb Sutter, Erik Meijer, Brian Beckman: Software Composability and the Future of </title><description>How will imperative programming languages evolve to suit the needs of developers in the age of Concurrency and Composability? What role can programming languages play in enabling true composability? What are the implications of LINQ on the furture of managed (CLS-based) and unmanaged(C++) languages? How will our imperative languages (static) become more functional (dynamic) in nature while preserving their static "experience" for developers? &lt;br /&gt;
&lt;br /&gt;
Answers to these questions and much more are to be found in this interview with some of Microsoft's leading language designers and programming thought leaders: Anders Hejlsberg, Technical Fellow and Chief Architect of C#, Herb Sutter, Architect in the C++ language design group, Erik Meijer, Architect in both VB.Net and C# language design and programming language guru, and Brian Beckman, physicist and programming language architect working on VB.Net.&lt;br /&gt;
&lt;br /&gt;
This is a &lt;em&gt;great&lt;/em&gt; conversation with some of the industry's most influential programming language designers. Tune in. You may be surprised by what you learn...&lt;img src="http://channel9.msdn.com/249250/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/Anders-Hejlsberg-Herb-Sutter-Erik-Meijer-Brian-Beckman-Software-Composability-and-the-Future-of/</comments><link>http://channel9.msdn.com/shows/Going+Deep/Anders-Hejlsberg-Herb-Sutter-Erik-Meijer-Brian-Beckman-Software-Composability-and-the-Future-of/</link><pubDate>Fri, 19 Jan 2007 04:32:00 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/shows/Going+Deep/Anders-Hejlsberg-Herb-Sutter-Erik-Meijer-Brian-Beckman-Software-Composability-and-the-Future-of/</guid><evnet:views>88939</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/249250/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>How will imperative programming languages evolve to suit the needs of developers in the age of Concurrency and Composability? What role can programming languages play in enabling true composability? What are the implications of LINQ on the furture of managed (CLS-based) and unmanaged(C++) languages? How will our imperative languages (static) become more functional (dynamic) in nature while preserving their static "experience" for developers? Answers to these questions and much more are to be found in this interview with some of Microsoft's leading language designers and…</evnet:previewtext><media:thumbnail url="http://channel9.msdn.com/Link/660d6157-b89c-40fe-b5b3-c6182db1553c/" height="240" width="320" /><media:thumbnail url="http://channel9.msdn.com/Link/6f7c0390-31b5-4f57-9573-ec8acb9d9238/" height="240" width="320" /><media:thumbnail url="http://channel9.msdn.com/Link/25798104-0463-4256-9d32-1ce4e9add622/" height="64" width="85" /><media:thumbnail url="http://channel9.msdn.com/Link/8c3b523b-14ff-47f2-9494-335f0976fa91/" height="64" width="85" /><media:group><media:content url="http://download.microsoft.com/download/5/3/0/53045472-d18a-4f78-bef6-2f811ef77be5/LanguageEvolution_ch9.mp3" expression="full" duration="3372" fileSize="26983444" type="audio/mp3" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/9/6/3/7/2/LanguageEvolution.wmv" expression="full" duration="3372" fileSize="464938153" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/9/6/3/7/2/LanguageEvolution.wmv" expression="full" duration="3372" fileSize="464938153" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/9/6/3/7/2/LanguageEvolution.wmv" length="464938153" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>36</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/Anders-Hejlsberg-Herb-Sutter-Erik-Meijer-Brian-Beckman-Software-Composability-and-the-Future-of/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/249250/Trackback.aspx</trackback:ping><category>Anders Hejlsberg</category><category>Brian Beckman</category><category>C++</category><category>CSharp</category><category>Erik Meijer</category><category>FSharp</category><category>LINQ</category><category>MS Personalities</category><category>MS Research</category><category>Software Composability</category><category>VB.NET</category></item><item><title>Brian Beckman: Monads, Monoids, and Mort</title><description>Brian Beckman is a fascinating individual. Ex-cosmologist, ex-military operating system and simulation developer (have you ever considered processes that move both forward and backward in time? Well, Brian and team at JPL created just that. He explains in this interview...).&amp;nbsp;Brian was one of the first members of Microsoft Research and one of a group of physicists who joined Microsoft in the early 90s. At Microsoft he is a passionate advocate for Mort, the somewhat ambiguous class name for novice developers. In fact, he considers himself a mort (somewhat hard to believe, honestly, but we'll go along with it...). His team works on innovative incubation projects that turn into developer platform features (like LINQ, for example) and more. Tune in&amp;nbsp;to this very interesting interview.&amp;nbsp;&lt;BR&gt;&lt;BR&gt;&lt;a href="http://weblogs.asp.net/brianbec/"&gt;Brainbec's Weblog&lt;/a&gt;&lt;BR&gt;&lt;img src="http://channel9.msdn.com/225190/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/Charles/Brian-Beckman-Monads-Monoids-and-Mort/</comments><link>http://channel9.msdn.com/posts/Charles/Brian-Beckman-Monads-Monoids-and-Mort/</link><pubDate>Tue, 29 Aug 2006 17:34:24 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/posts/Charles/Brian-Beckman-Monads-Monoids-and-Mort/</guid><evnet:views>61423</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/225190/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Brian Beckman is a fascinating individual. Ex-cosmologist, ex-military operating system and simulation developer (have you ever considered processes that move both forward and backward in time? Well, Brian and team at JPL created just that. He explains in this interview...).&amp;nbsp;Brian was one of the first members of Microsoft Research and one of a group of physicists who joined Microsoft in the early 90s. At Microsoft he is a passionate advocate for Mort, the somewhat ambiguous class name for novice developers. In fact, he considers himself a mort (somewhat hard to believe, honestly, but&amp;#8230;</evnet:previewtext><media:thumbnail url="http://channel9.msdn.com/Link/743d93cf-bd86-45ee-b920-f236a55f2d28/" height="240" width="320" /><media:thumbnail url="http://channel9.msdn.com/Link/af8524e6-0cc2-4a44-8705-68fd52ed9a14/" height="240" width="320" /><media:thumbnail url="http://channel9.msdn.com/Link/4f70261f-ce4a-44bc-b879-923683f922c5/" height="64" width="85" /><media:thumbnail url="http://channel9.msdn.com/Link/83958c83-15e3-4c61-87c2-070579ec5f94/" height="64" width="85" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/3/4/0/3/2/BrianBeckman.wmv" expression="full" type="video/x-ms-wmv" medium="video" /><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/3/4/0/3/2/BrianBeckman.wmv" length="1" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>32</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/Charles/Brian-Beckman-Monads-Monoids-and-Mort/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/225190/Trackback.aspx</trackback:ping><category>ADO.NET</category><category>Brian Beckman</category><category>LINQ</category><category>Monads</category><category>MS Personalities</category><category>MS Research</category><category>Software Composability</category><category>VB.NET</category></item></channel></rss>