Archives for posts with tag: Computer-Science

You first learned about Rx on C9. We’ve led you through the basic concepts of reactive programming to the deep mathematical foundation behind Rx (interface duality). By now, you should understand that IObservable is the dual of IEnumerable. Today, you will learn some new concepts (for many of you) in addition to the introduction of Rx’s newest interface, IQbservable, the dual of IQueryable. In effect, the addition of IQbservable completes the interface puzzle within Rx. But what does this mean?

The great Bart De Smet takes us through the fundamentals and specifics behind this new interface, which ships in the latest version of Rx. Most of the time is spent at the whiteboard. There’s also a short demo at the end of the conversation. Here’s the flow:

Whiteboarding:

  • Expression trees recap (lambdas convertible to either anonymous methods or expression trees)
  • How LINQ to Objects versus LINQ to SQL works, introducing IQueryable<T>
  • Look at the Queryable extension methods and how they stitch expression trees together
  • Differences between IQbservable<T> and IQueryable<T> (mainly simplification)
  • Extended role of IQbservableProvider compared to IQueryableProvider
  • Synergy between IQueryable and IQbservable (ToEnumerable/ToObservable “sideways” conversion)
  • What operators are available (answer: 99% – explain why that 1% is omitted)

Demo:

  • Sample observable LINQ provider (LINQ to WQL)

Put your thinking caps on, turn up the volume, sit back, and learn. Erik Meijer and team are innovating at a level we haven’t seen in a while around here. Rx is profoundly evolving and taking LINQ along for the ride. Incredible work!

Enjoy this latest episode of Going Deep. Ask questions. Bart et al. will answer them here and on the Rx forums.


A distributed system is one in which the failure of a computer you didn’t even know existed can render your own computer unusable. -Leslie Lamport.


Leslie Lamport
is a computer scientist and mathematician best known for his work with distributed systems. In fact, Dr. Lamport’s research contributions laid the foundations for the theory of distributed systems. He currently works in Microsoft Research where most of his time is spent developing formal semantics (with mathematical logic) for specifying and reasoning about algorithms.

Here, Dr. Erik Meijer, computer scientist and programming language/library designer, sits down with Dr. Lamport to discuss several aspects of Dr. Lamport’s body of work in computer science.

Dr. Lamport’s TLA, the Temporal Logic of Actions, is a logic for specifying and reasoning about concurrent and reactive systems. TLA+ is the latest incarnation of this formal specification toolset.

Over thousands of years, language has evolved in order to provide mankind a mechanism for making it easier to communicate with one another. Today, the world is filled with a wide variety of languages, some of which are radically different from one another, while others bear striking similarities. In addition to improving interpersonal communications, however, languages have evolved to facilitate the transfer of information, instructions, and intent between people and machines.

Understanding, designing, and evangelizing many of these languages, and democratizing the programming methodologies within them, is Erik Meijer. Erik is a legendary figure in the programming language design community and one of Niner Nation’s favorite personalities. Today, tune in and meet the man behind the code; some of Erik’s fascinating personal and professional histories may well surprise you. The great Robert Hess moderates this latest edition of Behind the Code.

Enjoy.

PS: Erik will be speaking at MIX10!

Welcome to the latest installment of C9 Conversations. For this episode, we were very fortunate to get a chance to converse openly with one of the world’s preeminent mathematical logicians, the great Yuri Gurevich.

Dr. Gurevich is Professor Emeritus of Electrical Engineering and Computer Science at the University of Michigan. He is currently a principle research scientist in Wolfram Schulte’s RiSE team (Research in Software Engineering group at Microsoft Research).

Originally, Dr. Gurevich started his career as an algebraist. Later he became a logician. Then he moved to computer science, where his main projects have been Abstract State Machines, Average Case Computational Complexity, and Finite Model Theory. Dr. Gurevich has been honored as a Dr. Honoris Causa of the University of Limburg, Belgium (1998), as a Fellow of the Association for Computing Machinery (1996), as well as a Fellow of the John Simon Guggenheim Memorial Foundation (1995).

Dr. Gurevich’s fundamental work on the theory of Abstract State Machines (ASMs) is of paramount importance for theoretical and applied computer science. The significance of the theoretical concepts developed by Gurevich is confirmed by the substantial impact they have on mathematical modeling of discrete dynamic systems.

*This is probably the only interview in C9’s history where a good case is made for imperative programming versus declarative and functional (this starts right off the bat at around 02:31).

Read Yuri’s Annotated Articles

Tune in. Meet Yuri Gurevich.

Dr. Maria Klawe joined the board of directors of Microsoft in 2009. She is a distinguished computer scientist, scholar and president of Harvey Mudd College. If that’s not enough, she’s also an accomplished artist. We had to catch up with Maria for WM_IN to learn about her path to success and accomplishment in computing and higher education, so when the opportunity presented itself recently Ritzy and I were all over it! What a treat it was to spend some time with Maria. It’s hard to fathom just how motivated, capable and intelligent one person can be. We’re very fortunate to have Maria as one of the people who govern Microsoft’s future.

Tune in and learn about what it’s like to be a member of Microsoft’s board of directors (What does the board do, anyway? What’s it like in the boardroom?) and president of one of the best engineering and mathematics liberal arts colleges in the United States.