Archives for posts with tag: LINQ

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.

This week on Channel 9, Dan and Brian discuss the week’s top developer news, including:

  • Mike Swanson – MIX 10 Recap
    • Interesting because: MIX10 is going to be BIG this year and Mike discusses everything going on with the event 
  • Coding4Fun – Brian Peek – Tweevo (download) – A free, open source application to have your Tivo Tweet what you’re recording
    • Interesting because: This is cool if you’re a Tivo user and want to know what your Tivo is doing while you’re busy at work :)
  • Ayende Rahien – LINQ to SQL Profiler released, enables you to see which LINQ statement created a query
    • Interesting because: It shows the SQL being generated by your LINQ queries
  • Mike Taulty – Silverlight 4 TCP Sockets video
    •  Interesting because: Mike has an 8 part series on networking with Silverlight
  • Somasegar - Key Software Development Trends
    • Interesting because: Brian makes the point that testing is now a 1st class citizen 
  • Adam Kinney - Ryan Lee creates Gesturecons, a set of free icons to describe touch gestures
    •  Interesting because: For touch interaction, a picture is worth a thousand words, and they look cool
  • System.Net team – FAQ on System.Uri, via Greg Duncan
    • Interesting because: You should really use System.Uri instead of strings where you can
  • Code Project – How to automate software using WPF UI Automation
    • Interesting because: It’s an underused, yet incredibly handy feature that lets you automate manual tests of an application  
  • Mercurial Integration with Visual Studio on CodePlex, via DotNetKicks
    • Interesting because: It’s a visual step-by-step tutorial on how to use CodePlex’s Mercurial integration inside of Visual Studio
  • Automated Tester: How to use Selenium and NUnit together
    • Interesting because: Selenium is a good, free option for Web testing and Brian compares it to Visual Studio’s Web testing tools
  • Web Distortion – 60 .NET libraries every developer should know
    • Interesting because: It’s always interesting to find new and useful APIs

Picks of the week!

  • Dan’s pick – Rene Schulte’s Silverlight Augmented Reality Toolkit (SLAR) is now available on CodePlex, via Alvin Ashcraft
  • Brian’s pick Robocode .NET Beta – A Terrarium-esque programming game where you build a tank and battle against other tanks programmed in C# of Java, perfect for C# versus J# 
  • 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

    Episode 5 has killer content on Deep Zoom, Expression Web 3, a codeplex project on a Snippet Editor for Visual Studio, LINQ Tool Samples, LINQ Pad, Link To TwitterExpression Blend 3 Importing Adobe assets, and an incredible codeplex project must see on a solid Silverlight website starter kit using best practices!  This is Russ’s Tool Shed’s best effort yet! Grab a beer and hope you enjoy this most educational, enlightening and entertaining instant classic video! 

    Producer: Russ Fustino
    Audio and Video Editing: Russ Fustino
    Many thanks to the many volunteers, live studio audience and presenters. This was an all volunteer effort!

    One note on the default player.. I tested this out at a very slow speed, and it may buffer a few times in the first minute of play during the theme song with lots of video action but settles right down for smooth play after that, just in case you experience this:
    1) either ride it out, or
    2) view the highdef wmv by clicking here to play in your media player, or
    3) right mouse click on this link and choose save target as to download… or
    4) using the pull down menu under  the player, or
    5) slip ahead a minute on the time line hovering over the bottom of the video.

    Size=400meg. Hopes that helps because it is well worth it to view this in its entirety, with great content and 4 MVP speakers who are awesome!

    My Email: Russ Fustino
    My Web Site: http://www.russtoolshed.net
    Please feel free to contact me.
    Russell Fustino

    Developer Challenges this episode solves…

    How can you quickly display  and navigate a large, detailed image or a panorama of images on the web, and not be extremely slow to view?

    What can you use to build a website that supports ASP.NET, Deep Zoom Composer images, AJAX, and Silverlight videos? … and do it quickly?

    Do you wish you could find that perfect piece of code that you know you’ve written before?

    You know how to write a query in SQL but how do you do it in LINQ? What tools are there to help you understand LINQ and what it is doing behind the scenes?

    You have the source art from your design group, but how do you convert that into WPF or Silverlight?

    You need to create a website for your group, and you would like to have a solid codebase as a starting point and get your feet wet in a real world Silverlight application.

    Timeline:
    00:00 – Theme Song, Intro of speakers and content
    08:02 – Deep Zoom Composer by Russ Fustino
    15:40 – Expression Web 3 by Russ Fustino
    32:11 – Snippet Editor for VS by MVP Stan Schultes
    44:35 – LINQ Tools by MVP Christopher Bennage
    01:16:33 – Silverlight Web Starter Kit by MVP David Silverlight
    01:31:27 – Community Update by Russ Fustino and David Silverlight
    01:39:32 – Credits and Photos

     

    Episode 5 has killer content on Deep Zoom, Expression Web 3, a codeplex project on a Snippet Editor for Visual Studio, LINQ Tool Samples, LINQ Pad, Link To Twitter, and a more comprehensive list at www.thinqlinq.com/Post.aspx/Title/linq-toolsExpression Blend 3 Importing Adobe assets, and an incredible codeplex project must see on a solid Silverlight website starter kit using best practices!  This is Russ’s Tool Shed’s best effort yet! Grab a beer and hope you enjoy this most educational, enlightening and entertaining instant classic video! 

    Producer: Russ Fustino
    Audio and Video Editing: Russ Fustino
    Many thanks to the many volunteers, live studio audience and presenters. This was an all volunteer effort!

    It is well worth it to view this in its entirety, with great content and 4 MVP speakers who are awesome!

    My Email: Russ Fustino
    My Web Site: http://www.russtoolshed.net
    Please feel free to contact me.
    Russell Fustino

    Developer Challenges this episode solves…

    How can you quickly display  and navigate a large, detailed image or a panorama of images on the web, and not be extremely slow to view?

    What can you use to build a website that supports ASP.NET, Deep Zoom Composer images, AJAX, and Silverlight videos? … and do it quickly?

    Do you wish you could find that perfect piece of code that you know you’ve written before?

    You know how to write a query in SQL but how do you do it in LINQ? What tools are there to help you understand LINQ and what it is doing behind the scenes?

    You have the source art from your design group, but how do you convert that into WPF or Silverlight?

    You need to create a website for your group, and you would like to have a solid codebase as a starting point and get your feet wet in a real world Silverlight application.

    Timeline:
    00:00 – Theme Song, Intro of speakers and content
    08:02 – Deep Zoom Composer by Russ Fustino
    15:40 – Expression Web 3 by Russ Fustino
    32:11 – Snippet Editor for VS by MVP Stan Schultes
    44:35 – LINQ Tools by MVP Christopher Bennage
    01:16:33 – Silverlight Web Starter Kit by MVP David Silverlight
    01:31:27 – Community Update by Russ Fustino and David Silverlight
    01:39:32 – Credits and Photos (please view for special dedication to the Developer Community and song)

    Thank you Channel9.
    Russ Fustino  rfustino@hotmail.com