/ .net

Microsoft PDC 2008 day 3

Keynote Microsoft Research head honcho Rick Rachid made it clear that Microsoft had the industrys largest and most effective basic research departments. Very clear. He presented some of the latest inventions to come out of the labs: The C source code binary state analyzer SLAM,  that helps predicting states and code test coverage (they havn't tested the usbstor.sys that have been giving me BSODs these last couple of days), as well as the distributed LINQ execution engine, DryadLINQ, that enables running a LINQ query on thousands of nodes. A scientist presented a temperature sensor unit, that was deployed in a grid thoughout the keynote hall ceiling, and he showed how the sensors combined the collected data with geodata and published to the cloud, was presented in a VirtualEarth derivate called SensorMap. Scientists use the device to measure environemental data around the world, sharing (cloud) data in the cloud to create a huge statistical database. Rick told how MSR had helped understanding virus by appying spam fighting algorithms. A new version of astronimical database World Wide Telescope called Equinox was shown. Looking just like a planetary theatre show it displayed a 3D model of no less than the entire known universe. Huge amounts of data aggregated from a number of astronomical image libraries living in the cloud there. Very cool! Then Boku, a visual programming editor for kids was shown, enabling kids to build logical if-then statements with an x-box controller in a 3D game environment. It looked so awesome, I would propably have given up my ZX81 basic for it back in the eighties. ;-) An updated version of Surface called SecondLight can now project imagry to objects over the surface by using a LCD surface and alternating very fast between what's shown on the surface and on objects the camera detected above the surface. Live Services Ori Amiga one of my favorite presenters talked about the Live operating environment that uses AtomPub and FeedSync to replicate changes between devices in the cloud. He showed a cool DSL called ResourceScript that allows you to run code on Microsoft's server e.g. as triggers when pieces of data is changed. He showed how a compiled script could be run by issuing a REST call. Sweet! It's nice to see how far Microsoft has gone this time to create a platform agnostic environment embrasing open standards. Its all about REST, Atom, POX and JSON, baby. The code is analyzed to protected the virtual servers against infinite loops that would max out the virtual CPUs On the contrary the .NET services allows you to run any .NET code, and I asked an Azure expert how they where going protect their servers against infinite loops. With a smile on his face he said actually they didn't: As users pay for CPU time it would only hurt themselves. In Live everything is a resource. Devices, blobs, structured data, applications and users. He addressed one of the things I've be wondering about. The reason why data is not encrypted as it is stored at Microsofts servers, is because they're currently implementing indexing functionality that will enable you to search the data.  Cloud Table Storage A couple of months ago I read an interesting whitepaper about how Google (actually I haven't heard the G-word from any of the speakers) had built the scalable distributed file system for storing Gmail messages and more, the Google File System. I guess I wasn't the only who read that paper. This session was like an entire walkthrough of that paper, where Microsoft described the general partition/row key idea, the replication and the performance pitfalls of such a system. It's great for storing billions of rows and TB of data - but don't do "table scans". While built on REST and Atom, the ADO.NET data services services API provides an easy way to interact with objects in the store. Future versions will add seconday indices, server side sorting and atomic transactions to the store. Live Services Architecture This session gave an insight in the logical and physical architecture and inner workings of the Live Services. Very interesing but not directly usable unless you're building a datacenter. The speaker told the next version will bring TCP connections, enabling real push functionality and direct P2P synchronization over the Messenger ports. He estimated 85-90% of file synchronization could be done directly between clients then.  Future versions will enable AD federation using the Services Connector, server side synchronization making it possible to automatically synchronize external data from eg. Flickr. Using Live Services in web applications Not yet released is the application part of the Mesh, so it was interesting to see it in action (even though the Google version has been available for some time).  For applications that live entirely in the browser, the Live Services infrastructure can handle installation, upgrading, data replication and sharing, authentication to run that application disconnected.  Applications are one-click installed from an URL, and is automatically fanned out to all devices.  The speaker showed a Siverlight application by Blockbuster allowing customers to browse movie catalogs, review and suggest movies to friends, even ordering movies while disconnected. Upon connection, everything is syncronized with the cloud. Very cool technology that I definately have an idea or two for that kind of application.