Tech-ed Barcelona 2007: day 5

Yesterday evening the C++ guys (and lady) got together for an informal dinner. We met in the Hilton lounge and then took a heavily graffiti’d metro into the city center. The place we went to was Cal Pinxo. It was a very good restaurant, and the only slight problem was that the staff spoke very poor English.

The food was good, and the company was great. Steve Teixeira, Ale contenti and his wife, Kate Gregory; Jochen Kalmbach; Eric Mittelette; Eric Vernie; Gilles Guimard, Raffaele Rialdi and a couple of French and Italian guys whose names I can’t remember.

The evening zoomed past. We even managed to speak about other topics than C++ for at least part of the time. Of course one great thing about this group of people is that C++ could be the topic of casual conversation as well J

I skipped the first session this morning. There was nothing really interesting on the program, and I decided to pack my luggage and check out a bit later. This is similar to last year. I suspect that they put all the good stuff on the first couple of days, and kept all the less spectacular stuff for Friday because a lot of people are leaving throughout the day.

I arrived at 10 AM in the exposition hall and had a long chat with Steve Teixeira and a C# MVP whose name I can’t remember.

TLA405: Parallel and Asynchronous functions programming on .NET with F#

This session is hosted by Don Syme.

It was about the new F# language that ‘escaped’ from the Microsoft research labs. F# is a .Net language like C# with strict typing, but it is a lot easier to use in a functional way. It uses type inference to ensure strict typing, and supports anonymous functions and classes.

The main keyword in F# is let.

For example:

let data = (1,2,3)

data is a class with 3 int data members which are initialized to 1, 2 and 3.

Everything is still statically typed, but everything is inferred from its context so it is very easy for non programmers to pick up. In C# you have to know about delegates, asynchronous callbacks, … in order to do something usefull. F# is targeted mostly towards domain experts and math usage at this point.

There were some more demos, and real world uses of F#. One of them was the way in which the ad-targeting software of live search works.

Ad targeting depends on a lot of variables, like IP address and search query history.

The algorithms for training the targeting software was done through data analysis using F#, where 6 TB of data was crunched on a single machine in 2 weeks time, which is equivalent to 1 trainings record per ~150 us.

There are plans to add F# to the list of languages in Visual Studio with the next release of VS after VS 2008.

F# looks interesting, and if you are a domain expert it is something that will allow you to create high performance algorithms without having to be an experienced software developer.

SEC303: New cryptography: algorithms, APIs and architecture

This session was delivered by Rafal Lukawiecki.

The topic was the new suite of crypto algorithms in Vista, and what you can do with them.

This session was basically a more thorough highlight of the same content that was also shown in his first talk on day one (of which I have already written a report).

Microsoft is serious about security, and wants you to have the correct tools to generate secure applications. Vista uses those same algorithms internally, and nobody within Microsoft is allowed to use other algorithms without approval from the security committee.

If your application handles sensitive data in any way, consider upgrading to those new algorithms because 3DES and MD5 have been proven to be vulnerable to attack.

I did not sit this session out till the very end because I wanted to avoid the rush at the luggage storage.


It is over. I am not going to write up my afterthoughts on the plane. Instead I will sit back, read a good back (Wintersmith, by Terry Prattchet), have something to eat and ‘enjoy’ the flight home.

The afterthoughts will have to wait until Monday. I promised the weekend to be for my wife and kids.

Leave a Reply

Your email address will not be published. Required fields are marked *