EDN Admin
Well-known member
<span>Its been WAY too long since weve had Brian Beckman sharing knowledge, insights and perspectives on Channel 9. This changes now! <img src=http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif?v=c9 alt=Smiley />
Needless to say, I was incredibly happy to spend an hour with Brian learning all about what hes up to these days. Not surprisingly, hes writing code and employing Rx and monads to solve very interesting problems. In this conversation (a code lesson, algorithm survey, a splash of random topical diversion), Brian explains and demonstrates his latest endeavor: implementing the Viterbi algorithm in C#. Whats the Viterbi algorithm, Brian? What are hidden Markov models? What are you using this stuff for? Where does Rx fit into this? Whats going on? By the way, its awesome to learn that a Niner has been sharing C# monadic implementations with Brian (state monad, maybe monad). <img src=http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif?v=c9 alt=Smiley />
Of course, no conversation with Brian - a physicist by training and a software architect at Microsoft - is complete without talking about some current physics problem: Finding the elusive Higgs Boson is all the rage these days, so we talk about what it means.
Brian also shares insights on Haskell, functional and hybrid programming languages (C# is imperative, but it provides functional capabilities like LINQ, for example, upon which Rx is built (Rx is LINQ-to-Streams or observable sequences of events, really)...). We also finally discuss his previous work at MS that we never got a chance to talk to him about while he was doing it. Before joining the Bing Mobile team, Brian was working on a project (it failed, but sometimes this happens) to create a new functional programming language. What was it?
Thank you, Brian!
Happy holidays from Channel 9 wherever you are and whatever, if anything, youre celebrating!
Notes and More:
The code Brian demos (download it, unzip it, launch VS, open the solution, then watch this video and play along): https://github.com/rebcabin/DotNetExtensionsImproved https://github.com/rebcabin/DotNetExtensionsImproved
From Wikipedia - information on Markov and Viterbi: A hidden Markov model ( HMM ) is a <a title="Statistical model http://en.wikipedia.org/wiki/Statistical_model" target="_blank statistical <a title="Markov model http://en.wikipedia.org/wiki/Markov_model" target="_blank Markov model in which the system being modeled is assumed to be a <a title="Markov process http://en.wikipedia.org/wiki/Markov_process" target="_blank Markov process with unobserved (hidden) states <span>The Viterbi algorithm is a <a title="Dynamic programming http://en.wikipedia.org/wiki/Dynamic_programming" target="_blank dynamic programming <a title="Algorithm http://en.wikipedia.org/wiki/Algorithm" target="_blank algorithm for finding the most <a title="Likelihood function http://en.wikipedia.org/wiki/Likelihood_function" target="_blank likely sequence of hidden states – called the Viterbi path – that results in a sequence of observed events, especially in the context of <a title="Markov information source http://en.wikipedia.org/wiki/Markov_information_source" target="_blank Markov information sources , and more generally, <a title="Hidden Markov model http://en.wikipedia.org/wiki/Hidden_Markov_model hidden Markov models . <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=http://channel9.msdn.com/Feeds/RSS&WT.dl=0&WT.entryid=Entry:RSSView:1bb33112c61945399e159fc10010ef35
View the full article
Needless to say, I was incredibly happy to spend an hour with Brian learning all about what hes up to these days. Not surprisingly, hes writing code and employing Rx and monads to solve very interesting problems. In this conversation (a code lesson, algorithm survey, a splash of random topical diversion), Brian explains and demonstrates his latest endeavor: implementing the Viterbi algorithm in C#. Whats the Viterbi algorithm, Brian? What are hidden Markov models? What are you using this stuff for? Where does Rx fit into this? Whats going on? By the way, its awesome to learn that a Niner has been sharing C# monadic implementations with Brian (state monad, maybe monad). <img src=http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif?v=c9 alt=Smiley />
Of course, no conversation with Brian - a physicist by training and a software architect at Microsoft - is complete without talking about some current physics problem: Finding the elusive Higgs Boson is all the rage these days, so we talk about what it means.
Brian also shares insights on Haskell, functional and hybrid programming languages (C# is imperative, but it provides functional capabilities like LINQ, for example, upon which Rx is built (Rx is LINQ-to-Streams or observable sequences of events, really)...). We also finally discuss his previous work at MS that we never got a chance to talk to him about while he was doing it. Before joining the Bing Mobile team, Brian was working on a project (it failed, but sometimes this happens) to create a new functional programming language. What was it?
Thank you, Brian!
Happy holidays from Channel 9 wherever you are and whatever, if anything, youre celebrating!
Notes and More:
The code Brian demos (download it, unzip it, launch VS, open the solution, then watch this video and play along): https://github.com/rebcabin/DotNetExtensionsImproved https://github.com/rebcabin/DotNetExtensionsImproved
From Wikipedia - information on Markov and Viterbi: A hidden Markov model ( HMM ) is a <a title="Statistical model http://en.wikipedia.org/wiki/Statistical_model" target="_blank statistical <a title="Markov model http://en.wikipedia.org/wiki/Markov_model" target="_blank Markov model in which the system being modeled is assumed to be a <a title="Markov process http://en.wikipedia.org/wiki/Markov_process" target="_blank Markov process with unobserved (hidden) states <span>The Viterbi algorithm is a <a title="Dynamic programming http://en.wikipedia.org/wiki/Dynamic_programming" target="_blank dynamic programming <a title="Algorithm http://en.wikipedia.org/wiki/Algorithm" target="_blank algorithm for finding the most <a title="Likelihood function http://en.wikipedia.org/wiki/Likelihood_function" target="_blank likely sequence of hidden states – called the Viterbi path – that results in a sequence of observed events, especially in the context of <a title="Markov information source http://en.wikipedia.org/wiki/Markov_information_source" target="_blank Markov information sources , and more generally, <a title="Hidden Markov model http://en.wikipedia.org/wiki/Hidden_Markov_model hidden Markov models . <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=http://channel9.msdn.com/Feeds/RSS&WT.dl=0&WT.entryid=Entry:RSSView:1bb33112c61945399e159fc10010ef35
View the full article