Going Deep

E2E: Brian Beckman and Erik Meijer - Co/Contravariance in Physics and Programming, 1 of 3

Download this episode

Download Video


Happy new year! It's hard to believe that it's 2010. To start off the new year right, how about some Beckman and Meijer? Smiley

You recently learned about Dr. Beckman's perspective on covariance and contravariance in physics. Dr. 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 one domain, physics, and another, programming: two domains on three whiteboards Smiley

What will they discover at the whiteboards? Tune in to find out in this three part series (part 2 here) with two of Channel 9's and Microsoft's most famous and respected software practitioners. Part three has not been filmed yet Wink




Available formats for this video:

Actual format may change based on video formats available and browser capability.

    The Discussion

    • wisnia

      WOW! What a great video! These two guys are just totaly amazing and true role models in terms of software and where the ideas behind it come from!

      Oh, and Charles - nice trying to hide behing the white board, and while speaking of that - Eric needs a bigger one next time Big Smile

    • rhm

      There ain't no party like a whiteboard party!

    • Charles



    • Charles



    • Steven J Ackerman

      Awesome video - I love seeing the comparison between the physics (engineering) world and the programming model of the world. Can't wait to see part 2.

    • tomkirbygre​en

      Can't think who I'd rather see 2010 kick off with than the Erik and Brian! This stuff rocks my world.

    • exoteric

      That's a great whiteboard jam session, leaving us with a cliff hanger Smiley

      It's just boiling over with creativity, can't wait for part 2.


      I'd like whiteboard pens with motion capture to automatically recreate the text digitally

    • N2Cheval

      Couple of things...

      1) Don't tease the viewer with half episodes! Wink

      b) This presentation is very similar to what Blend does for WPF. (Don't let me kinda create the UI you envisage, create it yourself! Apparently easier said than done at the moment but you get the idea.) I'm sure that if I got that spec from Brian and didn't go through the functional middle man like Erik does, the implementation would have been different in one aspect or another. Maybe even one of the 70% failed projects in time or cost.


      Great (half grr) video concept! Nothing like applied application to sink concepts home.

    • Charles

      re: 1 - Nothing wrong with spreading out goodness: like great butter on toasty bread, one piece at a time. Smiley

    • wisnia

      I love the part in the begining when you Charles are doing the introduction and it looks like you wanted to say something more but "Beckman and Meijer" and imidiatly start their talk Big Smile

      Good you didn't interupt them because there could have been some casualties Big Smile

    • axelriet


    • Jarle Stabell

      Thanks, great stuff! Smiley


      I guess all scientists dealing with functions would benefint from being able to write function signatures/types the way Eric does on the whiteboard here (not needing to know everything Eric knows about type theory, just the basics displayed here!), as it is a very powerful tool/notation for clear thinking and presentation. (In addition to getting some type checking and inference for free).

    • waern

      I loved this! Ever since I learned Haskell I've thought about how much easier math would have been in school if the notation was more systematic or formal. But maybe that's just because I'm a programmer Smiley

    • Nicolas Trangez

      Great lecture, although I do wonder (from a Haskell background) why you'd call the original 'x' function 'xs' as Eric mentions?! The 's' suffix is used to identify a collection (so a list is pattern-matched as "(x:xs)", which denotes 'one single x and some more xs'), whilst the function 'x' simply calculates the coordinates (as a product type) from a given position...

    Comments closed

    Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.