TechEd Day 5: .Net Addins, Irresitible forces and musical reflections

11:46 pm .Net, Hawkeye, Readify, Visual Studio

Last day, last set of sessions:

My day started with meeting a guy from Iceland on the metro who arrived in Australia the night before. He went out for a drink with a friend, got trashed, and lost, took a cab around to search for his hotel until he run out of money, then slept with the some homeless guys next to an ATM machine in some dead end of Barcelona. In the morning he managed to get some cash out of an ATM and was now on the train, going downtown to try to find his hotel. He looked trashed and dirty poor guy but better than what you’d expect after such an experience. I just hope he managed to find his hotel :)

Now, back at TechEd:

Addins, Extensibility

  • Talk about the new .Net 3.5 Addin model
  • Extensibility (Flash for the browser)
  • Host automation
  • Solves Version 1 type of problems
    • Discovery
    • Activation
    • Isolation
    • Lifetime Management
    • Sandboxing
    • Unloading
  • Solves Version 2 type of problems
    • Backward Compatibility
    • Forward Compatibility
    • Adding new isolation levels
  • System.Addin & System.Addin.Contract in .Net3.5
  • Separate implementation from integration
  • Questions:
    • Loader
      • There is no loader so you can’t configure a class that will load your addin.
  • Nice demos but to much of “magic” and “just works”
  • The Irresistible forces meet the moveable objects Framework

    Cool talk but too long to take any notes. Room was as packed as at the keynote as this was the only session in this time slot.

    Engineering, architecting, designing and developing reusable frameworks

  • Cool talk about the design of the .Net APIs
  • The standard triangle adds a new dimension of organization
  • Planning
    • Building the right thing
    • Peanut Butter vs Skyscrapers
    • Peanut Butter Focus: features, results: stability, incremental improvements not great end-to-end scenarios
    • Skyscrapers Focus: Scenarios, Results: Excitement, breakthroughs, but beware of leaving the existing customers behind
    • Guideline: avoid peanut butter
  • Architecture – Ensure the long term health of the framework
    • Beware of dependencies
    • Component vs componentization
    • Types of dependencies
      • API Deps: A appears in the interface of type B
      • Implementation: A used in the impl of B
      • Circular deps: forces you to have a single component
    • Framework layering
      • Core and Extensions
    • Dependency management rules
      • Inside a component: ok
    • Up : no-no
    • Cross: take care (MS has a review process for this)
    • Taxonomy
      • Primitives, Abstractions and Reusable Components
      • Abstractions are the hardest to design
        • Difficult to evolve, the glue of the framework
      • Component oriented design
      • Primitive oriented design: (functional)
    • Design: where the quality happens
    • Do treat simplicity as a feature

    Deep Dive .Net Reflection

    Roy Osherove, www.ISerializable.com  (400 level talk)

    Let the just start with the fact that the session started with a guitar on a chair in the middle of the room and a photo of a cat on the power point background :)

  • Reflection on Generics
  • Creating generics at Runtime
  • Bunch of tests on reflection vs code emitting
  • RunSharp – nice library to help code emitting
  • Presented cool IL Visualizer – I should integrate it with Hawkeye
  • Debugging
    • Symbol support
    • [Debuggable(DisableOptimizations)]
    • Add details about the line of code
    • ISymboleDocumentWriter – used to use as template
    • ilGenerator.MarkSequencePoint to mark code points in the document writer
  • StaticILLibrary – IL Parser
  • MethodBase Visualizer
  • And the session finished with Roy playing the guitar a cool song about Reflection. I recorded it so maybe I should try to upload it on YouTube.

    It’s all done. I’m going home. It was great and worth every minute of it. Hopefully I’ll be back next year.

    Leave a Comment

    Your comment

    You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

    Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.