|
 |
Agenda NDC 2009To plan your conference, log in here The agenda may change without further warning. Tune in to this page to stay updated as we are moving towards opening day |
Time | Track 1Client development | Track 2Web Development | Track 3Programming Languages | Track 4Enterprise Applications | Track 5Software Engineering | Track 6Tips & Tricks | Track 7Collaboration / Architecture | | Robert C. Martin
Are You a Professional?
The time has come for software developers to define our profession, and to define ourselves as professionals. We must choose the disciplines, attitudes, and practices that comprise our profession, and then we must choose to live within those bounds. We must decide what standards we will keep, and we must pledge to say "No" when asked to breech those standards.
Time: 9:00 - 10:00 | Robert C. Martin | Robert C. Martin
Are You a Professional?
The time has come for software developers to define our profession, and to define ourselves as professionals. We must choose the disciplines, attitudes, and practices that comprise our profession, and then we must choose to live within those bounds. We must decide what standards we will keep, and we must pledge to say "No" when asked to breech those standards.
In this talk Robert (Uncle Bob) Martin reviews this history that has led us to this culmination, and suggests a suite of disciplines, attitudes, and practices that follow from that history and may well become a definition of our profession. |  Robert C. Martin has been a software professional since 1970. In the last 35 years, he has worked in various capacities on literally hundreds of software projects. | |
| | Read more |
| | | | Tim Huckaby | Jump into Windows Presentation Foundation! ...and Become Immediately Effective
Level 100-200 Time: 10:15 - 11:15 (Track 1) | Tim Huckaby | Jump into Windows Presentation Foundation! ...and Become Immediately Effective
Level 100-200 You have seen the beautiful animated user interfaces; you have seen the gratuitous animations; you have seen the 3D. You might not be doing it now, but you will do it eventually. You will be building rich client applications in Windows Presentation Foundation (WPF). It is just a matter of time. This session was designed as an introduction to WPF to get you over that big learning curve that has frustrated many and well on your way to building great applications in WPF.
In this session you will learn how to use Visual Studio to help build WPF applications, of course. But, also in this session you will learn a number of tools you will use to build WPF applications. This is a rare place in the .NET stack where VS does not do it all. In fact, it doesn't even come close. So, in this session you will learn a number of tools you will be using like tools from the Expression Suite and some XAML design, syntax and rendering tools.
WPF is manifested in 3 major application platforms (Windows Client, Silverlight & Microsoft Surface) and all will be covered in this session at some level.
Level: 100–200 |  Tim Huckaby is currently focused on RIA & Smart Client Technologies like WPF, VSTO, Surface, and Silverlight. He has been called a “Pioneer of the Smart Client Revolution” by the press. | |
| Read more Watch movie |
| Scott Hanselman | Deep Tour of .NET 4
Level 300 Time: 10:15 - 11:15 (Track 2) | Scott Hanselman | Deep Tour of .NET 4
Level 300 Do you like demos and code? Learn all about the changes and new features in the .NET Framework 4 as Scott Hanselman takes you on a code–heavy tour of everything from ASP.NET 4 to side–by–side features deep in the CLR, and all points between.
Level: 300
|  Scott Hanselman works for Microsoft as a Senior Program Manager in the Developer Division, aiming to spread the good word about developing software, most often on the Microsoft stack. | |
| | Read more |
| Ted Neward | Why the Next Five Years Will Be About Languages
Level 100 Time: 10:15 - 11:15 (Track 3) | Ted Neward | Why the Next Five Years Will Be About Languages
Level 100 Thanks to the plateau of per–chip performance increases and the resulting need to work better with multi–core CPUs, the relative difficulty of mapping user requirements to general–purpose programming languages, the emergence of language–agnostic "virtual machines" that abstract away the machine, the relative ceiling of functionality we are finding on the current crop of object–oriented languages, and the promise and power of productivity of dynamically–typed or more loosely–typed languages, we are about to experience a renaissance of innovation in programming languages. Come hear why this is, and what practicing programmers need to do in order to ride the forefront – instead of the trailing edge – of this new wave in computer science. |  Ted Neward is a Principal Consultant with ThoughtWorks, an international consulting firm specializsing in project delivery on time, under budget, and feature–complete. | |
| Read more Watch movie |
| Ayende Rahien | CANCELLED: Building Multi Tenant Applications | | Read more |
| Michael Feathers | Seven Blind Alleys in Software Design
Level 100 Time: 10:15 - 11:15 (Track 5) | Michael Feathers | Seven Blind Alleys in Software Design
Level 100 Software development is not very old, but it is old enough for us to have seen some of the same unproductive ideas repeat themselves. These ideas are "blind alleys" which seduce each new generation of developers, managers, and researchers. In this session, Michael Feathers will describe these ideas and talk about how we might put them completely to rest. |  Michael Feathers is a senior member of Object Mentor team. He provides training, coaching and mentoring services in Agile⁄XP programming practices, test–driven development, refactoring, object–oriented design, Java, C#, and C++. | |
| Read more Watch movie |
| | Sahil Malik | 10 things you wish they told you about Sharepoint 2007
Level 100 Time: 10:15 - 11:15 (Track 7) | Sahil Malik | 10 things you wish they told you about Sharepoint 2007
Level 100 So you have landed into a SharePoint project. Good. Now listen up! This is not your daddy's .NET project. It is not even your grand daddy's COM project. This is .. well .. different! In this (humorous) session Sahil shares a few things he learnt the hard way in various SharePoint projects. Some of these tips are for the manager, some are for the architect, but many are for you – the poor developer who has to realize all those crazy promises everyone made.
Level: 100 |  Sahil Malik is a Microsoft MVP (Currently in SharePoint server competency, previously C#), INETA Speaker, a .NET author, consultant and trainer and a well–rounded overweight geek. | |
| | Read more |
| | | | Jonas Follesø | MVVM Patterns for Silverlight and WPF applications
Level 300 Time: 11:30 - 12:30 (Track 1) | Jonas Follesø | MVVM Patterns for Silverlight and WPF applications
Level 300 This is something I have been blogging about, thinking about and talking about a lot in 2008. Josh Smith did an article on the pattern in MSDN magazine which is a good "summary" – check it out.
The basic idea is building ViewModel classes which holds the state of the View, and the View is data bound to the ViewModel. Commands are used for operations. Using this technique you can build zero–code–behind XAML files. Throw in some mocking and dependency injection to generate design time data, and this pattern can also provide great design time support in Blend.*
Level: 300 |  Jonas is a senior consultant at Capgemini in Trondheim. He has broad experience and in–depth knowledge of the .NET Framework, ASP.NET, WPF, Silverlight and the C# programming language. | |
| Read more Watch movie |
| Scott Hanselman | Making Your Blog Suck Less: Social Networking and Your Personal Brand Online
Level 200 Time: 11:30 - 12:30 (Track 2) | Scott Hanselman | Making Your Blog Suck Less: Social Networking and Your Personal Brand Online
Level 200 Join Scott Hanselman as he talks about why you should blog and how you should do it. How much effort should you put into your Personal Brand online? Is Social Networking appropriate for Developers or should they hide in dark rooms and avoid other humans. Learn his rules (and when to break them) for making your blog Suck Less.
Level: 200
|  Scott Hanselman works for Microsoft as a Senior Program Manager in the Developer Division, aiming to spread the good word about developing software, most often on the Microsoft stack. | |
| Read more Watch movie |
| Luca Bolognese | The Future of C#
Level 300 Time: 11:30 - 12:30 (Track 3) | Luca Bolognese | The Future of C#
Level 300 In this session, Luca Bolognese, Principal Program Manager for the languages team in Microsoft, outlines the future of C#. He will describe the many forces that influence and shape the future of programming languages and explain how they fit into C#.
Level: 300 |  Luca Bolognese is Principal Group Program Manager for the Languages Team in Microsoft. He is responsible for C#, VB and F# languages, compilers and IDEs. Before the current gig, he was responsible for the LINQ project. | |
| Read more Watch movie |
| Udi Dahan | Reliability, Availability, and Scalability - How to have your cake, and eat it too
Level 300 Time: 11:30 - 12:30 (Track 4) | Udi Dahan | Reliability, Availability, and Scalability - How to have your cake, and eat it too
Level 300 Architects love the word “scalability”. We talk about transactions per second and page views per day and on and on. Of course, none of that scalability means anything if the system is down or if data gets lost or corrupted. Finding the right balance between reliability, availability, and scalability for the various parts of a system is critical to avoid unnecessarily costly solutions.
This presentation will show a set of patterns that strikes this balance, their connection to supporting technologies, and their applicability across many enterprise domains. You can have it all.
Level: 300
|  Udi Dahan is The Software Simplist, recognized by Microsoft Corporation with the coveted Most Valuable Professional award for Solutions Architecture now 4 years running. | |
| Read more Watch movie |
| Michael Feathers | Working Effectively with the Legacy Code: Taming the Wild Code Base
Level 200-300 Time: 11:30 - 12:30 (Track 5) | Michael Feathers | Working Effectively with the Legacy Code: Taming the Wild Code Base
Level 200-300 You have inherited millions of lines of legacy code. What do you do? There are no silver bullets, but you can make your code a better place to work through a regimen of systematic dependency breaking, testing, and refactoring. In this talk, Michael Feathers will outline the first steps, a set of strategies you can use to start to gain control over your code. |  Michael Feathers is a senior member of Object Mentor team. He provides training, coaching and mentoring services in Agile⁄XP programming practices, test–driven development, refactoring, object–oriented design, Java, C#, and C++. | |
| Read more Watch movie |
| Richard Campbell | The Scaling Habits of ASP.NET Applications
Level 300 Time: 11:30 - 12:30 (Track 6) | Richard Campbell | The Scaling Habits of ASP.NET Applications
Level 300 As our ASP.NET Web applications become more and more successful we switch our focus from adding features to performance, scale, and management. Richard has been in the lab studying the scaling habits of the average domestic ASP.NET solution and has emerged to discuss his findings. (No applications were actually harmed during the capture of this data.) Come and learn where ASP.NET stumbles and how to get it back on its feet.
In this session you will learn about the web acceleration equation, identify common ASP.NET bottlenecks, explore solution alternatives, uncover the secret sauce, and determine a reasonable strategy for scaling ASP.NET applications. |  Richard Campbell is a Microsoft Regional Director, MVP and co–host of .NET Rocks!, the Internet Audio Talkshow for .NET Developers as well as host of RunAs Radio, the podcast for Microsoft IT Professionals. | |
| | Read more |
| Sahil Malik | Create Compelling Sharepoint Uls Using Silverlight
Level 400 Time: 11:30 - 12:30 (Track 7) | Sahil Malik | Create Compelling Sharepoint Uls Using Silverlight
Level 400 Silverlight is one of the most exciting things to come out of Microsoft lately. In this session, Sahil cooks up a practical and interesting completely hands–on demonstration of how to use Silverlight in SharePoint. Not only does he talk of various details of Silverlight, along with proper deployment of silverlight projects in SharePoint, he also mixes WCF and demonstrates using Silverlight with full access to the SharePoint object model. You should attend if you are interested in either Silverlight, SharePoint, WCF, or any cocktail of the above.
Level: 400 |  Sahil Malik is a Microsoft MVP (Currently in SharePoint server competency, previously C#), INETA Speaker, a .NET author, consultant and trainer and a well–rounded overweight geek. | |
| | Read more |
| | | | Tim Huckaby | Declarative UI Programming with XAML: Windows Presentation Foundation, Silverlight & Surface
Level 100-200 Time: 13:30 - 14:30 (Track 1) | Tim Huckaby | Declarative UI Programming with XAML: Windows Presentation Foundation, Silverlight & Surface
Level 100-200 XAML has become the de facto declarative language for UI development on the Microsoft platform spanning Windows, Web and the Microsoft Surface. This transformation to a single declarative language for all platforms has enabled Microsoft to deliver on the bold promise of a cross platform user experience programming model for the future.
In this unique session we take a look at how knowledge of XAML and .NET languages like C# and VB.NET allow you to develop applications for Windows Presentation Foundation (WPF), the Web (Silverlight) and the Microsoft Surface using the same coding constructs and idioms. In this demo packed session we will take a look at how graphics, animations, data binding, styles and templates are commonly implemented on these platforms and how XAML makes all of this possible.
Level: 100–200 |  Tim Huckaby is currently focused on RIA & Smart Client Technologies like WPF, VSTO, Surface, and Silverlight. He has been called a “Pioneer of the Smart Client Revolution” by the press. | |
| Read more Watch movie |
| Phil Haack | Black Belt Ninja Tips ASP.NET MVC
Level 300 Time: 13:30 - 14:30 (Track 2) | Phil Haack | Black Belt Ninja Tips ASP.NET MVC
Level 300 Having the customer on your back to deliver features on time and under budget with tight deadlines can make you feel like you are being chased by ninjas on fire. In this talk we will walk through several tips and tricks to get the most out of the ASP.NET MVC framework and deliver work quickly and with style.
Come join the PM and lead developer for the ASP.NET MVC Framework as they walk through how to leverage and make the most of several key features of the ASP.NET MVC Framework.
Level: 300 |  Phil Haack is a Senior Program Manager with the ASP.NET team currently focused on the ASP.NET MVC Framework. | |
| Read more Watch movie |
| Michael Feathers | Functional Thinking for Object-Oriented Designers
Level 300 Time: 13:30 - 14:30 (Track 3) | Michael Feathers | Functional Thinking for Object-Oriented Designers
Level 300 Over the past few years there has been a resurgence of interest in functional programming. Old languages are gaining functional features and hybrid OO⁄FP languages like F# and Scala are gaining mind–share.
In this talk, Michael Feathers will describe the systematic alterations of thought process which designers must make to bridge the gap between object oriented and functional design. He will also describe a set of criteria which can be used to make contextual trade offs among the two approaches. |  Michael Feathers is a senior member of Object Mentor team. He provides training, coaching and mentoring services in Agile⁄XP programming practices, test–driven development, refactoring, object–oriented design, Java, C#, and C++. | |
| Read more Watch movie |
| Robert C. Martin | Clean Code: Functions
Level 300 Time: 13:30 - 14:30 (Track 4) | Robert C. Martin | Clean Code: Functions
Level 300 Get ready for a challenge as Robert Martin dives deep into the topic of clean code by examining what makes a good function. In this talk you will look at a lot of code; some good and some bad. You will experience how such code is analyzed, critiqued, and eventually refactored. You will understand the decisions made by an expert in the field as bad code is gradually transformed into good code. How big should a function be? How should it be named? How should it be documented. How many indent levels should it have? How should it deal with exceptions, arguments, and return values. This talk is all about code at the lowest level. And yet the principles and techniques presented have far reaching implications.
Level: 300 |  Robert C. Martin has been a software professional since 1970. In the last 35 years, he has worked in various capacities on literally hundreds of software projects. | |
| Read more Watch movie |
| Jeremy D. Miller | Lessons Learned from a Long Lived Codebase
Level 300 Time: 13:30 - 14:30 (Track 5) | Jeremy D. Miller | Lessons Learned from a Long Lived Codebase
Level 300 This is a talk about Jeremy's experiences with StructureMap. It covers what he learned in the act of heavily modifying a codebase over 5 years, plus the differences in techniques and attitudes over those 5 years.
Jeremy talks about creating good abstractions, the design decisions that caused him grief, and the refactorings that opened up new possibilities. He also talk about how the user expectations and developer attitudes have changed over time. Lastly, he will spend quite a bit of time talking about the lessons he learned about using TDD over time – the kinds of tests that were helpful, the friction that he caused himself by writing tests poorly, how to organize unit tests, and why his StructureMap experience finally convinced him that Behavioral Driven Development really is a better way to practice TDD.
Level: 300 |  Jeremy began his IT career writing "Shadow IT" applications to automate his engineering documentation, then wandered into software development because it looked like more fun. | |
| Read more Watch movie |
| Juval Löwy | Productive Windows Communication Foundation
Level 300 Time: 13:30 - 14:30 (Track 6) | Juval Löwy | Productive Windows Communication Foundation
Level 300 Windows Communication Foundation (WCF) has much more to it than the raw aspects of the technology. This talk is all about how to deal with common real life hurdles, and how to effectively apply WCF, by presenting a set of tools, tips, tricks, best practices, original utilities and ideas that can enhance your productivity significantly.
This content–packed talk includes working with WCF–provided test host and clients, instrumentation, tracing and logging, in–proc factory, operation overloading, data contract helpers, type–safe callback proxies, fault debugging techniques, turning Windows Forms into services for easy UI updates, and queued services setup helper classes. All the techniques presented are used in real life projects.
Level: 300 |  Juval Löwy is a software architect and the principal of IDesign ( www.idesign.net), specializing in .NET 3.0 architecture consulting and advanced .NET 3.0 training. Juval is Microsoft’s Regional Director for Silicon Valley, working with Microsoft on helping the industry adopt .NET 3.0. | |
| | Read more |
| Sahil Malik | Why Content Types Are Your Friends
Level 300 Time: 13:30 - 14:30 (Track 7) | Sahil Malik | Why Content Types Are Your Friends
Level 300 Content types, we have all used them, we all like them. But they take a special meaning in an ECM project delivery. In this talk, Sahil tasks.
Level: 300 |  Sahil Malik is a Microsoft MVP (Currently in SharePoint server competency, previously C#), INETA Speaker, a .NET author, consultant and trainer and a well–rounded overweight geek. | |
| | Read more |
| | | | Ian Griffiths | Writing Custom Windows Presentation Foundation Pixel Shader Effects
Level 400 Time: 14:45 - 15:45 (Track 1) | Ian Griffiths | Writing Custom Windows Presentation Foundation Pixel Shader Effects
Level 400 Image processing effects in WPF such as glows and drop shadows can greatly enhance the visuals of an application. They used to be prohibitively expensive, typically resulting in a constant fight between design professionals and performance engineers. Fortunately, service pack 1 of .NET 3.5 introduced hardware–accelerated effects.
This session will show how you can harness modern graphics cards' pixel shaders to produce a variety of visual effects.
Level: 400 |  Ian Griffiths is a member of the technical staff at Pluralsight, where he focuses on the presentation layer curriculum. Ian is also an independent consultant, developer, speaker, and author. | |
| Read more Watch movie |
| Phil Haack | ASP.NET MVC + AJAX = meant for each other
Level 100-200 Time: 14:45 - 15:45 (Track 2) | Phil Haack | ASP.NET MVC + AJAX = meant for each other
Level 100-200 The web today is a very dynamic place, so why are developers still making relatively static websites like it's still 1999?
In this talk, we will walk through several tips and techniques for using AJAX to add a bit of pop to your ASP.NET MVC application and make it much more responsive. Your end users will thank you.
Level: 100–200
|  Phil Haack is a Senior Program Manager with the ASP.NET team currently focused on the ASP.NET MVC Framework. | |
| Read more Watch movie |
| Luca Bolognese | An Introduction to Microsoft F#
Level 300 Time: 14:45 - 15:45 (Track 3) | Luca Bolognese | An Introduction to Microsoft F#
Level 300 Learn about Microsoft's new language, F#, a typed functional programming language for the Microsoft .NET Framework. F# combines functional programming with the runtime support, libraries, tools, and object model of .NET. Understand how F# asynchronous workflows help tame the complexity of parallel and asynchronous I⁄O programming and how to use F# in conjunction with tools such as Parallel Extensions for .NET.
Level: 300 |  Luca Bolognese is Principal Group Program Manager for the Languages Team in Microsoft. He is responsible for C#, VB and F# languages, compilers and IDEs. Before the current gig, he was responsible for the LINQ project. | |
| Read more Watch movie |
| Rockford Lhotka | Implementing Permission-based Authorization in a Role-based World
Level 300 Time: 14:45 - 15:45 (Track 4) | Rockford Lhotka | Implementing Permission-based Authorization in a Role-based World
Level 300 The .NET framework provides a role–based authorization model using principal and identity (sometimes called User) objects. For many applications a role–based model is too simplistic, because users have roles, but roles have sets of permissions. In this session you will learn various techniques to leverage the built–in .NET authorization mechanism, while still enabling a richer and more capable permission–based authorization model for your application. |  Rockford Lhotka is the creator of the popular CSLA .NET development framework, and is the author of numerous books, including Expert C# 2008 Business Objects and Expert VB 2008 Business Objects. | |
| | Read more |
| Richard Campbell | The Scaling IQ Test: When Development and IT Pros Collide
Level 300 Time: 14:45 - 15:45 (Track 6) | Richard Campbell | The Scaling IQ Test: When Development and IT Pros Collide
Level 300 There comes a time in every web application's life where it must pass from the nest of development to the skies of operations. Once a web application grows to a certain size most of the effort around the application focuses on keeping it operating properly, rather than building it. When that time comes, there is a meeting – between the development team and the network administration team. At that meeting (if it's a good one), key information is passed between the two teams: Everything that developers need to know about the network, and everything that the network administrators need to know about the application. It's a test – and if you fail it, your application will too. This session explores exactly what each team needs to know to pass.
|  Richard Campbell is a Microsoft Regional Director, MVP and co–host of .NET Rocks!, the Internet Audio Talkshow for .NET Developers as well as host of RunAs Radio, the podcast for Microsoft IT Professionals. | |
| Read more Watch movie |
| Juval Löwy | Zen of Architecture
Level 300 Time: 14:45 - 15:45 (Track 7) | Juval Löwy | Zen of Architecture
Level 300 Wonder about architecture best practices, guidelines and pitfalls? Wonder how to design world–class systems? You understand the concepts but not how to apply them?
In the first half of this high pace session, Juval will explain his original approach to large system analysis design. Then, he will discuss logical tiers, security, interoperability, scalability, transactions, and other aspects of a modern application.
You will see how to approach rarely discussed topics such as allocation of services to assemblies, allocation of services to processes, transaction boundaries, identity management, authorization and authentication boundaries and more.
Level: 300 |  Juval Löwy is a software architect and the principal of IDesign ( www.idesign.net), specializing in .NET 3.0 architecture consulting and advanced .NET 3.0 training. Juval is Microsoft’s Regional Director for Silicon Valley, working with Microsoft on helping the industry adopt .NET 3.0. | |
| | Read more |
| Udi Dahan | Designing High Performance, Persistent Domain Models
Level 300 Time: 14:45 - 15:45 (Track 7) | Udi Dahan | Designing High Performance, Persistent Domain Models
Level 300 Discover how denormalizing your OLTP database schemas and your object models can improve your systems performance – even for complex business logic scenarios. We will be touching on tips and tricks that Amazon and EBay employ to improve throughput.
This session will show you when to use lazy loading, eager fetching, and other high–performance persistence techniques as well as how to encapsulate this complexity keeping client code loosely coupled.
Level: 300 |  Udi Dahan is The Software Simplist, recognized by Microsoft Corporation with the coveted Most Valuable Professional award for Solutions Architecture now 4 years running. | |
| | Read more |
| | | | Tim Huckaby | Building Data Visualization Applications with the Windows Presentation Foundation
Level 100-200 Time: 16:00 - 17:00 (Track 1) | Tim Huckaby | Building Data Visualization Applications with the Windows Presentation Foundation
Level 100-200 This session will be heavily demo focused to accentuate how the power of the Windows Presentation Foundation (WPF) can be used to visualize data. WPF is the next–generation presentation sub–system for Windows. It provides developers and designers with a unified programming model for building rich Windows smart client user experiences that incorporate UI, media, and documents. WPF uses vector based graphics rendering, which results in better graphics and presentation for an application. WPF also has other features such as layout, styling, and data binding, which, when you mix with interactivity, enables scenarios such as interactive data visualization.
When you put all this together, you have a unified API for various presentation components, such as 2D and 3D documents and declarative programming through XAML, which is a powerful platform for data visualization that can be used to really "light–up" your enterprise applications.
WPF is manifested in 3 major application platforms (Windows Client, Silverlight and Microsoft Surface) and all will be covered in this session at some level.
Level: 100–200 |  Tim Huckaby is currently focused on RIA & Smart Client Technologies like WPF, VSTO, Surface, and Silverlight. He has been called a “Pioneer of the Smart Client Revolution” by the press. | |
| Read more Watch movie |
| Phil Haack Scott Hanselman | The Haacked and Hanselman Show
Level 300 Time: 16:00 - 17:00 (Track 2) | Phil HaackScott Hanselman | The Haacked and Hanselman Show
Level 300 Join Phil Haack (PhilHa) and Scott Hanselman (ScottHa) for this dynamic and unusual session. The HaHa brothers will take turns implementing features on a Web Site. One will write a feature, and the other will exploit it, and hack into the system. We will then analyze the exploit and close it.
Level: 300 |  Phil Haack is a Senior Program Manager with the ASP.NET team currently focused on the ASP.NET MVC Framework.
 Scott Hanselman works for Microsoft as a Senior Program Manager in the Developer Division, aiming to spread the good word about developing software, most often on the Microsoft stack. | |
| Read more Watch movie |
| Ted Neward | The Busy Developer's Guide to ECMA(Java)Script
Level 200 Time: 16:00 - 17:00 (Track 3) | Ted Neward | The Busy Developer's Guide to ECMA(Java)Script
Level 200 ECMAScript, better known by its original name, Javascript, remains one of the most popular – and misunderstood – programming languages in use today. While most developers see Javascript as a crippled form of its namesake (Java), it turns out that ECMAScript represents a powerful dynamically–typed language, easily equal to the other popular dynamic languages of the day (Python or Ruby).
In this presentation, we will take a fresh look at the ECMAScript language, examine its basic structure and syntax, and look at how it manages objects internally. Then, with the basics out of the way, we will start to examine the more interesting parts of the language, and wrap up with some discussion of how ECMAScript can be integrated into more than just a web browser to provide extension capabilities. |  Ted Neward is a Principal Consultant with ThoughtWorks, an international consulting firm specializsing in project delivery on time, under budget, and feature–complete. | |
| Read more Watch movie |
| Jonas Follesø | Building Business Applications in Silverlight 3
Level 200 Time: 16:00 - 17:00 (Track 4) | Jonas Follesø | Building Business Applications in Silverlight 3
Level 200 This session will be a more "practical" example of how to apply the MVVM pattern in a Silverlight context. The session will also cover some of the "hard" problems like how to deal with authentication, and how to take advantage of some of the new stuff in SL3 (offline ⁄ alexandria).
Level: 200 |  Jonas is a senior consultant at Capgemini in Trondheim. He has broad experience and in–depth knowledge of the .NET Framework, ASP.NET, WPF, Silverlight and the C# programming language. | |
| Read more Watch movie |
| Udi Dahan | Intentions and Interfaces - Making Patterns Complete
Level 200 Time: 16:00 - 17:00 (Track 5) | Udi Dahan | Intentions and Interfaces - Making Patterns Complete
Level 200 The pattern movement is shifting into high gear. Not only are more patterns coming out, but they are at higher levels and have deeper meanings than ever before. Unfortunately, many developers are having problems incorporating these patterns in day–to–day development.
In this session, we will see the practical aspects of intentional, interface–based programming that are at the core of almost all advanced patterns. From validation to data access and service layers, you will leave this session being able to write more maintainable, intention–revealing code than before.
Level: 200 |  Udi Dahan is The Software Simplist, recognized by Microsoft Corporation with the coveted Most Valuable Professional award for Solutions Architecture now 4 years running. | |
| Read more Watch movie |
| Carl Franklin | Memory Management in .NET
Level 300 Time: 16:00 - 17:00 (Track 6) | Carl Franklin | Memory Management in .NET
Level 300 If you write .NET code you must understand your dutiful responsibilities to avoid memory leaks and make garbage collection as efficient as possible. When you use COM Interop you may be leaving unmanaged objects stranded! Carl shows the what, how, and why of .NET memory management.
Level 300 |  | |
| | Read more |
| Juval Löwy | Durable Windows Communication Foundation Services
Level 300 Time: 16:00 - 17:00 (Track 7) | Juval Löwy | Durable Windows Communication Foundation Services
Level 300 Consider using Windows Communication Foundation (WCF) to implement long–running workflows or execution sequences that last days or even weeks, where the clients may connect, do some work and disconnect again. There is obviously little point in keeping proxies and hosts in memory, since it is not robust or scalable enough. You can deign around this by persisting the state of the service between operations, but that implies some ability to connect back to that state in each operation.
The session starts by discussing the challenges of writing such a durable service and the design options, and then demonstrates several ways of managing and binding to the service state, using message headers, or the new .NET 3.5 context binding, contrasting and evaluating the alternatives. Through a series of conceptual demos, the session demystifies the WCF–solution of persistence providers, and even how to write a custom provider or use the built–in SQL provider. You will also see some advanced .NET and WCF programming techniques.
Level: 400 |  Juval Löwy is a software architect and the principal of IDesign ( www.idesign.net), specializing in .NET 3.0 architecture consulting and advanced .NET 3.0 training. Juval is Microsoft’s Regional Director for Silicon Valley, working with Microsoft on helping the industry adopt .NET 3.0. | |
| | Read more |
| | | | Jeremy D. Miller | Presentation Patterns for Composite Applications
Level 300 Time: 17:15 - 18:15 (Track 1) | Jeremy D. Miller | Presentation Patterns for Composite Applications
Level 300 Strictly out of selfishness to coincide with his book, Jeremy does a talk on the design patterns you might use to build composite desktop applications. He will teach you about coordinating screens and services with the Event Aggregator pattern, some of his homegrown patterns for screen activation lifecycle, and using an IoC tool to make a very extensible application architecture. Do not be surprised if he dips into testability concerns along the way.
Level: 300 |  Jeremy began his IT career writing "Shadow IT" applications to automate his engineering documentation, then wandered into software development because it looked like more fun. | |
| Read more Watch movie |
| Scott Bellware | NEW SESSION: How to scare C# developers with Ruby
Level 300 Time: 17:15 - 18:15 (Track 2) | Scott Bellware | NEW SESSION: How to scare C# developers with Ruby
Level 300 |  Scott Bellware is a software product designer, developer, manager, and agile coach living in Austin, Texas. He is a five–time recipient of Microsoft's Most Valuable Professional award and the founder of the AgileATX community of agile software practitioners in Austin. | |
| | Read more |
| Ayende Rahien | Writing Domain Specific Languages in Boo
Level 300 Time: 17:15 - 18:15 (Track 3) | Ayende Rahien | Writing Domain Specific Languages in Boo
Level 300 Domain Specific Language (DSL) is not just the DSL SDK from Microsoft. A DSL can make working with the domain much easier, since you are capable of leveraging the domain concepts directly.
The other alternative to a DSL is an XML file, and we all know how well declarative model can work when you need imperative concepts, just consider NAnt for a minute and you will see the issue. Usually, writing a DSL in .NET would be a complex issue, requiring writing a parser, interpreter, etc. Boo already handles all of that, and its open architecture means that it is very easy to extend it to express the concepts of the domain.
This talk will show you how to build DSLs in Boo and how to utilize this power in your applications.
Level: 300 |  Ayende Rahien, or Oren Eini which is his real name, is an independent consultant based in Israel. His main focus is on architecture and best practices that promote quality software and zero–friction development. | |
| Read more Watch movie |
| Tim Huckaby | Integrating Windows Presentation Foundation and Windows Communications Foundation into Your Office Business Applications
Level 200 Time: 17:15 - 18:15 (Track 4) | Tim Huckaby | Integrating Windows Presentation Foundation and Windows Communications Foundation into Your Office Business Applications
Level 200 This session will highlight many of the ways that the Windows Presentation Foundation (WPF) and the Windows Communications Foundation (WCF) can be leveraged in Office applications built with Visual Studio Tools for the Office System (VSTO).
Visual Studio® 2008 introduced an array of new features aimed at a wide range of Office solution types. With Visual Studio 2008, you can build solutions that incorporate the native capabilities of the Office client applications (like Outlook) combined with the sophisticated UI capabilities of WPF that's connected to remote data and services via WCF and use the RAD features of LINQ to manipulate that data. These new technologies provide opportunities for building powerful solutions with functionality that was previously difficult or impossible to achieve.
Now that Office has evolved into a true development platform, office–based solutions are becoming increasingly sophisticated, less document–focused, and more loosely coupled. This session will show you how easy it is to build robust solutions that leverage the latest technologies.
Level: 200 |  Tim Huckaby is currently focused on RIA & Smart Client Technologies like WPF, VSTO, Surface, and Silverlight. He has been called a “Pioneer of the Smart Client Revolution” by the press. | |
| Read more Watch movie |
| Michael Feathers | Design Sense Deep Lessons in Software Design
Level 300 Time: 17:15 - 18:15 (Track 5) | Michael Feathers | Design Sense Deep Lessons in Software Design
Level 300 Agile software development has been a rediscovery of simplicity, but that simplicity arose out of considerable complexity. People spent years investigating the foundations of software, elucidating principles, and formulating patterns. In this session, Michael Feathers will talk about some of the deeper truths of software structure – ideas which underly the principles and patterns and are not as well known today as they should be. |  Michael Feathers is a senior member of Object Mentor team. He provides training, coaching and mentoring services in Agile⁄XP programming practices, test–driven development, refactoring, object–oriented design, Java, C#, and C++. | |
| Read more Watch movie |
| | Juval Löwy | Introducing the .NET Service Bus
Level 300 Time: 17:15 - 18:15 (Track 7) | Juval Löwy | Introducing the .NET Service Bus
Level 300 The .NET services bus is part of the new Microsoft Cloud Computing Windows Azure initiative, and arguably, it is the most accessible, ready to use, powerful, and needed piece. The service bus allows clients to connects to services across any machine, network, firewall, NAT, routers, load balancers, virtualization, IP and DNS as if they were part of the same local network, and doing all that without compromising on the programming model or security. The service bus also supports callbacks, event publishing, authentication and authorization and doing all that in a WCF–friendly manner.
This session will present the service bus programming model, how to configure and administer service bus solutions, working with the dedicated relay bindings including the available communication modes, relying on authentication in the cloud for local services and the various authentication options, and how to provide for end–to–end security through the relay service. You will also see some advanced WCF programming techniques, original helper classes, productivity–enhancing utilities and tools, as well as discussion of design best practices and pitfalls.
Level: 300 |  Juval Löwy is a software architect and the principal of IDesign ( www.idesign.net), specializing in .NET 3.0 architecture consulting and advanced .NET 3.0 training. Juval is Microsoft’s Regional Director for Silicon Valley, working with Microsoft on helping the industry adopt .NET 3.0. | |
| | Read more |
|
|
|  |
|
|
|