Pages

Saturday, 9 June 2007

Friday: Atlantis Launch

As a conclusion for TechEd 2007: a space shuttle launch. Atlantis Launch This was a good week.

Friday: Mark Russinovich explains UAC

Windows Internals is one of my favorite Windows books (in the list of books that I'll never finish). So I was keen on seeing Mark's talk about Vista kernel and UAC. SEC411 - User Account Control Internals and Impact on Malware Friday, June 8 10:45 AM - 12:00 PM, N320 A Speaker(s): Mark Russinovich According to Mark, "UAC's goal is not to annoy you". The purpose of UAC is to encourage users to run with standard user's privileges whenever possible:
  • in Vista some actions that used to require admin privileges now don't (for instance looking at the system clock or changing the time zone can now be done by standard users.)
  • admins behave most of the time as standard users and become admins only when clicking Yes in the elevation dialog.
  • ISVs will be encouraged to avoid coding actions that require admin privs.

He explained what virtualization was (nothing to do with VMWare by the way) and how to figure out if an app runs with virtualization enabled or not. Virtualization is a backward compatibility mechanism that automatically redirects a legacy app trying to write to a system folder when running as standard user. I have a feeling this will confuse programmers for years to come or at least until all legacy apps disappear...

Thursday, 7 June 2007

Thursday: Next Generation Cryptography (NGC)

Another brilliant talk:

DEV307 - New Cryptography: Algorithms, APIs, and Architecture Thursday, June 7 9:45 AM - 11:00 AM, S220 E Speaker(s): Rafal Lukawiecki

Rafal enumerated past and current cryptography algorithms, giving an opinionated (but very funny) overview of mechanisms available to date. He completed his presentation with the description of the Microsoft implementation of NSA Suite-B in Vista: the NGC API. He gave a Win32 demo of how to encrypt with the NGC API. It was very dense, packed with information but went down quite well because he managed to keep the audience laughing every 3 minutes.

According to Rafal,

  • If you're not using Vista, you should use:
    • AES128 - resists to power analysis (cracking a code by measuring energy consumption of the CPU).
    • RSA2048 (although slow for key generation)
  • Avoid:
    • DES. unless it is for Obfuscation.
    • Triple DES: sounds better but is not. It is slow.
    • IDEA
    • RCU and RC5 (Ron Rivest)
    • Blowfish, Twofish – ok but not a standard · CAST and GOST.
  • Advice for developers:
    • Rely on cryptosystems, do not write it yourself.
    • Never write a loop that encrypts and encrypts: this can be cracked.
    • Do not download libraries.
    • Within the Microsoft OS: use CAPI 2.0 (CAPI 1.0 is deprecated). The .NET Framework wraps around CAPI.
  • NSA Suite-B is supposed to replace all other algorithms.
    • It will be available for military as well as civil use.
    • Available in Windows Vista and Server 2008 as part of the NGC API.
    • It is an Open API (which means you can plug-in more implementations)
    • Works in kernel-mode (better performance).
    • 2 Flavours: a B-API where key crypto is done by OS, N-API where crypto is done by a smartcard.

    Sessions I've Missed

    You can't see everything. I'll wait for the DVD to watch the sessions I've missed:
    • DAT315R Be More Productive with Microsoft SQL Server 2005 Tools
    • DEV346 Microsoft Visual C# Under the Covers: An In-Depth Look at C# 3.0
    • DAT318 Applied ADO.NET Entities: How to Leverage the Entity Framework in Your Application
    • DEV313 Improving Code Performance with Microsoft Visual Studio Team System

    Wednesday: Visual Studio Component Round-Up

    An overview of the 3rd party tools available for Visual Studio. LNC17 - Microsoft Visual Studio Component Round-Up 1 Wednesday, June 6 12:00 PM - 12:45 PM, N310 A
    • DevExpress (reporting)
    • ComponentOne (Office 2007-style ribbons and appointment controls)
    • DevCentral (deployment)
    Nothing I really need... There will be another session tomorrow. DevExpress offers more, especially in the area of refactoring - yesterday I saw Mark Miller demonstrating some of DevExpress' capabilities in the Partner Expo area. Need to check that out... By the way Mark is as funny during demos as he is on Mondays. Talking about Mondays, I saw a live recording of .NET Rocks shortly after the Visual Studio session.

    Wednesday, 6 June 2007

    Wednesday: Unit-Testing and Test-Driven Development

    Yeaaaahh ! I scanned my office T-Shirt and I won a version of Office Ultimate 2007! Not the standard, the full one! How cool is that? It costs £480 on Amazon.co.uk... Also attended a session about unit-testing and TDD: DEV347 - Unit Testing and Test Driven Development Wednesday, June 6 10:15 AM - 11:30 AM, N310 A DEV347_randell.pptx Speaker(s): Brian Randell, Doug Seven PICT0055 This kind of completes the talk Ron Jacob gave about Model View Presenter on Monday - the purpose of MVP is to make it possible to automate GUI unit-testing. Doug and Brian's presentation was energetic with colourful slides and very little text. Efficient demos: Doug did the talking, Brian the typing. In a nutshell, this is what they said:
    • Unit-tests are a “living document” that reflects the intended use of the software.
    • Advantage of many small unit-tests: allows you to narrow down the scope of failure upon change.
    • A unit-test cares about its class only.
    • You typically have more lines of UT code than actual code.
    • TDD is ATRIP:
      • Automatic,
      • Thorough,
      • Repeatable (doesn’t depend on dynamic data),
      • Independent (one class only),
      • Professional (well written, commented, easy to maintain).
    • VS2008 Professional will include Unit-Testing (This one triggered a round of aplause).
    • Test-driven development: Red, Green,Refactor.
      • Red: make it fail. Ensure the test fails with a method that's not yet implemented.
      • Green: make it work. Code the minimum to satisfy the test (even if the code is crap).
      • Refactor: make it better. Improve the code, make it easier to maintain.
    • TDD requires discipline (no kidding).
    • Pair programming: one writes the unit-tests, the other writes the implementation.

    Brian Randell's blog: http://www.mcwtech.com/CS/blogs/brianr/ Doug Seven: http://dotnetjunkies.com/WebLog/DougSeven/

    Tuesday: Jam Sessions

    The conference shuttles were travelling from 8.30pm to 1am between the hotels and the City Walk next to Universal Studios. The jam sessions were taking place at the Groove, booked by Microsoft for the occasion. The Universal Studio City Walk is a funny sort of place. It looks like Aya Napa without the sex and the drunken Brits. Some sort of polished, clean but still over-the-top nightlife area. There is a lot of music in the streets but no broken bottles, no fights, and nobody vomiting. Women don't shout, flock or swear as they do in the UK. People wait in line for drinks at the bar (as for the till at Tesco's) ! Do you believe that? And of course everywhere is non smoking. The live band (Tech Ed attendees) was brilliant. At one point Carl Franklin joined at the guitar. A few videos I took with the mobile phone: Jam Session1.mp4 Jam Session2.mp4 Jam Session3.mp4

    Tuesday: TLC about Types of Objects

    Attended my first Interactive Theater session. ARC18-TLC - Making Sense Out of all the Types of Objects Tuesday, June 5 4:30 PM - 5:45 PM, Blue Theater 9 Speaker(s): Rockford Lhotka Not too sure about the format. There is too much distracting noise coming from around the booth, you can't hear people when they ask questions... The booths should be closed and sound-proofed so that the thing works... Rockford said a few things that made me click, among which:

    "Software re-use is not a goal but a side-effect of refactoring. The consequence of re-use is tight coupling, and you don't want that."

    hee hee...

    Tuesday: Linq and ASP.NET

    Saw one breakout session about Linq and two about ASP.NET.


    DEV324 - The .NET Language Integrated Query (LINQ) Framework
    Tuesday, June 5 8:30 AM - 9:45 AM, N320 A
    Speaker(s): Luca Bolognese

    Luca delivered a lively talk where he demonstrated the elegance of writing queries in LINQ. From C# you can now write code that looks very similar to a SQL query where the 'FROM table' is an object implementing IEnumerable and the resultset goes into a variable.

    It works with SQL Server for the moment and could work with Oracle whenever Oracle releases a provider for it.

    If LINQ worked with Oracle, this could be a nice way to code business rules in C# instead of PL/SQL stored procedures (IDE support for PL/SQL is very crude) or nHibernate (I'm afraid of ORM complexity from a debugging perspective).

    Luca's blog: http://blogs.msdn.com/lucabol/

    WEB305 - Building a Complete Web Application Using ASP.NET "Orcas" and Microsoft Visual Studio Code Name "Orcas" (Part 1 of 2)
    Tuesday, June 5 10:15 AM - 11:30 AM, S230 E
    Speaker(s): Scott Guthrie


    Attended both sessions by Scott. What I'll remember:


    • Visual Studio 2008 will support multi-targeting. That means when you create a project you can say whether you want to use .NET Framework 2.0, 3.0 or 3.5.
    • The HTML designer in Visual Studio is getting serious (same engine as Expression), although not as powerful as Dreamweaver, it's getting there: fast source switching, split design/code views...
    • CSS support: you select an HTML element and see what CSS rules apply to it or select a CSS rule and see all HTML elements it applies to. You can also change the CSS properties in one window and immediately see the results in the other window.
    • LINQ: when running a link query the VS debugger shows the SQL query that was generated by LINQ. It also shows the data retured by the query. Very cool, lots of clapping in the audience when Scott demonstrated that.
    • VS2008 supports Javascript debugging (breakpoints, step by step) as well as intellisense. Again the audience loved it.

    Tuesday, 5 June 2007

    Tech Ed Shopping List

    My shopping list:

    • Get my Office T-shirt scanned (TLC green area)
    • Decide whether or not to buy the HP Tx1000z
    • Have a look at the demos for each 3rd party .NET controls libraries: VS components round-up. 12pm to 1.45pm N310A on Wednesday.
    • Watch a demo of Visual Studio 2008
    • Go through the hands-on labs I selected.
    • Fill out the evals.

    Tools and SDKs I must check out before I die

    Before I forget:
    • Devexpress (refactoring tools)
    • Infragistics
    • Telerik (cool controls)
    • BT's Web21C SDK: set up calls between phones with very little code.
    • Visual Studio Extensibility Toolkit

    Monday: Brain Freeze

    The batteries on my laptop are about to run out. So are mine. Got up at 6am, saw the keynote (featuring Christopher Lloyd), listened to Ron Jacobs talk about Model View Presenter, did a hands-on lab about Cardspace, listened to Kate Gregory talk about C++/CLI. Kate Gregory's blog: http://www.gregcons.com/kateblog/ Exhausted. The jet lag plus the lack of sleep are taking their toll. Need to sleep. Not sure I'll go to the jam sessions tonight... I wanted to see a TLC about Team System for Small Agile Teams but I turned out on time (as opposed to 30 minutes in advance) and the theater was already packed. So I completed my Cardspace Hands-on Lab instead.

    Monday, 4 June 2007

    Sunday: Party with Palermo

    Just came back from the party hosted by Jeffrey Palermo at the Glo Lounge on International Drive. Good atmosphere and free beer. Jeffrey set up a game where you had to look up people's badge to find a pattern matching yours and win stuff (London's FOWA did a similar kind of thing). Always a good way to get people to move around and talk to each other, although alcohol also played a role. I discussed for a while with Tatsumi from Sweden. Later we talked about Web Apps, Spring, Java and the price of cigarettes with Mark Pollack from Interface21. Mark is giving a session this week about Sprint.NET (ARC402 - Understanding Spring.NET - 7/6/2007 16:30). Got a chance to say hello to Carl Franklin and Richard Campbell. From all the podcasts I listen to, it is definitely theirs I enjoy the most so it was fun to meet them in real life. Also bumped into Michelle Leroux Bustamante who talked several times on .NET rocks. I'm sure I have seen many more people I've either heard on a podcast or read about in a blog but I didn't know their faces... Very enjoyable party! Tomorrow, got to get up early to catch the keynote at 8.30am. I have the feeling this week is going to be a very good week!

    Sunday, 3 June 2007

    Sunday: registration

    It's Sunday, only pre-conferences and registrations today. The South Concourse of the Orange County Convention Center is relatively quiet. People come to register, get a badge, a sticker for Thursday's party and a bag full of info. Some sit down on the carpet to chat. There are security agents moving around with Segways...

    Landed in Orlando

    I landed at Orlando airport at 15.30. It took a while to queue at the immigration, wait for the luggage at the carousel (they call it carousel here), queue for the customs, give back the luggage (?), change terminals, wait again for the luggage at another carousel. I took a Mears shuttle from the airport to the hotel (it's cheaper than the taxis but it takes longer). I shared the minibus with a cheerful and talkative Microsoft employee, Ken Jones, who will be speaking on Monday at Tech Ed. Ken works with Microsoft Press, where he helps technical authors build the business case and content for their books. This is the session he will give on Monday:

    LNC01 - How to Get Published: What it Takes to Become a Technical Author on Microsoft Technologies Monday, June 4 12:00 PM - 1:00 PM, N220 A Speaker(s): Martin DelRe, Linda Engelman, Ken Jones Microsoft Press publishes a large variety of technical books for IT Professionals, Developers, and the home audience. And we’re always looking for good authors! If you’ve ever thought of turning your subject matter expertise and hard-earned knowledge into a book, this could be a great start! In this panel discussion, learn how to write a proposal, what we look for in deciding whether to publish your book, and how you can help sell your book once it’s on the market.

    I'm staying at the Holiday Inn, between Universal Boulevard and International Drive. Big room with safe, large TV, desk and free broadband internet. International Drive has plenty of places to eat and I'll investigate that tonight.

    Saturday, 2 June 2007

    Just finished packing

    It's 18C here, 27C in Orlando. I'm flying on Saturday, resting on Sunday. The action starts on Monday.