Archives for posts with tag: Erik

Part 3 of the Beckman Meijer Co/Contravariance in Physics and Programming Hypothesis/Challenge has finally arrived, Niners! :)
 
You learned about Brian Beckman’s perspective on covariance and contravariance in physics. Erik Meijer found this topic to be incredibly interesting and the two geniuses decided to take a stab at identifying the relationship between co/contra in two different domains: physics and programming.

What will they discover at the whiteboards?

Tune in to find out in this n-part series (part 1 here, part 2 here) with two of Channel 9’s and Microsoft’s most famous and respected software practitioners. Will there be a part 4? Perhaps you can help Brian and Erik find an answer to this interesting problem. They’re real close. Niners can help reach the end line (if there is in fact one). It is highly recommended that you watch the first parts before watching this one!

Thinking caps on? Go!

Most C9ers will probably have watched a video or two of Erik and/or his team members talking about Rx. In these videos, we can see some great samples of how to use Rx. But how does Rx play out when used in a real world scenario?

In this video, Jeff talks to Samuel McAravey from SoftSource Consulting. Samuel developed a project time tracking system using Silverlight 3, WCF RIA Services, and Rx. Watch this video to see how Samuel used Rx in his development. Afterwards, visit codeplex to see his code in action.

Bill Buxton and Erik Meijer are both highly respected scientists in very different fields. Erik is a programming language designer and creator of LINQ, “Volta”, Rx and other things we can’t share publicly yet. Bill is a user experience design researcher, musician and a celebrity in the design community.

We figured we should put them together, roll the cameras and see what happens. The topic: different perspectives on the essence of design, regardless of specific domain.

It turns out that Erik and Bill have many similarities including an interesting Dutch connection. This is a pure Channel 9 conversation that happened in real time at MIX10, broadcast live.

So, what happens when you put two masters of different domains together for the first time, on stage, live? Tune in to find out.


Reactive Extensions for Javascript have arrived
. Hello RxJS!! 

You can now use Rx combinators in JavaScript. RxJS provides easy to use conversions from existing DOM, XmlHttpRequest and jQuery events to Rx push-collections, allowing users to seamlessly plug Rx into their existing JavaScript-based web sites. Great. What does this mean, exactly? As you know by now, Rx is a library for composing asynchronous and event-based programs using observable collections.

Here, Rx developer Jeffrey Van Gogh explains (and demonstrates) what you can do with RxJS, how he ported Rx to JavaScript and more.

Be sure to check out Erik’s excellent session at MIX10

Tune in.

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!

When Sven Groot was in town a while ago (this summer?) we dropped by Erik Meijer’s world and got a look at what he and his team of superdevelopers are up to (thus there really is no out-of-date property of this fun and insightful interview that is as off-the-cuff as it gets: heavy Channel 9 :) ).

It’s great that we were able to put a real live Niner into the fire for one of Erik’s team meetings. Wonder what Erik et al will talk about? Rx, maybe? Tier splitting? Monads? Hmm.

There is a great deal to learn here. Thank you, Sven, for being a real sport!

Tune in. Enjoy. 

Play with Rx!

You first met Bart De Smet in an episode of Expert to Expert with the great Erik Meijer leading the conversational charge. LINQ-to-Anything was a very popular E2E episode and the 100th installment of Going Deep. If anybody in the world is an expert in LINQ-to it’s certainly Bart. Not surprisingly, Bart created an implementation of LINQ-to-SharePoint before he started at Microsoft. The SharePoint programmability team was impressed and decided to take a stab at a more robust solution, based loosely on Bart’s great work.

Well, here we are today with a new installment of E2E and Bart leading the conversation with two of the key SharePoint team members behind LINQ-to-SharePoint: Program Manager Maxim Lukiyanov and Software Developer Ivan Han.

Here, we learn all about the thinking behind the thinking (rationale, design decisions, solution paths, etc) and where this approach will lead the SharePoint programming experience for pro and non-pro developers alike. We also learn that Bart has joined Erik Meijer’s team of superdevelopers! I think Erik just may have the most talented team of creative thinkers and techinal over-achievers in the company! Go team, go!

Tune in. Enjoy.

Here’s the two links you need to click on to get started. Please provide feedback!!

SDK with LINQ-toS-SharePoint API

SharePoint Server 2010 Beta

Well, my friends, the day has arrived. For thirteen weeks, you have been provided all the conceptual tools to take the leap into the deep end of the functional programming pool and float safely. The great Dr. Erik Meijer has generously given his value time to teach us the fundamentals as delivered by Graham Hutton in his book Programming in Haskell. Of course, Erik merged his own extensive knowledge, unique perspective and experience into the educational weave: so, you got the best of two worlds. We hope you enjoyed this series, the first in a new a format of Channel 9 content (lectures).

The Channel 9 team and Niner nation thank our dear friend Erik for this stellar contribution to Channel 9 and programming education, generally. Of course, we also thank Graham Hutton for writing the book (and for guest lecturing Chapter 11) that Erik is both so fond of and which provided a basis for these lectures, which, by the way, were all done in true Channel 9 fashion: They were recorded in single takes with Erik doing a brilliant job articulating, contextualizing, expanding on the fundamentals and being, well, Erik, one of our favorite geniuses, all in real time.

In Chapter 13, Equational Reasoning (and also revealing why Erik says ‘uhm’ and ‘you know’ so often), the grand finale, Dr. Meijer digs into referential transparency and being able to replace equals by equals in all contexts. In some sense, the purity inherent in functional languages like Haskell makes it easy to express and implement equational reasoning. In Haskell, our old friend “=” means “is equal to by definition”. But what does equational reasoning mean? It is clear that propositional logic is too weak for many applications and that equational logic is a first step towards a more powerful system*. Is it? Dr. Meijer, please do explain.

Tune in. Enjoy.

* source: http://www.cs.cmu.edu/~cdm/pdf/EquLogic.pdf

We’ve kicked off C9 Lectures with a journey into the world of Functional Programming with functional language purist and high priest of the lambda calculus, Dr. Erik Meijer (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).

We will release a new chapter in this series every Thursday.

In Chapter 12, Lazy Evaluation, Dr. Meijer takes us on a journey into the world of order of evaluation (when expressions are evaluated). In the case of lazy evaluation, computation is delayed until the result of the computation is known to be required.

Most programming languages that most of you use day to day use eager or strict evaluation, which is the opposite of lazy evaluation. In the strict evaluation world, expressions are evaluated as soon as they are bound to a variable (this is also known as greedy evaluation). In Haskell, laziness is first class!

Tune in. Learn and enjoy!

We’ve kicked off C9 Lectures with a journey into the world of Functional Programming with functional language purist and high priest of the lambda calculus, Dr. Erik Meijer (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).

We will release a new chapter in this series every Thursday.

In Chapter 10, Declaring Types and Classes, Dr. Meijer teaches us about type declarations, data declarations, arithmetic expressions, etc.  In Haskell, a new name for an existing type can be defined using a type declaration:

 type String = [Char]

 String is a synonym for the type [Char].

Like function definitions, type declarations can also have parameters. Type declarations can be nested, but not recursive.

Nested:
type Pos   = (Int,Int)

type Trans = Pos -> Pos

Illegal recursion:
type Tree = (Int,[Tree])

A completely new type can be defined by specifying its values using a data declaration:

 data Bool = False | True

Bool is a new type, with two new values False and True.

Get the presentation slides here

Chapter 1
Chapter 2
Chapter 3
Chapter 4
Chapter 5
Chapter 6
Chapter 7
Chapter 8
Chapter 9