<?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 erik meijer - Channel 9</title><atom:link rel="self" type="application/rss+xml" href="http://channel9.msdn.com/tags/erik+meijer/rss/default.aspx" /><image><url>http://mschnlnine.vo.llnwd.net/d1/Dev/App_Themes/C9/images/feedimage.png</url><title>Entries tagged with erik meijer - Channel 9</title><link>http://channel9.msdn.com/tags/Erik+Meijer/</link></image><description>erik meijer</description><link>http://channel9.msdn.com/tags/Erik+Meijer/</link><language>en-us</language><pubDate>Wed, 11 Nov 2009 00:32:12 GMT</pubDate><lastBuildDate>Wed, 11 Nov 2009 00:32:12 GMT</lastBuildDate><generator>EvNet (EvNet, Version=1.0.3608.3122, Culture=neutral, PublicKeyToken=null)</generator><item><title>C9 Lectures: Dr. Erik Meijer - Functional Programming Fundamentals Chapter 8 of 13</title><description>&lt;img src="http://ecn.channel9.msdn.com/o9/ch9/1/1/2/4/0/5/C9LecturesMeijerC8_85_ch9.png" border="0" /&gt;We've kicked off &lt;a href="http://channel9.msdn.com/tags/C9+Lectures" target="_blank"&gt;C9 Lectures&lt;/a&gt; with a journey into the world of Functional Programming with functional language purist and high priest of the lambda calculus, Dr. &lt;a href="http://research.microsoft.com/~emeijer/" target="_blank"&gt;Erik Meijer&lt;/a&gt; (you can thank Erik for many of the functional constructs that have shown up in languages like C# and VB.NET. When you use LINQ, thank Erik in addition to Anders). &lt;br /&gt;
&lt;br /&gt;
We will release a new chapter in this series every Thursday.&lt;br /&gt;
&lt;br /&gt;
In &lt;strong&gt;Chapter 8&lt;/strong&gt;, &lt;strong&gt;Functional Parsers&lt;/strong&gt;, it's all about parsing and parsers. A parser is a program that analyses a piece of text to determine its syntactic structure. In a functional language such as Haskell, parsers can naturally be viewed as functions.&lt;br /&gt;
&lt;br /&gt;
  type Parser = String -&amp;gt; Tree&lt;br /&gt;
&lt;br /&gt;
A parser is a function that takes a string and returns some form of tree.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You should watch these in sequence (or skip around depending on your curent level of knowledge in this domain):&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-1/" target="_blank"&gt;&lt;b&gt;Chapter 1&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-2/" target="_blank"&gt;&lt;b&gt;Chapter 2&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-3-of-13/" target="_blank"&gt;&lt;b&gt;Chapter 3&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-4-of-13/" target="_blank"&gt;&lt;strong&gt;Chapter 4&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-5-of-13/" target="_blank"&gt;&lt;strong&gt;Chapter 5&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-6-of-13/" target="_blank"&gt;&lt;strong&gt;Chapter 6&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-7-of-13/" target="_blank"&gt;&lt;strong&gt;Chapter 7&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;img src="http://channel9.msdn.com/504211/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-8-of-13/</comments><link>http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-8-of-13/</link><pubDate>Thu, 19 Nov 2009 18:55:00 GMT</pubDate><guid isPermaLink="false">http://ecn.channel9.msdn.com/o9/ch9/1/1/2/4/0/5/C9LecturesMeijerC8_ch9.wmv</guid><evnet:views>36639</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/504211/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>In &lt;strong&gt;Chapter 8&lt;/strong&gt;, &lt;strong&gt;Functional Parsers&lt;/strong&gt;, it's all about parsing and parsers. A parser is a program that analyses a piece of text to determine its syntactic structure. In a functional language such as Haskell, parsers can naturally be viewed as functions. &lt;br /&gt;
&lt;br /&gt;
type Parser = String -&amp;gt; Tree&lt;br /&gt;
&lt;br /&gt;
A parser is a function that takes a string and returns some form of tree.</evnet:previewtext><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/1/1/2/4/0/5/C9LecturesMeijerC8_320_ch9.png" height="240" width="320" /><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/1/1/2/4/0/5/C9LecturesMeijerC8_85_ch9.png" height="64" width="85" /><media:group><media:content url="http://ecn.channel9.msdn.com/o9/ch9/1/1/2/4/0/5/C9LecturesMeijerC8_ch9.mp4" expression="full" duration="3287" fileSize="435268814" type="video/mp4" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/1/1/2/4/0/5/C9LecturesMeijerC8_ch9.mp3" expression="full" duration="3287" fileSize="26301343" type="audio/mp3" medium="audio" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/1/1/2/4/0/5/C9LecturesMeijerC8_ch9.mp4" expression="full" duration="3287" fileSize="435268814" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/1/1/2/4/0/5/C9LecturesMeijerC8_ch9.wma" expression="full" duration="3287" fileSize="26593375" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/1/1/2/4/0/5/C9LecturesMeijerC8_ch9.wmv" expression="full" duration="3287" fileSize="570803545" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/1/1/2/4/0/5/C9LecturesMeijerC8_2MB_ch9.wmv" expression="full" duration="3287" fileSize="1280192037" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/1/1/2/4/0/5/C9LecturesMeijerC8_Zune_ch9.wmv" expression="full" duration="3287" fileSize="422371597" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/1/1/2/4/0/5/C9LecturesMeijerC8_512_ch9.png" expression="full" duration="3287" type="image/jpeg" medium="image" /><media:content url="http://ss.channel9.msdn.com/ch9/1/1/2/4/0/5/C9LecturesMeijerC8.ism/Manifest" expression="full" duration="3287" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://ecn.channel9.msdn.com/o9/ch9/1/1/2/4/0/5/C9LecturesMeijerC8_ch9.wmv" length="570803545" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>13</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-8-of-13/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/504211/Trackback.aspx</trackback:ping><category>C9 Lectures</category><category>Erik Meijer</category><category>Functional Programming</category><category>Haskell</category><category>Programming Languages</category></item><item><title>Erik Meijer: Rx in 15 Minutes - Rx is Here!!!!!</title><description>&lt;img src="http://ecn.channel9.msdn.com/o9/ch9/0/6/1/4/0/5/ErikMeijerRxIn15_85_ch9.png" border="0" /&gt;&lt;a href="http://msdn.microsoft.com/en-us/devlabs/ee794896.aspx" target="_blank"&gt;&lt;b&gt;Reactive Extensions for .NET, Rx, is here!!!&lt;/b&gt; &lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Erik Mejier explains what Rx is and why it matters in 15 minutes or less!&lt;img src="http://channel9.msdn.com/504160/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/Charles/Erik-Meijer-Rx-in-15-Minutes/</comments><link>http://channel9.msdn.com/posts/Charles/Erik-Meijer-Rx-in-15-Minutes/</link><pubDate>Tue, 17 Nov 2009 20:53:00 GMT</pubDate><guid isPermaLink="false">http://ecn.channel9.msdn.com/o9/ch9/0/6/1/4/0/5/ErikMeijerRxIn15_ch9.wmv</guid><evnet:views>29368</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/504160/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>&lt;a href="http://msdn.microsoft.com/en-us/devlabs/ee794896.aspx" target="_blank"&gt;&lt;b&gt;Reactive Extensions for .NET, Rx, is here!!!&lt;/b&gt; &lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Erik Mejier explains what Rx is and why it matters in 15 minutes or less!</evnet:previewtext><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/0/6/1/4/0/5/ErikMeijerRxIn15_320_ch9.png" height="240" width="320" /><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/0/6/1/4/0/5/ErikMeijerRxIn15_85_ch9.png" height="64" width="85" /><media:group><media:content url="http://ecn.channel9.msdn.com/o9/ch9/0/6/1/4/0/5/ErikMeijerRxIn15_ch9.mp4" expression="full" duration="789" fileSize="149193217" type="video/mp4" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/0/6/1/4/0/5/ErikMeijerRxIn15_ch9.mp3" expression="full" duration="789" fileSize="6315056" type="audio/mp3" medium="audio" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/0/6/1/4/0/5/ErikMeijerRxIn15_ch9.mp4" expression="full" duration="789" fileSize="149193217" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/0/6/1/4/0/5/ErikMeijerRxIn15_ch9.wma" expression="full" duration="789" fileSize="6391475" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/0/6/1/4/0/5/ErikMeijerRxIn15_ch9.wmv" expression="full" duration="789" fileSize="174064573" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/0/6/1/4/0/5/ErikMeijerRxIn15_2MB_ch9.wmv" expression="full" duration="789" fileSize="246394171" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/0/6/1/4/0/5/ErikMeijerRxIn15_Zune_ch9.wmv" expression="full" duration="789" fileSize="167148143" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/0/6/1/4/0/5/ErikMeijerRxIn15_512_ch9.png" expression="full" duration="789" type="image/jpeg" medium="image" /><media:content url="http://ss.channel9.msdn.com/ch9/0/6/1/4/0/5/ErikMeijerRxIn15.ism/Manifest" expression="full" duration="789" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://ecn.channel9.msdn.com/o9/ch9/0/6/1/4/0/5/ErikMeijerRxIn15_ch9.wmv" length="174064573" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>18</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/Charles/Erik-Meijer-Rx-in-15-Minutes/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/504160/Trackback.aspx</trackback:ping><category>DevLabs</category><category>Erik Meijer</category><category>Programming</category><category>Reactive Extensions</category><category>Reactive Framework</category><category>Rx</category></item><item><title>E2E: Erik Meijer and Dave Campbell: Data, Databases and the Cloud</title><description>&lt;img src="http://ecn.channel9.msdn.com/o9/ch9/4/1/7/2/0/5/E2EMeijerCampbellCloudData_85_ch9.png" border="0" /&gt;&lt;a href="http://www.microsoft.com/presspass/exec/techfellow/Campbell/default.mspx" target="_blank"&gt;Dave Campbell&lt;/a&gt; is a Technical Fellow at Microsoft and long time database architect. Today, Dave works on the hardest problems facing SQL's foray into the new world of cloud computing. His latest project in this space takes the form of SQL Azure. What is SQL Azure? What's the different with the cloud and what we already experience with SQL server running in a clustered environment and reachable via the Internet? How does this focus on cloud computing and impact the evolution of database design? What's going here? What's next? Erik Meijer, de facto E2E host and language designer, interviews Dave to ge answers to some of these questions. Erik works for Dave, by the way, and as you can see that doesn't stop Erik from asking more than softball questions.&lt;br /&gt;
&lt;br /&gt;
Dave will be presenting at &lt;a href="http://microsoftpdc.com" target="_blank"&gt;PDC09&lt;/a&gt; in the Technical Leaders track. His talk will focus on ambient data and what this means for the evolution of ways to understand and shape the data this all around us using software. You should attend his session and come with questions if you are going to be at PDC. If you're not going to be there, then make sure to ask Dave questions when he appears on &lt;a href="http://channel9.msdn.com/posts/C9Team/Announcing-Channel-9-Live-at-PDC09/" target="_blank"&gt;Channel 9 Live&lt;/a&gt;!&lt;br /&gt;
&lt;br /&gt;
Enjoy!&lt;img src="http://channel9.msdn.com/502714/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/Charles/E2E-Erik-Meijer-and-Dave-Campbell-Data-Databases-and-the-Cloud/</comments><link>http://channel9.msdn.com/posts/Charles/E2E-Erik-Meijer-and-Dave-Campbell-Data-Databases-and-the-Cloud/</link><pubDate>Sat, 14 Nov 2009 00:03:00 GMT</pubDate><guid isPermaLink="false">http://ecn.channel9.msdn.com/o9/ch9/4/1/7/2/0/5/E2EMeijerCampbellCloudData_ch9.wmv</guid><evnet:views>34396</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/502714/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>&lt;a href="http://www.microsoft.com/presspass/exec/techfellow/Campbell/default.mspx" target="_blank"&gt;Dave Campbell&lt;/a&gt; is a Technical Fellow at Microsoft and long time database architect. Today, Dave works on the hardest problems facing SQL's foray into the new world of cloud computing. His latest project in this space takes the form of SQL Azure. What is SQL Azure? What's the different with the cloud and what we already experience with SQL server running in a clustered environment and reachable via the Internet? How does this focus on cloud computing and impact the evolution of database design? What's going here? What's next? Erik Meijer, de facto E2E host and language designer, interviews Dave to ge answers to some of these questions. Erik works for Dave, by the way, and as you can see that doesn't stop Erik from asking more than softball questions.&lt;br /&gt;</evnet:previewtext><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/4/1/7/2/0/5/E2EMeijerCampbellCloudData_320_ch9.png" height="240" width="320" /><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/4/1/7/2/0/5/E2EMeijerCampbellCloudData_85_ch9.png" height="64" width="85" /><media:group><media:content url="http://ecn.channel9.msdn.com/o9/ch9/4/1/7/2/0/5/E2EMeijerCampbellCloudData_ch9.mp4" expression="full" duration="1983" fileSize="367183062" type="video/mp4" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/4/1/7/2/0/5/E2EMeijerCampbellCloudData_ch9.mp3" expression="full" duration="1983" fileSize="15868606" type="audio/mp3" medium="audio" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/4/1/7/2/0/5/E2EMeijerCampbellCloudData_ch9.mp4" expression="full" duration="1983" fileSize="367183062" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/4/1/7/2/0/5/E2EMeijerCampbellCloudData_ch9.wma" expression="full" duration="1983" fileSize="16049335" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/4/1/7/2/0/5/E2EMeijerCampbellCloudData_ch9.wmv" expression="full" duration="1983" fileSize="431857289" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/4/1/7/2/0/5/E2EMeijerCampbellCloudData_2MB_ch9.wmv" expression="full" duration="1983" fileSize="621537335" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/4/1/7/2/0/5/E2EMeijerCampbellCloudData_Zune_ch9.wmv" expression="full" duration="1983" fileSize="399737628" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/4/1/7/2/0/5/E2EMeijerCampbellCloudData_512_ch9.png" expression="full" duration="1983" type="image/jpeg" medium="image" /><media:content url="http://ss.channel9.msdn.com/ch9/4/1/7/2/0/5/E2EMeijerCampbellCloudData.ism/Manifest" expression="full" duration="1983" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://ecn.channel9.msdn.com/o9/ch9/4/1/7/2/0/5/E2EMeijerCampbellCloudData_ch9.wmv" length="431857289" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>7</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/Charles/E2E-Erik-Meijer-and-Dave-Campbell-Data-Databases-and-the-Cloud/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/502714/Trackback.aspx</trackback:ping><category>Cloud Computing</category><category>Data</category><category>Dave Campbell</category><category>Erik Meijer</category><category>Expert to Expert</category><category>SQL Azure</category></item><item><title>E2E: Erik Meijer and Patrick Dussud - Inside Garbage Collection</title><description>&lt;img src="http://ecn.channel9.msdn.com/o9/ch9/0/8/4/5/0/5/E2EMeijerDussudGC_85_ch9.png" border="0" /&gt;&lt;a href="http://www.microsoft.com/presspass/exec/techfellow/dussud/default.mspx" target="_blank"&gt;Patrick Dussud&lt;/a&gt; is a Technical Fellow at Microsoft who is the author of .NET's garbage collector (GC) - the automatic memory management infrastructure that makes up most of what is managed in managed code execution. How does GC, work, generally? Why is it important? The GC inside of the CLR is of a specfic type - ephemeral, concurrent (the server version has always been concuurent and now with Background GC on the client in CLR 4, GC is concurrent on the client as well, but there are differences...). &lt;br /&gt;
&lt;br /&gt;
Patrick takes us through the basics of GC up to the current state of the art in this outstanding conversation with one of the fathers of .NET. Of course, given the other expert in the room - programming language designer Erik Meijer, we have to talk about the impact that dynamic and functional languages have on the design of general purpose GCs as well as future directions of the CLR's GC, generally. What's Patrick working on these days? &lt;br /&gt;
&lt;br /&gt;
Patrick will be presenting at &lt;a href="http://microsoftpdc.com" target="_blank"&gt;PDC09&lt;/a&gt; in the the &lt;a href="http://microsoftpdc.com/Sessions/Tags/TechnicalLeaders" target="_blank"&gt;Technical Leaders track&lt;/a&gt;. His talk, &lt;a href="http://microsoftpdc.com/Sessions/FT51" target="_blank"&gt;Future of GC&lt;/a&gt;, should not be missed. This conversation is a great introduction to what Patrick will be talking about and we highly recommend you watch this before you attend his session (or watch his session after the show shortly after the PDC ends - like last year, all sessions will be available on-demand...).&lt;br /&gt;
&lt;br /&gt;
Enjoy.&lt;img src="http://channel9.msdn.com/505480/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/E2E-Erik-Meijer-and-Patrick-Dussud-Inside-Garbage-Collection/</comments><link>http://channel9.msdn.com/shows/Going+Deep/E2E-Erik-Meijer-and-Patrick-Dussud-Inside-Garbage-Collection/</link><pubDate>Fri, 13 Nov 2009 16:30:00 GMT</pubDate><guid isPermaLink="false">http://ecn.channel9.msdn.com/o9/ch9/0/8/4/5/0/5/E2EMeijerDussudGC_ch9.wmv</guid><evnet:views>34000</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/505480/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>&lt;a href="http://www.microsoft.com/presspass/exec/techfellow/dussud/default.mspx" target="_blank"&gt;Patrick Dussud&lt;/a&gt;, Technical Fellow and father of the CLR's garbage collector, takes us through the basics of GC up to the current state of the art in this outstanding conversation. Of course, given the other expert in the room, programming language designer and Channel 9 hero Erik Meijer, we &lt;em&gt;have&lt;/em&gt; to talk about the impact that dynamic and functional languages have on the design of general purpose GCs as well as future directions of the CLR's GC, generally. What's Patrick working on these days? &lt;br /&gt;
&lt;br /&gt;
Patrick will be presenting at &lt;a href="http://microsoftpdc.com" target="_blank"&gt;PDC09&lt;/a&gt; in the the &lt;a href="http://microsoftpdc.com/Sessions/Tags/TechnicalLeaders" target="_blank"&gt;Technical Leaders track&lt;/a&gt;. His talk, &lt;a href="http://microsoftpdc.com/Sessions/FT51" target="_blank"&gt;Future of GC&lt;/a&gt;, should not be missed. This conversation is a great introduction to what Patrick will be talking about and we highly recommend you watch this before you attend his session (or watch his session after the show shortly after the PDC ends - like last year, all sessions will be available on-demand...).&lt;br /&gt;</evnet:previewtext><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/0/8/4/5/0/5/E2EMeijerDussudGC_320_ch9.png" height="240" width="320" /><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/0/8/4/5/0/5/E2EMeijerDussudGC_85_ch9.png" height="64" width="85" /><media:group><media:content url="http://ecn.channel9.msdn.com/o9/ch9/0/8/4/5/0/5/E2EMeijerDussudGC_ch9.mp4" expression="full" duration="3422" fileSize="639486554" type="video/mp4" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/0/8/4/5/0/5/E2EMeijerDussudGC_ch9.mp3" expression="full" duration="3422" fileSize="27380211" type="audio/mp3" medium="audio" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/0/8/4/5/0/5/E2EMeijerDussudGC_ch9.mp4" expression="full" duration="3422" fileSize="639486554" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/0/8/4/5/0/5/E2EMeijerDussudGC_ch9.wma" expression="full" duration="3422" fileSize="27683827" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/0/8/4/5/0/5/E2EMeijerDussudGC_ch9.wmv" expression="full" duration="3422" fileSize="754709435" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/0/8/4/5/0/5/E2EMeijerDussudGC_2MB_ch9.wmv" expression="full" duration="3422" fileSize="1072801969" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/0/8/4/5/0/5/E2EMeijerDussudGC_Zune_ch9.wmv" expression="full" duration="3422" fileSize="482725487" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/0/8/4/5/0/5/E2EMeijerDussudGC_512_ch9.png" expression="full" duration="3422" type="image/jpeg" medium="image" /><media:content url="http://mschannel9.vo.msecnd.net/ss1/ch9/0/8/4/5/0/5/E2EMeijerDussudGC.ism/Manifest" expression="full" duration="3422" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://ecn.channel9.msdn.com/o9/ch9/0/8/4/5/0/5/E2EMeijerDussudGC_ch9.wmv" length="754709435" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>13</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/E2E-Erik-Meijer-and-Patrick-Dussud-Inside-Garbage-Collection/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/505480/Trackback.aspx</trackback:ping><category>CLR</category><category>Erik Meijer</category><category>Expert to Expert</category><category>GC</category><category>Patrick-Dussud</category><category>PDC09</category><category>Programming</category></item><item><title>C9 Lectures: Dr. Erik Meijer - Functional Programming Fundamentals Chapter 7 of 13</title><description>&lt;img src="http://ecn.channel9.msdn.com/o9/ch9/9/0/2/4/0/5/C9LecturesMeijerFPC7_85_ch9.png" border="0" /&gt;&lt;p&gt;We've kicked off &lt;a href="http://channel9.msdn.com/tags/C9+Lectures" target="_blank"&gt;C9 Lectures&lt;/a&gt; with a journey into the world of Functional Programming with functional language purist and high priest of the lambda calculus, Dr. &lt;a href="http://research.microsoft.com/~emeijer/" target="_blank"&gt;Erik Meijer&lt;/a&gt; (you can thank Erik for many of the functional constructs that have shown up in languages like C# and VB.NET. When you use LINQ, thank Erik in addition to Anders). &lt;br /&gt;
&lt;br /&gt;
We will release a new chapter in this series every Thursday.&lt;br /&gt;
&lt;br /&gt;
In &lt;strong&gt;Chapter 7&lt;/strong&gt;, Dr. Meijer teaches us about &lt;strong&gt;Higher-Order Functions&lt;/strong&gt;. A function is called higher-order if it takes a function as an argument and returns a function as a result:&lt;br /&gt;
&lt;br /&gt;
twice    :: (a -&amp;gt; a) -&amp;gt; a -&amp;gt; a&lt;br /&gt;
twice f x = f (f x)&lt;br /&gt;
&lt;br /&gt;
The function twice above is higher order because it takes a function (f x) as it first argument and returns a function (f(fx)) &lt;br /&gt;
&lt;br /&gt;
Dr. Meijer will elaborate on why higher-order functions are important and there are some really interesting side-effects of higher-order functions such as defining DSLs as collections of higher-order functions and using algebraic properties of higher-order functions to reason about programs. &lt;br /&gt;
&lt;br /&gt;
You should watch these in sequence (or skip around depending on your curent level of knowledge in this domain):&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-1/" target="_blank"&gt;&lt;b&gt;Chapter 1&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-2/" target="_blank"&gt;&lt;b&gt;Chapter 2&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-3-of-13/" target="_blank"&gt;&lt;b&gt;Chapter 3&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-4-of-13/" target="_blank"&gt;&lt;strong&gt;Chapter 4&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-5-of-13/" target="_blank"&gt;&lt;strong&gt;Chapter 5&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-6-of-13/" target="_blank"&gt;&lt;strong&gt;Chapter 6&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Now, we do have a textbook and you should go buy it: The great &lt;a href="http://www.cs.nott.ac.uk/~gmh/" target="_blank"&gt;Graham Hutton's&lt;/a&gt; &lt;a href="http://www.cs.nott.ac.uk/~gmh/book.html" target="_blank"&gt;Programming in Haskell&lt;/a&gt;. We worked with the publisher, Cambridge University Press, to get all Niners a &lt;b&gt;20%&lt;/b&gt; discount on the book. Now, you don't need the book to learn a great deal from this lecture series since Graham's website has all the slides and samples from the book as well as answers to the exercises. That said, it's highly recommended reading and you should consider it. &lt;/p&gt;
&lt;p&gt;The promotion code is &lt;b&gt;09HASK&lt;/b&gt; and it is vaild on both the Hardback:&lt;/p&gt;
&lt;p&gt;9780521871723 and Paperback: 9780521692694. The catalog pages are:&lt;/p&gt;
&lt;p&gt;Hardback:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.cambridge.org/us/catalogue/catalogue.asp?isbn=9780521871723"&gt;http://www.cambridge.org/us/catalogue/catalogue.asp?isbn=9780521871723&lt;/a&gt; and the paperback is:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.cambridge.org/us/catalogue/catalogue.asp?isbn=9780521692694"&gt;http://www.cambridge.org/us/catalogue/catalogue.asp?isbn=9780521692694&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Note&lt;/b&gt;: This special offer is valid until &lt;b&gt;December 31, 2009&lt;/b&gt; &lt;/p&gt;&lt;img src="http://channel9.msdn.com/504209/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-7-of-13/</comments><link>http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-7-of-13/</link><pubDate>Thu, 12 Nov 2009 16:42:00 GMT</pubDate><guid isPermaLink="false">http://ecn.channel9.msdn.com/o9/ch9/9/0/2/4/0/5/C9LecturesMeijerFPC7_ch9.wmv</guid><evnet:views>32298</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/504209/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>In &lt;strong&gt;Chapter 7&lt;/strong&gt;, Dr. Meijer teaches us about &lt;strong&gt;Higher-Order Functions&lt;/strong&gt;. A function is called higher-order if it takes a function as an argument and returns a function as a result:&lt;br /&gt;
&lt;br /&gt;
twice :: (a -&amp;gt; a) -&amp;gt; a -&amp;gt; a&lt;br /&gt;
twice f x = f (f x)&lt;br /&gt;
&lt;br /&gt;
The function twice above is higher order because it takes a function (f x) as it first argument and returns a function (f(fx)) &lt;br /&gt;
&lt;br /&gt;
Dr. Meijer will elaborate on why higher-order functions are important and there are some really interesting uses of higher-order functions: You can define DSLs as collections of higher-order functions and use the algebraic properties of higher-order functions to reason about programs.&lt;br /&gt;</evnet:previewtext><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/9/0/2/4/0/5/C9LecturesMeijerFPC7_320_ch9.png" height="240" width="320" /><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/9/0/2/4/0/5/C9LecturesMeijerFPC7_85_ch9.png" height="64" width="85" /><media:group><media:content url="http://ecn.channel9.msdn.com/o9/ch9/9/0/2/4/0/5/C9LecturesMeijerFPC7_ch9.mp4" expression="full" duration="2747" fileSize="298495904" type="video/mp4" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/9/0/2/4/0/5/C9LecturesMeijerFPC7_ch9.mp3" expression="full" duration="2747" fileSize="21983825" type="audio/mp3" medium="audio" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/9/0/2/4/0/5/C9LecturesMeijerFPC7_ch9.mp4" expression="full" duration="2747" fileSize="298495904" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/9/0/2/4/0/5/C9LecturesMeijerFPC7_ch9.wma" expression="full" duration="2747" fileSize="22228569" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/9/0/2/4/0/5/C9LecturesMeijerFPC7_ch9.wmv" expression="full" duration="2747" fileSize="387323991" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/9/0/2/4/0/5/C9LecturesMeijerFPC7_2MB_ch9.wmv" expression="full" duration="2747" fileSize="1069934805" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/9/0/2/4/0/5/C9LecturesMeijerFPC7_Zune_ch9.wmv" expression="full" duration="2747" fileSize="313244043" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/9/0/2/4/0/5/C9LecturesMeijerFPC7_512_ch9.png" expression="full" duration="2747" type="image/jpeg" medium="image" /><media:content url="http://ss.channel9.msdn.com/ch9/9/0/2/4/0/5/C9LecturesMeijerFPC7.ism/Manifest" expression="full" duration="2747" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://ecn.channel9.msdn.com/o9/ch9/9/0/2/4/0/5/C9LecturesMeijerFPC7_ch9.wmv" length="387323991" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>12</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-7-of-13/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/504209/Trackback.aspx</trackback:ping><category>C9 Lectures</category><category>Erik Meijer</category><category>Functional Programming</category><category>Haskell</category><category>Programming Languages</category></item><item><title>C9 Lectures: Dr. Erik Meijer - Functional Programming Fundamentals Chapter 6 of 13</title><description>&lt;img src="http://ecn.channel9.msdn.com/o9/ch9/6/6/0/9/9/4/C9LecturesErikMeijerFPC6_85_ch9.png" border="0" /&gt;We've kicked off &lt;a href="http://channel9.msdn.com/tags/C9+Lectures" target="_blank"&gt;C9 Lectures&lt;/a&gt; with a journey into the world of Functional Programming with functional language purist and high priest of the lambda calculus, Dr. &lt;a href="http://research.microsoft.com/~emeijer/" target="_blank"&gt;Erik Meijer&lt;/a&gt; (you can thank Erik for many of the functional constructs that have shown up in languages like C# and VB.NET. When you use LINQ, thank Erik in addition to Anders). &lt;br /&gt;
&lt;br /&gt;
We will release a new chapter in this series every Thursday.&lt;br /&gt;
&lt;br /&gt;
In &lt;strong&gt;Chapter 6&lt;/strong&gt;, Dr. Meijer guides us through the world of &lt;strong&gt;recursive functions&lt;/strong&gt;. In Haskell, functions can be defined &lt;em&gt;in terms of themselves&lt;/em&gt;.  Such functions are called recursive.&lt;br /&gt;
For example: &lt;br /&gt;
&lt;br /&gt;
factorial 0 = 1&lt;br /&gt;
factorial (n+1) = (n+1) * factorial n&lt;br /&gt;
&lt;br /&gt;
factorial maps 0 to 1, and any other positive integer to the product of itself and the factorial of its predecessor.&lt;br /&gt;
&lt;br /&gt;
&lt;p&gt;Some functions, such as factorial, are simpler to define in terms of other functions. As we shall see, however, many functions can naturally be defined in terms of themselves.&lt;/p&gt;
&lt;p&gt;Properties of functions defined using recursion can be proved using the simple but powerful mathematical technique of induction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You should watch these in sequence (or skip around depending on your curent level of knowledge in this domain):&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-1/" target="_blank"&gt;&lt;b&gt;Chapter 1&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-2/" target="_blank"&gt;&lt;b&gt;Chapter 2&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-3-of-13/" target="_blank"&gt;&lt;b&gt;Chapter 3&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-4-of-13/" target="_blank"&gt;&lt;strong&gt;Chapter 4&lt;br /&gt;
&lt;/strong&gt;&lt;/a&gt;&lt;a href="http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-5-of-13/" target="_blank"&gt;&lt;strong&gt;Chapter 5&lt;br /&gt;
&lt;br /&gt;
&lt;/strong&gt;&lt;/a&gt;Now, we do have a textbook and you should go buy it: The great &lt;a href="http://www.cs.nott.ac.uk/~gmh/" target="_blank"&gt;Graham Hutton's&lt;/a&gt; &lt;a href="http://www.cs.nott.ac.uk/~gmh/book.html" target="_blank"&gt;Programming in Haskell&lt;/a&gt;. We worked with the publisher, Cambridge University Press, to get all Niners a &lt;b&gt;20%&lt;/b&gt; discount on the book. Now, you don't need the book to learn a great deal from this lecture series since Graham's website has all the slides and samples from the book as well as answers to the exercises. That said, it's highly recommended reading and you should consider it. &lt;/p&gt;
&lt;p&gt;The promotion code is &lt;b&gt;09HASK&lt;/b&gt; and it is vaild on both the Hardback:&lt;/p&gt;
&lt;p&gt;9780521871723 and Paperback: 9780521692694. The catalog pages are:&lt;/p&gt;
&lt;p&gt;Hardback:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.cambridge.org/us/catalogue/catalogue.asp?isbn=9780521871723"&gt;http://www.cambridge.org/us/catalogue/catalogue.asp?isbn=9780521871723&lt;/a&gt; and the paperback is:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.cambridge.org/us/catalogue/catalogue.asp?isbn=9780521692694"&gt;http://www.cambridge.org/us/catalogue/catalogue.asp?isbn=9780521692694&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Note&lt;/b&gt;: This special offer is valid until &lt;b&gt;December 31, 2009&lt;/b&gt; &lt;/p&gt;&lt;img src="http://channel9.msdn.com/499066/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-6-of-13/</comments><link>http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-6-of-13/</link><pubDate>Thu, 05 Nov 2009 15:53:00 GMT</pubDate><guid isPermaLink="false">http://ecn.channel9.msdn.com/o9/ch9/6/6/0/9/9/4/C9LecturesErikMeijerFPC6_ch9.wmv</guid><evnet:views>32798</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/499066/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>In Chapter 6, Dr. Meijer guides us through the world of recursive functions. In Haskell, functions can be defined in terms of themselves.  Such functions are called recursive. &lt;br /&gt;
&lt;br /&gt;
For example: &lt;br /&gt;
&lt;br /&gt;
factorial 0 = 1&lt;br /&gt;
factorial (n+1) = (n+1) * factorial n &lt;br /&gt;
&lt;br /&gt;
factorial maps 0 to 1, and any other positive integer to the product of itself and the factorial of its predecessor. &lt;br /&gt;
&lt;br /&gt;
Some functions, such as factorial, are simpler to define in terms of other functions. As we shall see, however, many functions can naturally be defined in terms of themselves. Properties of functions defined using recursion can be proved using the simple but powerful mathematical technique of induction.</evnet:previewtext><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/6/6/0/9/9/4/C9LecturesErikMeijerFPC6_320_ch9.png" height="240" width="320" /><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/6/6/0/9/9/4/C9LecturesErikMeijerFPC6_85_ch9.png" height="64" width="85" /><media:group><media:content url="http://ecn.channel9.msdn.com/o9/ch9/6/6/0/9/9/4/C9LecturesErikMeijerFPC6_ch9.mp4" expression="full" duration="2613" fileSize="278662720" type="video/mp4" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/6/6/0/9/9/4/C9LecturesErikMeijerFPC6_ch9.mp3" expression="full" duration="2613" fileSize="20908824" type="audio/mp3" medium="audio" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/6/6/0/9/9/4/C9LecturesErikMeijerFPC6_ch9.mp4" expression="full" duration="2613" fileSize="278662720" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/6/6/0/9/9/4/C9LecturesErikMeijerFPC6_ch9.wma" expression="full" duration="2613" fileSize="21141115" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/6/6/0/9/9/4/C9LecturesErikMeijerFPC6_ch9.wmv" expression="full" duration="2613" fileSize="382762109" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/6/6/0/9/9/4/C9LecturesErikMeijerFPC6_2MB_ch9.wmv" expression="full" duration="2613" fileSize="1017554623" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/6/6/0/9/9/4/C9LecturesErikMeijerFPC6_Zune_ch9.wmv" expression="full" duration="2613" fileSize="289351490" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/6/6/0/9/9/4/C9LecturesErikMeijerFPC6_512_ch9.png" expression="full" duration="2613" type="image/jpeg" medium="image" /><media:content url="http://ss.channel9.msdn.com/ch9/6/6/0/9/9/4/C9LecturesErikMeijerFPC6.ism/Manifest" expression="full" duration="2613" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://ecn.channel9.msdn.com/o9/ch9/6/6/0/9/9/4/C9LecturesErikMeijerFPC6_ch9.wmv" length="382762109" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>24</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-6-of-13/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/499066/Trackback.aspx</trackback:ping><category>C9 Lectures</category><category>Erik Meijer</category><category>Functional Programming</category><category>Haskell</category></item><item><title>E2E: Erik Meijer and Burton Smith - Concurrency, Parallelism and Programming</title><description>&lt;img src="http://ecn.channel9.msdn.com/o9/ch9/5/9/4/1/0/5/E2EMeijerSmithConcurrency_85_ch9.png" border="0" /&gt;The great &lt;a href="http://www.microsoft.com/presspass/exec/techfellow/Smith/default.mspx" target="_blank"&gt;Burton Smith&lt;/a&gt;, Microsoft Technical Fellow and an international leader in high-performance computer architecture and programming languages for parallel computing joins functional programming purist and language design guru Erik Meijer to discuss several major themes of parallel computing and distributed programming. As always, you will get a lesson in history, present trends and future possibilities. This is simply an awesome and deeply wonderful conversation. Burton is a treasure. &lt;br /&gt;
&lt;br /&gt;
Erik shows up for the conversation only after Burton begins to talk about a potential definition for functional programming. Right on queue, Erik arrives! &lt;br /&gt;
&lt;br /&gt;
Burton will be presenting his thinking on parallel and concurrent programming at &lt;a href="http://microsoftpdc.com" target="_blank"&gt;PDC09&lt;/a&gt;. He will also be a panelist on the &lt;a href="http://microsoftpdc.com/Sessions/FT52" target="_blank"&gt;Future of Programming panel&lt;/a&gt; (and Erik will be the panel moderator - you won't want to miss the panel if you are attending PDC!).&lt;img src="http://channel9.msdn.com/501495/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/E2E-Erik-Meijer-and-Burton-Smith-Concurrency-Parallelism-and-Programming/</comments><link>http://channel9.msdn.com/shows/Going+Deep/E2E-Erik-Meijer-and-Burton-Smith-Concurrency-Parallelism-and-Programming/</link><pubDate>Tue, 03 Nov 2009 16:19:00 GMT</pubDate><guid isPermaLink="false">http://ecn.channel9.msdn.com/o9/ch9/5/9/4/1/0/5/E2EMeijerSmithConcurrency_ch9.wmv</guid><evnet:views>24872</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/501495/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>The great &lt;a href="http://www.microsoft.com/presspass/exec/techfellow/Smith/default.mspx" target="_blank"&gt;Burton Smith&lt;/a&gt;, Microsoft Technical Fellow and an international leader in high-performance computer architecture and programming languages for parallel computing joins functional programming purist and language design guru Erik Meijer to discuss several major themes of parallel computing and distributed programming. As always, you will get a lesson in history, present trends and future possibilities. This is simply an awesome and deeply wonderful conversation. Burton is a treasure. &lt;br /&gt;
&lt;br /&gt;
Erik shows up for the conversation only after Burton begins to talk about a potential definition for functional programming. Right on queue, Erik arrives! &lt;br /&gt;
&lt;br /&gt;</evnet:previewtext><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/5/9/4/1/0/5/E2EMeijerSmithConcurrency_320_ch9.png" height="240" width="320" /><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/5/9/4/1/0/5/E2EMeijerSmithConcurrency_85_ch9.png" height="64" width="85" /><media:group><media:content url="http://ecn.channel9.msdn.com/o9/ch9/5/9/4/1/0/5/E2EMeijerSmithConcurrency_ch9.mp4" expression="full" duration="3854" fileSize="693585425" type="video/mp4" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/5/9/4/1/0/5/E2EMeijerSmithConcurrency_ch9.mp3" expression="full" duration="3854" fileSize="30835344" type="audio/mp3" medium="audio" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/5/9/4/1/0/5/E2EMeijerSmithConcurrency_ch9.mp4" expression="full" duration="3854" fileSize="693585425" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/5/9/4/1/0/5/E2EMeijerSmithConcurrency_ch9.wma" expression="full" duration="3854" fileSize="31177479" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/5/9/4/1/0/5/E2EMeijerSmithConcurrency_ch9.wmv" expression="full" duration="3854" fileSize="832395483" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/5/9/4/1/0/5/E2EMeijerSmithConcurrency_2MB_ch9.wmv" expression="full" duration="3854" fileSize="1181412561" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/5/9/4/1/0/5/E2EMeijerSmithConcurrency_Zune_ch9.wmv" expression="full" duration="3854" fileSize="639564180" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/5/9/4/1/0/5/E2EMeijerSmithConcurrency_512_ch9.png" expression="full" duration="3854" type="image/jpeg" medium="image" /><media:content url="http://ss.channel9.msdn.com/ch9/5/9/4/1/0/5/E2EMeijerSmithConcurrency.ism/Manifest" expression="full" duration="3854" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://ecn.channel9.msdn.com/o9/ch9/5/9/4/1/0/5/E2EMeijerSmithConcurrency_ch9.wmv" length="832395483" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>17</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/E2E-Erik-Meijer-and-Burton-Smith-Concurrency-Parallelism-and-Programming/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/501495/Trackback.aspx</trackback:ping><category>Burton Smith</category><category>Computer Hardware</category><category>Concurrency</category><category>Erik Meijer</category><category>Expert to Expert</category><category>Functional Programming</category><category>Parallel Computing</category><category>PDC09</category></item><item><title>C9 Lectures: Dr. Erik Meijer - Functional Programming Fundamentals Chapter 5 of 13</title><description>&lt;img src="http://ecn.channel9.msdn.com/o9/ch9/8/1/9/8/9/4/C9LecturesMeijerFPC5_85_ch9.png" border="0" /&gt;&lt;p&gt;We've kicked off &lt;a href="http://channel9.msdn.com/tags/C9+Lectures" target="_blank"&gt;C9 Lectures&lt;/a&gt; with a journey into the world of Functional Programming with functional language purist and high priest of the lambda calculus, Dr. &lt;a href="http://research.microsoft.com/~emeijer/" target="_blank"&gt;Erik Meijer&lt;/a&gt; (you can thank Erik for many of the functional constructs that have shown up in languages like C# and VB.NET. When you use LINQ, thank Erik in addition to Anders). &lt;br /&gt;
&lt;br /&gt;
We will release a new chapter in this series every Thursday.&lt;br /&gt;
&lt;br /&gt;
In &lt;strong&gt;Chapter 5&lt;/strong&gt;, Dr. Meijer introduces and digs into &lt;strong&gt;List Comprehensions&lt;/strong&gt;. In mathematics, comprehension notation is used to construct new sets from old sets. In Haskell, you can create new lists from old lists using a similar comprehension syntax:&lt;br /&gt;
&lt;br /&gt;
[x^2 | x &amp;lt;- [1..5]]&lt;br /&gt;
&lt;br /&gt;
The above notation represents the list [1,4,9,16,25] of all numbers x^2 such that x is an element of the list [1..5]. The &amp;lt;- [1..5] syntax is known as a &lt;strong&gt;generator&lt;/strong&gt; and list comprehensions can have mulitple generators that can have explicit dependencies on other generators. You will also learn about &lt;strong&gt;guards&lt;/strong&gt;, which restrict values created by earlier generators.&lt;br /&gt;
&lt;br /&gt;
You should watch these in sequence (or skip around depending on your curent level of knowledge in this domain):&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-1/" target="_blank"&gt;&lt;b&gt;Chapter 1&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-2/" target="_blank"&gt;&lt;b&gt;Chapter 2&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-3-of-13/" target="_blank"&gt;&lt;b&gt;Chapter 3&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-4-of-13/" target="_blank"&gt;&lt;strong&gt;Chapter 4&lt;br /&gt;
&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
Now, we do have a textbook and you should go buy it: The great &lt;a href="http://www.cs.nott.ac.uk/~gmh/" target="_blank"&gt;Graham Hutton's&lt;/a&gt; &lt;a href="http://www.cs.nott.ac.uk/~gmh/book.html" target="_blank"&gt;Programming in Haskell&lt;/a&gt;. We worked with the publisher, Cambridge University Press, to get all Niners a &lt;b&gt;20%&lt;/b&gt; discount on the book. Now, you don't need the book to learn a great deal from this lecture series since Graham's website has all the slides and samples from the book as well as answers to the exercises. That said, it's highly recommended reading and you should consider it. &lt;/p&gt;
&lt;p&gt;The promotion code is &lt;b&gt;09HASK&lt;/b&gt; and it is vaild on both the Hardback:&lt;/p&gt;
&lt;p&gt;9780521871723 and Paperback: 9780521692694. The catalog pages are:&lt;/p&gt;
&lt;p&gt;Hardback:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.cambridge.org/us/catalogue/catalogue.asp?isbn=9780521871723"&gt;http://www.cambridge.org/us/catalogue/catalogue.asp?isbn=9780521871723&lt;/a&gt; and the paperback is:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.cambridge.org/us/catalogue/catalogue.asp?isbn=9780521692694"&gt;http://www.cambridge.org/us/catalogue/catalogue.asp?isbn=9780521692694&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Note&lt;/b&gt;: This special offer is valid until &lt;b&gt;December 31, 2009&lt;/b&gt; &lt;/p&gt;&lt;img src="http://channel9.msdn.com/498918/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-5-of-13/</comments><link>http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-5-of-13/</link><pubDate>Thu, 29 Oct 2009 17:31:00 GMT</pubDate><guid isPermaLink="false">http://ecn.channel9.msdn.com/o9/ch9/8/1/9/8/9/4/C9LecturesMeijerFPC5_ch9.wmv</guid><evnet:views>41470</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/498918/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>In &lt;strong&gt;Chapter 5&lt;/strong&gt;, Dr. Meijer introduces and digs into &lt;strong&gt;List Comprehensions&lt;/strong&gt;. In mathematics, comprehension notation is used to construct new sets from old sets. In Haskell, you can create new lists from old lists using a similar comprehension syntax:&lt;br /&gt;
&lt;br /&gt;
[x^2 | x &amp;lt;- [1..5]]&lt;br /&gt;
&lt;br /&gt;
The above notation represents the list [1,4,9,16,25] of all numbers x^2 such that x is an element of the list [1..5]. The &amp;lt;- [1..5] syntax is known as a &lt;strong&gt;generator&lt;/strong&gt; and list comprehensions can have mulitple generators that can have explicit dependencies on other generators. You will also learn about &lt;strong&gt;guards&lt;/strong&gt;, which restrict values created by earlier generators.</evnet:previewtext><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/8/1/9/8/9/4/C9LecturesMeijerFPC5_320_ch9.png" height="240" width="320" /><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/8/1/9/8/9/4/C9LecturesMeijerFPC5_85_ch9.png" height="64" width="85" /><media:group><media:content url="http://ecn.channel9.msdn.com/o9/ch9/8/1/9/8/9/4/C9LecturesMeijerFPC5_ch9.mp4" expression="full" duration="1916" fileSize="202842067" type="video/mp4" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/8/1/9/8/9/4/C9LecturesMeijerFPC5_ch9.mp3" expression="full" duration="1916" fileSize="15334084" type="audio/mp3" medium="audio" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/8/1/9/8/9/4/C9LecturesMeijerFPC5_ch9.mp4" expression="full" duration="1916" fileSize="202842067" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/8/1/9/8/9/4/C9LecturesMeijerFPC5_ch9.wma" expression="full" duration="1916" fileSize="15508615" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/8/1/9/8/9/4/C9LecturesMeijerFPC5_ch9.wmv" expression="full" duration="1916" fileSize="285824351" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/8/1/9/8/9/4/C9LecturesMeijerFPC5_2MB_ch9.wmv" expression="full" duration="1916" fileSize="746286796" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/8/1/9/8/9/4/C9LecturesMeijerFPC5_Zune_ch9.wmv" expression="full" duration="1916" fileSize="210471181" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/8/1/9/8/9/4/C9LecturesMeijerFPC5_512_ch9.png" expression="full" duration="1916" type="image/jpeg" medium="image" /><media:content url="http://ss.channel9.msdn.com/ch9/8/1/9/8/9/4/C9LecturesMeijerFPC5.ism/Manifest" expression="full" duration="1916" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://ecn.channel9.msdn.com/o9/ch9/8/1/9/8/9/4/C9LecturesMeijerFPC5_ch9.wmv" length="285824351" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>26</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-5-of-13/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/498918/Trackback.aspx</trackback:ping><category>C9 Lectures</category><category>Erik Meijer</category><category>Functional Programming</category><category>Haskell</category><category>Programming Languages</category></item><item><title>E2E: Erik Meijer and Don Box - Perspectives on SOAP, Programming Data and M</title><description>&lt;img src="http://ecn.channel9.msdn.com/o9/ch9/1/6/3/2/0/5/E2EMeijerDonBox_85_ch9.png" border="0" /&gt;&lt;a href="http://www.microsoft.com/presspass/exec/de/Box/default.mspx" target="_blank"&gt;Don Box&lt;/a&gt; is a Distinguished Engineer at Microsoft and has a rich history in the general purpose programming world. You remember SOAP, right? Don was one of the &lt;a href="http://en.wikipedia.org/wiki/SOAP#History" target="_blank"&gt;Gang of Four&lt;/a&gt; who designed SOAP. Don was also instrumental in the design and implementation of WCF. Don is currently building a new model-based data programming platform, code-named Oslo, along with a new language for describing data, M. &lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://research.microsoft.com/en-us/um/people/emeijer/" target="_blank"&gt;Erik Meijer&lt;/a&gt;, programming language and library designer, chats with Don about the history of SOAP, model-based programming, data and M. Don will be at &lt;a href="http://microsoftpdc.com" target="_blank"&gt;PDC09&lt;/a&gt; and in addition to giving his usual stellar performance as a session speaker, he will be part of the &lt;a href="http://microsoftpdc.com/Sessions/FT52" target="_blank"&gt;Future of Programming&lt;/a&gt; panel (a view into Microsoft's perspective on trends and possibilities for general purpose programming in the age of many-core and cloud computing).&lt;img src="http://channel9.msdn.com/502361/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/E2E-Erik-Meijer-and-Don-Box-Perspectives-on-SOAP-Programming-Data-and-M/</comments><link>http://channel9.msdn.com/shows/Going+Deep/E2E-Erik-Meijer-and-Don-Box-Perspectives-on-SOAP-Programming-Data-and-M/</link><pubDate>Wed, 28 Oct 2009 16:52:00 GMT</pubDate><guid isPermaLink="false">http://ecn.channel9.msdn.com/o9/ch9/1/6/3/2/0/5/E2EMeijerDonBox_ch9.wmv</guid><evnet:views>38725</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/502361/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>&lt;a href="http://www.microsoft.com/presspass/exec/de/Box/default.mspx" target="_blank"&gt;Don Box&lt;/a&gt; is a Distinguished Engineer at Microsoft and has a rich history in the general purpose programming world. You remember SOAP, right? Don was one of the &lt;a href="http://en.wikipedia.org/wiki/SOAP#History" target="_blank"&gt;Gang of Four&lt;/a&gt; who designed SOAP. Don was also instrumental in the design and implementation of WCF. Don is currently building a new model-based data programming platform, code-named Oslo, along with a new language for describing data, M. &lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://research.microsoft.com/en-us/um/people/emeijer/" target="_blank"&gt;Erik Meijer&lt;/a&gt;, programming language and library designer, chats with Don about the history of SOAP, model-based programming, data and M. Don will be at &lt;a href="http://microsoftpdc.com" target="_blank"&gt;PDC09&lt;/a&gt; and in addition to giving his usual stellar performance as a session speaker, he will be part of the &lt;a href="http://microsoftpdc.com/Sessions/FT52" target="_blank"&gt;Future of Programming&lt;/a&gt; panel (a view into Microsoft's perspective on trends and possibilities for general purpose programming in the age of many-core and cloud computing).</evnet:previewtext><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/1/6/3/2/0/5/E2EMeijerDonBox_320_ch9.png" height="240" width="320" /><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/1/6/3/2/0/5/E2EMeijerDonBox_85_ch9.png" height="64" width="85" /><media:group><media:content url="http://ecn.channel9.msdn.com/o9/ch9/1/6/3/2/0/5/E2EMeijerDonBox_ch9.mp4" expression="full" duration="2678" fileSize="511995331" type="video/mp4" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/1/6/3/2/0/5/E2EMeijerDonBox_ch9.mp3" expression="full" duration="2678" fileSize="21430385" type="audio/mp3" medium="audio" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/1/6/3/2/0/5/E2EMeijerDonBox_ch9.mp4" expression="full" duration="2678" fileSize="511995331" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/1/6/3/2/0/5/E2EMeijerDonBox_ch9.wma" expression="full" duration="2678" fileSize="21669819" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/1/6/3/2/0/5/E2EMeijerDonBox_ch9.wmv" expression="full" duration="2678" fileSize="592411019" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/1/6/3/2/0/5/E2EMeijerDonBox_2MB_ch9.wmv" expression="full" duration="2678" fileSize="839861505" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/1/6/3/2/0/5/E2EMeijerDonBox_Zune_ch9.wmv" expression="full" duration="2678" fileSize="571833415" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/1/6/3/2/0/5/E2EMeijerDonBox_512_ch9.png" expression="full" duration="2678" type="image/jpeg" medium="image" /><media:content url="http://mschannel9.vo.msecnd.net/ss1/ch9/1/6/3/2/0/5/E2EMeijerDonBox.ism/Manifest" expression="full" duration="2678" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://ecn.channel9.msdn.com/o9/ch9/1/6/3/2/0/5/E2EMeijerDonBox_ch9.wmv" length="592411019" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>16</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/E2E-Erik-Meijer-and-Don-Box-Perspectives-on-SOAP-Programming-Data-and-M/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/502361/Trackback.aspx</trackback:ping><category>Don Box</category><category>Erik Meijer</category><category>Expert to Expert</category><category>M</category><category>Oslo</category><category>PDC09</category><category>Programming Languages</category><category>SOAP</category></item><item><title>C9 Lectures: Dr. Erik Meijer - Functional Programming Fundamentals Chapter 4 of 13</title><description>&lt;img src="http://ecn.channel9.msdn.com/o9/ch9/7/1/9/8/9/4/C9LecturesMeijerFPC4_85_ch9.png" border="0" /&gt;&lt;p&gt;We've kicked off &lt;a href="http://channel9.msdn.com/tags/C9+Lectures" target="_blank"&gt;C9 Lectures&lt;/a&gt; with a journey into the world of Functional Programming with functional language purist and high priest of the lambda calculus, Dr. &lt;a href="http://research.microsoft.com/~emeijer/" target="_blank"&gt;Erik Meijer&lt;/a&gt; (you can thank Erik for many of the functional constructs that have shown up in languages like C# and VB.NET. When you use LINQ, thank Erik in addition to Anders). &lt;br /&gt;
&lt;br /&gt;
We will release a new chapter in this series every Thursday.&lt;br /&gt;
&lt;br /&gt;
In &lt;strong&gt;Chapter 4&lt;/strong&gt;, Dr. Meijer teaches us about the art and practice of &lt;strong&gt;defining functions&lt;/strong&gt;. Functions can be defined using conditional expressions and in Haskell conditional expressions must &lt;em&gt;always&lt;/em&gt; have an else clause. Functions can also be defined using guarded equations and pattern matching. You will learn about list patterns and integer patterns. Today is also the day that you will learn about &lt;strong&gt;lambda expressions and sections.&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
You should watch these in sequence (or skip around depending on your curent level of knowledge in this domain):&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-1/" target="_blank"&gt;&lt;b&gt;Chapter 1&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-2/" target="_blank"&gt;&lt;b&gt;Chapter 2&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-3-of-13/" target="_blank"&gt;&lt;strong&gt;Chapter 3&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Now, we do have a textbook and you should go buy it: The great &lt;a href="http://www.cs.nott.ac.uk/~gmh/" target="_blank"&gt;Graham Hutton's&lt;/a&gt; &lt;a href="http://www.cs.nott.ac.uk/~gmh/book.html" target="_blank"&gt;Programming in Haskell&lt;/a&gt;. We worked with the publisher, Cambridge University Press, to get all Niners a &lt;b&gt;20%&lt;/b&gt; discount on the book. Now, you don't need the book to learn a great deal from this lecture series since Graham's website has all the slides and samples from the book as well as answers to the exercises. That said, it's highly recommended reading and you should consider it. &lt;/p&gt;
&lt;p&gt;The promotion code is &lt;b&gt;09HASK&lt;/b&gt; and it is vaild on both the Hardback:&lt;/p&gt;
&lt;p&gt;9780521871723 and Paperback: 9780521692694. The catalog pages are:&lt;/p&gt;
&lt;p&gt;Hardback:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.cambridge.org/us/catalogue/catalogue.asp?isbn=9780521871723"&gt;http://www.cambridge.org/us/catalogue/catalogue.asp?isbn=9780521871723&lt;/a&gt; and the paperback is:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.cambridge.org/us/catalogue/catalogue.asp?isbn=9780521692694"&gt;http://www.cambridge.org/us/catalogue/catalogue.asp?isbn=9780521692694&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Note&lt;/b&gt;: This special offer is valid until &lt;b&gt;December 31, 2009&lt;/b&gt; &lt;/p&gt;&lt;img src="http://channel9.msdn.com/498917/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-4-of-13/</comments><link>http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-4-of-13/</link><pubDate>Thu, 22 Oct 2009 18:34:00 GMT</pubDate><guid isPermaLink="false">http://ecn.channel9.msdn.com/o9/ch9/7/1/9/8/9/4/C9LecturesMeijerFPC4_ch9.wmv</guid><evnet:views>46019</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/498917/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>In &lt;strong&gt;Chapter 4&lt;/strong&gt;, Dr. Meijer teaches us about the art and practice of &lt;strong&gt;defining functions&lt;/strong&gt;. Functions can be defined using conditional expressions and in Haskell conditional expressions must &lt;em&gt;always&lt;/em&gt; have an else clause. Functions can also be defined using guarded equations and pattern matching. You will learn about list patterns and integer patterns. Today is also the day that you will learn about &lt;strong&gt;lambda expressions and sections.&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
You should watch these in sequence (or skip around depending on your curent level of knowledge in this domain):&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-1/" target="_blank"&gt;&lt;b&gt;Chapter 1&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-2/" target="_blank"&gt;&lt;b&gt;Chapter 2&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-3-of-13/" target="_blank"&gt;&lt;strong&gt;Chapter 3&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;</evnet:previewtext><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/7/1/9/8/9/4/C9LecturesMeijerFPC4_320_ch9.png" height="240" width="320" /><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/7/1/9/8/9/4/C9LecturesMeijerFPC4_85_ch9.png" height="64" width="85" /><media:group><media:content url="http://ecn.channel9.msdn.com/o9/ch9/7/1/9/8/9/4/C9LecturesMeijerFPC4_ch9.mp4" expression="full" duration="3659" fileSize="473919571" type="video/mp4" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/7/1/9/8/9/4/C9LecturesMeijerFPC4_ch9.mp3" expression="full" duration="3659" fileSize="29280546" type="audio/mp3" medium="audio" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/7/1/9/8/9/4/C9LecturesMeijerFPC4_ch9.mp4" expression="full" duration="3659" fileSize="473919571" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/7/1/9/8/9/4/C9LecturesMeijerFPC4_ch9.wma" expression="full" duration="3659" fileSize="29603383" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/7/1/9/8/9/4/C9LecturesMeijerFPC4_ch9.wmv" expression="full" duration="3659" fileSize="631512753" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/7/1/9/8/9/4/C9LecturesMeijerFPC4_2MB_ch9.wmv" expression="full" duration="3659" fileSize="736545601" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/7/1/9/8/9/4/C9LecturesMeijerFPC4_Zune_ch9.wmv" expression="full" duration="3659" fileSize="369155968" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/7/1/9/8/9/4/C9LecturesMeijerFPC4_512_ch9.png" expression="full" duration="3659" type="image/jpeg" medium="image" /><media:content url="http://ss.channel9.msdn.com/ch9/7/1/9/8/9/4/C9LecturesMeijerFPC4.ism/Manifest" expression="full" duration="3659" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://ecn.channel9.msdn.com/o9/ch9/7/1/9/8/9/4/C9LecturesMeijerFPC4_ch9.wmv" length="631512753" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>27</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-4-of-13/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/498917/Trackback.aspx</trackback:ping><category>C9 Lectures</category><category>Erik Meijer</category><category>Functional Programming</category><category>Programming Languages</category></item><item><title>C9 Lectures: Dr. Erik Meijer - Functional Programming Fundamentals, Chapter 3 of 13</title><description>&lt;img src="http://ecn.channel9.msdn.com/o9/ch9/6/1/7/5/9/4/C9LecturesMeijerFPC3_85_ch9.png" border="0" /&gt;We've kicked off &lt;a href="http://channel9.msdn.com/tags/C9+Lectures" target="_blank"&gt;C9 Lectures&lt;/a&gt; with a journey into the world of Functional Programming with functional language purist and high priest of the lambda calculus, Dr. &lt;a href="http://research.microsoft.com/~emeijer/" target="_blank"&gt;Erik Meijer&lt;/a&gt; (you can thank Erik for many of the functional constructs that have shown up in languages like C# and VB.NET. When you use LINQ, thank Erik in addition to Anders). &lt;br /&gt;
&lt;br /&gt;
We will release a new chapter in this series every Thursday.&lt;br /&gt;
&lt;br /&gt;
In Chapter 3, Dr. Meijer explores &lt;strong&gt;types and classes in Haskell&lt;/strong&gt;. A type is a collection of related values and in Haskell every well-formed expression has a type. Using type inference, these types are automatically calculated at run time. If expression e returns a type t, then e is of type t, e :: t. A function is a mapping of one type to another type and you will learn about new types of functions in this lecture, specifically curried functions: functions that return functions as a result (and functions are values, remember) and polymorphic functions (function with a type that contains one or more type variables).&lt;br /&gt;
&lt;br /&gt;
You should watch these in sequence (or skip around depending on your curent level of knowledge in this domain):&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-1/" target="_blank"&gt;&lt;b&gt;Chapter 1&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-2/" target="_blank"&gt;&lt;strong&gt;Chapter 2&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Now, we do have a textbook and you should go buy it: The great &lt;a href="http://www.cs.nott.ac.uk/~gmh/" target="_blank"&gt;Graham Hutton's&lt;/a&gt; &lt;a href="http://www.cs.nott.ac.uk/~gmh/book.html" target="_blank"&gt;Programming in Haskell&lt;/a&gt;. We worked with the publisher, Cambridge University Press, to get all Niners a &lt;b&gt;20%&lt;/b&gt; discount on the book. Now, you don't need the book to learn a great deal from this lecture series since Graham's website has all the slides and samples from the book as well as answers to the exercises. That said, it's highly recommended reading and you should consider it.
&lt;p&gt;The promotion code is &lt;b&gt;09HASK&lt;/b&gt; and it is vaild on both the Hardback:&lt;/p&gt;
&lt;p&gt;9780521871723 and Paperback: 9780521692694. The catalog pages are:&lt;/p&gt;
&lt;p&gt;Hardback:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.cambridge.org/us/catalogue/catalogue.asp?isbn=9780521871723"&gt;http://www.cambridge.org/us/catalogue/catalogue.asp?isbn=9780521871723&lt;/a&gt; and the paperback is:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.cambridge.org/us/catalogue/catalogue.asp?isbn=9780521692694"&gt;http://www.cambridge.org/us/catalogue/catalogue.asp?isbn=9780521692694&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Note&lt;/b&gt;: This special offer is valid until &lt;b&gt;December 31, 2009&lt;/b&gt; &lt;/p&gt;&lt;img src="http://channel9.msdn.com/495716/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-3-of-13/</comments><link>http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-3-of-13/</link><pubDate>Thu, 15 Oct 2009 15:46:00 GMT</pubDate><guid isPermaLink="false">http://ecn.channel9.msdn.com/o9/ch9/6/1/7/5/9/4/C9LecturesMeijerFPC3_ch9.wmv</guid><evnet:views>42731</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/495716/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>We've kicked off &lt;a href="http://channel9.msdn.com/tags/C9+Lectures" target="_blank"&gt;C9 Lectures&lt;/a&gt; with a journey into the world of Functional Programming with functional language purist and high priest of the lambda calculus, Dr. &lt;a href="http://research.microsoft.com/~emeijer/" target="_blank"&gt;Erik Meijer&lt;/a&gt; (you can thank Erik for many of the functional constructs that have shown up in languages like C# and VB.NET. When you use LINQ, thank Erik in addition to Anders). &lt;br /&gt;
&lt;br /&gt;
In Chapter 3, Dr. Meijer explores &lt;strong&gt;types and classes in Haskell&lt;/strong&gt;. A type is a collection of related values and in Haskell every well-formed expression has a type. Using type inference, these types are automatically calculated at run time. If expression e returns a type t, then e is of type t, e :: t. A function is a mapping of one type to another type and you will learn about new types of functions in this lecture, specifically curried functions: functions that return functions as a result (and functions are values, remember) and polymorphic functions (function with a type that contains one or more type variables).</evnet:previewtext><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/6/1/7/5/9/4/C9LecturesMeijerFPC3_320_ch9.png" height="240" width="320" /><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/6/1/7/5/9/4/C9LecturesMeijerFPC3_85_ch9.png" height="64" width="85" /><media:group><media:content url="http://ecn.channel9.msdn.com/o9/ch9/6/1/7/5/9/4/C9LecturesMeijerFPC3_ch9.mp4" expression="full" duration="2610" fileSize="226808433" type="video/mp4" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/6/1/7/5/9/4/C9LecturesMeijerFPC3_ch9.mp3" expression="full" duration="2610" fileSize="20886465" type="audio/mp3" medium="audio" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/6/1/7/5/9/4/C9LecturesMeijerFPC3_ch9.mp4" expression="full" duration="2610" fileSize="226808433" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/6/1/7/5/9/4/C9LecturesMeijerFPC3_ch9.wma" expression="full" duration="2610" fileSize="21120093" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/6/1/7/5/9/4/C9LecturesMeijerFPC3_ch9.wmv" expression="full" duration="2610" fileSize="322202073" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/6/1/7/5/9/4/C9LecturesMeijerFPC3_2MB_ch9.wmv" expression="full" duration="2610" fileSize="525368335" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/6/1/7/5/9/4/C9LecturesMeijerFPC3_Zune_ch9.wmv" expression="full" duration="2610" fileSize="176714053" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/6/1/7/5/9/4/C9LecturesMeijerFPC3_512_ch9.png" expression="full" duration="2610" type="image/jpeg" medium="image" /><media:content url="http://ss.channel9.msdn.com/ch9/6/1/7/5/9/4/C9LecturesMeijerFPC3.ism/Manifest" expression="full" duration="2610" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://ecn.channel9.msdn.com/o9/ch9/6/1/7/5/9/4/C9LecturesMeijerFPC3_ch9.wmv" length="322202073" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>53</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-3-of-13/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/495716/Trackback.aspx</trackback:ping><category>C9 Lectures</category><category>Erik Meijer</category><category>Functional Programming</category><category>Haskell</category><category>Programming Languages</category></item><item><title>C9 Lectures: Dr. Erik Meijer - Functional Programming Fundamentals, Chapter 2 of 13</title><description>&lt;img src="http://ecn.channel9.msdn.com/o9/ch9/8/9/3/4/9/4/C9LecturesMeijerFPC2_85_ch9.png" border="0" /&gt;We've kicked off &lt;a href="http://channel9.msdn.com/tags/C9+Lectures" target="_blank"&gt;C9 Lectures&lt;/a&gt; with a journey into the world of Functional Programming with functional language purist and high priest of the lambda calculus, Dr. &lt;a href="http://research.microsoft.com/~emeijer/" target="_blank"&gt;Erik Meijer&lt;/a&gt; (you can thank Erik for many of the functional constructs that have shown up in languages like C# and VB.NET. When you use LINQ, thank Erik in addition to Anders). &lt;br /&gt;
&lt;br /&gt;
We will release a new chapter in this series every Thursday.&lt;br /&gt;
&lt;br /&gt;
In Chapter 2, Dr. Meijer introduces Haskell syntax and notation (via a Haskell implementation called Hugs, to be precise, which is based on Haskell 98) and we learn about the Haskell syntax that represents the fundamental construct of functional programming: functions. It's not like you're used to in mathematics like &lt;em&gt;f(x)&lt;/em&gt;. Instead, in Haskell, a function is denoted without parentheses: &lt;em&gt;f x&lt;/em&gt;. So, given the almost OCD requirement by Haskell language designers to eliminate &lt;em&gt;any&lt;/em&gt; unnecessary clutter in the language, parentheses are replaced by space. Also, in mathematics, you're accustomed to multiplication expressed either as xy or x y. In Haskell, since space denotes a function, multiplication is denoted with a *, like x*y...&lt;br /&gt;
&lt;br /&gt;
You should watch these in sequence (or skip around depending on your curent level of knowledge in this domain):&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-1/" target="_blank"&gt;&lt;strong&gt;Chapter 1&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Now, we do have a textbook and you should go buy it: The great &lt;a href="http://www.cs.nott.ac.uk/~gmh/" target="_blank"&gt;Graham Hutton's&lt;/a&gt; &lt;a href="http://www.cs.nott.ac.uk/~gmh/book.html" target="_blank"&gt;Programming in Haskell&lt;/a&gt;. We worked with the publisher, Cambridge University Press, to get all Niners a &lt;b&gt;20%&lt;/b&gt; discount on the book. Now, you don't need the book to learn a great deal from this lecture series since Graham's website has all the slides and samples from the book as well as answers to the exercises. That said, it's highly recommended reading and you should consider it.
&lt;p&gt;The promotion code is &lt;b&gt;09HASK&lt;/b&gt; and it is vaild on both the Hardback:&lt;/p&gt;
&lt;p&gt;9780521871723 and Paperback: 9780521692694. The catalog pages are:&lt;/p&gt;
&lt;p&gt;Hardback:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.cambridge.org/us/catalogue/catalogue.asp?isbn=9780521871723"&gt;http://www.cambridge.org/us/catalogue/catalogue.asp?isbn=9780521871723&lt;/a&gt; and the paperback is:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.cambridge.org/us/catalogue/catalogue.asp?isbn=9780521692694"&gt;http://www.cambridge.org/us/catalogue/catalogue.asp?isbn=9780521692694&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Note&lt;/b&gt;: This special offer is valid until &lt;b&gt;December 31, 2009&lt;/b&gt; &lt;/p&gt;&lt;img src="http://channel9.msdn.com/494398/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-2/</comments><link>http://channel9.msdn.com/shows/Going+Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-2/</link><pubDate>Thu, 08 Oct 2009 15:33:00 GMT</pubDate><guid isPermaLink="false">http://ecn.channel9.msdn.com/o9/ch9/8/9/3/4/9/4/C9LecturesMeijerFPC2_ch9.wmv</guid><evnet:views>53973</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/494398/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>We've kicked off &lt;a href="http://channel9.msdn.com/tags/C9+Lectures" target="_blank"&gt;C9 Lectures&lt;/a&gt; with a journey into the world of Functional Programming with functional language purist and high priest of the lambda calculus, Dr. &lt;a href="http://research.microsoft.com/~emeijer/" target="_blank"&gt;Erik Meijer&lt;/a&gt; (you can thank Erik for many of the functional constructs that have shown up in languages like C# and VB.NET. When you use LINQ, thank Erik in addition to Anders). &lt;br /&gt;
&lt;br /&gt;
In Chapter 2, Dr. Meijer introduces Haskell syntax and notation (via a Haskell implementation called Hugs, to be precise, which is based on Haskell 98) and we learn about the Haskell syntax that represents the fundamental construct of functional programming: functions. It's not like you're used to in mathematics like &lt;em&gt;f(x)&lt;/em&gt;. Instead, in Haskell, a function is denoted without parentheses: &lt;em&gt;f x&lt;/em&gt;. So, given the almost OCD requirement by Haskell language designers to eliminate &lt;em&gt;any&lt;/em&gt; unnecessary clutter in the language, parentheses are replaced by space. Also, in mathematics, you're accustomed to multiplication expressed either as xy or x y. In Haskell, since space denotes a function, multiplication is denoted with a *, like x*y...&lt;br /&gt;
&lt;br /&gt;</evnet:previewtext><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/8/9/3/4/9/4/C9LecturesMeijerFPC2_320_ch9.png" height="240" width="320" /><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/8/9/3/4/9/4/C9LecturesMeijerFPC2_85_ch9.png" height="64" width="85" /><media:group><media:content url="http://ecn.channel9.msdn.com/o9/ch9/8/9/3/4/9/4/C9LecturesMeijerFPC2_ch9.mp4" expression="full" duration="3061" fileSize="322302235" type="video/mp4" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/8/9/3/4/9/4/C9LecturesMeijerFPC2_ch9.mp3" expression="full" duration="3061" fileSize="24489482" type="audio/mp3" medium="audio" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/8/9/3/4/9/4/C9LecturesMeijerFPC2_ch9.mp4" expression="full" duration="3061" fileSize="322302235" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/8/9/3/4/9/4/C9LecturesMeijerFPC2_ch9.wma" expression="full" duration="3061" fileSize="24757937" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/8/9/3/4/9/4/C9LecturesMeijerFPC2_ch9.wmv" expression="full" duration="3061" fileSize="443120373" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/8/9/3/4/9/4/C9LecturesMeijerFPC2_2MB_ch9.wmv" expression="full" duration="3061" fileSize="616708939" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/8/9/3/4/9/4/C9LecturesMeijerFPC2_Zune_ch9.wmv" expression="full" duration="3061" fileSize="248752353" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/8/9/3/4/9/4/C9LecturesMeijerFPC2_512_ch9.png" expression="full" duration="3061" type="image/jpeg" medium="image" /><media:content url="http://ss.channel9.msdn.com/ch9/8/9/3/4/9/4/C9LecturesMeijerFPC2.ism/Manifest" expression="full" duration="3061" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://ecn.channel9.msdn.com/o9/ch9/8/9/3/4/9/4/C9LecturesMeijerFPC2_ch9.wmv" length="443120373" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>59</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-2/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/494398/Trackback.aspx</trackback:ping><category>C9 Lectures</category><category>Erik Meijer</category><category>Functional Programming</category><category>Haskell</category></item><item><title>C9 Lectures: Dr. Erik Meijer - Functional Programming Fundamentals, Chapter 1 of 13</title><description>&lt;img src="http://ecn.channel9.msdn.com/o9/ch9/7/9/3/4/9/4/C9LecturesMeijerFunctionalChapter1_85_ch9.png" border="0" /&gt;&lt;p&gt;Welcome to a new technical series on Channel 9 folded into a different kind of 9 format: &lt;i&gt;C9 Lectures. &lt;/i&gt;These are what you think they are, lectures. They are not conversational in nature (like most of what you're used to on 9), but rather these pieces are entirely focused on education, coming to you in the form of a series of high quality technical lectures (1 or more per topic) on a single topic.&lt;br /&gt;
&lt;br /&gt;
We kick off C9 Lectures with a journey into the world of Functional Programming with functional language purist and high priest of the lambda calculus, Dr. &lt;a href="http://research.microsoft.com/~emeijer/" target="_blank"&gt;Erik Meijer&lt;/a&gt; (you can thank Erik for many of the functional constructs that have shown up in languages like C# and VB.NET. When you use LINQ, thank Erik in addition to Anders). &lt;br /&gt;
&lt;br /&gt;
Lecture Context:&lt;br /&gt;
&lt;br /&gt;
Over the past two years, you've learned a fair amount about the functional programming paradigm's foray into general purpose imperative progamming languages (LINQ, Lambda's, etc in C# and VB.NET). And, of course, the newest language to join the Visual Studio family of languages, F#, &lt;em&gt;is&lt;/em&gt; a functional language. You've heard us say how important functional language constructs are to the our current languages' capabilities to evolve in the right direction to meet the needs of the many-core future (the need for reliable and comprehensible concurrency, parallelism, etc) and,&lt;em&gt; most importantly&lt;/em&gt;, to help vault computer programming into an age of compositionality (remember our talks on 9 regarding composability and evolution of software engineering as an engineering discipline?). Well, we decided to take a step back and teach you the &lt;em&gt;fundamentals&lt;/em&gt; of functional programming at a level equivalent to any university. We even have a text book and professor who will expand our minds. &lt;br /&gt;
&lt;br /&gt;
Dr. Erik Meijer will teach us Functional Programming Fundamentals using Haskell as the language for understanding the basic functional principles (in fact, the specific language isn't all that important, but Haskell is a pure functional language so it is entirely appropriate for learning the essential ingredients of functional programming. It is also a relatively small language and should be easy for you to get up to speed with Haskell once you understand the Why, What and How that underlies all functional languages...).&lt;br /&gt;
&lt;br /&gt;
Now, we do have a textbook and you should go buy it: The great &lt;a href="http://www.cs.nott.ac.uk/~gmh/" target="_blank"&gt;Graham Hutton's&lt;/a&gt; &lt;a href="http://www.cs.nott.ac.uk/~gmh/book.html" target="_blank"&gt;Programming in Haskell&lt;/a&gt;. We worked with the publisher, Cambridge University Press, to get all Niners a &lt;strong&gt;20%&lt;/strong&gt; discount on the book. Now, you don't need the book to learn a great deal from this lecture series since Graham's website has all the slides and samples from the book as well as answers to the exercises. That said, it's highly recommended reading and you should consider it.&lt;/p&gt;
&lt;p&gt;The promotion code is &lt;strong&gt;09HASK&lt;/strong&gt; and it is vaild on both the Hardback and Paperback.&lt;/p&gt;
&lt;p&gt;Hardback:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.cambridge.org/us/catalogue/catalogue.asp?isbn=9780521871723"&gt;http://www.cambridge.org/us/catalogue/catalogue.asp?isbn=9780521871723&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
Paperback:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.cambridge.org/us/catalogue/catalogue.asp?isbn=9780521692694"&gt;http://www.cambridge.org/us/catalogue/catalogue.asp?isbn=9780521692694&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Note&lt;/strong&gt;: This special offer is valid until &lt;strong&gt;December 31, 2009&lt;/strong&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;In Chapter 1, Dr. Meijer takes us through the fundamental fundamentals of functional programming: The philosophy and history of functional programming. As you can imagine, these lectures will go deeper and deeper as the chapters progress, but you need to understand the philosophical and historical contexts. This will provide a nice layer of fresh conceptual soil in which to plant the seeds of understanding the technical details of functional programming, of functional reasoning.&lt;br /&gt;
&lt;br /&gt;
Welcome to C9 Lectures. Enjoy and learn, learn, learn.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;ALWAYS&lt;/strong&gt; ask questions right here. Erik will answer them. Remember, he is professor Erik Meijer in this context and professors answer the questions of their students. Thank you, Erik, for doing this!&lt;br /&gt;
&lt;br /&gt;
Welcome to C9 Lectures!&lt;/p&gt;&lt;img src="http://channel9.msdn.com/494397/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-1/</comments><link>http://channel9.msdn.com/shows/Going+Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-1/</link><pubDate>Thu, 01 Oct 2009 15:50:00 GMT</pubDate><guid isPermaLink="false">http://ecn.channel9.msdn.com/o9/ch9/7/9/3/4/9/4/C9LecturesMeijerFunctionalChapter1_ch9.wmv</guid><evnet:views>79804</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/494397/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Welcome to a new technical series on Channel 9 folded into a different kind of 9 format: C9 Lectures. These are what you think they are, lectures. They are not conversational in nature (like most of what you're used to on 9), but rather these pieces are entirely focused on education, coming to you in the form of a series of high quality technical lectures (1 or more per topic) on a single topic.&lt;br /&gt;
&lt;br /&gt;
We kick off C9 Lectures with a journey into the world of Functional Programming with functional language purist and high priest of the lambda calculus, Dr. &lt;a href="http://research.microsoft.com/~emeijer/" target="_blank"&gt;Erik Meijer&lt;/a&gt; (you can thank Erik for many of the functional constructs that have shown up in languages like C# and VB.NET. When you use LINQ, thank Erik in addition to Anders).</evnet:previewtext><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/7/9/3/4/9/4/C9LecturesMeijerFunctionalChapter1_320_ch9.png" height="240" width="320" /><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/7/9/3/4/9/4/C9LecturesMeijerFunctionalChapter1_85_ch9.png" height="64" width="85" /><media:group><media:content url="http://ecn.channel9.msdn.com/o9/ch9/7/9/3/4/9/4/C9LecturesMeijerFunctionalChapter1_ch9.mp4" expression="full" duration="1897" fileSize="230905860" type="video/mp4" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/7/9/3/4/9/4/C9LecturesMeijerFunctionalChapter1_ch9.mp3" expression="full" duration="1897" fileSize="15180681" type="audio/mp3" medium="audio" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/7/9/3/4/9/4/C9LecturesMeijerFunctionalChapter1_ch9.mp4" expression="full" duration="1897" fileSize="230905860" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/7/9/3/4/9/4/C9LecturesMeijerFunctionalChapter1_ch9.wma" expression="full" duration="1897" fileSize="15349403" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/7/9/3/4/9/4/C9LecturesMeijerFunctionalChapter1_ch9.wmv" expression="full" duration="1897" fileSize="316768137" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/7/9/3/4/9/4/C9LecturesMeijerFunctionalChapter1_2MB_ch9.wmv" expression="full" duration="1897" fileSize="381931312" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/7/9/3/4/9/4/C9LecturesMeijerFunctionalChapter1_Zune_ch9.wmv" expression="full" duration="1897" fileSize="176752065" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/7/9/3/4/9/4/C9LecturesMeijerFunctionalChapter1_512_ch9.png" expression="full" duration="1897" type="image/jpeg" medium="image" /><media:content url="http://ss.channel9.msdn.com/ch9/7/9/3/4/9/4/C9LecturesMeijerFunctionalChapter1.ism/Manifest" expression="full" duration="1897" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://ecn.channel9.msdn.com/o9/ch9/7/9/3/4/9/4/C9LecturesMeijerFunctionalChapter1_ch9.wmv" length="316768137" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>86</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-1/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/494397/Trackback.aspx</trackback:ping><category>C9 Lectures</category><category>Erik Meijer</category><category>Functional Programming</category><category>Haskell</category><category>Programming Languages</category></item><item><title>E2E: Erik Meijer and Wes Dyer - Reactive Framework (Rx) Under the Hood 2 of 2</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/2/9/0/9/5/4/RxPart2_small_ch9.png" border="0" /&gt;Software Developer extraordinaire and language compiler geek Wes Dyer and programming language design guru and LINQ co-creator Erik Meijer dig into the Reactive Framework (Rx). This is part 2 of 2. See part 1 &lt;a href="http://channel9.msdn.com/shows/Going+Deep/E2E-Erik-Meijer-and-Wes-Dyer-Reactive-Framework-Rx-Under-the-Hood-1-of-2/" target="_blank"&gt;here&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Here, Erik and Wes continue their discussion on the core ideas behind Rx. Rx is deep (as in profound), as you must have gathered by now. Erik, of course, continues to keep the theoretical basis of all this squarely front and center so we understand the relationship between principles and practice.&lt;br /&gt;
&lt;br /&gt;
Enjoy!&lt;img src="http://channel9.msdn.com/459092/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/E2E-Erik-Meijer-and-Wes-Dyer-Reactive-Framework-Rx-Under-the-Hood-2-of-2/</comments><link>http://channel9.msdn.com/shows/Going+Deep/E2E-Erik-Meijer-and-Wes-Dyer-Reactive-Framework-Rx-Under-the-Hood-2-of-2/</link><pubDate>Mon, 28 Sep 2009 15:50:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/2/9/0/9/5/4/RxPart2_ch9.wmv</guid><evnet:views>40193</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/459092/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Software Developer extraordinaire and language compiler geek Wes Dyer and programming language design guru and LINQ co-creator Erik Meijer dig into the Reactive Framework (Rx). This is part 2 of 2. See part 1 &lt;a href="http://channel9.msdn.com/shows/Going+Deep/E2E-Erik-Meijer-and-Wes-Dyer-Reactive-Framework-Rx-Under-the-Hood-1-of-2/" target="_blank"&gt;here&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Here, Erik and Wes continue their discussion on the core ideas behind Rx. Rx is deep (as in profound), as you must have gathered by now. Erik, of course, continues to keep the theoretical basis of all this squarely front and center so we understand the relationship between principles and practice.&lt;br /&gt;
&lt;br /&gt;
Enjoy!</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/2/9/0/9/5/4/RxPart2_large_ch9.png" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/2/9/0/9/5/4/RxPart2_small_ch9.png" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/2/9/0/9/5/4/RxPart2_ch9.mp4" expression="full" duration="2267" fileSize="223547658" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/2/9/0/9/5/4/RxPart2_ch9.mp3" expression="full" duration="2267" fileSize="18136630" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/2/9/0/9/5/4/RxPart2_ch9.mp4" expression="full" duration="2267" fileSize="223547658" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/2/9/0/9/5/4/RxPart2_ch9.wma" expression="full" duration="2267" fileSize="36686831" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/2/9/0/9/5/4/RxPart2_ch9.wmv" expression="full" duration="2267" fileSize="137171037" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/2/9/0/9/5/4/RxPart2_2MB_ch9.wmv" expression="full" duration="2267" fileSize="709603541" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/2/9/0/9/5/4/RxPart2_Zune_ch9.wmv" expression="full" duration="2267" fileSize="179475017" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/2/9/0/9/5/4/RxPart2_ch9.wmv" length="137171037" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>31</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/E2E-Erik-Meijer-and-Wes-Dyer-Reactive-Framework-Rx-Under-the-Hood-2-of-2/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/459092/Trackback.aspx</trackback:ping><category>Erik Meijer</category><category>Expert to Expert</category><category>LINQ to Events</category><category>Programming</category><category>Reactive Extensions</category><category>Reactive Framework</category><category>Rx</category></item><item><title>E2E: Erik Meijer and Wes Dyer - Reactive Framework (Rx) Under the Hood 1 of 2</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/1/9/0/9/5/4/RxPart1_small_ch9.png" border="0" /&gt;You've already learned a great deal about Erik Meijer's latest programming creation, Rx, right here on Channel 9 (&lt;a href="http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Brian-Beckman-and-Erik-Meijer-Inside-the-NET-Reactive-Framework-Rx/" target="_blank"&gt;here &lt;/a&gt;and &lt;a href="http://channel9.msdn.com/shows/Going+Deep/Kim-Hamilton-and-Wes-Dyer-Inside-NET-Rx-and-IObservableIObserver-in-the-BCL-VS-2010/" target="_blank"&gt;here&lt;/a&gt;, to be precise). &lt;br /&gt;
&lt;br /&gt;
Well, wouldn't it be great to get the two key minds behind Rx in one place with one whiteboard? Yes, of course it would! Enter Software Developer extraordinaire and language compiler geek Wes Dyer and programming language design guru and LINQ co-creator Erik Meijer to dig into the "Live Labs Reactive Framework (Rx)" or ".NET Reactive Framework (Rx)". So, let's be honest here. The official name of this great technology has not been determined. But, it's just a name and the name is &lt;em&gt;so&lt;/em&gt; much less interesting than what this technology enables and will enable in the future for software developers. So, forget about the &lt;em&gt;exact&lt;/em&gt; branding of Rx. Just think of it as, well, Rx until the marketing people come up with an official naming scheme (that most likely will not be as cool as Rx, but c'est la vie...). &lt;br /&gt;
&lt;br /&gt;
Here, Erik and Wes focus on the core ideas behind Rx and dig into the geeky details of this observer-based programming model. Rx is deep (as in profound), as you must have gathered by now. Erik, of course, keeps the theoretical basis of all this squarely front and center so we understand the relationship between principles and practice.&lt;br /&gt;
&lt;br /&gt;
Enjoy!&lt;img src="http://channel9.msdn.com/459091/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/E2E-Erik-Meijer-and-Wes-Dyer-Reactive-Framework-Rx-Under-the-Hood-1-of-2/</comments><link>http://channel9.msdn.com/shows/Going+Deep/E2E-Erik-Meijer-and-Wes-Dyer-Reactive-Framework-Rx-Under-the-Hood-1-of-2/</link><pubDate>Mon, 28 Sep 2009 15:47:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/1/9/0/9/5/4/RxPart1_ch9.wmv</guid><evnet:views>41953</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/459091/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>You've already learned a great deal about Erik Meijer's latest programming creation, Rx, right here on Channel 9 (&lt;a href="http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Brian-Beckman-and-Erik-Meijer-Inside-the-NET-Reactive-Framework-Rx/" target="_blank"&gt;here &lt;/a&gt;and &lt;a href="http://channel9.msdn.com/shows/Going+Deep/Kim-Hamilton-and-Wes-Dyer-Inside-NET-Rx-and-IObservableIObserver-in-the-BCL-VS-2010/" target="_blank"&gt;here&lt;/a&gt;, to be precise). &lt;br /&gt;
&lt;br /&gt;
Well, wouldn't it be great to get the two key minds behind Rx in one place with one whiteboard? Yes, of course it would! Enter Software Developer extraordinaire and language compiler geek Wes Dyer and programming language design guru and LINQ co-creator Erik Meijer to dig into the Reactive Framework (Rx). &lt;br /&gt;
&lt;br /&gt;
Here, Erik and Wes focus on the core ideas behind Rx and Wes, who was the lead developer of Rx, leads us through a mutli-colored whiteboarding journey. Rx is deep (as in profound), as you must have gathered by now. Erik, of course, keeps the theoretical basis of all this squarely front and center so we understand the relationship between principles and practice.&lt;br /&gt;
&lt;br /&gt;
Enjoy!</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/9/0/9/5/4/RxPart1_large_ch9.png" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/9/0/9/5/4/RxPart1_small_ch9.png" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/9/0/9/5/4/RxPart1_ch9.mp4" expression="full" duration="2587" fileSize="255246013" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/9/0/9/5/4/RxPart1_ch9.mp3" expression="full" duration="2587" fileSize="20701019" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/9/0/9/5/4/RxPart1_ch9.mp4" expression="full" duration="2587" fileSize="255246013" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/9/0/9/5/4/RxPart1_ch9.wma" expression="full" duration="2587" fileSize="41868731" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/9/0/9/5/4/RxPart1_ch9.wmv" expression="full" duration="2587" fileSize="156404963" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/9/0/9/5/4/RxPart1_2MB_ch9.wmv" expression="full" duration="2587" fileSize="809901467" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/9/0/9/5/4/RxPart1_Zune_ch9.wmv" expression="full" duration="2587" fileSize="205092943" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/9/0/9/5/4/RxPart1_ch9.wmv" length="156404963" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>16</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/E2E-Erik-Meijer-and-Wes-Dyer-Reactive-Framework-Rx-Under-the-Hood-1-of-2/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/459091/Trackback.aspx</trackback:ping><category>Erik Meijer</category><category>Expert to Expert</category><category>LINQ to Events</category><category>Programming</category><category>Reactive Extensions</category><category>Reactive Framework</category><category>Rx</category></item><item><title>Expert to Expert: Erik Meijer and Butler Lampson - Abstraction, Security and Embodiment</title><description>&lt;img src="http://ecn.channel9.msdn.com/o9/ch9/1/9/7/4/8/4/E2EButlerLampson_small_ch9.png" border="0" /&gt;This is a very special episode of &lt;a href="http://channel9.msdn.com/tags/expert-to-expert" target="_blank"&gt;Expert to Expert&lt;/a&gt;. We were very fortunate to get some time with renowned computer scientist and Microsoft Technical Fellow &lt;a href="http://en.wikipedia.org/wiki/Butler_Lampson" target="_blank"&gt;Butler Lampson&lt;/a&gt;. Butler's impact on general purpose computing is profound. Personal computing as it exists today is in part the result of the great work done by Butler over the past 30 years. &lt;br /&gt;
&lt;br /&gt;
Programming language designer and high priest of the lamda calculus &lt;a href="http://research.microsoft.com/en-us/um/people/emeijer/" target="_blank"&gt;Erik Meijer&lt;/a&gt; hosts this episode of E2E and Erik and Butler cover a very wide swath of computing topics. It's simply beautiful and very deep geekiness. In fact, this is one of my favorite Channel 9 conversations of late. I know you will enjoy both the usual &lt;em&gt;real&lt;/em&gt; conversational aspect of this and the depth of historical insight into some of the core aspects and unresolved problems of general purpose personal computing. &lt;br /&gt;
&lt;br /&gt;
Go get some popcorn, stream this into your XBox or Media Center and learn from one of our industry's pioneers who still has a great deal to offer to the world of personal computing. What's Butler working on these days, you wonder? What's top of mind for him as it relates to today's biggest challenges in computing? What does software security really mean? How many levels of software abstraction do we need? Why is data synchronization such a hard problem? What is software embodiment, exactly (Butler will be &lt;a href="http://microsoftpdc.com/Sessions/CL05" target="_blank"&gt;presenting his thinking on software embodiment at PDC09&lt;/a&gt;, as part of the &lt;a href="http://microsoftpdc.com/Sessions/Tags/TechnicalLeaders" target="_blank"&gt;new Technical Leaders track&lt;/a&gt; (something yours truly is responsible for - I hope you plan on attending these very special sessions and if not you will be able to watch them right here on Channel 9))?&lt;br /&gt;
&lt;br /&gt;
Tune in and meet a true legend in our industry. Microsoft is very forunate to have Butler Lampson thinking about some of the hardest problems we face as an industry and ensuring that Microsoft is capable of tackling these challenges in a way that extends the solutions for long term relevance in a changing and unpredictable environment.&lt;img src="http://channel9.msdn.com/484791/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/E2E-Erik-Meijer-and-Butler-Lampson-Abstraction-Security-Embodiment/</comments><link>http://channel9.msdn.com/shows/Going+Deep/E2E-Erik-Meijer-and-Butler-Lampson-Abstraction-Security-Embodiment/</link><pubDate>Thu, 17 Sep 2009 16:09:00 GMT</pubDate><guid isPermaLink="false">http://ecn.channel9.msdn.com/o9/ch9/1/9/7/4/8/4/E2EButlerLampson_ch9.wmv</guid><evnet:views>42952</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/484791/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>This is a very special episode of &lt;a href="http://channel9.msdn.com/tags/expert-to-expert" target="_blank"&gt;Expert to Expert&lt;/a&gt;. We were very fortunate to get some time with renowned computer scientist and Microsoft Technical Fellow &lt;a href="http://en.wikipedia.org/wiki/Butler_Lampson" target="_blank"&gt;Butler Lampson&lt;/a&gt;. Butler's impact on general purpose computing is vast and profound. Personal computing as it exists today is in part the result of the great work done by Butler over the past 30 years. &lt;br /&gt;
&lt;br /&gt;
Programming language designer and high priest of the lamda calculus Erik Meijer hosts this episode and Erik and Butler cover a very wide swath of computing topics. It's simply beautiful and very deep geekiness. In fact, this is one of my favorite Channel 9 conversations of late. I know you will enjoy both the usual &lt;em&gt;real&lt;/em&gt; conversational aspect of this and the depth of historical insight into some of the core aspects and unresolved problems of general purpose personal computing. &lt;br /&gt;
&lt;br /&gt;</evnet:previewtext><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/1/9/7/4/8/4/E2EButlerLampson_large_ch9.png" height="240" width="320" /><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/1/9/7/4/8/4/E2EButlerLampson_small_ch9.png" height="64" width="85" /><media:group><media:content url="http://ecn.channel9.msdn.com/o9/ch9/1/9/7/4/8/4/E2EButlerLampson_ch9.mp4" expression="full" duration="3584" fileSize="457092149" type="video/mp4" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/1/9/7/4/8/4/E2EButlerLampson_ch9.mp3" expression="full" duration="3584" fileSize="28673494" type="audio/mp3" medium="audio" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/1/9/7/4/8/4/E2EButlerLampson_ch9.mp4" expression="full" duration="3584" fileSize="457092149" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/1/9/7/4/8/4/E2EButlerLampson_ch9.wma" expression="full" duration="3584" fileSize="28993571" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/1/9/7/4/8/4/E2EButlerLampson_ch9.wmv" expression="full" duration="3584" fileSize="787927755" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/1/9/7/4/8/4/E2EButlerLampson_2MB_ch9.wmv" expression="full" duration="3584" fileSize="1408395549" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/1/9/7/4/8/4/E2EButlerLampson_Zune_ch9.wmv" expression="full" duration="3584" fileSize="508135683" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://ecn.channel9.msdn.com/o9/ch9/1/9/7/4/8/4/E2EButlerLampson_ch9.wmv" length="787927755" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>23</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/E2E-Erik-Meijer-and-Butler-Lampson-Abstraction-Security-Embodiment/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/484791/Trackback.aspx</trackback:ping><category>Butler Lampson</category><category>Erik Meijer</category><category>Expert to Expert</category><category>PDC09</category><category>Programming</category><category>Security</category><category>Technical Leaders</category></item><item><title>Expert to Expert: Erik Meijer and Michael Isard - Inside Dryad</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/7/4/0/9/7/4/E2EMichaelIsardInsideDryad_small_ch9.png" border="0" /&gt;Microsoft Research recently announced the availability, under &lt;a href="http://research.microsoft.com/en-us/downloads/03960cab-bb92-4c5c-be23-ce51aee0792c/default.aspx" target="_blank"&gt;Academic Licensing&lt;/a&gt;, of &lt;a href="http://research.microsoft.com/en-us/collaboration/tools/dryad.aspx" target="_blank"&gt;Dryad&lt;/a&gt;, an infrastructure which allows a programmer to use the resources of a computer cluster or a data center for running data-parallel programs. &lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;A Dryad programmer can use thousands of machines, each of them with multiple processors or cores, without knowing anything about concurrent programming.&lt;/em&gt; &lt;br /&gt;
&lt;br /&gt;
That's a pretty heady statement. What does Dryad do, &lt;em&gt;exactly&lt;/em&gt;, to enable this level of abstraction, shielding programmers from the incredibly complex world of distributed parallel computing? Does the level of abstraction impact the degree to which sophisticated programmers can interact with and control some of the low level mechanisms of the Dryad runtime? What is it about LINQ that made it the no-brainer managed programming abstraction for Dryad? &lt;br /&gt;
&lt;br /&gt;
Simply, how does Dryad &lt;em&gt;work? &lt;/em&gt;This is the core question that Erik and I had after &lt;a href="http://channel9.msdn.com/posts/Charles/Expert-to-Expert-Erik-Roger-Barga-Introduction-to-Dryad-and-DryadLINQ/" target="_blank"&gt;our conversation with Roger Barga &lt;/a&gt;(part one of this E2E mini-series on Dryad and DryadLINQ - perhaps we should focus just on DryadLINQ next time, but for now, all the information in this conversation is certain to keep you very busy and answer many questions you may have after learning about Dryad in part one...). &lt;br /&gt;
&lt;br /&gt;
Lots of whiteboarding here. Put on your thinking caps!&lt;br /&gt;
&lt;br /&gt;
Enjoy.&lt;img src="http://channel9.msdn.com/479047/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Erik-Meijer-and-Michael-Isard-Inside-Dryad/</comments><link>http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Erik-Meijer-and-Michael-Isard-Inside-Dryad/</link><pubDate>Tue, 21 Jul 2009 15:55:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/7/4/0/9/7/4/E2EMichaelIsardInsideDryad_ch9.wmv</guid><evnet:views>44642</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/479047/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Microsoft Research recently announced the availability, under &lt;a href="http://research.microsoft.com/en-us/downloads/03960cab-bb92-4c5c-be23-ce51aee0792c/default.aspx" target="_blank"&gt;Academic Licensing&lt;/a&gt;, of &lt;a href="http://research.microsoft.com/en-us/collaboration/tools/dryad.aspx" target="_blank"&gt;Dryad&lt;/a&gt;, an infrastructure which allows a programmer to use the resources of a computer cluster or a data center for running data-parallel programs. &lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;A Dryad programmer can use thousands of machines, each of them with multiple processors or cores, without knowing anything about concurrent programming.&lt;/em&gt; &lt;br /&gt;
&lt;br /&gt;
That's a pretty heady statement. What does Dryad do, &lt;em&gt;exactly&lt;/em&gt;, to enable this level of abstraction, shielding programmers from the incredibly complex world of distributed parallel computing? Does the level of abstraction impact the degree to which sophisticated programmers can interact with and control some of the low level mechanisms of the Dryad runtime? What is it about LINQ that made it the no-brainer managed programming abstraction for Dryad? &lt;br /&gt;
&lt;br /&gt;
Simply, how does Dryad &lt;em&gt;work? &lt;/em&gt;This is the core question that Erik and I had after &lt;a href="http://channel9.msdn.com/posts/Charles/Expert-to-Expert-Erik-Roger-Barga-Introduction-to-Dryad-and-DryadLINQ/" target="_blank"&gt;our conversation with Roger Barga &lt;/a&gt;(part one of this E2E mini-series on Dryad and DryadLINQ - perhaps we should focus just on DryadLINQ next time, but for now, all the information in this conversation is certain to keep you very busy and answer many questions you may have after learning about Dryad in part one...). &lt;br /&gt;
&lt;br /&gt;
Lots of whiteboarding here. Put on your thinking caps!&lt;br /&gt;
&lt;br /&gt;
Enjoy.</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/4/0/9/7/4/E2EMichaelIsardInsideDryad_large_ch9.png" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/4/0/9/7/4/E2EMichaelIsardInsideDryad_small_ch9.png" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/4/0/9/7/4/E2EMichaelIsardInsideDryad_ch9.mp4" expression="full" duration="3993" fileSize="393905418" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/4/0/9/7/4/E2EMichaelIsardInsideDryad_ch9.mp3" expression="full" duration="3993" fileSize="31949579" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/4/0/9/7/4/E2EMichaelIsardInsideDryad_ch9.mp4" expression="full" duration="3993" fileSize="393905418" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/4/0/9/7/4/E2EMichaelIsardInsideDryad_ch9.wma" expression="full" duration="3993" fileSize="64603005" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/4/0/9/7/4/E2EMichaelIsardInsideDryad_ch9.wmv" expression="full" duration="3993" fileSize="567261401" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/4/0/9/7/4/E2EMichaelIsardInsideDryad_2MB_ch9.wmv" expression="full" duration="3993" fileSize="1249165897" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/4/0/9/7/4/E2EMichaelIsardInsideDryad_Zune_ch9.wmv" expression="full" duration="3993" fileSize="564989381" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/4/0/9/7/4/E2EMichaelIsardInsideDryad_ch9.wmv" length="567261401" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>15</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Erik-Meijer-and-Michael-Isard-Inside-Dryad/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/479047/Trackback.aspx</trackback:ping><category>Architecture</category><category>C++</category><category>Cloud Computing</category><category>Concurrency</category><category>Distributed Computing</category><category>Dryad</category><category>DryadLINQ</category><category>Erik Meijer</category><category>Michael Isard</category><category>Parallel Computing</category><category>Programming</category></item><item><title>Expert to Expert: Erik Meijer and Roger Barga - Introduction to Dryad and DryadLINQ</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/6/1/8/8/7/4/E2ERogerBargaDryadAndDryadLINQ_small_ch9.png" border="0" /&gt;&lt;p&gt;Microsoft Research recently announced the availability, under &lt;a href="http://research.microsoft.com/en-us/downloads/03960cab-bb92-4c5c-be23-ce51aee0792c/default.aspx" target="_blank"&gt;Academic Licensing&lt;/a&gt;, of &lt;a href="http://research.microsoft.com/en-us/collaboration/tools/dryad.aspx" target="_blank"&gt;Dryad&lt;/a&gt;, an infrastructure which allows a programmer to use the resources of a computer cluster or a data center for running data-parallel programs. A Dryad programmer can use thousands of machines, each of them with multiple processors or cores, without knowing anything about concurrent programming.&lt;br /&gt;
 &lt;br /&gt;
&lt;a href="http://research.microsoft.com/en-us/projects/dryadlinq/default.aspx" target="_blank"&gt;DryadLINQ&lt;/a&gt; is the managed high level programming abstraction used to compose Dryad vertex topology graphs that the Dryad infrastructure uses to partition parallel computations. Here, Erik Meijer and Dryad team member Roger Barga discuss Drayad and DryadLINQ at a high level so that most of us can understand the implications, history and future of Dryad. This is an introductory piece. Erik and I will dive deep into Dryad with one of the scientists behind it in the second part of this Expert to Expert mini series on Dryad. UPDATE: The &lt;a href="http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Erik-Meijer-and-Michael-Isard-Inside-Dryad/"&gt;Going Deep episode on Dryad is now live&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Enjoy! This is incredible and important technology for simplifying the inherent complexity of distributed computation in the cloud. In essence, DryadLINQ enables a sequential programming experience over what will execute across potentially thousands of machines (depending upon the computational complexity of the program) concurrently.  Much to learn here. Channel 9 will help teach.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Editorial note&lt;/strong&gt;: When we discuss native code and the implementation of Dryad, the focus is on DryadLINQ &lt;em&gt;not&lt;/em&gt; the Dryad infrastructure and low level vertex APIs, which are written in C++. Just to be clear...&lt;br /&gt;
&lt;br /&gt;
Useful links:&lt;br /&gt;
&lt;br /&gt;
Connect site: &lt;a href="http://connect.microsoft.com/site/sitehome.aspx?SiteID=891"&gt;http://connect.microsoft.com/site/sitehome.aspx?SiteID=891&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;ER Website on Academic Use: &lt;a href="http://research.microsoft.com/en-us/collaboration/tools/dryad.aspx"&gt;http://research.microsoft.com/en-us/collaboration/tools/dryad.aspx&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;MSR Info: &lt;a href="http://research.microsoft.com/en-us/projects/dryadlinq/"&gt;http://research.microsoft.com/en-us/projects/dryadlinq/&lt;/a&gt; &lt;/p&gt;&lt;img src="http://channel9.msdn.com/478816/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/Charles/Expert-to-Expert-Erik-Roger-Barga-Introduction-to-Dryad-and-DryadLINQ/</comments><link>http://channel9.msdn.com/posts/Charles/Expert-to-Expert-Erik-Roger-Barga-Introduction-to-Dryad-and-DryadLINQ/</link><pubDate>Thu, 16 Jul 2009 16:43:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/6/1/8/8/7/4/E2ERogerBargaDryadAndDryadLINQ_ch9.wmv</guid><evnet:views>52580</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/478816/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>&lt;p&gt;Microsoft Research recently announced the availability, under &lt;a href="http://research.microsoft.com/en-us/downloads/03960cab-bb92-4c5c-be23-ce51aee0792c/default.aspx" target="_blank"&gt;Academic Licensing&lt;/a&gt;, of &lt;a href="http://research.microsoft.com/en-us/collaboration/tools/dryad.aspx" target="_blank"&gt;Dryad&lt;/a&gt;, an infrastructure which allows a programmer to use the resources of a computer cluster or a data center for running data-parallel programs. A Dryad programmer can use thousands of machines, each of them with multiple processors or cores, without knowing anything about concurrent programming.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://research.microsoft.com/en-us/projects/dryadlinq/default.aspx" target="_blank"&gt;DryadLINQ&lt;/a&gt; is the managed high level programming abstraction used to compose Dryad vertex topology graphs that the Dryad infrastructure uses to partition parallel computations. Here, Erik Meijer and Dryad team member Roger Barga discuss Drayad and DryadLINQ at a high level so that most of us can understand the implications, history and future of Dryad. This is an introductory piece. Erik and I will dive deep into Dryad with one of the scientists behind it in the second part of this Expert to Expert mini series on Dryad. UPDATE: The &lt;a href="http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Erik-Meijer-and-Michael-Isard-Inside-Dryad/"&gt;Going Deep episode on Dryad is now live&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Enjoy! This is incredible and important technology for simplifying the inherent complexity of distributed computation in the cloud. In essence, DryadLINQ enables a sequential programming experience over what will execute across potentially thousands of machines (depending upon the computational complexity of the program) concurrently. Much to learn here. Channel 9 will help teach.&lt;/p&gt;</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/6/1/8/8/7/4/E2ERogerBargaDryadAndDryadLINQ_large_ch9.png" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/6/1/8/8/7/4/E2ERogerBargaDryadAndDryadLINQ_small_ch9.png" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/6/1/8/8/7/4/E2ERogerBargaDryadAndDryadLINQ_ch9.mp4" expression="full" duration="1945" fileSize="191960486" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/6/1/8/8/7/4/E2ERogerBargaDryadAndDryadLINQ_ch9.mp3" expression="full" duration="1945" fileSize="15564820" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/6/1/8/8/7/4/E2ERogerBargaDryadAndDryadLINQ_ch9.mp4" expression="full" duration="1945" fileSize="191960486" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/6/1/8/8/7/4/E2ERogerBargaDryadAndDryadLINQ_ch9.wma" expression="full" duration="1945" fileSize="31480901" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/6/1/8/8/7/4/E2ERogerBargaDryadAndDryadLINQ_ch9.wmv" expression="full" duration="1945" fileSize="275857113" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/6/1/8/8/7/4/E2ERogerBargaDryadAndDryadLINQ_2MB_ch9.wmv" expression="full" duration="1945" fileSize="609049609" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/6/1/8/8/7/4/E2ERogerBargaDryadAndDryadLINQ_Zune_ch9.wmv" expression="full" duration="1945" fileSize="274545093" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/6/1/8/8/7/4/E2ERogerBargaDryadAndDryadLINQ_ch9.wmv" length="275857113" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>12</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/Charles/Expert-to-Expert-Erik-Roger-Barga-Introduction-to-Dryad-and-DryadLINQ/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/478816/Trackback.aspx</trackback:ping><category>Concurrency</category><category>Dryad</category><category>DryadLINQ</category><category>Erik Meijer</category><category>Expert to Expert</category><category>LINQ</category><category>Parallel Computing</category><category>Programming</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>87821</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>Expert to Expert: Harry Shum - General Purpose Search, Decision Engines and Bing</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/1/9/2/5/7/4/E2EHarryShumBing_small_ch9.png" border="0" /&gt;Harry Shum is the VP of Engineering for &lt;a href="http://bing.com" target="_blank"&gt;Bing&lt;/a&gt;, Microsoft's latest search engine offering (well, it's more than a search engine - it's a so-called Decision Engine, but what does that mean, precisely?). Harry has a long history in the world of complex algorithm design and implementation. Before joining the Bing team (at Bill Gates' request), Harry was a reseacher in MSR specializing in computer vision, which is an algorithm instensive discipline rife with machine learning principles, statistics and in some sense artificial "intelligence" in terms of autonomous pattern recognition capability. At any rate, Harry is a developer and scientist through and through. We're very fortunate to have him running our search engineering efforts. General purpose search is an incredibly fascinating area with a great deal of potential, challenges and opportunities.&lt;br /&gt;
&lt;br /&gt;
Erik Meijer, programming language designer, knight of the lamda calculus and Expert to Expert host, sits down with Harry to learn, at a high level (though deep in context), how Bing works, what, exactly, a decision engine is, what really happens when you &lt;a href="http://bing.com" target="_blank"&gt;Bing&lt;/a&gt; something and various topics related to the computation behind both general purpose search and accurately interpreting user intention. Of course, being an E2E, we take the conversation in many directions and Harry was a real sport. Thank you, Harry!&lt;br /&gt;
&lt;br /&gt;
If you want to know the past, present and a little bit of the future of Bing technology, well, tune in and meet Harry Shum; a computer scientist, software developer and vice president.&lt;br /&gt;
&lt;br /&gt;
Enjoy!&lt;img src="http://channel9.msdn.com/475291/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/Charles/Expert-to-Expert-Harry-Shum-General-Purpose-Search-Decision-Engines-and-Bing/</comments><link>http://channel9.msdn.com/posts/Charles/Expert-to-Expert-Harry-Shum-General-Purpose-Search-Decision-Engines-and-Bing/</link><pubDate>Wed, 01 Jul 2009 03:44:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/1/9/2/5/7/4/E2EHarryShumBing_ch9.wmv</guid><evnet:views>61252</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/475291/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Harry Shum is the VP of Engineering for &lt;a href="http://bing.com" target="_blank"&gt;Bing&lt;/a&gt;, Microsoft's latest search engine offering (well, it's more than a search engine - it's a so-called Decision Engine, but what does that mean, precisely?). Harry has a long history in the world of complex algorithm design and implementation. Before joining the Bing team (at Bill Gates' request), Harry was a reseacher in MSR specializing in computer vision, which is an algorithm instensive discipline rife with machine learning principles, statistics and in some sense artificial "intelligence" in terms of autonomous pattern recognition capability. At any rate, Harry is a developer and scientist through and through. We're very fortunate to have him running our search engineering efforts. General purpose search is an incredibly fascinating area with a great deal of potential, challenges and opportunities.&lt;br /&gt;
&lt;br /&gt;
Erik Meijer, programming language designer, knight of the lamda calculus and Expert to Expert host, sits down with Harry to learn, at a high level (though deep in context), how Bing works, what, exactly, a decision engine is, what really happens when you &lt;a href="http://bing.com" target="_blank"&gt;Bing&lt;/a&gt; something and various topics related to the computation behind both general purpose search and accurately interpreting user intention. Of course, being an E2E, we take the conversation in many directions and Harry was a real sport. Thank you, Harry!&lt;br /&gt;
&lt;br /&gt;
If you want to know the past, present and a little bit of the future of Bing technology, well, tune in and meet Harry Shum; a computer scientist, software developer and vice president.&lt;br /&gt;
&lt;br /&gt;
Enjoy!</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/9/2/5/7/4/E2EHarryShumBing_large_ch9.png" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/9/2/5/7/4/E2EHarryShumBing_small_ch9.png" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/9/2/5/7/4/E2EHarryShumBing_ch9.mp4" expression="full" duration="2431" fileSize="239828270" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/9/2/5/7/4/E2EHarryShumBing_ch9.mp3" expression="full" duration="2431" fileSize="19456853" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/9/2/5/7/4/E2EHarryShumBing_ch9.mp4" expression="full" duration="2431" fileSize="239828270" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/9/2/5/7/4/E2EHarryShumBing_ch9.wma" expression="full" duration="2431" fileSize="39351381" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/9/2/5/7/4/E2EHarryShumBing_ch9.wmv" expression="full" duration="2431" fileSize="344516029" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/9/2/5/7/4/E2EHarryShumBing_2MB_ch9.wmv" expression="full" duration="2431" fileSize="761180525" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/9/2/5/7/4/E2EHarryShumBing_Zune_ch9.wmv" expression="full" duration="2431" fileSize="344804009" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/9/2/5/7/4/E2EHarryShumBing_ch9.wmv" length="344516029" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>6</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/Charles/Expert-to-Expert-Harry-Shum-General-Purpose-Search-Decision-Engines-and-Bing/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/475291/Trackback.aspx</trackback:ping><category>bing</category><category>Decision Engines</category><category>Erik Meijer</category><category>Expert to Expert</category><category>Harry Shum</category><category>Machine Learning</category><category>MS Execs</category><category>Search</category></item><item><title>Expert to Expert: Web Programming, JavaScript with Types and Flapjax</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/9/4/0/4/7/4/E2EWebProgrammingFlapJax_small_ch9.png" border="0" /&gt;&lt;p&gt;&lt;a href="http://www.flapjax-lang.org/" target="_blank"&gt;&lt;em&gt;Flapjax&lt;/em&gt;&lt;/a&gt;&lt;em&gt; is a new programming language designed around the demands of modern, client-based Web applications. Its principal features include: &lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;em&gt;Event-driven, reactive evaluation &lt;/em&gt;&lt;/li&gt;
    &lt;li&gt;&lt;em&gt;An event-stream abstraction for communicating with web services &lt;/em&gt;&lt;/li&gt;
    &lt;li&gt;&lt;em&gt;Interfaces to external web services &lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Flapjax is easy to learn: it is just a JavaScript framework. Furthermore, because Flapjax is built entirely atop JavaScript, it runs on traditional Web browsers without the need for plug-ins or other downloads. It integrates seamlessly with existing JavaScript code and other frameworks. [Source = &lt;/em&gt;&lt;a href="http://www.flapjax-lang.org/"&gt;&lt;em&gt;http://www.flapjax-lang.org/&lt;/em&gt;&lt;/a&gt;&lt;em&gt;]&lt;br /&gt;
&lt;br /&gt;
&lt;/em&gt;&lt;a href="http://www.cs.brown.edu/~sk/" target="_blank"&gt;Shriram Krishnamurthi&lt;/a&gt; is one of the authors of Flapjax and was in town recently giving a series of lectures to fellow programming language researchers in MSR. Shriram is a professor of computer science at Brown University. Expert to Expert host and programming language designer Erik Meijer is also doing some interesting things with event driven reactivity (you'll learn all about this soon...) so the two language guys just had to chat and we had to film it. Tune in to see what happened in Erik's office over the course of an hour or so. A fair amount of time is spent discussing the reasoning behind and benefits of adding types to a language like JavaScript. It's an interesting idea, but what does it mean for web developers (who, potentially, adopted JavaScript for its wide open and highly dynamic characteristics in the first place).&lt;br /&gt;
&lt;br /&gt;
As usual, there's no editing here. It's as though you just came along and watched the magic unfold. Much thanks to Shriram for taking the time to chat with us. Flapjax is impressive. Do give it a try, Niners.&lt;/p&gt;&lt;img src="http://channel9.msdn.com/474049/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Web-Programming-with-Flapjax/</comments><link>http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Web-Programming-with-Flapjax/</link><pubDate>Tue, 23 Jun 2009 18:21:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/9/4/0/4/7/4/E2EWebProgrammingFlapJax_ch9.wmv</guid><evnet:views>55701</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/474049/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>&lt;p&gt;&lt;a href="http://www.flapjax-lang.org/" target="_blank"&gt;&lt;em&gt;Flapjax&lt;/em&gt;&lt;/a&gt;&lt;em&gt; is a new programming language designed around the demands of modern, client-based Web applications. Its principal features include: &lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;em&gt;Event-driven, reactive evaluation &lt;/em&gt;&lt;/li&gt;
    &lt;li&gt;&lt;em&gt;An event-stream abstraction for communicating with web services &lt;/em&gt;&lt;/li&gt;
    &lt;li&gt;&lt;em&gt;Interfaces to external web services &lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Flapjax is easy to learn: it is just a JavaScript framework. Furthermore, because Flapjax is built entirely atop JavaScript, it runs on traditional Web browsers without the need for plug-ins or other downloads. It integrates seamlessly with existing JavaScript code and other frameworks. [Source = &lt;/em&gt;&lt;a href="http://www.flapjax-lang.org/"&gt;&lt;em&gt;http://www.flapjax-lang.org/&lt;/em&gt;&lt;/a&gt;&lt;em&gt;]&lt;br /&gt;
&lt;br /&gt;
&lt;/em&gt;&lt;a href="http://www.cs.brown.edu/~sk/" target="_blank"&gt;Shriram Krishnamurthi&lt;/a&gt; is one of the authors of Flapjax and was in town recently giving a series of lectures to fellow programming language researchers in MSR. Shriram is a professor of computer science at Brown University. Expert to Expert host and programming language designer Erik Meijer is also doing some interesting things with event driven reactivity (you'll learn all about this soon...) so the two language guys just had to chat and we had to film it. Tune in to see what happened in Erik's office over the course of an hour or so. A fair amount of time is spent discussing the reasoning behind and benefits of adding types to a language like JavaScript. It's an interesting idea, but what does it mean for web developers (who, potentially, adopted JavaScript for its wide open and highly dynamic characteristics in the first place).&lt;br /&gt;
&lt;br /&gt;
As usual, there's no editing here. It's as though you just came along and watched the magic unfold. Much thanks to Shriram for taking the time to chat with us. Flapjax is impressive. Do give it a try, Niners.&lt;/p&gt;</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/4/0/4/7/4/E2EWebProgrammingFlapJax_large_ch9.png" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/4/0/4/7/4/E2EWebProgrammingFlapJax_small_ch9.png" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/4/0/4/7/4/E2EWebProgrammingFlapJax_ch9.mp4" expression="full" duration="4344" fileSize="428587390" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/4/0/4/7/4/E2EWebProgrammingFlapJax_ch9.mp3" expression="full" duration="4344" fileSize="34756382" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/4/0/4/7/4/E2EWebProgrammingFlapJax_ch9.mp4" expression="full" duration="4344" fileSize="428587390" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/4/0/4/7/4/E2EWebProgrammingFlapJax_ch9.wma" expression="full" duration="4344" fileSize="70274557" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/4/0/4/7/4/E2EWebProgrammingFlapJax_ch9.wmv" expression="full" duration="4344" fileSize="608335507" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/4/0/4/7/4/E2EWebProgrammingFlapJax_2MB_ch9.wmv" expression="full" duration="4344" fileSize="1657936109" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/4/0/4/7/4/E2EWebProgrammingFlapJax_Zune_ch9.wmv" expression="full" duration="4344" fileSize="613391487" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/4/0/4/7/4/E2EWebProgrammingFlapJax_ch9.wmv" length="608335507" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>16</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Web-Programming-with-Flapjax/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/474049/Trackback.aspx</trackback:ping><category>Erik Meijer</category><category>Expert to Expert</category><category>Flapjax</category><category>Javascript</category><category>Programming</category><category>Programming Languages</category></item><item><title>Expert to Expert: Gur Kimchi - Inside Bing Maps (aka Virtual Earth)</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/2/8/0/0/7/4/E2EInsideVirtualEarth_small_ch9.png" border="0" /&gt;Erik Meijer and I paid a visit to Bing Maps infrastructure architect and Partner Development Manager Gur Kimchi for an Expert to Expert conversation about the design and architecture of Bing Maps. It takes some rocket science to process and coerce data into accurate information representative of points of interest on planet Earth. How does Bing Maps work, at the deepest levels, in the cloud? Gur and team have created a very efficient back end system that computes and returns the information you seek when using Bing Maps. Tune in. This is yet another great conversation among experts (not including myself, of course - I need to limit my caffeine intake before E2E's going forward... :)).&lt;br /&gt;
&lt;br /&gt;
Enjoy!&lt;img src="http://channel9.msdn.com/470082/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Gur-Kimchi-Inside-Bing-Maps/</comments><link>http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Gur-Kimchi-Inside-Bing-Maps/</link><pubDate>Wed, 17 Jun 2009 17:54:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/2/8/0/0/7/4/E2EInsideVirtualEarth_ch9.wmv</guid><evnet:views>41320</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/470082/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Erik Meijer and I paid a visit to Bing Maps infrastructure architect and Partner Development Manager Gur Kimchi for an Expert to Expert conversation about the design and architecture of Bing Maps. It takes some rocket science to process and coerce data into accurate information representative of points of interest on planet Earth. How does Bing Maps work, at the deepest levels, in the cloud? Gur and team have created a very efficient back end system that computes and returns the information you seek when using Bing Maps. Tune in. This is yet another great conversation among experts (not including myself, of course - I need to limit my caffeine intake before E2E's going forward... &lt;img src='/emoticons/C9/emotion-1.gif' alt='Smiley' /&gt;).&lt;br /&gt;
&lt;br /&gt;
Enjoy!</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/2/8/0/0/7/4/E2EInsideVirtualEarth_large_ch9.png" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/2/8/0/0/7/4/E2EInsideVirtualEarth_small_ch9.png" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/2/8/0/0/7/4/E2EInsideVirtualEarth_ch9.mp4" expression="full" duration="3213" fileSize="316922447" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/2/8/0/0/7/4/E2EInsideVirtualEarth_ch9.mp3" expression="full" duration="3213" fileSize="25707116" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/2/8/0/0/7/4/E2EInsideVirtualEarth_ch9.mp4" expression="full" duration="3213" fileSize="316922447" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/2/8/0/0/7/4/E2EInsideVirtualEarth_ch9.wma" expression="full" duration="3213" fileSize="51980197" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/2/8/0/0/7/4/E2EInsideVirtualEarth_ch9.wmv" expression="full" duration="3213" fileSize="194568721" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/2/8/0/0/7/4/E2EInsideVirtualEarth_2MB_ch9.wmv" expression="full" duration="3213" fileSize="1004985223" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/2/8/0/0/7/4/E2EInsideVirtualEarth_Zune_ch9.wmv" expression="full" duration="3213" fileSize="452936701" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/2/8/0/0/7/4/E2EInsideVirtualEarth_ch9.wmv" length="194568721" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>5</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Gur-Kimchi-Inside-Bing-Maps/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/470082/Trackback.aspx</trackback:ping><category>Architecture</category><category>bing</category><category>Bing Maps</category><category>Erik Meijer</category><category>Expert to Expert</category><category>Gur Kimchi</category><category>Virtual Earth</category></item><item><title>Expert to Expert: Inside Bling - A C#-based library to simplify WPF programming</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/9/4/1/9/6/4/E2EInsideBling_small_ch9.png" border="0" /&gt;&lt;a href="http://bling.codeplex.com/" target="_blank"&gt;&lt;em&gt;Bling&lt;/em&gt;&lt;/a&gt;&lt;em&gt; is a C#-based library for easily programming images, animations, interactions, and visualizations on Microsoft's WPF/.NET. Bling is oriented towards design technologists, i.e., designers who sometimes program, to aid in the rapid prototyping of rich UI design ideas. Students, artists, researchers, and hobbyists will also find Bling useful as a tool for quickly expressing ideas or visualizations. Bling's APIs and constructs are optimized for the fast programming of throw away code as opposed to the careful programming of production code.&lt;/em&gt; &lt;br /&gt;
&lt;br /&gt;
Some features of Bling:&lt;br /&gt;
&lt;br /&gt;
&lt;li&gt;&lt;b&gt;&lt;a href="http://bling.codeplex.com/Wiki/View.aspx?title=constraints"&gt;&lt;em&gt;Declarative constraints&lt;/em&gt;&lt;/a&gt;&lt;/b&gt;&lt;em&gt; that maintain dynamic relationships in the UI without the need for complex event handling. For example, button.Width = 100 - slider.Value causes button to shrink as the slider thumb is moved to the right, or grow as it is moved to the left. Constraints have many benefits: they allow rich custom layouts to be expressed with very little code, they are easy animate, and they support UIs with lots of dynamic behavior. &lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;a href="http://bling.codeplex.com/Wiki/View.aspx?title=constraints&amp;amp;ANCHOR#animation"&gt;&lt;em&gt;Simplified animation&lt;/em&gt;&lt;/a&gt;&lt;/b&gt;&lt;em&gt; with one line of code. For example, button.Left.Animate.Duration(500).To = label.Right will cause button to move to the right of label in 500 milliseconds. &lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;a href="http://bling.codeplex.com/Wiki/View.aspx?title=shader"&gt;&lt;em&gt;Pixel shader effects&lt;/em&gt;&lt;/a&gt;&lt;/b&gt;&lt;em&gt; without the need to write HLSL code or boilerplate code! For example, canvas.CustomEffect = (input, uv) =&amp;gt; new ColorBl(new Point3DBl(1,1,1) - input[uv].ScRGB, input[uv].ScA); defines and installs a pixel shader on a canvas that inverts the canvas's colors. Pixel shading in Bling takes advantage of your graphics card to create rich, pixel-level effects. &lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Support for &lt;b&gt;multi-pass bitmap effects&lt;/b&gt; such as diffuse lighting. &lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;An experimental &lt;b&gt;&lt;a href="http://bling.codeplex.com/Wiki/View.aspx?title=physics"&gt;UI physics engine&lt;/a&gt;&lt;/b&gt; for integrating physics into user interfaces! The physics supported by Bling is flexible, controllable, and easy to program. &lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Support for 2.5D &lt;b&gt;&lt;a href="http://bling.codeplex.com/Wiki/View.aspx?title=lighting"&gt;lighting&lt;/a&gt;&lt;/b&gt;. &lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;A rich library of &lt;b&gt;&lt;a href="http://bling.codeplex.com/Wiki/View.aspx?title=geometry"&gt;geometry routines&lt;/a&gt;&lt;/b&gt;; e.g., finding where two lines intersect, the base of a triangle, the area of triangle, or a point on Bezier curve. These routines are compatible with all of Bling's features; e.g., they can be used in express constraints, pixel shaders, or physical constraints. Bling also provides a rich API for manipulating angles in both degrees and radians. &lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;And many &lt;b&gt;smaller things&lt;/b&gt;; e.g., a frame-based background animation manager and slide presentation system. &lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;As a &lt;b&gt;lightweight wrapper&lt;/b&gt; around WPF, Bling code is completely compatible with conventional WPF code written in C#, XAML, or other .NET languages.&lt;/em&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Sounds &lt;em&gt;very&lt;/em&gt; interesting. Well, Erik and I wanted to find out more about Bling (Is it a library or a DSL? Is WPF programming really that hard? How is Bling designed and what makes it a simplified abstraction over a full featured platform technology like WPF?). It just so happened that Bling creator and software developer Sean McDirmid was in town recently (he works at Microsof's Advanced Technology Center located in Beijing, China). Tune in to see how the latest E2E unfolded (you must realize by now that we never really plan anything and E2Es &lt;em&gt;just happen&lt;/em&gt; as you see them - it's just part of the game we play). Bling is an interesting idea with potential. Simplifying complexity is an important goal. &lt;br /&gt;
&lt;br /&gt;
Enjoy.  &lt;/p&gt;
&lt;/li&gt;&lt;img src="http://channel9.msdn.com/469149/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Inside-Bling-A-C-based-library-to-simplify-WPF-programming/</comments><link>http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Inside-Bling-A-C-based-library-to-simplify-WPF-programming/</link><pubDate>Mon, 08 Jun 2009 21:45:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/9/4/1/9/6/4/E2EInsideBling_ch9.wmv</guid><evnet:views>42054</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/469149/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>&lt;a href="http://bling.codeplex.com/" target="_blank"&gt;&lt;em&gt;Bling&lt;/em&gt;&lt;/a&gt;&lt;em&gt; is a C#-based library for easily programming images, animations, interactions, and visualizations on Microsoft's WPF/.NET. Bling is oriented towards design technologists, i.e., designers who sometimes program, to aid in the rapid prototyping of rich UI design ideas. Students, artists, researchers, and hobbyists will also find Bling useful as a tool for quickly expressing ideas or visualizations. Bling's APIs and constructs are optimized for the fast programming of throw away code as opposed to the careful programming of production code.&lt;/em&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;p&gt;Sounds &lt;em&gt;very&lt;/em&gt; interesting. Well, Erik and I wanted to find out more about Bling (Is it a library or a DSL? Is WPF programming really that hard? How is Bling designed and what makes it a simplified abstraction over a full featured platform technology like WPF?). It just so happened that Bling creator and software developer Sean McDirmid was in town recently (he works at Microsof's Advanced Technology Center located in Beijing, China). Tune in to see how the latest E2E unfolded (you must realize by now that we never really plan anything and E2Es &lt;em&gt;just happen&lt;/em&gt; as you see them - it's just part of the game we play). Bling is an interesting idea with potential. Simplifying complexity is an important goal. &lt;br /&gt;
&lt;br /&gt;
Enjoy. &lt;/p&gt;</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/4/1/9/6/4/E2EInsideBling_large_ch9.png" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/4/1/9/6/4/E2EInsideBling_small_ch9.png" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/4/1/9/6/4/E2EInsideBling_ch9.mp4" expression="full" duration="3132" fileSize="308931155" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/4/1/9/6/4/E2EInsideBling_ch9.mp3" expression="full" duration="3132" fileSize="25062071" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/4/1/9/6/4/E2EInsideBling_ch9.mp4" expression="full" duration="3132" fileSize="308931155" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/4/1/9/6/4/E2EInsideBling_ch9.wma" expression="full" duration="3132" fileSize="50676461" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/4/1/9/6/4/E2EInsideBling_ch9.wmv" expression="full" duration="3132" fileSize="189256235" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/4/1/9/6/4/E2EInsideBling_2MB_ch9.wmv" expression="full" duration="3132" fileSize="980456737" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/4/1/9/6/4/E2EInsideBling_Zune_ch9.wmv" expression="full" duration="3132" fileSize="443704215" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/4/1/9/6/4/E2EInsideBling_ch9.wmv" length="189256235" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>29</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Inside-Bling-A-C-based-library-to-simplify-WPF-programming/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/469149/Trackback.aspx</trackback:ping><category>Animation</category><category>Bling</category><category>CSharp</category><category>Erik Meijer</category><category>Expert to Expert</category><category>Programming</category><category>WPF</category></item><item><title>Philip Wadler and Erik Meijer: On Programming Language Theory and Practice</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/0/6/9/6/6/4/LangNET2009ErikMeijerPhilipWadler_small_ch9.png" border="0" /&gt;&lt;a href="http://www.langnetsymposium.com/" target="_blank"&gt;Lang.NET Symposium&lt;/a&gt; 2009 was held on Microsoft's campus (make sure you &lt;a href="http://www.langnetsymposium.com/2009/talks.aspx" target="_blank"&gt;watch the talks&lt;/a&gt;, which are available for your viewing pleasure). We were of course there and conducted several interviews with some of programming language design's brightest thinkers.&lt;br /&gt;
&lt;br /&gt;
Here, &lt;a href="http://research.microsoft.com/en-us/um/people/emeijer/" target="_blank"&gt;Erik Meijer&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Philip_Wadler" target="_blank"&gt;Philip Wadler&lt;/a&gt; discuss the theory and practice of programming language design with C# program manager Mads Torgersen. &lt;br /&gt;
&lt;br /&gt;
Philip is widely known for his significant contributions to functional programming (including Haskell and a classic book - Introduction to Functional Programming(Prentice Hall publisher) that is one of the best introductions to functional programming you can find) and programming language theory. You've learned about Mondas on Channel 9. Well, Philip is the guy that is in part responsible for their wide adoption in FP.&lt;br /&gt;
&lt;br /&gt;
Erik, as you know by now, is co-creator of LINQ, functional programming master, creator of the now unnamed "Volta" technologies, and much more. &lt;br /&gt;
&lt;br /&gt;
This is a great conversation on how theory winds its way into practice and how principles take time to embed themselves into modern language design (most modern languages are built on the ideas formed many years ago, as theoretical principles).  Phillip and Erik also touch on langauge history and futures. Tune in.&lt;img src="http://channel9.msdn.com/466960/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/Charles/Philip-Wadler-and-Erik-Meijer-Perspectives-on-Programming-Language-Theory-and-Practice/</comments><link>http://channel9.msdn.com/posts/Charles/Philip-Wadler-and-Erik-Meijer-Perspectives-on-Programming-Language-Theory-and-Practice/</link><pubDate>Mon, 04 May 2009 17:02:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/0/6/9/6/6/4/LangNET2009ErikMeijerPhilipWadler_ch9.wmv</guid><evnet:views>32112</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/466960/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>&lt;a href="http://www.langnetsymposium.com/" target="_blank"&gt;Lang.NET Symposium&lt;/a&gt; 2009 was held on Microsoft's campus (make sure you &lt;a href="http://www.langnetsymposium.com/2009/talks.aspx" target="_blank"&gt;watch the talks&lt;/a&gt;, which are available for your viewing pleasure). We were of course there and conducted several interviews with some of programming language design's brightest thinkers.&lt;br /&gt;
&lt;br /&gt;
Here, &lt;a href="http://research.microsoft.com/en-us/um/people/emeijer/" target="_blank"&gt;Erik Meijer&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Philip_Wadler" target="_blank"&gt;Philip Wadler&lt;/a&gt; discuss the theory and practice of programming language design with C# program manager Mads Torgersen. &lt;br /&gt;
&lt;br /&gt;
Philip is widely known for his significant contributions to functional programming (including Haskell and a classic book - Introduction to Functional Programming(Prentice Hall publisher) that is one of the best introductions to functional programming you can find) and programming language theory. You've learned about Mondas on Channel 9. Well, Philip is the guy that is in part responsible for their wide adoption in FP.&lt;br /&gt;
&lt;br /&gt;
Erik, as you know by now, is co-creator of LINQ, functional programming master, creator of the now unnamed "Volta" technologies, and much more. &lt;br /&gt;
&lt;br /&gt;
This is a great conversation on how theory winds its way into practice and how principles take time to embed themselves into modern language design (most modern languages are built on the ideas formed many years ago, as theoretical principles).  Phillip and Erik also touch on langauge history and futures. Tune in.</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/6/9/6/6/4/LangNET2009ErikMeijerPhilipWadler_large_ch9.png" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/6/9/6/6/4/LangNET2009ErikMeijerPhilipWadler_small_ch9.png" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/6/9/6/6/4/LangNET2009ErikMeijerPhilipWadler_ch9.mp4" expression="full" duration="905" fileSize="87966561" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/6/9/6/6/4/LangNET2009ErikMeijerPhilipWadler_ch9.mp3" expression="full" duration="905" fileSize="7245605" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/6/9/6/6/4/LangNET2009ErikMeijerPhilipWadler_ch9.mp4" expression="full" duration="905" fileSize="87966561" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/6/9/6/6/4/LangNET2009ErikMeijerPhilipWadler_ch9.wma" expression="full" duration="905" fileSize="14658501" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/6/9/6/6/4/LangNET2009ErikMeijerPhilipWadler_ch9.wmv" expression="full" duration="905" fileSize="54666873" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/6/9/6/6/4/LangNET2009ErikMeijerPhilipWadler_2MB_ch9.wmv" expression="full" duration="905" fileSize="279148482" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/6/9/6/6/4/LangNET2009ErikMeijerPhilipWadler_Zune_ch9.wmv" expression="full" duration="905" fileSize="108890853" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/6/9/6/6/4/LangNET2009ErikMeijerPhilipWadler_ch9.wmv" length="54666873" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>10</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/Charles/Philip-Wadler-and-Erik-Meijer-Perspectives-on-Programming-Language-Theory-and-Practice/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/466960/Trackback.aspx</trackback:ping><category>Erik Meijer</category><category>LangNET 2009</category><category>Philip Wadler</category><category>Programming Languages</category></item><item><title>Expert to Expert - Erik Meijer and Lars Bak: Inside V8 - A Javascript Virtual Machine</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/5/5/9/6/6/4/E2ELangNET2009LarsBak_small_ch9.png" border="0" /&gt;Lars Bak is a virtual machine master. He and team have created a Javascript VM, V8, that takes Javascript syntax and produces optimized machine code directly. The result is very performant execution of Javascript. How does V8 work, exactly? What are the basic design decisions that have gone into it's construction? Why is it designed the way it is? How fast can Javascript really run, anyway? How challenging is it to take a language like Javascript and produce highly optimized machine code? &lt;br /&gt;
&lt;br /&gt;
Erik Meijer, language designer and fundamentalist functional high priest, discusses these questions and more with Lars. We also talk about the language to machine code translation versus having an intermediate step (like IL) that gets optimized further in runtime context by a JITer. &lt;br /&gt;
&lt;br /&gt;
If you want to know the thinking behind the thinking of Javascript compilation, the current state of the art and future directions, then this is for you. Big thanks to Lars Bak for spending time with Channel 9! &lt;br /&gt;
&lt;br /&gt;
Enjoy!&lt;img src="http://channel9.msdn.com/466955/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Erik-Meijer-and-Lars-Bak-Inside-V8-A-Javascript-Virtual-Machine/</comments><link>http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Erik-Meijer-and-Lars-Bak-Inside-V8-A-Javascript-Virtual-Machine/</link><pubDate>Wed, 29 Apr 2009 16:29:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/5/5/9/6/6/4/E2ELangNET2009LarsBak_ch9.wmv</guid><evnet:views>39425</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/466955/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Lars Bak is a virtual machine master. He and team have created a Javascript VM, V8, that takes Javascript syntax and produces optimized machine code directly. The result is very performant execution of Javascript. How does V8 work, exactly? What are the basic design decisions that have gone into it's construction? Why is it designed the way it is? How fast can Javascript really run, anyway? How challenging is it to take a language like Javascript and produce highly optimized machine code? &lt;br /&gt;
&lt;br /&gt;
Erik Meijer, language designer and fundamentalist functional high priest, discusses these questions and more with Lars. We also talk about the language to machine code translation versus having an intermediate step (like IL) that gets optimized further in runtime context by a JITer. &lt;br /&gt;
&lt;br /&gt;
If you want to know the thinking behind the thinking of Javascript compilation, the current state of the art and future directions, then this is for you. Big thanks to Lars Bak for spending time with Channel 9! &lt;br /&gt;</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/5/9/6/6/4/E2ELangNET2009LarsBak_large_ch9.png" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/5/9/6/6/4/E2ELangNET2009LarsBak_small_ch9.png" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/5/9/6/6/4/E2ELangNET2009LarsBak_ch9.mp4" expression="full" duration="3281" fileSize="323446121" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/5/9/6/6/4/E2ELangNET2009LarsBak_ch9.mp3" expression="full" duration="3281" fileSize="26253551" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/5/9/6/6/4/E2ELangNET2009LarsBak_ch9.mp4" expression="full" duration="3281" fileSize="323446121" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/5/9/6/6/4/E2ELangNET2009LarsBak_ch9.wma" expression="full" duration="3281" fileSize="53085669" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/5/9/6/6/4/E2ELangNET2009LarsBak_ch9.wmv" expression="full" duration="3281" fileSize="198761129" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/5/9/6/6/4/E2ELangNET2009LarsBak_2MB_ch9.wmv" expression="full" duration="3281" fileSize="929030574" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/5/9/6/6/4/E2ELangNET2009LarsBak_Zune_ch9.wmv" expression="full" duration="3281" fileSize="411065109" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/5/9/6/6/4/E2ELangNET2009LarsBak_ch9.wmv" length="198761129" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>19</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Erik-Meijer-and-Lars-Bak-Inside-V8-A-Javascript-Virtual-Machine/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/466955/Trackback.aspx</trackback:ping><category>Erik Meijer</category><category>Expert to Expert</category><category>Javascript</category><category>LangNET 2009</category><category>Lars Bak</category><category>V8</category><category>Virtual Machines</category><category>Web Browser</category></item></channel></rss>