Talk: architecture for a connected device+cloud app

How do you write a “connected device+cloud” app that works, and doesn’t crash when the user walks out of network coverage? How can you make an “offline mode” that still syncs properly with the cloud? I’m passionate about correct distributed programming. Here are some slides I made: slides.pptx [500k] the transcript is in the “notes” section…


Talk: Async Codegen

Talk: Async Codegen In October 2011, as we were developing async, I prepared this super low-level talk so that my colleagues on the compiler and CLR/JIT teams would understand what code the compiler generates for async methods. It’s deep, and technical, and not of practical use to most people who just use async. But if…


Talk: The Complete Async — three talks from TechEd Europe 2013

I gave three talks on Async at TechEd Europe. These cover everything you need to know about async, from beginner to advanced.   Intro: Using Async in Windows 8. This introductory talk introduces how to use async, the connection between IAsyncOperation and Task, and how to cancel an async operation. Watch video online Download slides.pptx…


Talk: The New Async Design Patterns

Talk: The New Async Design Patterns Async involves some new concepts. They’re not difficult; just unfamiliar. Over the past year I’ve been watching how people use it. This talk distils out the three top async patterns and anti-patterns. Async void is for top-level event-handlers only, and event-like things. Don’t use it elsewhere in your code….


Talk: Async Part 2 – for architects, under the hood

Talk: Async Part 2 – for architects, under the hood This talk tackles some more advanced async topics. Async idioms – the “TAP” Task Asynchronous Pattern, when and when not to expose async APIs, the unexpected trouble with Task.Yield Integrating async into existing code – call sync from async and vice versa, user-defined awaitables Async codegen…


What would you like to know about "how we do language design for VB and C#" ?

On June 6th I’ll be speaking at the Norway Developer Conference in Oslo, on the subject “How we do language design at Microsoft (VB/C#)”. It will cover topics like how we designed Async, how we run our week-to-week language design process, where we get ideas from, how we recognize and respond to user requests and…


Talk: Async Part 1 – the message-loop, and the Task type

Talk: Async Part 1 – the message-loop, and the Task type After giving lots of training and talks over the past two years, this is my most recent take on how to explain Async. The message-loop is fundamental. You can’t understand async unless you understand the message-loop. Once you understand how async uses the message-loop,…


Talk: What’s new in VB11 (VS11 Beta)

Talk: What’s new in VB11 This talk details some of what’s new in VB11. (Just some: there were too many improvements to cover them all in just one talk). Win8 supportVBCore (=> new platform support for VB on Phone, XNA, MicroFramework, Kinect, Surface…)AsyncCallerMemberInfoIteratorsView Call HierarchyNamespace GlobalAnyCpu32bitPreferred allows EnC on x64 machinesBetter codespit and pretty-listingBetter performanceBetter error-reporting for lambdas, and…


Talk: What’s new in VB10 (VS2010)

Talk: What’s new in VB10 (VS2010) This talk details the new VB language features that arrived in VS2010 — Implicit Line Continuations – LiteralsCollection InitializersAuto-implemented PropertiesMulti-line Sub lambdas (which I used for Silverlight async)XML-literals, XML-to-schema, LINQ [actually this was already in VS2008, but it’s so good I repeated it]Silverlight interop; responding to eventsDLR silverlight interop; writing to…


Talk: How to write an [Async] connected app for Windows Phone 7.1

Talk: How to write an [Async] connected app for Windows Phone 7.1 This talk is all about writing a connected app for the Windows Phone. The talk covered: (1) Azure/WP7 toolkit for the server-side of the phone app. Most good phone apps will need some kind of server-side component, be it for live tile updates or…