<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" version="2.0">
  <channel>
    <title>blog.brianh.dk - TechEd</title>
    <link>http://blog.brianh.dk/</link>
    <description>My personal blog about working with Microsoft .NET technology from Aarhus, Denmark</description>
    <language>en-us</language>
    <copyright>Brian Holmgård Kristensen</copyright>
    <lastBuildDate>Wed, 13 May 2009 04:25:37 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.0.7226.0</generator>
    <managingEditor>bhk@yourhost.dk</managingEditor>
    <webMaster>bhk@yourhost.dk</webMaster>
    <item>
      <trackback:ping>http://blog.brianh.dk/Trackback.aspx?guid=164f993f-6e1b-4b39-8e91-def5508a5232</trackback:ping>
      <pingback:server>http://blog.brianh.dk/pingback.aspx</pingback:server>
      <pingback:target>http://blog.brianh.dk/PermaLink,guid,164f993f-6e1b-4b39-8e91-def5508a5232.aspx</pingback:target>
      <dc:creator>Brian Holmgård Kristensen</dc:creator>
      <wfw:comment>http://blog.brianh.dk/CommentView,guid,164f993f-6e1b-4b39-8e91-def5508a5232.aspx</wfw:comment>
      <wfw:commentRss>http://blog.brianh.dk/SyndicationService.asmx/GetEntryCommentsRss?guid=164f993f-6e1b-4b39-8e91-def5508a5232</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
This is a brief story of my impressions and experiences with the first couple of days
attending TechEd 2009 North America.
</p>
        <p>
So after more than 24 hours of travelling from source (Århus, Denmark) to destination
(Los Angeles, CA, USA) I finally arrived at the hotel Saturday evening. I’m staying
at a very nice hotel called Hollywood Roosevelt Hotel, just across Kodak Theatre (the
place where the Oscar Academy Award takes place every year) on Hollywood Boulevard.
</p>
        <p>
          <strong>Pre-Conference</strong>
        </p>
        <p>
I was signed up to participate in the Pre-Conference part of TechEd, joining in on
a whole-day seminar with the topic “The ASP.NET Performance Tuning Cycle”. Stuff I
was really looking forward hearing about since we are focusing a lot on performance
improvements at Vertica on our projects. The seminar was held by Richard Campbell
and Kent Alstad and man those two Canadian guys were really on fire that day. We came
around lots of different areas including how to do load-testing with Visual Studio
2008 Team System (Test Edition), load-balancing, how to analyze the response time
of a web-site and much more. Generally a whole lot of good advices on how to look
at the whole picture of optimizing a given web-site – where to put the energy basically.
On advice I would like to highlight here is to use <a href="http://www.webpagetest.org">www.webpagetest.org</a> as
an external tool to analyze your web-site.
</p>
        <p>
After a great and educational day in company with Richard and Kent I was all psyched
about the rest of the conference. I went to see the movie “Wolverine” after getting
back to the hotel.
</p>
        <p>
          <strong>Day 1 – Keynote, ASP.NET 4.0, SharePoint</strong>
        </p>
        <p>
First day of TechEd started out with the Keynote speech as one would expect. I must
admit I wasn’t that enthusiastic about this particular Keynote and as it turned out
I wasn’t proved really wrong on that hunch. The Keynote was primarily held by Bill
Veghte, Microsoft Senior Vice President on Windows Business. The topics were all about
the IT-stuff going on right know with focus on the soon to come operating systems;
Windows 7 and Windows Server 2008 R2. Not that I’m not interested in those topics
at all, I just wanted to see some developer stuff too – unfortunately there was none. 
</p>
        <p>
The first actual session I attended was about ASP.NET 4.0 and what’s coming in that
release. It was a pretty good one. Jeff King showed some examples of how you are now
able to have more fine-grained control over the markup rendered by the ASP.NET WebForms
Framework, some better support for SEO-stuff including new properties on the System.Web.Page
class for meta-keywords and –description and generally some new controls to do LINQ-based
operations (e.g. Filtering and Sorting) on your LINQ-enabled backend datasource. 
</p>
        <p>
The last two sessions I attended that day were both about SharePoint development.
The first was focusing on tooling for SharePoint development, especially with focus
on using the tool VSeWSS 1.3 (Visual Studio extensions for Windows SharePoint Services).
The last session was about how to develop Windows Workflow Foundations to use inside
WSS/MOSS applications. This session was held by Ted Pattison, SharePoint MVP and book-writer,
and now from my experience a really good presenter. I didn’t get much out of the course
technically-wise though since we’ve already been doing a lot of the stuff that he
presented. 
</p>
        <p>
Next up after first-day sessions was the Partner Expo Reception event which I attended.
It can best be described as a circus where all the audience gets magically drawn by
all the stuff and weird contests offered by the different vendors. But they had food
and <u>beer</u>, and I got a few good talks with some of the different vendors – including
a nice demo by a Red Gate Software guy on the soon-to-be-released new version of ANTS
Memory Profiler. And yeah of course I got a lot of swag too :-)
</p>
        <p>
          <strong>Day 2 – More SharePoint, C#, Commerce Server 2009, Parallels, Web Deployment</strong>
        </p>
        <p>
The second day started out with a morning session by Todd Bleeker on SharePoint Web
Part Development Best Practices. Todd had a lot of energy on the stage and that was
just really awesome! Even though the session was about Best Practices over half of
the audience was rather new to Web Part development which had the impact of Todd having
to explain a lot more of the basics taking time from the really interesting stuff.
Pretty unfortunate also was that time completely ran out for Todd so he didn’t come
around all of his points. All in all I think it was a great session mostly because
of Todd’s enthusiasm. And I did get some good advices to take me back home.
</p>
        <p>
I also attended Anders Hejlsberg’s session on “Future of C#”, which I enjoyed a lot
– mostly because I think he rocks. To be more specific and professional about it I
believe that the future “Compiler As A Service”-feature can really leverage some interesting
possibilities to the table, e.g. for an easy way stick-in additional behavior to your
code (logging, validation, pre-/post conditions, etc.) to allow cross-cutting concerns
to be addressed as secondary concerns.
</p>
        <p>
After having a brief chat with one of the guys at the Commerce Server booth he had
me convinced that I should go to their interactive session on Commerce Server 2009
Foundation Services. So I did (later to discover that I thereby missed a Scott Hanselmann
session!). Although they had a whole lot of technical problems at this session, I
got a pretty good understanding of the upcoming Commerce Server 2009 R2 version including
the support of having Commerce Server configured as a true 3-tier environment with
Commerce Server as an application server in the middle of this. I’m soon to begin
on a new Commerce Server 2009 project which I look really forward to, but seeing that
new Foundation API kind of shocks me a little – to me it is extremely verbose compared
to the CS 2007 API, and the amount of XML configuration doesn’t seem to have become
any less I’m afraid. Perhaps wrapping the new very generic API in a nice fluent and
slightly more specific API might just do the trick for me. We’ll see about that.
</p>
        <p>
Next in line was a interesting session on Parallel Computing APIs with .NET 4.0. It
gave me a good overview and examples of the possibilities with parallelism that you
can get using the new framework that will be baked into .NET 4.0.
</p>
        <p>
Last but not least this I attended a session on Web Application Deployment Packaging
and Migration – a look into some new possibilities in IIS about importing and exporting
applications and on how to package your solution to allow smooth GUI-enabled installation
on IIS. At the session, Faith Allington showed the new Web Platform Installer from
Microsoft which I personally think is a awesome tool. Both BlogEngine.NET and Umbraco
got some visual attention at this session being on the list of web-applications available
on the Web Platform Installer. Faith did really well on this presentation clearly
having a lot of knowledge of what she was talking about.
</p>
        <p>
All in all a great day with good sessions by excellent speakers.
</p>
        <img width="0" height="0" src="http://blog.brianh.dk/aggbug.ashx?id=164f993f-6e1b-4b39-8e91-def5508a5232" />
      </body>
      <title>Midway impressions on Tech-Ed North America 2009</title>
      <guid isPermaLink="false">http://blog.brianh.dk/PermaLink,guid,164f993f-6e1b-4b39-8e91-def5508a5232.aspx</guid>
      <link>http://blog.brianh.dk/2009/05/13/MidwayImpressionsOnTechEdNorthAmerica2009.aspx</link>
      <pubDate>Wed, 13 May 2009 04:25:37 GMT</pubDate>
      <description>&lt;p&gt;
This is a brief story of my impressions and experiences with the first couple of days
attending TechEd 2009 North America.
&lt;/p&gt;
&lt;p&gt;
So after more than 24 hours of travelling from source (Århus, Denmark) to destination
(Los Angeles, CA, USA) I finally arrived at the hotel Saturday evening. I’m staying
at a very nice hotel called Hollywood Roosevelt Hotel, just across Kodak Theatre (the
place where the Oscar Academy Award takes place every year) on Hollywood Boulevard.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Pre-Conference&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
I was signed up to participate in the Pre-Conference part of TechEd, joining in on
a whole-day seminar with the topic “The ASP.NET Performance Tuning Cycle”. Stuff I
was really looking forward hearing about since we are focusing a lot on performance
improvements at Vertica on our projects. The seminar was held by Richard Campbell
and Kent Alstad and man those two Canadian guys were really on fire that day. We came
around lots of different areas including how to do load-testing with Visual Studio
2008 Team System (Test Edition), load-balancing, how to analyze the response time
of a web-site and much more. Generally a whole lot of good advices on how to look
at the whole picture of optimizing a given web-site – where to put the energy basically.
On advice I would like to highlight here is to use &lt;a href="http://www.webpagetest.org"&gt;www.webpagetest.org&lt;/a&gt; as
an external tool to analyze your web-site.
&lt;/p&gt;
&lt;p&gt;
After a great and educational day in company with Richard and Kent I was all psyched
about the rest of the conference. I went to see the movie “Wolverine” after getting
back to the hotel.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Day 1 – Keynote, ASP.NET 4.0, SharePoint&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
First day of TechEd started out with the Keynote speech as one would expect. I must
admit I wasn’t that enthusiastic about this particular Keynote and as it turned out
I wasn’t proved really wrong on that hunch. The Keynote was primarily held by Bill
Veghte, Microsoft Senior Vice President on Windows Business. The topics were all about
the IT-stuff going on right know with focus on the soon to come operating systems;
Windows 7 and Windows Server 2008 R2. Not that I’m not interested in those topics
at all, I just wanted to see some developer stuff too – unfortunately there was none. 
&lt;/p&gt;
&lt;p&gt;
The first actual session I attended was about ASP.NET 4.0 and what’s coming in that
release. It was a pretty good one. Jeff King showed some examples of how you are now
able to have more fine-grained control over the markup rendered by the ASP.NET WebForms
Framework, some better support for SEO-stuff including new properties on the System.Web.Page
class for meta-keywords and –description and generally some new controls to do LINQ-based
operations (e.g. Filtering and Sorting) on your LINQ-enabled backend datasource. 
&lt;/p&gt;
&lt;p&gt;
The last two sessions I attended that day were both about SharePoint development.
The first was focusing on tooling for SharePoint development, especially with focus
on using the tool VSeWSS 1.3 (Visual Studio extensions for Windows SharePoint Services).
The last session was about how to develop Windows Workflow Foundations to use inside
WSS/MOSS applications. This session was held by Ted Pattison, SharePoint MVP and book-writer,
and now from my experience a really good presenter. I didn’t get much out of the course
technically-wise though since we’ve already been doing a lot of the stuff that he
presented. 
&lt;/p&gt;
&lt;p&gt;
Next up after first-day sessions was the Partner Expo Reception event which I attended.
It can best be described as a circus where all the audience gets magically drawn by
all the stuff and weird contests offered by the different vendors. But they had food
and &lt;u&gt;beer&lt;/u&gt;, and I got a few good talks with some of the different vendors – including
a nice demo by a Red Gate Software guy on the soon-to-be-released new version of ANTS
Memory Profiler. And yeah of course I got a lot of swag too :-)
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Day 2 – More SharePoint, C#, Commerce Server 2009, Parallels, Web Deployment&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
The second day started out with a morning session by Todd Bleeker on SharePoint Web
Part Development Best Practices. Todd had a lot of energy on the stage and that was
just really awesome! Even though the session was about Best Practices over half of
the audience was rather new to Web Part development which had the impact of Todd having
to explain a lot more of the basics taking time from the really interesting stuff.
Pretty unfortunate also was that time completely ran out for Todd so he didn’t come
around all of his points. All in all I think it was a great session mostly because
of Todd’s enthusiasm. And I did get some good advices to take me back home.
&lt;/p&gt;
&lt;p&gt;
I also attended Anders Hejlsberg’s session on “Future of C#”, which I enjoyed a lot
– mostly because I think he rocks. To be more specific and professional about it I
believe that the future “Compiler As A Service”-feature can really leverage some interesting
possibilities to the table, e.g. for an easy way stick-in additional behavior to your
code (logging, validation, pre-/post conditions, etc.) to allow cross-cutting concerns
to be addressed as secondary concerns.
&lt;/p&gt;
&lt;p&gt;
After having a brief chat with one of the guys at the Commerce Server booth he had
me convinced that I should go to their interactive session on Commerce Server 2009
Foundation Services. So I did (later to discover that I thereby missed a Scott Hanselmann
session!). Although they had a whole lot of technical problems at this session, I
got a pretty good understanding of the upcoming Commerce Server 2009 R2 version including
the support of having Commerce Server configured as a true 3-tier environment with
Commerce Server as an application server in the middle of this. I’m soon to begin
on a new Commerce Server 2009 project which I look really forward to, but seeing that
new Foundation API kind of shocks me a little – to me it is extremely verbose compared
to the CS 2007 API, and the amount of XML configuration doesn’t seem to have become
any less I’m afraid. Perhaps wrapping the new very generic API in a nice fluent and
slightly more specific API might just do the trick for me. We’ll see about that.
&lt;/p&gt;
&lt;p&gt;
Next in line was a interesting session on Parallel Computing APIs with .NET 4.0. It
gave me a good overview and examples of the possibilities with parallelism that you
can get using the new framework that will be baked into .NET 4.0.
&lt;/p&gt;
&lt;p&gt;
Last but not least this I attended a session on Web Application Deployment Packaging
and Migration – a look into some new possibilities in IIS about importing and exporting
applications and on how to package your solution to allow smooth GUI-enabled installation
on IIS. At the session, Faith Allington showed the new Web Platform Installer from
Microsoft which I personally think is a awesome tool. Both BlogEngine.NET and Umbraco
got some visual attention at this session being on the list of web-applications available
on the Web Platform Installer. Faith did really well on this presentation clearly
having a lot of knowledge of what she was talking about.
&lt;/p&gt;
&lt;p&gt;
All in all a great day with good sessions by excellent speakers.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.brianh.dk/aggbug.ashx?id=164f993f-6e1b-4b39-8e91-def5508a5232" /&gt;</description>
      <comments>http://blog.brianh.dk/CommentView,guid,164f993f-6e1b-4b39-8e91-def5508a5232.aspx</comments>
      <category>TechEd</category>
    </item>
    <item>
      <trackback:ping>http://blog.brianh.dk/Trackback.aspx?guid=4d7feb32-a2c2-4922-a35e-5f5c0521cb87</trackback:ping>
      <pingback:server>http://blog.brianh.dk/pingback.aspx</pingback:server>
      <pingback:target>http://blog.brianh.dk/PermaLink,guid,4d7feb32-a2c2-4922-a35e-5f5c0521cb87.aspx</pingback:target>
      <dc:creator>Brian Holmgård Kristensen</dc:creator>
      <wfw:comment>http://blog.brianh.dk/CommentView,guid,4d7feb32-a2c2-4922-a35e-5f5c0521cb87.aspx</wfw:comment>
      <wfw:commentRss>http://blog.brianh.dk/SyndicationService.asmx/GetEntryCommentsRss?guid=4d7feb32-a2c2-4922-a35e-5f5c0521cb87</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I must admit; I was pretty tired at this point, being very focused on getting most
out of the sessions. I write notes from each session I attend and when I get back
home to my hotel I polish them up so they can be published on my blog. It is causing
me a lot of work and it is a bit slow process but it is useful for me, and hopefully
others as well. Even though as mentioned I was a bit beaten up at this last session
for Tuesday on TechEd for Developers it really had my attention because it was a topic
of huge interest. I am really looking for a proper way of modeling my data access
layer in a proper encapsulated way supporting my nTier architecture with the benefits
of having an OR mapper in place. 
</p>
        <p>
The Entity Framework Introduction session was given by a guy called Carl Perry, who
is Senior Program Manager Lead at Microsoft, and Carl was here to talk about Data
Access methodologies on specific ADO.NET. Data Access as we know it in ADO.NET 2.0
allows a provider based model for abstracting low level access/interaction with the
actual store e.g. SQL Server or Oracle. 
</p>
        <p>
With Entity Framework they want to raise the level of abstraction. Raise the abstraction
from readers, commands and connections for making it easier to build a data driven
application as you work closer to your domain model. Entity Framework lets you to
only worry about how your domain is expressed. It introduces a Conceptual Schema which
is the model we actually program against which has rich support for inheritance and
relations. There is also a model to represent the actual data store given by e.g.
the schema of tables, views, stored procedures etc. in the actual database called
the Store Model. To map between these models Entity Framework introduces a third model
in between known as the Mapping Model. 
</p>
        <p>
Entity Framework supports many-to-many relationships - it just removes the link table
and creates a many-to-many relation on the related objects. 
</p>
        <p>
There are two approaches to access data with Entity Framework: 1) Use LINQ, which
will properly give you much higher productivity, and 2) use the newly introduced query
language called Entity SQL (eSQL) that is a part of the Entity Framework. Entity SQL
looks very SQL like, and has the ability to invoke any server function that the provider
has mapped. You query against the Conceptual Model in a string-based manner making
e.g. joining tables very implicit. 
</p>
        <p>
Carl showed us some demos on using the Entity Framework using both approaches as mentioned
above. 
</p>
        <p>
The Entity Framework is properly going to be shipped on first half of 2008. All database
vendors are already developing managed providers on it. The current version of Entity
Framework is on Beta 2 with a Beta 3 just around the corners. 
</p>
        <p>
I think it was a good session on introducing the Entity Framework and Carl certainly
had a lot of knowledge on that area. I’m going to be attending a specific LINQ To
Entities session tomorrow, hopefully to get even more insight on the Entity Framework
and how it can be used as an OR mapper to support a data driven application. Looking
forward for tomorrow sessions after hopefully a good long nights sleep :-)
</p>
        <img width="0" height="0" src="http://blog.brianh.dk/aggbug.ashx?id=4d7feb32-a2c2-4922-a35e-5f5c0521cb87" />
      </body>
      <title>Entity Framework Introduction</title>
      <guid isPermaLink="false">http://blog.brianh.dk/PermaLink,guid,4d7feb32-a2c2-4922-a35e-5f5c0521cb87.aspx</guid>
      <link>http://blog.brianh.dk/2007/11/09/EntityFrameworkIntroduction.aspx</link>
      <pubDate>Fri, 09 Nov 2007 07:31:08 GMT</pubDate>
      <description>&lt;p&gt;
I must admit; I was pretty tired at this point, being very focused on getting most
out of the sessions. I write notes from each session I attend and when I get back
home to my hotel I polish them up so they can be published on my blog. It is causing
me a lot of work and it is a bit slow process but it is useful for me, and hopefully
others as well. Even though as mentioned I was a bit beaten up at this last session
for Tuesday on TechEd for Developers it really had my attention because it was a topic
of huge interest. I am really looking for a proper way of modeling my data access
layer in a proper encapsulated way supporting my nTier architecture with the benefits
of having an OR mapper in place. 
&lt;p&gt;
The Entity Framework Introduction session was given by a guy called Carl Perry, who
is Senior Program Manager Lead at Microsoft, and Carl was here to talk about Data
Access methodologies on specific ADO.NET. Data Access as we know it in ADO.NET 2.0
allows a provider based model for abstracting low level access/interaction with the
actual store e.g. SQL Server or Oracle. 
&lt;p&gt;
With Entity Framework they want to raise the level of abstraction. Raise the abstraction
from readers, commands and connections for making it easier to build a data driven
application as you work closer to your domain model. Entity Framework lets you to
only worry about how your domain is expressed. It introduces a Conceptual Schema which
is the model we actually program against which has rich support for inheritance and
relations. There is also a model to represent the actual data store given by e.g.
the schema of tables, views, stored procedures etc. in the actual database called
the Store Model. To map between these models Entity Framework introduces a third model
in between known as the Mapping Model. 
&lt;p&gt;
Entity Framework supports many-to-many relationships - it just removes the link table
and creates a many-to-many relation on the related objects. 
&lt;p&gt;
There are two approaches to access data with Entity Framework: 1) Use LINQ, which
will properly give you much higher productivity, and 2) use the newly introduced query
language called Entity SQL (eSQL) that is a part of the Entity Framework. Entity SQL
looks very SQL like, and has the ability to invoke any server function that the provider
has mapped. You query against the Conceptual Model in a string-based manner making
e.g. joining tables very implicit. 
&lt;p&gt;
Carl showed us some demos on using the Entity Framework using both approaches as mentioned
above. 
&lt;p&gt;
The Entity Framework is properly going to be shipped on first half of 2008. All database
vendors are already developing managed providers on it. The current version of Entity
Framework is on Beta 2 with a Beta 3 just around the corners. 
&lt;p&gt;
I think it was a good session on introducing the Entity Framework and Carl certainly
had a lot of knowledge on that area. I’m going to be attending a specific LINQ To
Entities session tomorrow, hopefully to get even more insight on the Entity Framework
and how it can be used as an OR mapper to support a data driven application. Looking
forward for tomorrow sessions after hopefully a good long nights sleep :-)
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.brianh.dk/aggbug.ashx?id=4d7feb32-a2c2-4922-a35e-5f5c0521cb87" /&gt;</description>
      <comments>http://blog.brianh.dk/CommentView,guid,4d7feb32-a2c2-4922-a35e-5f5c0521cb87.aspx</comments>
      <category>TechEd</category>
    </item>
    <item>
      <trackback:ping>http://blog.brianh.dk/Trackback.aspx?guid=11e27c64-140e-4d60-9a26-e06bda6a003e</trackback:ping>
      <pingback:server>http://blog.brianh.dk/pingback.aspx</pingback:server>
      <pingback:target>http://blog.brianh.dk/PermaLink,guid,11e27c64-140e-4d60-9a26-e06bda6a003e.aspx</pingback:target>
      <dc:creator>Brian Holmgård Kristensen</dc:creator>
      <wfw:comment>http://blog.brianh.dk/CommentView,guid,11e27c64-140e-4d60-9a26-e06bda6a003e.aspx</wfw:comment>
      <wfw:commentRss>http://blog.brianh.dk/SyndicationService.asmx/GetEntryCommentsRss?guid=11e27c64-140e-4d60-9a26-e06bda6a003e</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I really had my doubts on whether I should attend this session, because a colleague
of mine, <a href="http://www.publicvoid.dk/">Søren</a>, already had done a presentation
about the new language features in C# 3.0, and also I attended a session yesterday
by Luca Bolognese on <a href="http://blog.brianh.dk/2007/11/07/TheNETLanguageIntegratedQueryFramework.aspx">“The
.NET Language Integrated Query Framework”</a> where he covered many of the new features
as well. However there was a really good reason for me being there; 1) that the session
took place in the Auditorium where also my previous session on Silverlight went on,
meaning I did not have to move at all, and 2) that I have a lot of interest in C#
3.0 and attending a session with only focusing on that simply could not be a bad thing
for me. 
</p>
        <p>
This session was by Luke Hoban, Program Manager at Microsoft responsible for the C#
compiler. Luke started out by telling about their design themes on this C# 3.0 version,
which goes as: 
</p>
        <p>
1. Improve C# 2.0 – obvious as many might think. 
</p>
        <p>
2. Language Integrated Query (LINQ) - making querying a first class concept in the
language. LINQ is really the driving force behind many of the new language features
that we'll see as LINQ required making a lot of new capabilities in the language. 
</p>
        <p>
3. Being 100% backwards compatible which is always the case. 
</p>
        <p>
The rest of the session by Luke was pretty much purely demo-driven to show us the
use of the new language features, covering: 
</p>
        <p>
          <b>Auto-Implemented Properties</b>
        </p>
        <p>
The option to introduce a property with an implicit backend data variable. This is
very useful for most properties in your classes as they usually always just simple
properties without any logic. 
</p>
        <p>
          <b>Object Initializers</b>
        </p>
        <p>
The option to set values on public properties of an object directly in its constructor. 
</p>
        <p>
          <b>Collection Initializers</b>
        </p>
        <p>
Just as with Object Initializers this feature allows to add items to a collection
object directly in its constructor. 
</p>
        <p>
          <b>Local variable type inference</b>
        </p>
        <p>
This allows for any local variable inside the code, to just leave out the name of
the object type and use the <i>var</i> keyword instead. This is syntactical very convenience
and it is completely strong-typed as the compiler already knows which type you operate
on given the right side of the assignment expression. 
</p>
        <p>
Note that you can't use <i>var</i> as return type or as parameter type. In level of
public interface explicit specifying the types is the only way to go. 
</p>
        <p>
          <b>Query Expressions</b>
        </p>
        <p>
The most important thing to understand about Query Expressions is that they are just
like any other syntax in C#. It is not some sort of Domain Specific Language, it is
just like e.g. a for-loop or a while-loop - a part of the C# language. 
</p>
        <p>
Two major reasons why Query Expressions are valuable: 1) they can be used not just
over objects but all sorts of data; relational, XML, anything that implements the
LINQ Query Provider and 2) it is easy to use as it is a very declarative way of writing
queries. 
</p>
        <p>
          <b>Anonymous Types</b>
        </p>
        <p>
The ability to create new shapes that suits the exact needs in your specific logic.
Very useful for intermediate results. 
</p>
        <p>
The class will be auto generated by the compiler, making sure the type will have the
right signature. 
</p>
        <p>
Also you can't return it – which means they are for most purposes constrained to a
method body. 
</p>
        <p>
          <b>Lambda Expressions</b>
        </p>
        <p>
A way to do anonymous methods but in a more efficient and declarative way. A Lambda
Expression is indicated by the <i>=&gt;</i> (goes to) keyword. A Lambda Expression
starts with a list of all parameters sent to the function. 
</p>
        <p>
          <b>Extension Methods</b>
        </p>
        <p>
The ability to kind of virtually add new methods to existing objects that normally
are out of your reach, e.g. sealed classes. It is important to note that this does
not in any way break encapsulation. It is purely syntactic sugar. The compiler will
go ahead and call the static method on the concrete extension class when it sees an
Extension Method. 
</p>
        <p>
          <b>Expression trees</b>
        </p>
        <p>
This is telling the compiler to capture Lambda Expressions not as delegates but as
an actual Expression Tree which is a rich object model containing body and parameters
exposing the Lambda Expressions thereby allowing the consumer to decide how to process
this information, e.g. creating dynamic SQL as with LINQ To SQL. 
</p>
        <p>
          <b>Partial Methods</b>
        </p>
        <p>
Allows you to write code that calls a method that may or not be defined and must be
declared within a partial class. A common scenario for partial methods is lightweight
event handling and in e.g. LINQ To SQL often used for doing validation in a custom
partial class for the generated class. 
</p>
        <p>
          <b>Implicitly-Typed Arrays</b>
        </p>
        <p>
This is a simple but helpful feature allowing you to declare a new array but leave
out the name of the type. The compiler then does the type inference for you. 
</p>
        <p>
Example: <i>var myArrayOfIntegers = new[] { 1, 2, 3, 4 };</i></p>
        <p>
          <i>
          </i>
        </p>
        <p>
It really was a great session by Luke Hoban and I am glad I attended even though I
had my doubts. I feel very lucky having attended only good sessions so far! 
</p>
        <img width="0" height="0" src="http://blog.brianh.dk/aggbug.ashx?id=11e27c64-140e-4d60-9a26-e06bda6a003e" />
      </body>
      <title>Microsoft Visual C# Under the Covers: An In-depth Look at C# 3.0</title>
      <guid isPermaLink="false">http://blog.brianh.dk/PermaLink,guid,11e27c64-140e-4d60-9a26-e06bda6a003e.aspx</guid>
      <link>http://blog.brianh.dk/2007/11/09/MicrosoftVisualCUnderTheCoversAnIndepthLookAtC30.aspx</link>
      <pubDate>Fri, 09 Nov 2007 07:25:16 GMT</pubDate>
      <description>&lt;p&gt;
I really had my doubts on whether I should attend this session, because a colleague
of mine, &lt;a href="http://www.publicvoid.dk/"&gt;Søren&lt;/a&gt;, already had done a presentation
about the new language features in C# 3.0, and also I attended a session yesterday
by Luca Bolognese on &lt;a href="http://blog.brianh.dk/2007/11/07/TheNETLanguageIntegratedQueryFramework.aspx"&gt;“The
.NET Language Integrated Query Framework”&lt;/a&gt; where he covered many of the new features
as well. However there was a really good reason for me being there; 1) that the session
took place in the Auditorium where also my previous session on Silverlight went on,
meaning I did not have to move at all, and 2) that I have a lot of interest in C#
3.0 and attending a session with only focusing on that simply could not be a bad thing
for me. 
&lt;p&gt;
This session was by Luke Hoban, Program Manager at Microsoft responsible for the C#
compiler. Luke started out by telling about their design themes on this C# 3.0 version,
which goes as: 
&lt;p&gt;
1. Improve C# 2.0 – obvious as many might think. 
&lt;p&gt;
2. Language Integrated Query (LINQ) - making querying a first class concept in the
language. LINQ is really the driving force behind many of the new language features
that we'll see as LINQ required making a lot of new capabilities in the language. 
&lt;p&gt;
3. Being 100% backwards compatible which is always the case. 
&lt;p&gt;
The rest of the session by Luke was pretty much purely demo-driven to show us the
use of the new language features, covering: 
&lt;p&gt;
&lt;b&gt;Auto-Implemented Properties&lt;/b&gt; 
&lt;p&gt;
The option to introduce a property with an implicit backend data variable. This is
very useful for most properties in your classes as they usually always just simple
properties without any logic. 
&lt;p&gt;
&lt;b&gt;Object Initializers&lt;/b&gt; 
&lt;p&gt;
The option to set values on public properties of an object directly in its constructor. 
&lt;p&gt;
&lt;b&gt;Collection Initializers&lt;/b&gt; 
&lt;p&gt;
Just as with Object Initializers this feature allows to add items to a collection
object directly in its constructor. 
&lt;p&gt;
&lt;b&gt;Local variable type inference&lt;/b&gt; 
&lt;p&gt;
This allows for any local variable inside the code, to just leave out the name of
the object type and use the &lt;i&gt;var&lt;/i&gt; keyword instead. This is syntactical very convenience
and it is completely strong-typed as the compiler already knows which type you operate
on given the right side of the assignment expression. 
&lt;p&gt;
Note that you can't use &lt;i&gt;var&lt;/i&gt; as return type or as parameter type. In level of
public interface explicit specifying the types is the only way to go. 
&lt;p&gt;
&lt;b&gt;Query Expressions&lt;/b&gt; 
&lt;p&gt;
The most important thing to understand about Query Expressions is that they are just
like any other syntax in C#. It is not some sort of Domain Specific Language, it is
just like e.g. a for-loop or a while-loop - a part of the C# language. 
&lt;p&gt;
Two major reasons why Query Expressions are valuable: 1) they can be used not just
over objects but all sorts of data; relational, XML, anything that implements the
LINQ Query Provider and 2) it is easy to use as it is a very declarative way of writing
queries. 
&lt;p&gt;
&lt;b&gt;Anonymous Types&lt;/b&gt; 
&lt;p&gt;
The ability to create new shapes that suits the exact needs in your specific logic.
Very useful for intermediate results. 
&lt;p&gt;
The class will be auto generated by the compiler, making sure the type will have the
right signature. 
&lt;p&gt;
Also you can't return it – which means they are for most purposes constrained to a
method body. 
&lt;p&gt;
&lt;b&gt;Lambda Expressions&lt;/b&gt; 
&lt;p&gt;
A way to do anonymous methods but in a more efficient and declarative way. A Lambda
Expression is indicated by the &lt;i&gt;=&amp;gt;&lt;/i&gt; (goes to) keyword. A Lambda Expression
starts with a list of all parameters sent to the function. 
&lt;p&gt;
&lt;b&gt;Extension Methods&lt;/b&gt; 
&lt;p&gt;
The ability to kind of virtually add new methods to existing objects that normally
are out of your reach, e.g. sealed classes. It is important to note that this does
not in any way break encapsulation. It is purely syntactic sugar. The compiler will
go ahead and call the static method on the concrete extension class when it sees an
Extension Method. 
&lt;p&gt;
&lt;b&gt;Expression trees&lt;/b&gt; 
&lt;p&gt;
This is telling the compiler to capture Lambda Expressions not as delegates but as
an actual Expression Tree which is a rich object model containing body and parameters
exposing the Lambda Expressions thereby allowing the consumer to decide how to process
this information, e.g. creating dynamic SQL as with LINQ To SQL. 
&lt;p&gt;
&lt;b&gt;Partial Methods&lt;/b&gt; 
&lt;p&gt;
Allows you to write code that calls a method that may or not be defined and must be
declared within a partial class. A common scenario for partial methods is lightweight
event handling and in e.g. LINQ To SQL often used for doing validation in a custom
partial class for the generated class. 
&lt;p&gt;
&lt;b&gt;Implicitly-Typed Arrays&lt;/b&gt; 
&lt;p&gt;
This is a simple but helpful feature allowing you to declare a new array but leave
out the name of the type. The compiler then does the type inference for you. 
&lt;p&gt;
Example: &lt;i&gt;var myArrayOfIntegers = new[] { 1, 2, 3, 4 };&lt;/i&gt; 
&lt;p&gt;
&lt;i&gt;&lt;/i&gt; 
&lt;p&gt;
It really was a great session by Luke Hoban and I am glad I attended even though I
had my doubts. I feel very lucky having attended only good sessions so far! 
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.brianh.dk/aggbug.ashx?id=11e27c64-140e-4d60-9a26-e06bda6a003e" /&gt;</description>
      <comments>http://blog.brianh.dk/CommentView,guid,11e27c64-140e-4d60-9a26-e06bda6a003e.aspx</comments>
      <category>TechEd</category>
    </item>
    <item>
      <trackback:ping>http://blog.brianh.dk/Trackback.aspx?guid=fcd43e3b-4a4a-4eda-8852-f4e9c831b3c9</trackback:ping>
      <pingback:server>http://blog.brianh.dk/pingback.aspx</pingback:server>
      <pingback:target>http://blog.brianh.dk/PermaLink,guid,fcd43e3b-4a4a-4eda-8852-f4e9c831b3c9.aspx</pingback:target>
      <dc:creator>Brian Holmgård Kristensen</dc:creator>
      <wfw:comment>http://blog.brianh.dk/CommentView,guid,fcd43e3b-4a4a-4eda-8852-f4e9c831b3c9.aspx</wfw:comment>
      <wfw:commentRss>http://blog.brianh.dk/SyndicationService.asmx/GetEntryCommentsRss?guid=fcd43e3b-4a4a-4eda-8852-f4e9c831b3c9</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
The speaker of this session, Jesse Liberty actually joined Microsoft because of <a href="http://silverlight.net/Default.aspx">Silverlight</a>.
His work at Microsoft is not about convincing anyone to use Silverlight, his job is
more to help developers on how to learn Silverlight and make the best use out of it.
There is a tremendous interest in the whole Silverlight technology as he goes, so
obviously Microsoft invests in customers wanting to use Silverlight for implementing
their applications. Jesse went on a stated his agenda for this session; that we should
not expect to see or be impressed by fancy demos of Silverlight in action. That his
goal by demo-driven presentation is to show us how easy it is to use the declarative
language XAML to build real applications with the .NET Framework and Visual Studio. 
</p>
        <p>
Jesse started his demo by creating a new Silverlight project in Visual Studio 2008.
What he was about to demo was building a Silverlight application from scratch including
a new custom Silverlight control in it. The essence of the demo was to build an application
on the <a href="http://en.wikipedia.org/wiki/Conway's_Game_of_Life">Conway´s Game
of Life</a>. I don’t want to go into much detail about what Conways Life is, but basically
it has something to do with some cells living in a matrix-like world of total 800
cells, where each cell from generation to generation comes to live or dies depending
on the state of the cells neighbors. 
</p>
        <p>
Among other things in his demo, he showed us how to implement a timer in XAML and
make use of this timer for creating a loop control structure. Also and by far more
interesting he demoed a new feature of Silverlight 1.x where they have implemented
the capability of Silverlight to reference standard HTML that is produced in the page
where the Silverlight control is hosted. This makes it possible to reference any HTML
elements e.g. changing its display or capturing its events using API’s inside the
System.Windows.Browser namespace. The .NET code looked exactly like the DOM most of
us are already familiar with from JavaScript: 
</p>
        <p>
          <i>HtmlPage.Document.GetElementById(“myControlID”)</i>
        </p>
        <p>
What Jesse really wanted to illustrate was the only really difficult thing on Silverlight
is on how to go around declarative programming. When you are passed that barrier you
find yourself back in the well known world of .NET programming and just thinking about
implementing the logic using standard .NET. This happens very quickly with Silverlight. 
</p>
        <p>
I haven’t done any work in Silverlight at all so coming to this session was really
good for me as I got some feeling on how Silverlight fits in – technically speaking
that is. I have of course seen a lot of Silverlight demos out there – but for me it
is really more interesting to see how it is done. Great session by Jesse Liberty –
it was cool to see when his little tiny application came to play. Thumbs up! 
</p>
        <p>
          <a href="http://blog.brianh.dk/content/binary/WindowsLiveWriter/BuildingGreatWebExperiencewithSilverli.x_BF80/IMG_1422_2.jpg">
            <img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="184" alt="IMG_1422" src="http://blog.brianh.dk/content/binary/WindowsLiveWriter/BuildingGreatWebExperiencewithSilverli.x_BF80/IMG_1422_thumb.jpg" width="244" border="0" />
          </a>
        </p>
        <img width="0" height="0" src="http://blog.brianh.dk/aggbug.ashx?id=fcd43e3b-4a4a-4eda-8852-f4e9c831b3c9" />
      </body>
      <title>Building Great Web Experience with Silverlight 1.x</title>
      <guid isPermaLink="false">http://blog.brianh.dk/PermaLink,guid,fcd43e3b-4a4a-4eda-8852-f4e9c831b3c9.aspx</guid>
      <link>http://blog.brianh.dk/2007/11/09/BuildingGreatWebExperienceWithSilverlight1x.aspx</link>
      <pubDate>Fri, 09 Nov 2007 07:13:50 GMT</pubDate>
      <description>&lt;p&gt;
The speaker of this session, Jesse Liberty actually joined Microsoft because of &lt;a href="http://silverlight.net/Default.aspx"&gt;Silverlight&lt;/a&gt;.
His work at Microsoft is not about convincing anyone to use Silverlight, his job is
more to help developers on how to learn Silverlight and make the best use out of it.
There is a tremendous interest in the whole Silverlight technology as he goes, so
obviously Microsoft invests in customers wanting to use Silverlight for implementing
their applications. Jesse went on a stated his agenda for this session; that we should
not expect to see or be impressed by fancy demos of Silverlight in action. That his
goal by demo-driven presentation is to show us how easy it is to use the declarative
language XAML to build real applications with the .NET Framework and Visual Studio. 
&lt;p&gt;
Jesse started his demo by creating a new Silverlight project in Visual Studio 2008.
What he was about to demo was building a Silverlight application from scratch including
a new custom Silverlight control in it. The essence of the demo was to build an application
on the &lt;a href="http://en.wikipedia.org/wiki/Conway's_Game_of_Life"&gt;Conway´s Game
of Life&lt;/a&gt;. I don’t want to go into much detail about what Conways Life is, but basically
it has something to do with some cells living in a matrix-like world of total 800
cells, where each cell from generation to generation comes to live or dies depending
on the state of the cells neighbors. 
&lt;p&gt;
Among other things in his demo, he showed us how to implement a timer in XAML and
make use of this timer for creating a loop control structure. Also and by far more
interesting he demoed a new feature of Silverlight 1.x where they have implemented
the capability of Silverlight to reference standard HTML that is produced in the page
where the Silverlight control is hosted. This makes it possible to reference any HTML
elements e.g. changing its display or capturing its events using API’s inside the
System.Windows.Browser namespace. The .NET code looked exactly like the DOM most of
us are already familiar with from JavaScript: 
&lt;p&gt;
&lt;i&gt;HtmlPage.Document.GetElementById(“myControlID”)&lt;/i&gt; 
&lt;p&gt;
What Jesse really wanted to illustrate was the only really difficult thing on Silverlight
is on how to go around declarative programming. When you are passed that barrier you
find yourself back in the well known world of .NET programming and just thinking about
implementing the logic using standard .NET. This happens very quickly with Silverlight. 
&lt;p&gt;
I haven’t done any work in Silverlight at all so coming to this session was really
good for me as I got some feeling on how Silverlight fits in – technically speaking
that is. I have of course seen a lot of Silverlight demos out there – but for me it
is really more interesting to see how it is done. Great session by Jesse Liberty –
it was cool to see when his little tiny application came to play. Thumbs up! 
&lt;p&gt;
&lt;a href="http://blog.brianh.dk/content/binary/WindowsLiveWriter/BuildingGreatWebExperiencewithSilverli.x_BF80/IMG_1422_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="184" alt="IMG_1422" src="http://blog.brianh.dk/content/binary/WindowsLiveWriter/BuildingGreatWebExperiencewithSilverli.x_BF80/IMG_1422_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.brianh.dk/aggbug.ashx?id=fcd43e3b-4a4a-4eda-8852-f4e9c831b3c9" /&gt;</description>
      <comments>http://blog.brianh.dk/CommentView,guid,fcd43e3b-4a4a-4eda-8852-f4e9c831b3c9.aspx</comments>
      <category>TechEd</category>
    </item>
    <item>
      <trackback:ping>http://blog.brianh.dk/Trackback.aspx?guid=c4e55ddb-7add-46c3-8173-60cbf08a991e</trackback:ping>
      <pingback:server>http://blog.brianh.dk/pingback.aspx</pingback:server>
      <pingback:target>http://blog.brianh.dk/PermaLink,guid,c4e55ddb-7add-46c3-8173-60cbf08a991e.aspx</pingback:target>
      <dc:creator>Brian Holmgård Kristensen</dc:creator>
      <wfw:comment>http://blog.brianh.dk/CommentView,guid,c4e55ddb-7add-46c3-8173-60cbf08a991e.aspx</wfw:comment>
      <wfw:commentRss>http://blog.brianh.dk/SyndicationService.asmx/GetEntryCommentsRss?guid=c4e55ddb-7add-46c3-8173-60cbf08a991e</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I'm really having trouble following up on all my notes making blog posts out of them.
The battery on my laptop is not holding up very well, so I have to write notes in
hand at some of the sessions, and finish them up when I get back to my hotel at late
evenings. I do have notes though from every session I have attended, so please just
be patient as I will do posts from each and every one of them :-)
</p>
        <p>
I'm having a really great time down here and the time is moving really quickly!
</p>
        <p>
I hope to learn lots more as there still is a lot of sessions left for me to attend.
</p>
        <p>
So right now I'm going down to the Auditorium to a session that is going to change
my life! Really, it is! Well, at least that is what it says in its description. I'm
going down there to learn about asynchronous programming models in ASP.NET. Really
exciting stuff.
</p>
        <p>
I'll be back!
</p>
        <p>
          <a href="http://blog.brianh.dk/content/binary/WindowsLiveWriter/SmalldelayonblogpostsfromTechEd_7AD2/IMG_1405_2.jpg">
            <img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="184" alt="IMG_1405" src="http://blog.brianh.dk/content/binary/WindowsLiveWriter/SmalldelayonblogpostsfromTechEd_7AD2/IMG_1405_thumb.jpg" width="244" border="0" />
          </a>
          <a href="http://blog.brianh.dk/content/binary/WindowsLiveWriter/SmalldelayonblogpostsfromTechEd_7AD2/IMG_1406_2.jpg">
            <img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="184" alt="IMG_1406" src="http://blog.brianh.dk/content/binary/WindowsLiveWriter/SmalldelayonblogpostsfromTechEd_7AD2/IMG_1406_thumb.jpg" width="244" border="0" />
          </a>
        </p>
        <img width="0" height="0" src="http://blog.brianh.dk/aggbug.ashx?id=c4e55ddb-7add-46c3-8173-60cbf08a991e" />
      </body>
      <title>Small delay on blog posts from TechEd</title>
      <guid isPermaLink="false">http://blog.brianh.dk/PermaLink,guid,c4e55ddb-7add-46c3-8173-60cbf08a991e.aspx</guid>
      <link>http://blog.brianh.dk/2007/11/07/SmallDelayOnBlogPostsFromTechEd.aspx</link>
      <pubDate>Wed, 07 Nov 2007 07:41:03 GMT</pubDate>
      <description>&lt;p&gt;
I'm really having trouble following up on all my notes making blog posts out of them.
The battery on my laptop is not holding up very well, so I have to write notes in
hand at some of the sessions, and finish them up when I get back to my hotel at late
evenings. I do have notes though from every session I have attended, so please just
be patient as I will do posts from each and every one of them :-)
&lt;/p&gt;
&lt;p&gt;
I'm having a really great time down here and the time is moving really quickly!
&lt;/p&gt;
&lt;p&gt;
I hope to learn lots more as there still is a lot of sessions left for me to attend.
&lt;/p&gt;
&lt;p&gt;
So right now I'm going down to the Auditorium to a session that is going to change
my life! Really, it is! Well, at least that is what it says in its description. I'm
going down there to learn about asynchronous programming models in ASP.NET. Really
exciting stuff.
&lt;/p&gt;
&lt;p&gt;
I'll be back!
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blog.brianh.dk/content/binary/WindowsLiveWriter/SmalldelayonblogpostsfromTechEd_7AD2/IMG_1405_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="184" alt="IMG_1405" src="http://blog.brianh.dk/content/binary/WindowsLiveWriter/SmalldelayonblogpostsfromTechEd_7AD2/IMG_1405_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blog.brianh.dk/content/binary/WindowsLiveWriter/SmalldelayonblogpostsfromTechEd_7AD2/IMG_1406_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="184" alt="IMG_1406" src="http://blog.brianh.dk/content/binary/WindowsLiveWriter/SmalldelayonblogpostsfromTechEd_7AD2/IMG_1406_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.brianh.dk/aggbug.ashx?id=c4e55ddb-7add-46c3-8173-60cbf08a991e" /&gt;</description>
      <comments>http://blog.brianh.dk/CommentView,guid,c4e55ddb-7add-46c3-8173-60cbf08a991e.aspx</comments>
      <category>TechEd</category>
    </item>
    <item>
      <trackback:ping>http://blog.brianh.dk/Trackback.aspx?guid=2c342af5-9343-4311-ad0f-106d7c0cb776</trackback:ping>
      <pingback:server>http://blog.brianh.dk/pingback.aspx</pingback:server>
      <pingback:target>http://blog.brianh.dk/PermaLink,guid,2c342af5-9343-4311-ad0f-106d7c0cb776.aspx</pingback:target>
      <dc:creator>Brian Holmgård Kristensen</dc:creator>
      <wfw:comment>http://blog.brianh.dk/CommentView,guid,2c342af5-9343-4311-ad0f-106d7c0cb776.aspx</wfw:comment>
      <wfw:commentRss>http://blog.brianh.dk/SyndicationService.asmx/GetEntryCommentsRss?guid=2c342af5-9343-4311-ad0f-106d7c0cb776</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Now here was a session where I had absolutely no glue of what to expect. I have pretty
much no experience working with dynamic languages other than writing some pretty simple
JavaScript code from time to time. But sometimes it can be very good to anticipate
in something without having any initial knowledge of what to expect because this usually
wideness your perspective on the input you receive (I hope you know what I mean). 
</p>
        <p>
The goal of this session was to give us as the audience an understanding on how to
use IronPython within our development. Makesh Prakriya, who is working on the IronPython
team at Microsoft, gave us an introduction of what defines a dynamic language and
where IronPython is resided in the system of .NET. The IronPython dynamic language
is built on top of the Dynamic Language Runtime (DLR) which again is running on top
of the well known Common Language Runtime (CLR). 
</p>
        <p>
Makesh mentioned four factors that makes IronPython interesting: 
</p>
        <p>
1. It is a true Python implementation. 
</p>
        <p>
2. It has seamless integration with .NET as it is built on of DLR. 
</p>
        <p>
3. It is open source released on a Microsoft Public License and also available on <a href="http://www.codeplex.com/IronPython">CodePlex</a>. 
</p>
        <p>
4. It is the fastest implementation of Python out there being at least 70-80% faster
than other implementations. 
</p>
        <p>
He told us a true story from Microsoft they had an expert (I did not catch his name)
initially developing the 0.1 version using .NET to implement it to prove that .NET
performance sucks, however they actually discovered that this was not the case, having
even this initial version performing better than all the other implementations. 
</p>
        <p>
After enough talking about IronPython Martin Maly, another guy from Microsoft, did
a level 400 demo to show how it all works under covers. Pretty advanced stuff but
also very interesting to hear about, and I think I understood at least most of it
:-) 
</p>
        <p>
Moving on we had Makish back to demo some IronPython stuff. He basically wrote all
his code directly in a Console (see screenshot below) and with only very few lines
of code he was able to create an application that allowed him to enable drawing on
the form and having this being recognized as text and having this text being spoken
by a Speech Recognizer. It was pretty cool to see how making handwriting to speech
could easily be implemented using IronPython. This gave pretty good feeling of how
easy it is with IronPython to load up any COM object, glue it together with something
else and sort of poke around with it and execute its methods in a “quick environment”
compared to having the environment of Visual Studio. 
</p>
        <p>
          <a href="http://blog.brianh.dk/content/binary/WindowsLiveWriter/IronPythonandDynamicLanguageson.NET_989F/IMG_1415_2.jpg">
            <img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="184" alt="IMG_1415" src="http://blog.brianh.dk/content/binary/WindowsLiveWriter/IronPythonandDynamicLanguageson.NET_989F/IMG_1415_thumb.jpg" width="244" border="0" />
          </a>
        </p>
        <p>
The support of IronPython within Visual Studio is possible, but needs to be done through
the Visual Studio SDK. This goes for both Visual Studio 2005 and Visual Studio 2008. 
</p>
        <p>
Makish continued with another demo where he talked about game development. With XNA
you can write games in .NET targeting the Xbox 360 console. However since the Xbox
uses the Compact Framework and because it does not support the ability to emit dynamically
created MSIL into an assembly for execution, games written in IronPython are not supported
on the Xbox 360. However you can run these games on the desktop. This problem will
be addressed in the future. 
</p>
        <p>
The last demo from Makish was having a little robot on the stage and through the Microsoft
Robotics Studio framework using IronPython as the language he made this robot drive
around in front of the audience on the stage. He had a Windows Forms application with
some steering buttons and communication was using Bluetooth technology. See below
for a picture of the robot. It actually stopped just in front of where I was sitting. 
</p>
        <p>
          <a href="http://blog.brianh.dk/content/binary/WindowsLiveWriter/IronPythonandDynamicLanguageson.NET_989F/IMG_1420_2.jpg">
            <img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="184" alt="IMG_1420" src="http://blog.brianh.dk/content/binary/WindowsLiveWriter/IronPythonandDynamicLanguageson.NET_989F/IMG_1420_thumb.jpg" width="244" border="0" />
          </a>
        </p>
        <p>
Last on the scene was Michael Foord, who demoed a real world product that has been
implemented in IronPython; Resolver. Resolver basically is a very powerful and dynamic
spreadsheet application which gives users the capability to write IronPython functions
directly in the spreadsheet. <a href="http://blog.jonudell.net/2007/09/27/first-look-at-resolver-an-ironpython-based-spreadsheet/">Please
refer to this blogpost for more information on Resolver</a>. 
</p>
        <p>
Resolver consists of 30.000 lines of IronPython code, and has 100.000 lines of testing
code. 
</p>
        <p>
Unfortunately there were no more time at this point – actually they went 30 minutes
over time, but who cares as long as the content was exciting. I’m definitely intrigued
by IronPython and I’m looking forward getting my hands dirty with some IronPython
code in the future. 
</p>
        <p>
          <a href="http://blog.brianh.dk/content/binary/WindowsLiveWriter/IronPythonandDynamicLanguageson.NET_989F/IMG_1414_2.jpg">
            <img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="184" alt="IMG_1414" src="http://blog.brianh.dk/content/binary/WindowsLiveWriter/IronPythonandDynamicLanguageson.NET_989F/IMG_1414_thumb.jpg" width="244" border="0" />
          </a>
          <a href="http://blog.brianh.dk/content/binary/WindowsLiveWriter/IronPythonandDynamicLanguageson.NET_989F/IMG_1413_2.jpg">
            <img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="184" alt="IMG_1413" src="http://blog.brianh.dk/content/binary/WindowsLiveWriter/IronPythonandDynamicLanguageson.NET_989F/IMG_1413_thumb.jpg" width="244" border="0" />
          </a>
          <img width="0" height="0" src="http://blog.brianh.dk/aggbug.ashx?id=2c342af5-9343-4311-ad0f-106d7c0cb776" />
        </p>
      </body>
      <title>IronPython and Dynamic Languages on .NET</title>
      <guid isPermaLink="false">http://blog.brianh.dk/PermaLink,guid,2c342af5-9343-4311-ad0f-106d7c0cb776.aspx</guid>
      <link>http://blog.brianh.dk/2007/11/07/IronPythonAndDynamicLanguagesOnNET.aspx</link>
      <pubDate>Wed, 07 Nov 2007 07:27:44 GMT</pubDate>
      <description>&lt;p&gt;
Now here was a session where I had absolutely no glue of what to expect. I have pretty
much no experience working with dynamic languages other than writing some pretty simple
JavaScript code from time to time. But sometimes it can be very good to anticipate
in something without having any initial knowledge of what to expect because this usually
wideness your perspective on the input you receive (I hope you know what I mean). 
&lt;p&gt;
The goal of this session was to give us as the audience an understanding on how to
use IronPython within our development. Makesh Prakriya, who is working on the IronPython
team at Microsoft, gave us an introduction of what defines a dynamic language and
where IronPython is resided in the system of .NET. The IronPython dynamic language
is built on top of the Dynamic Language Runtime (DLR) which again is running on top
of the well known Common Language Runtime (CLR). 
&lt;p&gt;
Makesh mentioned four factors that makes IronPython interesting: 
&lt;p&gt;
1. It is a true Python implementation. 
&lt;p&gt;
2. It has seamless integration with .NET as it is built on of DLR. 
&lt;p&gt;
3. It is open source released on a Microsoft Public License and also available on &lt;a href="http://www.codeplex.com/IronPython"&gt;CodePlex&lt;/a&gt;. 
&lt;p&gt;
4. It is the fastest implementation of Python out there being at least 70-80% faster
than other implementations. 
&lt;p&gt;
He told us a true story from Microsoft they had an expert (I did not catch his name)
initially developing the 0.1 version using .NET to implement it to prove that .NET
performance sucks, however they actually discovered that this was not the case, having
even this initial version performing better than all the other implementations. 
&lt;p&gt;
After enough talking about IronPython Martin Maly, another guy from Microsoft, did
a level 400 demo to show how it all works under covers. Pretty advanced stuff but
also very interesting to hear about, and I think I understood at least most of it
:-) 
&lt;p&gt;
Moving on we had Makish back to demo some IronPython stuff. He basically wrote all
his code directly in a Console (see screenshot below) and with only very few lines
of code he was able to create an application that allowed him to enable drawing on
the form and having this being recognized as text and having this text being spoken
by a Speech Recognizer. It was pretty cool to see how making handwriting to speech
could easily be implemented using IronPython. This gave pretty good feeling of how
easy it is with IronPython to load up any COM object, glue it together with something
else and sort of poke around with it and execute its methods in a “quick environment”
compared to having the environment of Visual Studio. 
&lt;p&gt;
&lt;a href="http://blog.brianh.dk/content/binary/WindowsLiveWriter/IronPythonandDynamicLanguageson.NET_989F/IMG_1415_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="184" alt="IMG_1415" src="http://blog.brianh.dk/content/binary/WindowsLiveWriter/IronPythonandDynamicLanguageson.NET_989F/IMG_1415_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; 
&lt;p&gt;
The support of IronPython within Visual Studio is possible, but needs to be done through
the Visual Studio SDK. This goes for both Visual Studio 2005 and Visual Studio 2008. 
&lt;p&gt;
Makish continued with another demo where he talked about game development. With XNA
you can write games in .NET targeting the Xbox 360 console. However since the Xbox
uses the Compact Framework and because it does not support the ability to emit dynamically
created MSIL into an assembly for execution, games written in IronPython are not supported
on the Xbox 360. However you can run these games on the desktop. This problem will
be addressed in the future. 
&lt;p&gt;
The last demo from Makish was having a little robot on the stage and through the Microsoft
Robotics Studio framework using IronPython as the language he made this robot drive
around in front of the audience on the stage. He had a Windows Forms application with
some steering buttons and communication was using Bluetooth technology. See below
for a picture of the robot. It actually stopped just in front of where I was sitting. 
&lt;p&gt;
&lt;a href="http://blog.brianh.dk/content/binary/WindowsLiveWriter/IronPythonandDynamicLanguageson.NET_989F/IMG_1420_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="184" alt="IMG_1420" src="http://blog.brianh.dk/content/binary/WindowsLiveWriter/IronPythonandDynamicLanguageson.NET_989F/IMG_1420_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; 
&lt;p&gt;
Last on the scene was Michael Foord, who demoed a real world product that has been
implemented in IronPython; Resolver. Resolver basically is a very powerful and dynamic
spreadsheet application which gives users the capability to write IronPython functions
directly in the spreadsheet. &lt;a href="http://blog.jonudell.net/2007/09/27/first-look-at-resolver-an-ironpython-based-spreadsheet/"&gt;Please
refer to this blogpost for more information on Resolver&lt;/a&gt;. 
&lt;p&gt;
Resolver consists of 30.000 lines of IronPython code, and has 100.000 lines of testing
code. 
&lt;p&gt;
Unfortunately there were no more time at this point – actually they went 30 minutes
over time, but who cares as long as the content was exciting. I’m definitely intrigued
by IronPython and I’m looking forward getting my hands dirty with some IronPython
code in the future. 
&lt;p&gt;
&lt;a href="http://blog.brianh.dk/content/binary/WindowsLiveWriter/IronPythonandDynamicLanguageson.NET_989F/IMG_1414_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="184" alt="IMG_1414" src="http://blog.brianh.dk/content/binary/WindowsLiveWriter/IronPythonandDynamicLanguageson.NET_989F/IMG_1414_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blog.brianh.dk/content/binary/WindowsLiveWriter/IronPythonandDynamicLanguageson.NET_989F/IMG_1413_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="184" alt="IMG_1413" src="http://blog.brianh.dk/content/binary/WindowsLiveWriter/IronPythonandDynamicLanguageson.NET_989F/IMG_1413_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt;&lt;img width="0" height="0" src="http://blog.brianh.dk/aggbug.ashx?id=2c342af5-9343-4311-ad0f-106d7c0cb776" /&gt;</description>
      <comments>http://blog.brianh.dk/CommentView,guid,2c342af5-9343-4311-ad0f-106d7c0cb776.aspx</comments>
      <category>TechEd</category>
    </item>
    <item>
      <trackback:ping>http://blog.brianh.dk/Trackback.aspx?guid=786d478b-46d2-4669-9e78-86096c8dc38f</trackback:ping>
      <pingback:server>http://blog.brianh.dk/pingback.aspx</pingback:server>
      <pingback:target>http://blog.brianh.dk/PermaLink,guid,786d478b-46d2-4669-9e78-86096c8dc38f.aspx</pingback:target>
      <dc:creator>Brian Holmgård Kristensen</dc:creator>
      <wfw:comment>http://blog.brianh.dk/CommentView,guid,786d478b-46d2-4669-9e78-86096c8dc38f.aspx</wfw:comment>
      <wfw:commentRss>http://blog.brianh.dk/SyndicationService.asmx/GetEntryCommentsRss?guid=786d478b-46d2-4669-9e78-86096c8dc38f</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Just as yesterdays part one of his session Omar Khan, Group Program Manager on Visual
Studio, had almost the entire room packed with people attending part two. And I was
there as well. 
</p>
        <p>
Omar started out by quickly summing up the things we covered in part one of his session
including the new features in the designer surface of Visual Studio 2008; extensively
support for editing CSS and with much more control over designer build code and also
how to use LINQ To SQL in ASP.NET. 
</p>
        <p>
He then went on telling about the new data controls introduced with ASP.NET 3.5. The
&lt;asp:ListView&gt; control is new, which is very usefull if you want full control
on how the markup will be generated in the page. It gives the same flexibility and
power of the &lt;asp:Repeater&gt; control, but with a lot more capabilities including
better integration to the design surface of Visual Studio 2008 with support of rendering
how the output will look like. Something that the &lt;asp:Repeater&gt; control did
not support. The new &lt;asp:ListView&gt; control is also fully template and has support
of the various select/insert/update visual rendering modes. Omar demoed this new control
by taking some static content from a sample web-page from a previous demo and converted
it being populated dynamically from a &lt;asp:LinqDataSource&gt; control which allows
to connect to any LINQ To SQL class defined in the solution. The markup rendered from
the &lt;asp:ListView&gt; was just as clean as he promised – not even the ID of the
&lt;asp:ListView&gt; was outputted to the browser, which was something I particularly
found very nice. 
</p>
        <p>
With the new &lt;asp:DataPager&gt; control it is possible to put paging on top of
any ASP.NET data control. Omar did a quick demo on this by adding the paging to the
&lt;asp:ListView&gt; previous mentioned. This is also a really nice and handy control
giving you the maximum flexibility on how you want paging to work and how you want
it to look by having full control over how it is rendered. 
</p>
        <p>
We moved with the next thing which was the Ajax capabilities of ASP.NET 3.5. Support
for Ajax has now been integrated in ASP.NET 3.5 where before in the previous version
this was an add-on. Visual Studio 2008 has a new feature where it automatically recognizes
Ajax Extenders for the various controls so when you for instance drop a &lt;asp:TextBox&gt;
control in your page, Visual Studio can figure out which Extenders that can be used
for that. They have also changed the way how Extender controls gets visually rendered
in the designer by actually not having them being rendered as separate controls but
instead as something “on top” of the actual control they extend. 
</p>
        <p>
Omar carried on by demoing features of the extensively increased support of developing
JavaScript code inside Visual Studio 2008. The JavaScript Intellisense have been tremendously
improved (yes I use big words – maybe I just get pretty easily impressed :-)) supporting
the dynamic nature of the language with automatically inferring the types, and supporting
accessing JavaScript functions from external files. Visual Studio 2008 also supports
build time syntax checking of JavaScript and allows debugging your JavaScript code
in improved and easy manner compared to how this was supported in previous versions
of Visual Studio. 
</p>
        <p>
Next from Omar was on how to document your JavaScript libraries and how this gets
reflected in the Intellisense allowing having the same documentation capabilities
as you are familiar with e.g. the ///&lt;summary&gt;This function converts…&lt;/summary&gt;
or ///&lt;param name=”name”&gt;Defines the name of…&lt;/name&gt; 
</p>
        <p>
After that he showed us how simple it is to add a reference to a Web Service in the
&lt;asp:ScriptManager&gt; control and how to script against this web-service using
the ASP.NET Ajax framework with off course the Intellisense to fully support this.
Pretty powerful stuff. 
</p>
        <p>
At this point time almost running out so Omar had to quickly go through IIS 7.0 and
some of the new features in this upcoming web-server. IIS 7.0 provides much better
administration and management of sites and configuration, better support of diagnostics
and improved support for Web Farm scenarios. IIS 7.0 has a much more friendly experience
around configuration of the web-sites and the web-server providing a nice UI for this.
I actually completed a Hands-On lab on the IIS 7.0 and I will properly do a post about
this sometime soon. 
</p>
        <p>
Even though Omar did not talk about how to structure your code properly with LINQ,
I really think it he pulled of two very good sessions on how to build web-applications
using the new Visual Studio 2008 and ASP.NET 3.5. 
</p>
        <p>
          <a href="http://blog.brianh.dk/content/binary/WindowsLiveWriter/BuildingCompleteW.5VisualStudio2008Part2_80B5/IMG_1412_2.jpg">
            <img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height="184" alt="IMG_1412" src="http://blog.brianh.dk/content/binary/WindowsLiveWriter/BuildingCompleteW.5VisualStudio2008Part2_80B5/IMG_1412_thumb.jpg" width="244" border="0" />
          </a>
          <a href="http://blog.brianh.dk/content/binary/WindowsLiveWriter/BuildingCompleteW.5VisualStudio2008Part2_80B5/IMG_1411_2.jpg">
            <img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height="184" alt="IMG_1411" src="http://blog.brianh.dk/content/binary/WindowsLiveWriter/BuildingCompleteW.5VisualStudio2008Part2_80B5/IMG_1411_thumb.jpg" width="244" border="0" />
          </a>
        </p>
        <img width="0" height="0" src="http://blog.brianh.dk/aggbug.ashx?id=786d478b-46d2-4669-9e78-86096c8dc38f" />
      </body>
      <title>Building Complete Web Application Using ASP.NET 3.5 &amp;amp; Visual Studio 2008 Part 2</title>
      <guid isPermaLink="false">http://blog.brianh.dk/PermaLink,guid,786d478b-46d2-4669-9e78-86096c8dc38f.aspx</guid>
      <link>http://blog.brianh.dk/2007/11/07/BuildingCompleteWebApplicationUsingASPNET35AmpVisualStudio2008Part2.aspx</link>
      <pubDate>Wed, 07 Nov 2007 07:15:39 GMT</pubDate>
      <description>&lt;p&gt;
Just as yesterdays part one of his session Omar Khan, Group Program Manager on Visual
Studio, had almost the entire room packed with people attending part two. And I was
there as well. 
&lt;p&gt;
Omar started out by quickly summing up the things we covered in part one of his session
including the new features in the designer surface of Visual Studio 2008; extensively
support for editing CSS and with much more control over designer build code and also
how to use LINQ To SQL in ASP.NET. 
&lt;p&gt;
He then went on telling about the new data controls introduced with ASP.NET 3.5. The
&amp;lt;asp:ListView&amp;gt; control is new, which is very usefull if you want full control
on how the markup will be generated in the page. It gives the same flexibility and
power of the &amp;lt;asp:Repeater&amp;gt; control, but with a lot more capabilities including
better integration to the design surface of Visual Studio 2008 with support of rendering
how the output will look like. Something that the &amp;lt;asp:Repeater&amp;gt; control did
not support. The new &amp;lt;asp:ListView&amp;gt; control is also fully template and has support
of the various select/insert/update visual rendering modes. Omar demoed this new control
by taking some static content from a sample web-page from a previous demo and converted
it being populated dynamically from a &amp;lt;asp:LinqDataSource&amp;gt; control which allows
to connect to any LINQ To SQL class defined in the solution. The markup rendered from
the &amp;lt;asp:ListView&amp;gt; was just as clean as he promised – not even the ID of the
&amp;lt;asp:ListView&amp;gt; was outputted to the browser, which was something I particularly
found very nice. 
&lt;p&gt;
With the new &amp;lt;asp:DataPager&amp;gt; control it is possible to put paging on top of
any ASP.NET data control. Omar did a quick demo on this by adding the paging to the
&amp;lt;asp:ListView&amp;gt; previous mentioned. This is also a really nice and handy control
giving you the maximum flexibility on how you want paging to work and how you want
it to look by having full control over how it is rendered. 
&lt;p&gt;
We moved with the next thing which was the Ajax capabilities of ASP.NET 3.5. Support
for Ajax has now been integrated in ASP.NET 3.5 where before in the previous version
this was an add-on. Visual Studio 2008 has a new feature where it automatically recognizes
Ajax Extenders for the various controls so when you for instance drop a &amp;lt;asp:TextBox&amp;gt;
control in your page, Visual Studio can figure out which Extenders that can be used
for that. They have also changed the way how Extender controls gets visually rendered
in the designer by actually not having them being rendered as separate controls but
instead as something “on top” of the actual control they extend. 
&lt;p&gt;
Omar carried on by demoing features of the extensively increased support of developing
JavaScript code inside Visual Studio 2008. The JavaScript Intellisense have been tremendously
improved (yes I use big words – maybe I just get pretty easily impressed :-)) supporting
the dynamic nature of the language with automatically inferring the types, and supporting
accessing JavaScript functions from external files. Visual Studio 2008 also supports
build time syntax checking of JavaScript and allows debugging your JavaScript code
in improved and easy manner compared to how this was supported in previous versions
of Visual Studio. 
&lt;p&gt;
Next from Omar was on how to document your JavaScript libraries and how this gets
reflected in the Intellisense allowing having the same documentation capabilities
as you are familiar with e.g. the ///&amp;lt;summary&amp;gt;This function converts…&amp;lt;/summary&amp;gt;
or ///&amp;lt;param name=”name”&amp;gt;Defines the name of…&amp;lt;/name&amp;gt; 
&lt;p&gt;
After that he showed us how simple it is to add a reference to a Web Service in the
&amp;lt;asp:ScriptManager&amp;gt; control and how to script against this web-service using
the ASP.NET Ajax framework with off course the Intellisense to fully support this.
Pretty powerful stuff. 
&lt;p&gt;
At this point time almost running out so Omar had to quickly go through IIS 7.0 and
some of the new features in this upcoming web-server. IIS 7.0 provides much better
administration and management of sites and configuration, better support of diagnostics
and improved support for Web Farm scenarios. IIS 7.0 has a much more friendly experience
around configuration of the web-sites and the web-server providing a nice UI for this.
I actually completed a Hands-On lab on the IIS 7.0 and I will properly do a post about
this sometime soon. 
&lt;p&gt;
Even though Omar did not talk about how to structure your code properly with LINQ,
I really think it he pulled of two very good sessions on how to build web-applications
using the new Visual Studio 2008 and ASP.NET 3.5. 
&lt;p&gt;
&lt;a href="http://blog.brianh.dk/content/binary/WindowsLiveWriter/BuildingCompleteW.5VisualStudio2008Part2_80B5/IMG_1412_2.jpg"&gt;&lt;img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=184 alt=IMG_1412 src="http://blog.brianh.dk/content/binary/WindowsLiveWriter/BuildingCompleteW.5VisualStudio2008Part2_80B5/IMG_1412_thumb.jpg" width=244 border=0&gt;&lt;/a&gt; &lt;a href="http://blog.brianh.dk/content/binary/WindowsLiveWriter/BuildingCompleteW.5VisualStudio2008Part2_80B5/IMG_1411_2.jpg"&gt;&lt;img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=184 alt=IMG_1411 src="http://blog.brianh.dk/content/binary/WindowsLiveWriter/BuildingCompleteW.5VisualStudio2008Part2_80B5/IMG_1411_thumb.jpg" width=244 border=0&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.brianh.dk/aggbug.ashx?id=786d478b-46d2-4669-9e78-86096c8dc38f" /&gt;</description>
      <comments>http://blog.brianh.dk/CommentView,guid,786d478b-46d2-4669-9e78-86096c8dc38f.aspx</comments>
      <category>TechEd</category>
    </item>
    <item>
      <trackback:ping>http://blog.brianh.dk/Trackback.aspx?guid=47b69ac3-58c8-415a-81a4-54d9002256eb</trackback:ping>
      <pingback:server>http://blog.brianh.dk/pingback.aspx</pingback:server>
      <pingback:target>http://blog.brianh.dk/PermaLink,guid,47b69ac3-58c8-415a-81a4-54d9002256eb.aspx</pingback:target>
      <dc:creator>Brian Holmgård Kristensen</dc:creator>
      <wfw:comment>http://blog.brianh.dk/CommentView,guid,47b69ac3-58c8-415a-81a4-54d9002256eb.aspx</wfw:comment>
      <wfw:commentRss>http://blog.brianh.dk/SyndicationService.asmx/GetEntryCommentsRss?guid=47b69ac3-58c8-415a-81a4-54d9002256eb</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
This session by Luca Bolognese, LINQ Lead Program Manager from Microsoft was absolutely
great! Luca set the atmosphere even before the session began by playing some <i>“Santana
- Maria Maria”</i> music from his portable music player out on the main speakers.
Maybe it was in favor of the girls sitting on the front row, it might have been, however
it was a nice prestart on the session and made Luca look pretty confident. 
</p>
        <p>
          <b>Data != Objects</b>
        </p>
        <p>
He started out by telling the story of how wonderful a life we as developers have,
until we reach a certain point in our code where we start to write code to access
data from somewhere. Up until that point we get nice compile time errors when writing
bad syntax or accessing non-existent properties, methods or whatever. But when we
start writing our data access code we no more get our lovely compile time errors for
instance when writing a SQL query. He compared this to driving your Ferrari 300 km/hour
down the road feeling all great with wind blowing in your hair and all that, and suddenly
you crash into a wall! Pretty excessive analogy though a funny one. He followed up
stating that he wants to change this experience. He wants to introduce as many compile
time errors as possible because this is much better than getting the errors at runtime.
He went on saying something like <em>LINQ will change the way you write code</em> and
stated out that even though this sounded exactly like a marketing slogan, it was really
a true statement. 
</p>
        <p>
          <b>LINQ is a First Class Citizen in .NET</b>
        </p>
        <p>
Luca Bolognese continued showing an architectural overview of LINQ where he provided
introduction to the common LINQ To &lt;Something&gt; providers, including LINQ To
Objects, LINQ to DataSets, LINQ To SQL, LINQ To Entities and LINQ To XML. And on top
of these providers where the actual CLR compliant languages such as C# 3.0 and VB.NET
9 that both have LINQ implemented directly in their syntaxes. He told us that LINQ
To SQL is the provider to use if you want the fastest possible way of getting access
to data via SQL Server – and by fastest he did not mean performance-wise, but by doing
less work as possible. LINQ To Entities is more suitable for enterprise solutions
having a complex mapping framework and also offering a far more abstract way of looking
at the data store. I will be attending specific sessions on LINQ To Entities later
on, so more on this topic as I come to it. 
</p>
        <p>
Luca fired up his Visual Studio 2008 in order to demo features of LINQ. His mission
was to initially have some C# 2.0 complaint code querying Customer data from an in-memory
collection, and then convert this code into C# 3.0 utilizing new language features
and LINQ. Luca used his own prewritten code-snippets to generate most of the code
in his demo, which I think was very good, thereby adding more time to the actual content
rather than use time on writing all the code on the fly. Step by step Luca converted
this C# 2.0-ish code to C# 3.0, each time with a new language feature, covering topics
like Auto-Implemented Properties, Object and Collection Initializers, Local Variable
Type Inference, Anonymous<u></u>Types and Lambda Expressions. I won’t go into details
about these topics, as I will be attending a session tomorrow that should cover all
this, but it was really convincing and as he demoed along you could really see the
benefit on having these new language features making your code much more readable. 
</p>
        <p>
After converting the code to C# 3.0, Luca changed the data source of the Customers
from an in-memory collection to be loaded from a SQL Server database using LINQ To
SQL. He explained the difference between how the compiler sees queries being an instance
of IEnumerable&lt;T&gt;, as it is with LINQ To Objects, to see queries being an instance
of IQueryable&lt;T&gt;. When the query is an instance of IEnumerable&lt;T&gt; the
compiler will do all the operations supported by LINQ in memory, e.g. the ordering
and/or grouping of the collection. But when the compiler sees an query that is an
instance of IQueryable&lt;T&gt; then the compiles creates an expression tree that
is passed along to whatever Query Processor that is implemented in the concrete LINQ
Provider, e.g. the Query Processor in LINQ To SQL which is responsible of generating
the T-SQL code. 
</p>
        <p>
Luca moved on with his presentation showing us some example of LINQ To XML and showed
us how to combine accessing data from the database and generating XML out of that,
which very convincing showed the concept of getting data from wherever and place it
in whatever using LINQ. 
</p>
        <p>
Last Luca also showed a new feature of VB.NET 9 of having fully support of XML directly
inside the language which was really impressing and seemed to be a very powerful feature
of VB.NET 9. 
</p>
        <p>
It was really nice to attend a session where the speaker adds lots of humor to the
content and also seems extremely enthusiastic about his work. The best session so
far. 
</p>
        <p>
          <a href="http://blog.brianh.dk/content/binary/WindowsLiveWriter/The.NETLanguageIntegratedQueryFramework_7989/IMG_1402_2.jpg">
            <img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="184" alt="IMG_1402" src="http://blog.brianh.dk/content/binary/WindowsLiveWriter/The.NETLanguageIntegratedQueryFramework_7989/IMG_1402_thumb.jpg" width="244" border="0" />
          </a>
          <a href="http://blog.brianh.dk/content/binary/WindowsLiveWriter/The.NETLanguageIntegratedQueryFramework_7989/IMG_1401_2.jpg">
            <img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="184" alt="IMG_1401" src="http://blog.brianh.dk/content/binary/WindowsLiveWriter/The.NETLanguageIntegratedQueryFramework_7989/IMG_1401_thumb.jpg" width="244" border="0" />
          </a>
          <img width="0" height="0" src="http://blog.brianh.dk/aggbug.ashx?id=47b69ac3-58c8-415a-81a4-54d9002256eb" />
        </p>
      </body>
      <title>The .NET Language Integrated Query Framework</title>
      <guid isPermaLink="false">http://blog.brianh.dk/PermaLink,guid,47b69ac3-58c8-415a-81a4-54d9002256eb.aspx</guid>
      <link>http://blog.brianh.dk/2007/11/07/TheNETLanguageIntegratedQueryFramework.aspx</link>
      <pubDate>Wed, 07 Nov 2007 07:14:10 GMT</pubDate>
      <description>&lt;p&gt;
This session by Luca Bolognese, LINQ Lead Program Manager from Microsoft was absolutely
great! Luca set the atmosphere even before the session began by playing some &lt;i&gt;“Santana
- Maria Maria”&lt;/i&gt; music from his portable music player out on the main speakers.
Maybe it was in favor of the girls sitting on the front row, it might have been, however
it was a nice prestart on the session and made Luca look pretty confident. 
&lt;p&gt;
&lt;b&gt;Data != Objects&lt;/b&gt; 
&lt;p&gt;
He started out by telling the story of how wonderful a life we as developers have,
until we reach a certain point in our code where we start to write code to access
data from somewhere. Up until that point we get nice compile time errors when writing
bad syntax or accessing non-existent properties, methods or whatever. But when we
start writing our data access code we no more get our lovely compile time errors for
instance when writing a SQL query. He compared this to driving your Ferrari 300 km/hour
down the road feeling all great with wind blowing in your hair and all that, and suddenly
you crash into a wall! Pretty excessive analogy though a funny one. He followed up
stating that he wants to change this experience. He wants to introduce as many compile
time errors as possible because this is much better than getting the errors at runtime.
He went on saying something like &lt;em&gt;LINQ will change the way you write code&lt;/em&gt; and
stated out that even though this sounded exactly like a marketing slogan, it was really
a true statement. 
&lt;p&gt;
&lt;b&gt;LINQ is a First Class Citizen in .NET&lt;/b&gt; 
&lt;p&gt;
Luca Bolognese continued showing an architectural overview of LINQ where he provided
introduction to the common LINQ To &amp;lt;Something&amp;gt; providers, including LINQ To
Objects, LINQ to DataSets, LINQ To SQL, LINQ To Entities and LINQ To XML. And on top
of these providers where the actual CLR compliant languages such as C# 3.0 and VB.NET
9 that both have LINQ implemented directly in their syntaxes. He told us that LINQ
To SQL is the provider to use if you want the fastest possible way of getting access
to data via SQL Server – and by fastest he did not mean performance-wise, but by doing
less work as possible. LINQ To Entities is more suitable for enterprise solutions
having a complex mapping framework and also offering a far more abstract way of looking
at the data store. I will be attending specific sessions on LINQ To Entities later
on, so more on this topic as I come to it. 
&lt;p&gt;
Luca fired up his Visual Studio 2008 in order to demo features of LINQ. His mission
was to initially have some C# 2.0 complaint code querying Customer data from an in-memory
collection, and then convert this code into C# 3.0 utilizing new language features
and LINQ. Luca used his own prewritten code-snippets to generate most of the code
in his demo, which I think was very good, thereby adding more time to the actual content
rather than use time on writing all the code on the fly. Step by step Luca converted
this C# 2.0-ish code to C# 3.0, each time with a new language feature, covering topics
like Auto-Implemented Properties, Object and Collection Initializers, Local Variable
Type Inference, Anonymous&lt;u&gt; &lt;/u&gt;Types and Lambda Expressions. I won’t go into details
about these topics, as I will be attending a session tomorrow that should cover all
this, but it was really convincing and as he demoed along you could really see the
benefit on having these new language features making your code much more readable. 
&lt;p&gt;
After converting the code to C# 3.0, Luca changed the data source of the Customers
from an in-memory collection to be loaded from a SQL Server database using LINQ To
SQL. He explained the difference between how the compiler sees queries being an instance
of IEnumerable&amp;lt;T&amp;gt;, as it is with LINQ To Objects, to see queries being an instance
of IQueryable&amp;lt;T&amp;gt;. When the query is an instance of IEnumerable&amp;lt;T&amp;gt; the
compiler will do all the operations supported by LINQ in memory, e.g. the ordering
and/or grouping of the collection. But when the compiler sees an query that is an
instance of IQueryable&amp;lt;T&amp;gt; then the compiles creates an expression tree that
is passed along to whatever Query Processor that is implemented in the concrete LINQ
Provider, e.g. the Query Processor in LINQ To SQL which is responsible of generating
the T-SQL code. 
&lt;p&gt;
Luca moved on with his presentation showing us some example of LINQ To XML and showed
us how to combine accessing data from the database and generating XML out of that,
which very convincing showed the concept of getting data from wherever and place it
in whatever using LINQ. 
&lt;p&gt;
Last Luca also showed a new feature of VB.NET 9 of having fully support of XML directly
inside the language which was really impressing and seemed to be a very powerful feature
of VB.NET 9. 
&lt;p&gt;
It was really nice to attend a session where the speaker adds lots of humor to the
content and also seems extremely enthusiastic about his work. The best session so
far. 
&lt;p&gt;
&lt;a href="http://blog.brianh.dk/content/binary/WindowsLiveWriter/The.NETLanguageIntegratedQueryFramework_7989/IMG_1402_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="184" alt="IMG_1402" src="http://blog.brianh.dk/content/binary/WindowsLiveWriter/The.NETLanguageIntegratedQueryFramework_7989/IMG_1402_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blog.brianh.dk/content/binary/WindowsLiveWriter/The.NETLanguageIntegratedQueryFramework_7989/IMG_1401_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="184" alt="IMG_1401" src="http://blog.brianh.dk/content/binary/WindowsLiveWriter/The.NETLanguageIntegratedQueryFramework_7989/IMG_1401_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt;&lt;img width="0" height="0" src="http://blog.brianh.dk/aggbug.ashx?id=47b69ac3-58c8-415a-81a4-54d9002256eb" /&gt;</description>
      <comments>http://blog.brianh.dk/CommentView,guid,47b69ac3-58c8-415a-81a4-54d9002256eb.aspx</comments>
      <category>TechEd</category>
    </item>
    <item>
      <trackback:ping>http://blog.brianh.dk/Trackback.aspx?guid=4fa8f372-26b8-4b24-a4fb-a9d10a6b10b2</trackback:ping>
      <pingback:server>http://blog.brianh.dk/pingback.aspx</pingback:server>
      <pingback:target>http://blog.brianh.dk/PermaLink,guid,4fa8f372-26b8-4b24-a4fb-a9d10a6b10b2.aspx</pingback:target>
      <dc:creator>Brian Holmgård Kristensen</dc:creator>
      <wfw:comment>http://blog.brianh.dk/CommentView,guid,4fa8f372-26b8-4b24-a4fb-a9d10a6b10b2.aspx</wfw:comment>
      <wfw:commentRss>http://blog.brianh.dk/SyndicationService.asmx/GetEntryCommentsRss?guid=4fa8f372-26b8-4b24-a4fb-a9d10a6b10b2</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I attended this session to get an overview on some of the new features in Visual Studio
2008 and hopefully learn some tips and tricks from that. And I did :-)
</p>
        <p>
The speaker of this session was Omar Khan, Group Program Manager of Visual Studio,
who did a convincing and stable speech on his part one of two presentations of "Building
Complete Web Application using ASP.NET 3.5 &amp; Visual Studio 2008". 
</p>
        <p>
Omar started out by showing the new Multi-targeting feature of Visual Studio 2008,
allowing the development of any .NET 2.0, 3.0 or 3.5 application in Visual Studio
2008. It is possible to specify which .NET Framework version the application targets
which automatically gets reflected in the IDE by switching features on/off. An example
of this is that the available list of controls in the toolbox gets extended when targeting
an ASP.NET 3.5 web application rather than an ASP.NET 2.0 version. It is a pretty
useful feature that makes it a no-breeze to continuously develop our .NET 2.0 solutions
in .NET 2.0 but then use the newest IDE available and leverage from its new features
and benefits. And all this without having to upgrade the complete solution to the
newest version of the .NET Framework as we had to when Visual Studio 2005 was shipped.
Omar actually showed us how an ASP.NET 2.0 application was easily upgraded to ASP.NET
3.5, where Visual Studio goes and updates the web.config and adds some new assembly
references including LINQ. Sadly I did not manage to found out whether it is possible
to upgrade applications from .NET 1.x.
</p>
        <p>
Moving on Omar showed us some more new features of Visual Studio 2008 with focusing
on the HTML Designer. This has been improved and it uses the same WYSIWYG designer
engine as in Expression Web, meaning that you don't have to worry about pasting any
HTML delivered by your designer working in Expression Web causing Visual Studio to
change the markup of this and vice versa. They have also done some work on improving
the performance between View Switching, and they have now included support for nested
MasterPages. In Visual Studio 2005 having nested MasterPages is not completely useful
as the IDE do not support to render this, so now having this in Visual Studio 2008
is really exciting. With Visual Studio 2008 they have introduced a common feature
called Split View, that is splitting the view between the markup that you write and
the design that it produces. A feature seen for ages in many other products but until
now not supported by Visual Studio. I should have asked Omar whether it is possible
to dock the design-view on another physical screen having the full benefit of two
monitors - but I didn't  - so I just need to check it out for myself (I don't
think you can actually).
</p>
        <p>
Another thing that Omar used a lot of time talking about was the new enhanced support
of Cascading Style Sheets (CSS) in Visual Studio 2008. They have really put a lot
of effort in providing a confident and fine grain control over the markup. From what
I saw from his presentation, it really looks as they have succeeded in that. I have
always been avoiding using the designer view because this typically meant that Visual
Studio went ahead and created all kinds of inline CSS on my elements, which lead me
to do all the work on that. I don't see however how this supports ASP.NET Themes,
as they can be changed and applied runtime for your web-site, leading the IDE without
any knowledge of the actually applied style - but I think that goes for all scenarios
where the runtime can change the behavior that the designer in Visual Studio has no
clue about. I need to dig a little more into this to fully understand it, but I really
welcome the enhanced support of CSS in Visual Studio 2008.
</p>
        <p>
The final topic on this part 1 of the session was how to work with data. Omar went,
not surprisingly, into the world of LINQ, showing a demo of LINQ To SQL as an ORM
provider for his Web Application. He generated the DataContext class by dragging tables
from the NorthWind database to his web-site project - unfortunately all his LINQ code
was placed in a inline code block of his ASP.NET WebForm leaving me a bit disappointed
as the topic for the session was to build a "complete web application" having to think
that we would see at least semi-structured code and not this kind of spaghettish-code.
Luckily enough Omar pointed that out himself saying that he would refactor this in
the part two of the session implementing an actual data access layer. With that said
I could again relax and enjoy the show!
</p>
        <p>
Omar showed some features of LINQ, including aggregating, Lambda Expressions, server-side
paging and the use of partial classes to implement validation logic to the generated
LINQ classes.
</p>
        <p>
I'm looking forward to part two of his session where Omar hopefully, as promised,
will structure his code in a more architectural right way and to learn more about
new controls introduced in ASP.NET 3.5.
</p>
        <p>
Below are some photos from the session with Omar Khan:
</p>
        <p>
          <a href="http://blog.brianh.dk/content/binary/WindowsLiveWriter/BuildingCompleteW.5VisualStudio2005Part1_DF70/IMG_1396_2.jpg">
            <img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="184" alt="IMG_1396" src="http://blog.brianh.dk/content/binary/WindowsLiveWriter/BuildingCompleteW.5VisualStudio2005Part1_DF70/IMG_1396_thumb.jpg" width="244" border="0" />
            <a href="http://blog.brianh.dk/content/binary/WindowsLiveWriter/BuildingCompleteW.5VisualStudio2005Part1_DF70/IMG_1398_2.jpg">
              <img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="184" alt="IMG_1398" src="http://blog.brianh.dk/content/binary/WindowsLiveWriter/BuildingCompleteW.5VisualStudio2005Part1_DF70/IMG_1398_thumb.jpg" width="244" border="0" />
            </a>
          </a>
        </p>
        <img width="0" height="0" src="http://blog.brianh.dk/aggbug.ashx?id=4fa8f372-26b8-4b24-a4fb-a9d10a6b10b2" />
      </body>
      <title>Building Complete Web Application using ASP.NET 3.5 &amp;amp; Visual Studio 2005 Part 1</title>
      <guid isPermaLink="false">http://blog.brianh.dk/PermaLink,guid,4fa8f372-26b8-4b24-a4fb-a9d10a6b10b2.aspx</guid>
      <link>http://blog.brianh.dk/2007/11/06/BuildingCompleteWebApplicationUsingASPNET35AmpVisualStudio2005Part1.aspx</link>
      <pubDate>Tue, 06 Nov 2007 07:15:39 GMT</pubDate>
      <description>&lt;p&gt;
I attended this session to get an overview on some of the new features in Visual Studio
2008 and hopefully learn some tips and tricks from that. And I did :-)
&lt;/p&gt;
&lt;p&gt;
The speaker of this session was Omar Khan, Group Program Manager of Visual Studio,
who did a convincing and stable speech on his part one of two presentations of "Building
Complete Web Application using ASP.NET 3.5 &amp;amp; Visual Studio 2008". 
&lt;/p&gt;
&lt;p&gt;
Omar started out by showing the new Multi-targeting feature of Visual Studio 2008,
allowing the development of any .NET 2.0, 3.0 or 3.5 application in Visual Studio
2008. It is possible to specify which .NET Framework version the application targets
which automatically gets reflected in the IDE by switching features on/off. An example
of this is that the available list of controls in the toolbox gets extended when targeting
an ASP.NET 3.5 web application rather than an ASP.NET 2.0 version. It is a pretty
useful feature that makes it a no-breeze to continuously develop our .NET 2.0 solutions
in .NET 2.0 but then use the newest IDE available and leverage from its new features
and benefits. And all this without having to upgrade the complete solution to the
newest version of the .NET Framework as we had to when Visual Studio 2005 was shipped.
Omar actually showed us how an ASP.NET 2.0 application was easily upgraded to ASP.NET
3.5, where Visual Studio goes and updates the web.config and adds some new assembly
references including LINQ. Sadly I did not manage to found out whether it is possible
to upgrade applications from .NET 1.x.
&lt;/p&gt;
&lt;p&gt;
Moving on Omar showed us some more new features of Visual Studio 2008 with focusing
on the HTML Designer. This has been improved and it uses the same WYSIWYG designer
engine as in Expression Web, meaning that you don't have to worry about pasting any
HTML delivered by your designer working in Expression Web causing Visual Studio to
change the markup of this and vice versa. They have also done some work on improving
the performance between View Switching, and they have now included support for nested
MasterPages. In Visual Studio 2005 having nested MasterPages is not completely useful
as the IDE do not support to render this, so now having this in Visual Studio 2008
is really exciting. With Visual Studio 2008 they have introduced a common feature
called Split View, that is splitting the view between the markup that you write and
the design that it produces. A feature seen for ages in many other products but until
now not supported by Visual Studio. I should have asked Omar whether it is possible
to dock the design-view on another physical screen having the full benefit of two
monitors - but I didn't&amp;nbsp; - so I just need to check it out for myself (I don't
think you can actually).
&lt;/p&gt;
&lt;p&gt;
Another thing that Omar used a lot of time talking about was the new enhanced support
of Cascading Style Sheets (CSS) in Visual Studio 2008. They have really put a lot
of effort in providing a confident and fine grain control over the markup. From what
I saw from his presentation, it really looks as they have succeeded in that. I have
always been avoiding using the designer view because this typically meant that Visual
Studio went ahead and created all kinds of inline CSS on my elements, which lead me
to do all the work on that. I don't see however how this supports ASP.NET Themes,
as they can be changed and applied runtime for your web-site, leading the IDE without
any knowledge of the actually applied style - but I think that goes for all scenarios
where the runtime can change the behavior that the designer in Visual Studio has no
clue about. I need to dig a little more into this to fully understand it, but I really
welcome the enhanced support of CSS in Visual Studio 2008.
&lt;/p&gt;
&lt;p&gt;
The final topic on this part 1 of the session was how to work with data. Omar went,
not surprisingly, into the world of LINQ, showing a demo of LINQ To SQL as an ORM
provider for his Web Application. He generated the DataContext class by dragging tables
from the NorthWind database to his web-site project - unfortunately all his LINQ code
was placed in a inline code block of his ASP.NET WebForm leaving me a bit disappointed
as the topic for the session was to build a "complete web application" having to think
that we would see at least semi-structured code and not this kind of spaghettish-code.
Luckily enough Omar pointed that out himself saying that he would refactor this in
the part two of the session implementing an actual data access layer. With that said
I could again relax and enjoy the show!
&lt;/p&gt;
&lt;p&gt;
Omar showed some features of LINQ, including aggregating, Lambda Expressions, server-side
paging and the use of partial classes to implement validation logic to the generated
LINQ classes.
&lt;/p&gt;
&lt;p&gt;
I'm looking forward to part two of his session where Omar hopefully, as promised,
will structure his code in a more architectural right way and to learn more about
new controls introduced in ASP.NET 3.5.
&lt;/p&gt;
&lt;p&gt;
Below are some photos from the session with Omar Khan:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blog.brianh.dk/content/binary/WindowsLiveWriter/BuildingCompleteW.5VisualStudio2005Part1_DF70/IMG_1396_2.jpg"&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=184 alt=IMG_1396 src="http://blog.brianh.dk/content/binary/WindowsLiveWriter/BuildingCompleteW.5VisualStudio2005Part1_DF70/IMG_1396_thumb.jpg" width=244 border=0&gt;&lt;a href="http://blog.brianh.dk/content/binary/WindowsLiveWriter/BuildingCompleteW.5VisualStudio2005Part1_DF70/IMG_1398_2.jpg"&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=184 alt=IMG_1398 src="http://blog.brianh.dk/content/binary/WindowsLiveWriter/BuildingCompleteW.5VisualStudio2005Part1_DF70/IMG_1398_thumb.jpg" width=244 border=0&gt;&lt;/a&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.brianh.dk/aggbug.ashx?id=4fa8f372-26b8-4b24-a4fb-a9d10a6b10b2" /&gt;</description>
      <comments>http://blog.brianh.dk/CommentView,guid,4fa8f372-26b8-4b24-a4fb-a9d10a6b10b2.aspx</comments>
      <category>TechEd</category>
    </item>
    <item>
      <trackback:ping>http://blog.brianh.dk/Trackback.aspx?guid=408bf8d8-9d43-434c-9e27-93f1f4d03253</trackback:ping>
      <pingback:server>http://blog.brianh.dk/pingback.aspx</pingback:server>
      <pingback:target>http://blog.brianh.dk/PermaLink,guid,408bf8d8-9d43-434c-9e27-93f1f4d03253.aspx</pingback:target>
      <dc:creator>Brian Holmgård Kristensen</dc:creator>
      <wfw:comment>http://blog.brianh.dk/CommentView,guid,408bf8d8-9d43-434c-9e27-93f1f4d03253.aspx</wfw:comment>
      <wfw:commentRss>http://blog.brianh.dk/SyndicationService.asmx/GetEntryCommentsRss?guid=408bf8d8-9d43-434c-9e27-93f1f4d03253</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <img style="FLOAT: right; MARGIN: 0px 0px 5px 5px" src="http://blog.brianh.dk/content/binary/techedlogo.gif" border="0" />
        <p>
This was actually not the headline from the keynote by S. Somasegar, the Microsoft
Corporate Vice President of the Developer Division, who was the keynote-speaker at
this years TechEd Developers 2007 conference in Barcelona. The headline however is
from a funny part of the keynote where S. Somasegar plays a video from Microsoft on
how they build Visual Studio 2008. 
</p>
        <p>
With a totally packed Auditorium of expectant developers S. Somasegar started out
his keynote speech by telling a true story of an experience he had here in Barcelona
after arriving. It took place in a restaurant called “Moo Restaurant” where he had
had the absolute best dinner experience in a longer time. He told us that it was a
combination of two things; 1) that the chef did a fantastic job cooking the dinner,
and 2) that the ambience and the way the food was served, really met his expectations
and then some. In software perspective he did the analogy that being a fantastic developer
is not enough when failing to have an understanding of the differentiated user experiences
and requirements that users have. Otherwise the software won’t survive in the longer
run. 
</p>
        <p>
S. Somasegar also shared some statistics with us; that over the last two years, there
have been over one million professional developers using Visual Studio 2005 where
25 percent of these use Team System in development, that there have been over 17 million
downloads on the Visual Studio Express product and last that 80 percent of all questions
asked on the MSDN forum have been answered. 
</p>
        <p>
Offering a free license to a feature-limited Visual Studio IDE, the Express editions,
is available to make it easy for anyone to getting started on learning how to develop
applications. I really like the idea of having these free feature-limited editions
of Visual Studio and SQL Server as this helps getting as many people as possible joining
the community. Another effort that his division has done is to increase/strengthen
the community by making the MSDN much better. On the forums they have done a lot to
improve response time on questions. Also with the Microsoft Valuable Professional
(MVP) Program it can really pay off being an active community member. I hope to find
myself struggling for that title someday – but as for this moment I have other things
to focus on. Upcoming improvements to MSDN is the possibility to share code, which
makes it easy for developers to share work with the rest of the world, and also a
new MSDN Wiki lets community members add more content to the documentations. These
new things will help transition MSDN from a one-way platform to a community-based
platform. Really great news from my point of view. 
</p>
        <p>
S. Somasegar went on speaking some about the Mission of his division, which he stated
being to: <b>Make every software project successful with Microsoft tools &amp; platforms.</b></p>
        <p>
He wants to do this by constantly deliver platform technologies and tools that support
different developers with different experiences for different projects. LINQ is one
of the technologies to accommodate that. LINQ makes it easier for developers to execute
data queries without having to know anything about e.g. SQL, XPath and/or XSLT. The
developer simply just makes the queries in his own .NET language e.g. C# or VB.NET.
A lot of sessions on this years TechEd will be on LINQ with some I will be attending. 
</p>
        <p>
S. Somasegar told us that Microsoft Patterns &amp; Practices have just released (or
are about to release) some blueprints for Software plus Services solutions (S+S),
which should make it very easy to take an application and make it serviceable. The
releases will contain ready to use building blocks and plug-ins for Visual Studio.
Blueprints are frameworks with source code and will target different scenarios. There
will be more blueprints to be published during the next couple of months. It is something
that I haven’t heard about until know, but it sounds very cool and something that
I will definitely check out. 
</p>
        <p>
After that, Tony Goodhew, Product Manager of Visual Studio was brought to the stage
for a demo on how to build great applications with Visual Studio 2008. He quickly
demonstrated some of the new features in the IDE including the Split View feature
between markup and design when creating ASP.NET solutions and the enhanced support
for Cascading Style Sheets (CSS). He also showed how Visual Studio 2008 can target
different versions of the .NET framework (2.0, 3.0 and 3.5), making it no excuse to
not using Visual Studio 2008 on your .NET 2.0 solutions (and why shouldn’t you?).
He showed us something that for me was new; extended support for JavaScript in the
IDE which included support of debugging with breakpoints – that is pretty cool. Tony
also showed us a fictional customer case of having workflows in SharePoint with a
typical sequential Vendor Approval Workflow. This workflow included a Vendor Application
word-document, with a custom Microsoft Office add-in dialog, which had WPF hosted
inside an ElementHost control on this dialog. The ElementHost control supports two-way
interop and it is there to host the right technology in the right place which was
very well and convincing demoed in this case. 
</p>
        <p>
After the demo by Tony Goodhew we moved on to the funny video I was mentioning in
the start of this text. S. Somasegar put on the video: “Visual Studio 2008: True Development
Story”, which was had a sort of X-Files (or “Operation X” as we have a Danish documentary
series called) kind of theme/atmosphere over it. It had this Professor commenting
on the state from Microsoft that in the development of their Visual Studio 2008 they
have been using their own product to build their own product – the professor compared
that to his new book “Eating your own dog-food”, and even moved things a step further
introducing the sequel “Eating your own dog-food even before you even have a dog”
stating that it was too good to be true that such thing could occur. It was a great
video and had Scott Guthrie in it. Scott is one of the Microsoft folks that I pay
especially attention to by subscribing his blog-posts. The moral of the video did
all go well with the philosophy that S. Somasegar stated in the speech: "Use what
we ship, ship what we use". 
</p>
        <p>
We then had a demo on Visual Studio Extensibility by Dan Fernandez, the Lead Product
Manager of Visual Studio, who showed us an Add-On Studio to the famous game World
of Warcraft. Basically he had built his own custom IDE using Visual Studio and used
it to create an add-on to World of Warcraft with Intellisense support to a custom
.NET language that converts to what I think he called the LUA data structure which
the game is based on – or at least something very close to that. 
</p>
        <p>
The new add-on to the game he demoed was an in-game screen dialog showing some info
from the opponent creatures that he was attacking (or something like that – I haven’t
played the game), and when he killed his opponents a MP3 file was played. It was pretty
funny to see Dan walk around with his wife’s character in the World of Warcraft universe;
slaughtering creatures and when doing so, a “Killimanjaro” sound was played when the
third opponent was killed (this was actually the logic of the small code sample that
he showed us – killing three opponents should result in playing this special MP3 file). 
</p>
        <p>
Dan Fernandez also did the final demo when he announced the new Microsoft Popfly.
Popfly is an online web-based platform where you can share and publish web-pages with
the rest of the world. The development can take place in Visual Web Developer Express
and you can find a lot of Silverlight prebuilt templates/gadgets on Popfly to drag
to your own page, or share your own. Popfly will make it easier for anyone to create
a nice and cool-looking web-site, or at least that was the experience he brought from
the presentation. He demoed a World of Warcraft fan web-site, and even so that it
was a very quick presentation, Popfly seems to be very promising as they have made
it easier for none-developers to create very cool web-sites, with the use of innovative
products and technologies such as Visual Studio and Silverlight. 
</p>
        <p>
S. Somasegar finished off the keynote by telling us what is coming down the pipe from
Microsoft. We got some insights on the future roadmap, which includes Expression Studio
2, Visual Studio 10, Silverlight vNext, .NET Framework 4.0, Windows Server 2008, Internet
Information Services 7.0, SQL Server 2008 and BizTalk Server R6 – where some of the
mentioned products/platforms are sooner to be released than others. He also gave us
some detailed insight on the next version of Visual Studio Team System, codename “Rosario”,
where the key themes for the product are; 1) enabling us to built the right thing
the right way - being able to have a rich way to prioritize features with deep level
integration between Project Server and Team Foundation Server, and 2) having the testing
tools being more comprehensive than they are today, including support of test case
management, manual testing, stress testing, load testing, code analysis testing etc. 
</p>
        <p>
Although he sometimes was a bit hard to understand due to strong dialect it was all
in all a very good and informative keynote with cool demos and a funny video, but
most important of all it was a nice kickoff to TechEd Developers 2007 which hopefully
will contain lots of cool sessions! More on that as I go along. Stay tuned. 
</p>
        <p>
(Sorry about the long post - and most likely possible misspelling)
</p>
        <img width="0" height="0" src="http://blog.brianh.dk/aggbug.ashx?id=408bf8d8-9d43-434c-9e27-93f1f4d03253" />
      </body>
      <title>Eating your own software, Keynote from TechEd Developers 2007</title>
      <guid isPermaLink="false">http://blog.brianh.dk/PermaLink,guid,408bf8d8-9d43-434c-9e27-93f1f4d03253.aspx</guid>
      <link>http://blog.brianh.dk/2007/11/06/EatingYourOwnSoftwareKeynoteFromTechEdDevelopers2007.aspx</link>
      <pubDate>Tue, 06 Nov 2007 07:09:51 GMT</pubDate>
      <description>&lt;img style="FLOAT: right; MARGIN: 0px 0px 5px 5px" src="http://blog.brianh.dk/content/binary/techedlogo.gif" border=0&gt; 
&lt;p&gt;
This was actually not the headline from the keynote by S. Somasegar, the Microsoft
Corporate Vice President of the Developer Division, who was the keynote-speaker at
this years TechEd Developers 2007 conference in Barcelona. The headline however is
from a funny part of the keynote where S. Somasegar plays a video from Microsoft on
how they build Visual Studio 2008. 
&lt;p&gt;
With a totally packed Auditorium of expectant developers S. Somasegar started out
his keynote speech by telling a true story of an experience he had here in Barcelona
after arriving. It took place in a restaurant called “Moo Restaurant” where he had
had the absolute best dinner experience in a longer time. He told us that it was a
combination of two things; 1) that the chef did a fantastic job cooking the dinner,
and 2) that the ambience and the way the food was served, really met his expectations
and then some. In software perspective he did the analogy that being a fantastic developer
is not enough when failing to have an understanding of the differentiated user experiences
and requirements that users have. Otherwise the software won’t survive in the longer
run. 
&lt;p&gt;
S. Somasegar also shared some statistics with us; that over the last two years, there
have been over one million professional developers using Visual Studio 2005 where
25 percent of these use Team System in development, that there have been over 17 million
downloads on the Visual Studio Express product and last that 80 percent of all questions
asked on the MSDN forum have been answered. 
&lt;p&gt;
Offering a free license to a feature-limited Visual Studio IDE, the Express editions,
is available to make it easy for anyone to getting started on learning how to develop
applications. I really like the idea of having these free feature-limited editions
of Visual Studio and SQL Server as this helps getting as many people as possible joining
the community. Another effort that his division has done is to increase/strengthen
the community by making the MSDN much better. On the forums they have done a lot to
improve response time on questions. Also with the Microsoft Valuable Professional
(MVP) Program it can really pay off being an active community member. I hope to find
myself struggling for that title someday – but as for this moment I have other things
to focus on. Upcoming improvements to MSDN is the possibility to share code, which
makes it easy for developers to share work with the rest of the world, and also a
new MSDN Wiki lets community members add more content to the documentations. These
new things will help transition MSDN from a one-way platform to a community-based
platform. Really great news from my point of view. 
&lt;p&gt;
S. Somasegar went on speaking some about the Mission of his division, which he stated
being to: &lt;b&gt;Make every software project successful with Microsoft tools &amp;amp; platforms.&lt;/b&gt; 
&lt;p&gt;
He wants to do this by constantly deliver platform technologies and tools that support
different developers with different experiences for different projects. LINQ is one
of the technologies to accommodate that. LINQ makes it easier for developers to execute
data queries without having to know anything about e.g. SQL, XPath and/or XSLT. The
developer simply just makes the queries in his own .NET language e.g. C# or VB.NET.
A lot of sessions on this years TechEd will be on LINQ with some I will be attending. 
&lt;p&gt;
S. Somasegar told us that Microsoft Patterns &amp;amp; Practices have just released (or
are about to release) some blueprints for Software plus Services solutions (S+S),
which should make it very easy to take an application and make it serviceable. The
releases will contain ready to use building blocks and plug-ins for Visual Studio.
Blueprints are frameworks with source code and will target different scenarios. There
will be more blueprints to be published during the next couple of months. It is something
that I haven’t heard about until know, but it sounds very cool and something that
I will definitely check out. 
&lt;p&gt;
After that, Tony Goodhew, Product Manager of Visual Studio was brought to the stage
for a demo on how to build great applications with Visual Studio 2008. He quickly
demonstrated some of the new features in the IDE including the Split View feature
between markup and design when creating ASP.NET solutions and the enhanced support
for Cascading Style Sheets (CSS). He also showed how Visual Studio 2008 can target
different versions of the .NET framework (2.0, 3.0 and 3.5), making it no excuse to
not using Visual Studio 2008 on your .NET 2.0 solutions (and why shouldn’t you?).
He showed us something that for me was new; extended support for JavaScript in the
IDE which included support of debugging with breakpoints – that is pretty cool. Tony
also showed us a fictional customer case of having workflows in SharePoint with a
typical sequential Vendor Approval Workflow. This workflow included a Vendor Application
word-document, with a custom Microsoft Office add-in dialog, which had WPF hosted
inside an ElementHost control on this dialog. The ElementHost control supports two-way
interop and it is there to host the right technology in the right place which was
very well and convincing demoed in this case. 
&lt;p&gt;
After the demo by Tony Goodhew we moved on to the funny video I was mentioning in
the start of this text. S. Somasegar put on the video: “Visual Studio 2008: True Development
Story”, which was had a sort of X-Files (or “Operation X” as we have a Danish documentary
series called) kind of theme/atmosphere over it. It had this Professor commenting
on the state from Microsoft that in the development of their Visual Studio 2008 they
have been using their own product to build their own product – the professor compared
that to his new book “Eating your own dog-food”, and even moved things a step further
introducing the sequel “Eating your own dog-food even before you even have a dog”
stating that it was too good to be true that such thing could occur. It was a great
video and had Scott Guthrie in it. Scott is one of the Microsoft folks that I pay
especially attention to by subscribing his blog-posts. The moral of the video did
all go well with the philosophy that S. Somasegar stated in the speech: "Use what
we ship, ship what we use". 
&lt;p&gt;
We then had a demo on Visual Studio Extensibility by Dan Fernandez, the Lead Product
Manager of Visual Studio, who showed us an Add-On Studio to the famous game World
of Warcraft. Basically he had built his own custom IDE using Visual Studio and used
it to create an add-on to World of Warcraft with Intellisense support to a custom
.NET language that converts to what I think he called the LUA data structure which
the game is based on – or at least something very close to that. 
&lt;p&gt;
The new add-on to the game he demoed was an in-game screen dialog showing some info
from the opponent creatures that he was attacking (or something like that – I haven’t
played the game), and when he killed his opponents a MP3 file was played. It was pretty
funny to see Dan walk around with his wife’s character in the World of Warcraft universe;
slaughtering creatures and when doing so, a “Killimanjaro” sound was played when the
third opponent was killed (this was actually the logic of the small code sample that
he showed us – killing three opponents should result in playing this special MP3 file). 
&lt;p&gt;
Dan Fernandez also did the final demo when he announced the new Microsoft Popfly.
Popfly is an online web-based platform where you can share and publish web-pages with
the rest of the world. The development can take place in Visual Web Developer Express
and you can find a lot of Silverlight prebuilt templates/gadgets on Popfly to drag
to your own page, or share your own. Popfly will make it easier for anyone to create
a nice and cool-looking web-site, or at least that was the experience he brought from
the presentation. He demoed a World of Warcraft fan web-site, and even so that it
was a very quick presentation, Popfly seems to be very promising as they have made
it easier for none-developers to create very cool web-sites, with the use of innovative
products and technologies such as Visual Studio and Silverlight. 
&lt;p&gt;
S. Somasegar finished off the keynote by telling us what is coming down the pipe from
Microsoft. We got some insights on the future roadmap, which includes Expression Studio
2, Visual Studio 10, Silverlight vNext, .NET Framework 4.0, Windows Server 2008, Internet
Information Services 7.0, SQL Server 2008 and BizTalk Server R6 – where some of the
mentioned products/platforms are sooner to be released than others. He also gave us
some detailed insight on the next version of Visual Studio Team System, codename “Rosario”,
where the key themes for the product are; 1) enabling us to built the right thing
the right way - being able to have a rich way to prioritize features with deep level
integration between Project Server and Team Foundation Server, and 2) having the testing
tools being more comprehensive than they are today, including support of test case
management, manual testing, stress testing, load testing, code analysis testing etc. 
&lt;p&gt;
Although he sometimes was a bit hard to understand due to strong dialect it was all
in all a very good and informative keynote with cool demos and a funny video, but
most important of all it was a nice kickoff to TechEd Developers 2007 which hopefully
will contain lots of cool sessions! More on that as I go along. Stay tuned. 
&lt;p&gt;
(Sorry about the long post - and most likely possible misspelling)
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.brianh.dk/aggbug.ashx?id=408bf8d8-9d43-434c-9e27-93f1f4d03253" /&gt;</description>
      <comments>http://blog.brianh.dk/CommentView,guid,408bf8d8-9d43-434c-9e27-93f1f4d03253.aspx</comments>
      <category>TechEd</category>
    </item>
    <item>
      <trackback:ping>http://blog.brianh.dk/Trackback.aspx?guid=c571444a-e75d-4559-8fe3-547e609e2ae2</trackback:ping>
      <pingback:server>http://blog.brianh.dk/pingback.aspx</pingback:server>
      <pingback:target>http://blog.brianh.dk/PermaLink,guid,c571444a-e75d-4559-8fe3-547e609e2ae2.aspx</pingback:target>
      <dc:creator>Brian Holmgård Kristensen</dc:creator>
      <wfw:comment>http://blog.brianh.dk/CommentView,guid,c571444a-e75d-4559-8fe3-547e609e2ae2.aspx</wfw:comment>
      <wfw:commentRss>http://blog.brianh.dk/SyndicationService.asmx/GetEntryCommentsRss?guid=c571444a-e75d-4559-8fe3-547e609e2ae2</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I am sitting here practically live from TechEd Barcelona, in a crowded auditorium
waiting for S. Somasegar, the Microsoft Corporate Vice President of the Developer
Division, to do this years keynote speaking. 
</p>
        <p>
While waiting we have two graffiti painters and a DJ pumping some really cool techno
music out to entertain us.
</p>
        <p>
I just wanted to share some pictures with you, and then I'm off again.
</p>
        <p>
          <a href="http://blog.brianh.dk/content/binary/WindowsLiveWriter/GettingreadyforthisyearsTechEdKeynotespe_C0B3/IMG_1388_2.jpg">
            <img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height="184" alt="IMG_1388" src="http://blog.brianh.dk/content/binary/WindowsLiveWriter/GettingreadyforthisyearsTechEdKeynotespe_C0B3/IMG_1388_thumb.jpg" width="244" border="0" />
          </a>
        </p>
        <p>
          <a href="http://blog.brianh.dk/content/binary/WindowsLiveWriter/GettingreadyforthisyearsTechEdKeynotespe_C0B3/IMG_1386_2.jpg">
            <img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height="184" alt="IMG_1386" src="http://blog.brianh.dk/content/binary/WindowsLiveWriter/GettingreadyforthisyearsTechEdKeynotespe_C0B3/IMG_1386_thumb.jpg" width="244" border="0" />
          </a>
        </p>
        <p>
          <a href="http://blog.brianh.dk/content/binary/WindowsLiveWriter/GettingreadyforthisyearsTechEdKeynotespe_C0B3/IMG_1387_2.jpg">
            <img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height="184" alt="IMG_1387" src="http://blog.brianh.dk/content/binary/WindowsLiveWriter/GettingreadyforthisyearsTechEdKeynotespe_C0B3/IMG_1387_thumb.jpg" width="244" border="0" />
          </a>
        </p>
        <img width="0" height="0" src="http://blog.brianh.dk/aggbug.ashx?id=c571444a-e75d-4559-8fe3-547e609e2ae2" />
      </body>
      <title>Getting ready for this years TechEd Keynote speaking</title>
      <guid isPermaLink="false">http://blog.brianh.dk/PermaLink,guid,c571444a-e75d-4559-8fe3-547e609e2ae2.aspx</guid>
      <link>http://blog.brianh.dk/2007/11/05/GettingReadyForThisYearsTechEdKeynoteSpeaking.aspx</link>
      <pubDate>Mon, 05 Nov 2007 12:38:53 GMT</pubDate>
      <description>&lt;p&gt;
I am sitting here practically live from TechEd Barcelona, in a crowded auditorium
waiting for S. Somasegar, the Microsoft Corporate Vice President of the Developer
Division, to do this years keynote speaking. 
&lt;/p&gt;
&lt;p&gt;
While waiting we have two graffiti painters and a DJ&amp;nbsp;pumping some really&amp;nbsp;cool&amp;nbsp;techno
music out&amp;nbsp;to entertain us.
&lt;/p&gt;
&lt;p&gt;
I just wanted to share some pictures with you, and then I'm off again.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blog.brianh.dk/content/binary/WindowsLiveWriter/GettingreadyforthisyearsTechEdKeynotespe_C0B3/IMG_1388_2.jpg"&gt;&lt;img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=184 alt=IMG_1388 src="http://blog.brianh.dk/content/binary/WindowsLiveWriter/GettingreadyforthisyearsTechEdKeynotespe_C0B3/IMG_1388_thumb.jpg" width=244 border=0&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blog.brianh.dk/content/binary/WindowsLiveWriter/GettingreadyforthisyearsTechEdKeynotespe_C0B3/IMG_1386_2.jpg"&gt;&lt;img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=184 alt=IMG_1386 src="http://blog.brianh.dk/content/binary/WindowsLiveWriter/GettingreadyforthisyearsTechEdKeynotespe_C0B3/IMG_1386_thumb.jpg" width=244 border=0&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blog.brianh.dk/content/binary/WindowsLiveWriter/GettingreadyforthisyearsTechEdKeynotespe_C0B3/IMG_1387_2.jpg"&gt;&lt;img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=184 alt=IMG_1387 src="http://blog.brianh.dk/content/binary/WindowsLiveWriter/GettingreadyforthisyearsTechEdKeynotespe_C0B3/IMG_1387_thumb.jpg" width=244 border=0&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.brianh.dk/aggbug.ashx?id=c571444a-e75d-4559-8fe3-547e609e2ae2" /&gt;</description>
      <comments>http://blog.brianh.dk/CommentView,guid,c571444a-e75d-4559-8fe3-547e609e2ae2.aspx</comments>
      <category>TechEd</category>
    </item>
    <item>
      <trackback:ping>http://blog.brianh.dk/Trackback.aspx?guid=a6bc633c-6674-43a1-bdf2-12014acc034c</trackback:ping>
      <pingback:server>http://blog.brianh.dk/pingback.aspx</pingback:server>
      <pingback:target>http://blog.brianh.dk/PermaLink,guid,a6bc633c-6674-43a1-bdf2-12014acc034c.aspx</pingback:target>
      <dc:creator>Brian Holmgård Kristensen</dc:creator>
      <wfw:comment>http://blog.brianh.dk/CommentView,guid,a6bc633c-6674-43a1-bdf2-12014acc034c.aspx</wfw:comment>
      <wfw:commentRss>http://blog.brianh.dk/SyndicationService.asmx/GetEntryCommentsRss?guid=a6bc633c-6674-43a1-bdf2-12014acc034c</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <img style="FLOAT: right; MARGIN: 0px 0px 5px 5px" src="http://blog.brianh.dk/content/binary/techedlogo.gif" border="0" />
        <p>
I'm here!! Sitting at the TechEd Developers conference in Barcelona :-)
</p>
        <p>
The traveling however did not go as expected, due to a delayed plane in Kastrup, some
confusing bus- and train rides in Barcelona (I wished that Microsoft had been there
to pick me up in the Airport) and a hotel receptionist who couldn't find my reservation.
But hey, that doesn't matter anymore - I'm here now, have had a good nights sleep,
and that is all that counts :-)
</p>
        <p>
I'm sitting this moment on-site at the conference, and I have now decided which sessions
that I will be going to attend for today:
</p>
        <p>
          <strong>WEB303 - Building a Complete Web Application Using ASP.NET "Orcas" and Microsoft
Visual Studio 2008 (Part 1 of 2)<br /></strong>by Omar Khan
</p>
        <p>
          <strong>TLA318 - The .NET Language Integrated Query (LINQ) Framework<br /></strong>by Luca Bolognese
</p>
        <p>
Well I'm off again - I want to check this place out and most likely do some Hands-on
Labs on VS.NET 2008 and LINQ before the sessions.
</p>
        <img width="0" height="0" src="http://blog.brianh.dk/aggbug.ashx?id=a6bc633c-6674-43a1-bdf2-12014acc034c" />
      </body>
      <title>Arrived at TechEd Developers 2007, Barcelona</title>
      <guid isPermaLink="false">http://blog.brianh.dk/PermaLink,guid,a6bc633c-6674-43a1-bdf2-12014acc034c.aspx</guid>
      <link>http://blog.brianh.dk/2007/11/05/ArrivedAtTechEdDevelopers2007Barcelona.aspx</link>
      <pubDate>Mon, 05 Nov 2007 08:12:42 GMT</pubDate>
      <description>&lt;img style="FLOAT: right; MARGIN: 0px 0px 5px 5px" src="http://blog.brianh.dk/content/binary/techedlogo.gif" border=0&gt; 
&lt;p&gt;
I'm here!! Sitting at the TechEd Developers conference in Barcelona :-)
&lt;/p&gt;
&lt;p&gt;
The traveling however did not go as expected, due to a delayed plane in Kastrup, some
confusing bus- and train rides in Barcelona (I wished that Microsoft had been there
to pick me up in the Airport) and a hotel receptionist who couldn't find my reservation.
But hey, that doesn't matter anymore - I'm here now, have had a good nights sleep,
and that is all that counts :-)
&lt;/p&gt;
&lt;p&gt;
I'm sitting this moment on-site at the conference, and I have now decided which sessions
that I will be going to attend for today:
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;WEB303 - Building a Complete Web Application Using ASP.NET "Orcas" and Microsoft
Visual Studio 2008 (Part 1 of 2)&lt;br&gt;
&lt;/strong&gt;by Omar Khan
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;TLA318 - The .NET Language Integrated Query (LINQ) Framework&lt;br&gt;
&lt;/strong&gt;by Luca Bolognese
&lt;/p&gt;
&lt;p&gt;
Well I'm off again - I want to check this place out and most likely do some Hands-on
Labs on VS.NET 2008 and LINQ before the sessions.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.brianh.dk/aggbug.ashx?id=a6bc633c-6674-43a1-bdf2-12014acc034c" /&gt;</description>
      <comments>http://blog.brianh.dk/CommentView,guid,a6bc633c-6674-43a1-bdf2-12014acc034c.aspx</comments>
      <category>TechEd</category>
    </item>
    <item>
      <trackback:ping>http://blog.brianh.dk/Trackback.aspx?guid=2c651518-bbf2-4d68-84e6-cd1e17613404</trackback:ping>
      <pingback:server>http://blog.brianh.dk/pingback.aspx</pingback:server>
      <pingback:target>http://blog.brianh.dk/PermaLink,guid,2c651518-bbf2-4d68-84e6-cd1e17613404.aspx</pingback:target>
      <dc:creator>Brian Holmgård Kristensen</dc:creator>
      <wfw:comment>http://blog.brianh.dk/CommentView,guid,2c651518-bbf2-4d68-84e6-cd1e17613404.aspx</wfw:comment>
      <wfw:commentRss>http://blog.brianh.dk/SyndicationService.asmx/GetEntryCommentsRss?guid=2c651518-bbf2-4d68-84e6-cd1e17613404</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <img style="FLOAT: right; MARGIN: 0px 0px 5px 5px" src="http://blog.brianh.dk/content/binary/techedlogo.gif" border="0" />
        <p>
With only a few days to the kick-off of the TechEd Developers conference in Barcelona
I have been doing some preparation in order to try and get the most out of the days
there as possible.
</p>
        <p>
Below is a list of some of the (in my opinion) most exciting and interesting sessions.
And I would really like to attend them all, however this is quite impossible because
of overlaps in them. There is really nothing to do about that other than trying to
prioritize between them.
</p>
        <table cellspacing="0" cellpadding="3" width="90%" border="1">
          <tbody>
            <tr>
              <td valign="top" width="100">
                <p>
SBP207
</p>
              </td>
              <td valign="top">
                <p>
What is Next for the .NET Framework and Distributed Applications?  
</p>
              </td>
            </tr>
            <tr>
              <td valign="top">
                <p>
ARC202
</p>
              </td>
              <td valign="top">
                <p>
Agile Development with Team System  
</p>
              </td>
            </tr>
            <tr>
              <td valign="top">
                <p>
WIN303
</p>
              </td>
              <td valign="top">
                <p>
.NET Framework 3.5 End-to-End: Putting the Pieces Together - Part 2  
</p>
              </td>
            </tr>
            <tr>
              <td valign="top">
                <p>
WEB305
</p>
              </td>
              <td valign="top">
                <p>
"IronPython" and Dynamic Languages on .NET
</p>
              </td>
            </tr>
            <tr>
              <td valign="top">
                <p>
LNC01
</p>
              </td>
              <td valign="top">
                <p>
Why Software Sucks
</p>
              </td>
            </tr>
            <tr>
              <td valign="top">
                <p>
DAT312
</p>
              </td>
              <td valign="top">
                <p>
Programming SQL Server 2008  
</p>
              </td>
            </tr>
            <tr>
              <td valign="top">
                <p>
TLA312
</p>
              </td>
              <td valign="top">
                <p>
Microsoft Visual C# Under the Covers: An In-Depth Look at C# 3.0
</p>
              </td>
            </tr>
            <tr>
              <td valign="top">
                <p>
ARC06-IS
</p>
              </td>
              <td valign="top">
                <p>
Exploring Event Driven Architectures
</p>
              </td>
            </tr>
            <tr>
              <td valign="top">
                <p>
DAT315
</p>
              </td>
              <td valign="top">
                <p>
T-SQL Querying: Tips and Techniques
</p>
              </td>
            </tr>
            <tr>
              <td valign="top">
                <p>
DAT201
</p>
              </td>
              <td valign="top">
                <p>
Entity Framework Introduction
</p>
              </td>
            </tr>
            <tr>
              <td valign="top">
                <p>
WEB401
</p>
              </td>
              <td valign="top">
                <p>
Building Highly Scalable ASP.NET Web Sites by Exploiting Asynchronous Programming
Models
</p>
              </td>
            </tr>
            <tr>
              <td valign="top">
                <p>
TLA10-IS
</p>
              </td>
              <td valign="top">
                <p>
Unit Testing Tips and Techniques with Visual Studio 2008 and the .NET Framework
</p>
              </td>
            </tr>
            <tr>
              <td valign="top">
                <p>
TLA304
</p>
              </td>
              <td valign="top">
                <p>
Building Services with the Service Factory: Modeling Edition
</p>
              </td>
            </tr>
            <tr>
              <td valign="top">
                <p>
LNC02
</p>
              </td>
              <td valign="top">
                <p>
Communities? Can They Really Help My Business, My Day-to-Day Job, and My Career?
</p>
              </td>
            </tr>
            <tr>
              <td valign="top">
                <p>
TLA326
</p>
              </td>
              <td valign="top">
                <p>
LINQ to Entities – Use LINQ to access ADO.NET Entity Data Models
</p>
              </td>
            </tr>
            <tr>
              <td valign="top">
                <p>
WEB02-IS
</p>
              </td>
              <td valign="top">
                <p>
Top Ten ASP.NET Scaling Tips
</p>
              </td>
            </tr>
            <tr>
              <td valign="top">
                <p>
TLA307
</p>
              </td>
              <td valign="top">
                <p>
Improving Code Performance with Microsoft Visual Studio 2008 Team Edition for Software
Developers  
</p>
              </td>
            </tr>
            <tr>
              <td valign="top">
                <p>
WEB308
</p>
              </td>
              <td valign="top">
                <p>
Hidden Gems in ASP.NET 2.0
</p>
              </td>
            </tr>
            <tr>
              <td valign="top">
                <p>
WEB01-IS
</p>
              </td>
              <td valign="top">
                <p>
ASP.NET: Why, What, How and When?
</p>
              </td>
            </tr>
            <tr>
              <td valign="top">
                <p>
TLA310
</p>
              </td>
              <td valign="top">
                <p>
Manual and Dynamic Mocks with C# and Visual Studio Team System
</p>
              </td>
            </tr>
            <tr>
              <td valign="top">
                <p>
WEB08-IS
</p>
              </td>
              <td valign="top">
                <p>
Building Languages With The Dynamic Language Runtime
</p>
              </td>
            </tr>
            <tr>
              <td valign="top">
                <p>
WEB310
</p>
              </td>
              <td valign="top">
                <p>
WEB310   The Next Release of ASP.NET – Significant Features Available Soon…
(really soon)
</p>
              </td>
            </tr>
            <tr>
              <td valign="top">
                <p>
ARC401
</p>
              </td>
              <td valign="top">
                <p>
Designing High Performance, Persistent Domain Models 
</p>
              </td>
            </tr>
            <tr>
              <td valign="top">
                <p>
TLA06-IS
</p>
              </td>
              <td valign="top">
                <p>
LINQ to “X”, ADO.NET Entity Framework, DataSets &amp; Co – What is it with all these
Data Access Technologies?
</p>
              </td>
            </tr>
            <tr>
              <td valign="top">
                <p>
WEB316
</p>
              </td>
              <td valign="top">
                <p>
Understanding ASP.NET Internals
</p>
              </td>
            </tr>
            <tr>
              <td valign="top">
                <p>
WEB201
</p>
              </td>
              <td valign="top">
                <p>
Web Application Security
</p>
              </td>
            </tr>
            <tr>
              <td valign="top">
                <p>
WEB306
</p>
              </td>
              <td valign="top">
                <p>
Building Multi-Channel E-Commerce Solutions with Commerce Server 2007, ASP.NET, AJAX,
Silverlight, WPF, SharePoint and BizTalk Server
</p>
              </td>
            </tr>
            <tr>
              <td valign="top">
                <p>
TLA402
</p>
              </td>
              <td valign="top">
                <p>
Hardcore Production Debugging of .NET Applications
</p>
              </td>
            </tr>
            <tr>
              <td valign="top">
                <p>
TLA319
</p>
              </td>
              <td valign="top">
                <p>
The Joins Concurrency Library (Cω in a Box)
</p>
              </td>
            </tr>
            <tr>
              <td valign="top">
                <p>
TLA405
</p>
              </td>
              <td valign="top">
                <p>
Parallel and Asynchronous Functional Programming on .NET with F#
</p>
              </td>
            </tr>
            <tr>
              <td valign="top">
                <p>
WEB04-IS
</p>
              </td>
              <td valign="top">
                <p>
ASP.NET Model View Controller (MVC)
</p>
              </td>
            </tr>
            <tr>
              <td valign="top">
                <p>
WIN304
</p>
              </td>
              <td valign="top">
                <p>
Framework Engineering: Architecting, Designing, and Developing Reusable Libraries
</p>
              </td>
            </tr>
            <tr>
              <td valign="top">
                <p>
TLA09-IS 
</p>
              </td>
              <td valign="top">
                <p>
The Near Future of Programming is All About Concurrency – But What do Technologies
such as F# and the Joins Library Mean for Developers?
</p>
              </td>
            </tr>
            <tr>
              <td valign="top">
                <p>
WEB403
</p>
              </td>
              <td valign="top">
                <p>
Securing your High-Risk ASP.NET Web Applications: A Case Study
</p>
              </td>
            </tr>
          </tbody>
        </table>
        <p>
My focus will primarily be on the Web Development track as this is most related to
my daily work with eCommerce solutions and also extremely interesting to me. But also
especially the Architecture track and the Tools &amp; Languages track appeals to me.
Here goes links to the complete list of <a href="https://www.mseventseurope.com/teched/07/Developers/featuredcontent/Pages/TechnicalTracks.aspx">Technical
Tracks</a> and <a href="https://www.mseventseurope.com/OnlinePub/Public/sessions.aspx?EventId=HbLEvtKcPE4%3d">Session
Search Tool</a> on the <a href="http://www.mseventseurope.com/teched/07/developers/content/Pages/Default.aspx">TechEd
homepage</a>. 
</p>
        <p>
My TechEd journey starts early on Sunday, starting out with a couple of hours in the
train from Aarhus to Copenhagen Airport. I will arrive in Barcelona after a intermediate
flight-stop in Zürich.
</p>
        <p>
          <strong>Ohh and by the way... please remember to keep an close eye to this blog during
the days of TechEd as I plan to write a lot of posts from it!</strong>
        </p>
        <p>
Waou - I'm so exited :-)
</p>
        <img width="0" height="0" src="http://blog.brianh.dk/aggbug.ashx?id=2c651518-bbf2-4d68-84e6-cd1e17613404" />
      </body>
      <title>My Sessions of interests, TechEd Developers 2007</title>
      <guid isPermaLink="false">http://blog.brianh.dk/PermaLink,guid,2c651518-bbf2-4d68-84e6-cd1e17613404.aspx</guid>
      <link>http://blog.brianh.dk/2007/10/30/MySessionsOfInterestsTechEdDevelopers2007.aspx</link>
      <pubDate>Tue, 30 Oct 2007 20:52:54 GMT</pubDate>
      <description>&lt;img style="FLOAT: right; MARGIN: 0px 0px 5px 5px" src="http://blog.brianh.dk/content/binary/techedlogo.gif" border=0&gt; 
&lt;p&gt;
With only a few days to the kick-off of the TechEd Developers conference in Barcelona
I have been doing some preparation in order to try and get the most out of the days
there as possible.
&lt;/p&gt;
&lt;p&gt;
Below is a list of some of the (in my opinion) most exciting and interesting sessions.
And I would really like to attend them all, however this is quite impossible because
of overlaps in them. There is really nothing to do about that other than trying to
prioritize between them.
&lt;/p&gt;
&lt;table cellspacing=0 cellpadding=3 width="90%" border=1&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign=top width=100&gt;
&lt;p&gt;
SBP207
&lt;/p&gt;
&lt;/td&gt;
&lt;td valign=top&gt;
&lt;p&gt;
What is Next for the .NET Framework and Distributed Applications?&amp;nbsp; 
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=top&gt;
&lt;p&gt;
ARC202
&lt;/p&gt;
&lt;/td&gt;
&lt;td valign=top&gt;
&lt;p&gt;
Agile Development with Team System&amp;nbsp; 
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=top&gt;
&lt;p&gt;
WIN303
&lt;/p&gt;
&lt;/td&gt;
&lt;td valign=top&gt;
&lt;p&gt;
.NET Framework 3.5 End-to-End: Putting the Pieces Together - Part 2&amp;nbsp; 
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=top&gt;
&lt;p&gt;
WEB305
&lt;/p&gt;
&lt;/td&gt;
&lt;td valign=top&gt;
&lt;p&gt;
"IronPython" and Dynamic Languages on .NET
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=top&gt;
&lt;p&gt;
LNC01
&lt;/p&gt;
&lt;/td&gt;
&lt;td valign=top&gt;
&lt;p&gt;
Why Software Sucks
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=top&gt;
&lt;p&gt;
DAT312
&lt;/p&gt;
&lt;/td&gt;
&lt;td valign=top&gt;
&lt;p&gt;
Programming SQL Server 2008&amp;nbsp; 
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=top&gt;
&lt;p&gt;
TLA312
&lt;/p&gt;
&lt;/td&gt;
&lt;td valign=top&gt;
&lt;p&gt;
Microsoft Visual C# Under the Covers: An In-Depth Look at C# 3.0
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=top&gt;
&lt;p&gt;
ARC06-IS
&lt;/p&gt;
&lt;/td&gt;
&lt;td valign=top&gt;
&lt;p&gt;
Exploring Event Driven Architectures
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=top&gt;
&lt;p&gt;
DAT315
&lt;/p&gt;
&lt;/td&gt;
&lt;td valign=top&gt;
&lt;p&gt;
T-SQL Querying: Tips and Techniques
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=top&gt;
&lt;p&gt;
DAT201
&lt;/p&gt;
&lt;/td&gt;
&lt;td valign=top&gt;
&lt;p&gt;
Entity Framework Introduction
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=top&gt;
&lt;p&gt;
WEB401
&lt;/p&gt;
&lt;/td&gt;
&lt;td valign=top&gt;
&lt;p&gt;
Building Highly Scalable ASP.NET Web Sites by Exploiting Asynchronous Programming
Models
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=top&gt;
&lt;p&gt;
TLA10-IS
&lt;/p&gt;
&lt;/td&gt;
&lt;td valign=top&gt;
&lt;p&gt;
Unit Testing Tips and Techniques with Visual Studio 2008 and the .NET Framework
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=top&gt;
&lt;p&gt;
TLA304
&lt;/p&gt;
&lt;/td&gt;
&lt;td valign=top&gt;
&lt;p&gt;
Building Services with the Service Factory: Modeling Edition
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=top&gt;
&lt;p&gt;
LNC02
&lt;/p&gt;
&lt;/td&gt;
&lt;td valign=top&gt;
&lt;p&gt;
Communities? Can They Really Help My Business, My Day-to-Day Job, and My Career?
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=top&gt;
&lt;p&gt;
TLA326
&lt;/p&gt;
&lt;/td&gt;
&lt;td valign=top&gt;
&lt;p&gt;
LINQ to Entities – Use LINQ to access ADO.NET Entity Data Models
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=top&gt;
&lt;p&gt;
WEB02-IS
&lt;/p&gt;
&lt;/td&gt;
&lt;td valign=top&gt;
&lt;p&gt;
Top Ten ASP.NET Scaling Tips
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=top&gt;
&lt;p&gt;
TLA307
&lt;/p&gt;
&lt;/td&gt;
&lt;td valign=top&gt;
&lt;p&gt;
Improving Code Performance with Microsoft Visual Studio 2008 Team Edition for Software
Developers&amp;nbsp; 
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=top&gt;
&lt;p&gt;
WEB308
&lt;/p&gt;
&lt;/td&gt;
&lt;td valign=top&gt;
&lt;p&gt;
Hidden Gems in ASP.NET 2.0
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=top&gt;
&lt;p&gt;
WEB01-IS
&lt;/p&gt;
&lt;/td&gt;
&lt;td valign=top&gt;
&lt;p&gt;
ASP.NET: Why, What, How and When?
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=top&gt;
&lt;p&gt;
TLA310
&lt;/p&gt;
&lt;/td&gt;
&lt;td valign=top&gt;
&lt;p&gt;
Manual and Dynamic Mocks with C# and Visual Studio Team System
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=top&gt;
&lt;p&gt;
WEB08-IS
&lt;/p&gt;
&lt;/td&gt;
&lt;td valign=top&gt;
&lt;p&gt;
Building Languages With The Dynamic Language Runtime
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=top&gt;
&lt;p&gt;
WEB310
&lt;/p&gt;
&lt;/td&gt;
&lt;td valign=top&gt;
&lt;p&gt;
WEB310&amp;nbsp;&amp;nbsp; The Next Release of ASP.NET – Significant Features Available Soon…
(really soon)
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=top&gt;
&lt;p&gt;
ARC401
&lt;/p&gt;
&lt;/td&gt;
&lt;td valign=top&gt;
&lt;p&gt;
Designing High Performance, Persistent Domain Models 
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=top&gt;
&lt;p&gt;
TLA06-IS
&lt;/p&gt;
&lt;/td&gt;
&lt;td valign=top&gt;
&lt;p&gt;
LINQ to “X”, ADO.NET Entity Framework, DataSets &amp;amp; Co – What is it with all these
Data Access Technologies?
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=top&gt;
&lt;p&gt;
WEB316
&lt;/p&gt;
&lt;/td&gt;
&lt;td valign=top&gt;
&lt;p&gt;
Understanding ASP.NET Internals
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=top&gt;
&lt;p&gt;
WEB201
&lt;/p&gt;
&lt;/td&gt;
&lt;td valign=top&gt;
&lt;p&gt;
Web Application Security
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=top&gt;
&lt;p&gt;
WEB306
&lt;/p&gt;
&lt;/td&gt;
&lt;td valign=top&gt;
&lt;p&gt;
Building Multi-Channel E-Commerce Solutions with Commerce Server 2007, ASP.NET, AJAX,
Silverlight, WPF, SharePoint and BizTalk Server
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=top&gt;
&lt;p&gt;
TLA402
&lt;/p&gt;
&lt;/td&gt;
&lt;td valign=top&gt;
&lt;p&gt;
Hardcore Production Debugging of .NET Applications
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=top&gt;
&lt;p&gt;
TLA319
&lt;/p&gt;
&lt;/td&gt;
&lt;td valign=top&gt;
&lt;p&gt;
The Joins Concurrency Library (Cω in a Box)
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=top&gt;
&lt;p&gt;
TLA405
&lt;/p&gt;
&lt;/td&gt;
&lt;td valign=top&gt;
&lt;p&gt;
Parallel and Asynchronous Functional Programming on .NET with F#
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=top&gt;
&lt;p&gt;
WEB04-IS
&lt;/p&gt;
&lt;/td&gt;
&lt;td valign=top&gt;
&lt;p&gt;
ASP.NET Model View Controller (MVC)
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=top&gt;
&lt;p&gt;
WIN304
&lt;/p&gt;
&lt;/td&gt;
&lt;td valign=top&gt;
&lt;p&gt;
Framework Engineering: Architecting, Designing, and Developing Reusable Libraries
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=top&gt;
&lt;p&gt;
TLA09-IS 
&lt;/p&gt;
&lt;/td&gt;
&lt;td valign=top&gt;
&lt;p&gt;
The Near Future of Programming is All About Concurrency – But What do Technologies
such as F# and the Joins Library Mean for Developers?
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=top&gt;
&lt;p&gt;
WEB403
&lt;/p&gt;
&lt;/td&gt;
&lt;td valign=top&gt;
&lt;p&gt;
Securing your High-Risk ASP.NET Web Applications: A Case Study
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;
My focus will primarily be on the Web Development track as this is most related to
my daily work with eCommerce solutions and also extremely interesting to me. But also
especially the Architecture track and the Tools &amp;amp; Languages track appeals to me.
Here goes links to the complete list of &lt;a href="https://www.mseventseurope.com/teched/07/Developers/featuredcontent/Pages/TechnicalTracks.aspx"&gt;Technical
Tracks&lt;/a&gt; and &lt;a href="https://www.mseventseurope.com/OnlinePub/Public/sessions.aspx?EventId=HbLEvtKcPE4%3d"&gt;Session
Search Tool&lt;/a&gt; on the &lt;a href="http://www.mseventseurope.com/teched/07/developers/content/Pages/Default.aspx"&gt;TechEd
homepage&lt;/a&gt;. 
&lt;/p&gt;
&lt;p&gt;
My TechEd journey starts early on Sunday, starting out with a couple of hours in the
train from Aarhus to Copenhagen Airport. I will arrive in Barcelona after a intermediate
flight-stop in Zürich.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Ohh and by the way... please remember to keep an close eye to this blog during
the days of TechEd as I plan to write a lot of posts from it!&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Waou - I'm so exited :-)
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.brianh.dk/aggbug.ashx?id=2c651518-bbf2-4d68-84e6-cd1e17613404" /&gt;</description>
      <comments>http://blog.brianh.dk/CommentView,guid,2c651518-bbf2-4d68-84e6-cd1e17613404.aspx</comments>
      <category>TechEd</category>
    </item>
    <item>
      <trackback:ping>http://blog.brianh.dk/Trackback.aspx?guid=4ce81444-eaf5-4f6e-9a10-132af8d4253f</trackback:ping>
      <pingback:server>http://blog.brianh.dk/pingback.aspx</pingback:server>
      <pingback:target>http://blog.brianh.dk/PermaLink,guid,4ce81444-eaf5-4f6e-9a10-132af8d4253f.aspx</pingback:target>
      <dc:creator>Brian Holmgård Kristensen</dc:creator>
      <wfw:comment>http://blog.brianh.dk/CommentView,guid,4ce81444-eaf5-4f6e-9a10-132af8d4253f.aspx</wfw:comment>
      <wfw:commentRss>http://blog.brianh.dk/SyndicationService.asmx/GetEntryCommentsRss?guid=4ce81444-eaf5-4f6e-9a10-132af8d4253f</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <img style="FLOAT: right; MARGIN: 0px 0px 5px 5px" src="http://blog.brianh.dk/content/binary/techedlogo.gif" border="0" />
        <p>
Last week I got great news that I am going to attend the <a href="http://www.mseventseurope.com/teched/07/developers/Pages/default.aspx">TechEd
Developers conference</a> in Barcelona. 
</p>
        <p>
It was <a href="http://www.publicvoid.dk">Søren</a> who told me the news
about TechEd and I will have a lot to live up to as he did a large scale cover
of <a href="http://www.publicvoid.dk/SearchView.aspx?q=teched">his attendance at TechEd
in 2006</a>. 
</p>
        <p>
The TechEd will span five days with hopefully hardcore technical subjects and I
am obviously very excited as this will be my first TechEd. I can't
wait to hear about all the cool new technologies out there.
</p>
        <p>
I have done a quick scan of the <a href="http://www.mseventseurope.com/teched/07/developers/content/pages/technicaltracks.aspx">Technical
Tracks</a> and I think that I will be focusing on new language and framework
features including LINQ, C# 3.0 and som web-development topics such as AJAX
and Silverlight.
</p>
        <p>
I have wrote a post on <a href="http://activedeveloper.dk/forum/forum.asp?mid=82486&amp;page=14">ActiveDeveloper</a> regarding
my trip as it could be cool to know who else will be attending the conference.
</p>
        <p>
So please feel free to contact me if you are going to the TechEd Developers, Barcelona
2007 - it could be cool to arrange something together.
</p>
        <p>
You should of course also stay tuned on this blog around 5th to 9th November
(the actual dates for the conference in Barcelona) as I promise to write
daily posts about the sessions I will attend and of course my generel experiences
with TechEd.
</p>
        <img width="0" height="0" src="http://blog.brianh.dk/aggbug.ashx?id=4ce81444-eaf5-4f6e-9a10-132af8d4253f" />
      </body>
      <title>Attending TechEd Developers Barcelona 2007</title>
      <guid isPermaLink="false">http://blog.brianh.dk/PermaLink,guid,4ce81444-eaf5-4f6e-9a10-132af8d4253f.aspx</guid>
      <link>http://blog.brianh.dk/2007/08/09/AttendingTechEdDevelopersBarcelona2007.aspx</link>
      <pubDate>Thu, 09 Aug 2007 17:30:39 GMT</pubDate>
      <description>&lt;img style="FLOAT: right; MARGIN: 0px 0px 5px 5px" src="http://blog.brianh.dk/content/binary/techedlogo.gif" border=0&gt; 
&lt;p&gt;
Last week I got great news that I&amp;nbsp;am going to attend the &lt;a href="http://www.mseventseurope.com/teched/07/developers/Pages/default.aspx"&gt;TechEd
Developers conference&lt;/a&gt; in Barcelona. 
&lt;/p&gt;
&lt;p&gt;
It&amp;nbsp;was &lt;a href="http://www.publicvoid.dk"&gt;Søren&lt;/a&gt;&amp;nbsp;who told me the news
about TechEd and I will&amp;nbsp;have a lot to live up to as he did a large scale cover
of &lt;a href="http://www.publicvoid.dk/SearchView.aspx?q=teched"&gt;his attendance at TechEd
in&amp;nbsp;2006&lt;/a&gt;. 
&lt;/p&gt;
&lt;p&gt;
The TechEd will span five days with hopefully hardcore technical subjects and&amp;nbsp;I
am&amp;nbsp;obviously&amp;nbsp;very excited as this will be my first TechEd.&amp;nbsp;I can't
wait to hear about all the cool new technologies out there.
&lt;/p&gt;
&lt;p&gt;
I&amp;nbsp;have done a quick scan of the &lt;a href="http://www.mseventseurope.com/teched/07/developers/content/pages/technicaltracks.aspx"&gt;Technical
Tracks&lt;/a&gt;&amp;nbsp;and I think that I will be focusing on new language and framework
features including LINQ, C# 3.0&amp;nbsp;and som&amp;nbsp;web-development topics such as AJAX
and Silverlight.
&lt;/p&gt;
&lt;p&gt;
I have&amp;nbsp;wrote a post on &lt;a href="http://activedeveloper.dk/forum/forum.asp?mid=82486&amp;amp;page=14"&gt;ActiveDeveloper&lt;/a&gt;&amp;nbsp;regarding
my trip as it could be cool to know who else will be attending the conference.
&lt;/p&gt;
&lt;p&gt;
So please feel free to contact me if you are going to the TechEd Developers, Barcelona
2007 - it could be cool to arrange something together.
&lt;/p&gt;
&lt;p&gt;
You should of course also&amp;nbsp;stay tuned on this blog around 5th to 9th November
(the actual dates for the conference in Barcelona) as I&amp;nbsp;promise to&amp;nbsp;write
daily posts about the sessions I will attend and of course my generel&amp;nbsp;experiences
with&amp;nbsp;TechEd.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.brianh.dk/aggbug.ashx?id=4ce81444-eaf5-4f6e-9a10-132af8d4253f" /&gt;</description>
      <comments>http://blog.brianh.dk/CommentView,guid,4ce81444-eaf5-4f6e-9a10-132af8d4253f.aspx</comments>
      <category>Personal</category>
      <category>TechEd</category>
    </item>
  </channel>
</rss>