Erik Meijer and Team: Cloud Data Programmability - Connecting the Distributed Dots

Download this episode

Download Video

Description

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 Smiley).

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!

Embed

Format

Available formats for this video:

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

    The Discussion

    • User profile image
      Roeland

      The room is filled with Dutch, how cool is that! Good work guys

    • User profile image
      DaRage

      I don't like this. So Erik Meijer created LINQ and now treating everything like a nail. I don't think having the same model for quering and to implement IObservable is good idea. I'm not saying it is not going to work but I don't think it's a good idea. The query model has very specific elements that don't make sense in other applications for example grouping.

       

      Anyways we'll see. 

    • User profile image
      gbrayut

      Very interesting! I remember hearing a talk from Wes Dyer about Volta at the University of Utah a few years ago and thought that being able to use attributes to split code into tiers and target different platforms (even Javascript) was pretty cool. Sounds like V has been merged into a larger picture (aka R), and I can't wait to hear more about where this is going.

    • User profile image
      Richard.Hein

      @DaRage:  You haven't tried it out, obviously, because it's genius.  Think about it - the duality shows that IEnumerable and IObservable are "nails", to LINQ.  That's the point.  Everything you can query from a source that you pull things from can now be queried from a source that pushes things at you.  How is this bad?  How does grouping not apply?  You're going to have to try it out before you flame the concept, because it's brilliant.

    • User profile image
      LiquidBoy

      Hi great post, Im a silverlight guy and everything your talking about definetely interests me. What is it actually that does the tier-splitting, and what is volta? Isnt that the live labs RIA technology announced 3 years ago in 2007. Sounds like it's comming back ?

       

      Is this a particular product or is it something sitting in labs still? Sorry for these questions im just trying to understand what the state is of what you guys are discussing.

       

      What really interests me is the Client Retargeting & the Tiering-Splitting on the server. They made sense BUT i was confused as to how these things exist interms of products.

    • User profile image
      Charles

      "Volta", as a project is no longer available. The core technologies therein, however, are alive and well. Erik and team are focused on their latest brilliant creation: Reactive Extensions for .NET (aka Rx). Check out the latest release here.

       

      Code on,

      C

    • User profile image
      head.in.the.​box

      > I don't think having the same model for quering and to implement IObservable is good idea.

       

      As I always say, "mathematicians are always right", at least I trust them more than myself, especially if they are category theorists.

       

      > The query model has very specific elements that don't make sense in other applications for example grouping.

       

      Can you elaborate on that; IMHO a strong advantage of the monadic over the relation approach is that you can actually deal with grouping in a *compositional* way such that you do not need to couple grouping and aggregation.

    • User profile image
      head.in.the.​box

      To which I will add that real soon now we will ship a pure JavaScript port of Rx.

    • User profile image
      exoteric

      That is going to make some noise for sure. Also keep us updated on a possible C++ port. There's so much C++ code in this world that this could also be quite disruptive for code quality and reasoning (in a positive sense).

       

      (Also can't help but feel that Bart's SQO project on codeplex is not just purely academic (what's academic anyway, besides a precursor for mainstream). It looks like LINQ for (implicitly) side-effect free code; with conversions back into standard "LINQ types" like IEnumerable. Maybe there's also some interesting optimizations lurking there, especially in lieu of the lossy translation of yielded computations by the C# compiler. Hmm...)

    • User profile image
      natelawrence

      Charles, I thought the whole Volta retraction was over a dispute from a company with an entirely different product which used the same product name.

       

      Is there not any chance of reposting the old interviews done with the Volta team and removing 'Volta' from the post or whatever would need to be done to make it legally postable?

    • User profile image
      Charles

      Yes, there was a legal issue, but Erik and team are no longer working on a project of that name. So, re-posting the videos would only act to confuse and confound. Best to move along and move forward with Rx and the next generation of Erik's cloud data programmability offerings. We can't re-publish the videos without causing too many headaches. As you can see in this video, the "Volta" style mechanisms of tier splitting are alive and well. Again, project "Volta" is no longer alive, but the important aspects of it certainly are (the technologies...).

       

      C

    • User profile image
      Teun

      Very interesting video.
      Could I call this technology a .NET counterpart of node.js? The emphasis on non-blocking operations and doing all I/O with callbacks suggest so. Have the designers of Rx had a look at node.js and what they are doing?

    • User profile image
      AceHack

      Boy what a dream it would be to work with those guys!  Hey amazing work and I can testify it's simply pure joy to program in Rx\Linq all the way.  My company is making a facebook game in the cloud using silverlight RIA, SQL Azure, and Rx\Px, plus a lot more beta stuff Smiley  and I can honestly say in no way does it feel like boring n-tier development.  I’ve been an Enterprise developer for over 11 years now and I’ve earned my stripes developing heaving multithreaded\concurrent business apps and I’ll tell you what it’s not fun!!  Now I’m using every bit of that knowledge but working at 10 times the rate using these latest technologies and loving every second.  Instead of writing hundreds of lines of code and rigorously testing every possible scenario and timing, I can sit back live in my head for a little think about the problem from a much higher level, at its essence then bang out four of five lines of code, do much simpler testing and done.  It’s really quite amazing; it feels like driving a V8 but with the efficiency of an electric.  Look I know I’m being a mega fanboy right now but for me the results speak for themselves, I can simply code at a speed not achievable to me by any other means.  I cannot go back I am addicted.  I’m also consulting to an insurance company and slipping in Linq everywhere allowed.  I’ve been able to accomplish tasks in hours where it would have taken days or even weeks before with the added bonus of much more stable and reusable code.  Maybe it’s because I’m anchored in DBA roots but coding this way just seems so elegant and simple.  I strongly recommend anyone who has not at least downloaded the beta and tried it out to give it a go… you’re in for a pleasant surprise.  Again Erik, Charles, and everyone else on the team, a big THANK YOU!!

    • User profile image
      head.in.the.​box

      > My company is making a facebook game in the cloud using silverlight RIA, SQL Azure, and Rx\Px, plus a lot more beta stuff

       

      That sounds cool. Let us know when it comes out!

    • User profile image
      falconair

      >a strong advantage of the monadic over the relation approach is that you can actually deal with grouping in a *compositional* way such that you do not need to couple grouping and aggregation\

       

      I created an account just to post this!

       

      Could you talk a bit more about the difference (and similarities) between monadic and relational approaches?  I am a big fan of relational algebra (as  evangelized by C. J. Date).  Monads, even though I don't really understand them, seem to cover the same ideas, plus more!  By that I mean building up the semantics of a "relational database" by starting with Monads should give you all the power of relational algebra, plus the ability to have controlled effects, function abstraction, recursion, etc.

       

      Again, I am not an expert on either, but that is the sense I get.

       

      Will you publish any papers on Rx?  I am very interested in learning about the ideas behind Rx, without reading through blogs or C# API docs (perhaps "Lambda the Ultimate Reactor or even Monads, the ultimate ...)? Extending "Functional Programming with Bananas, Lenses, Envelopes, and Barbed Wire" to include reactive semantics will be absolutely perfect for what I (and I expect many others) are interested in!

       

      I liked the posts you used to do on LTU (and the interaction that goes with it), I hope you start doing those again.  

    • User profile image
      head.in.the.​box

      > Will you publish any papers on Rx?  I am very interested in learning about the ideas behind Rx,

       

      I am planning to do a lecture series on Rx and (hopefully) turn that into a book. Stay tuned for more!

    Comments closed

    Comments have been closed since this content was published more than 30 days ago, but if you'd like to send us feedback you can Contact Us.