Sessions

Despite being one of the foundational languages of modern programming, Smalltalk remains little known among mainstream programmers. As the first major object-oriented language, Smalltalk has had an indelible influence on every OO language of the past 30 years. This session will provide a gentle introduction to a free, cross-platform implementation of Smalltalk and a demonstration of web development using Seaside.

In this talk Rod Paddock will demonstrate how to add interesting dynamic features to your ASP.NET MVC applications using jQuery. Time will be spent demonstrating how to use the AJAX communucation functions and other cool jQuery features.

Take your Object Oriented applications to the next level. This session will talk about techniques and tools to help you better represent the problem domain your application is modeling. We’ll talk about (among other things):

The goal of this session is to learn the fundamentals of developing Android Applications, from project creation to installation on a physical device. More specifically, you should gain the knowledge of how to use basic development tools to support the application development process, as well as the key components of an Android application itself.

What is this ASP.NET MVC stuff anyway? How did we come to this, and why should I care? In this session, we will discuss the progression of ASP.NET architectural patterns and what each one did to further the maintainability and extensibility of the Active Server Pages web page development platform.

This session will step through the creation of a basic iPhone app, with an emphasis on using Xcode, Interface Builder, and Objective-C. No prior iPhone experience is required, but familiarity with C-family languages will be helpful.

In previous versions of SharePoint, deployment of code was overly complicated with manual configuration of solutions and features using XML files. Although, building code for a web past was pretty simple, getting that code to the server was a real nightmare for new developers. With Visual Studio 2010 this has all changed. In the first demo, we will build a web part and have it deployed and running on the server in less than two minutes. This talk will show you all of the new features in Visual Studio aimed at making the development experience easier. You will also learn about the new SharePoint Project Items and the difference between sandboxed and farm solutions.

Scrum and XP have found a strong following in the development community. But most non-development groups (such as Web Administrators, Production Support, Security, Testing, and Users/Stake Holders) inside the enterprise are far from agile, nor are they trying to move to be more agile. This session starts with a refresher on Scrum, and then uses real experiences from large enterprise development projects to show how to effectively work with those teams. Instead of trying to “convert” them, we discuss strategies to adapt to their needs while remaining agile in the development realm.

You’ve been learning about the core concepts of Object-Oriented Programming (OOP) for quite some time now: Abstraction, Encapsulation, Inheritance, and Polymorphism. When you thought you knew it all, all of a sudden the cool kids are talking about all these principles such as “Single Responsibility Principle”, “Open/Closed Principle”, “Dependency Inversion Principle”, as well as Inversion of Control containers, etc. This session presents those concepts so the attendees can understand what they are and start using right away.

Do you still use tables to layout your user interface? Do you still use the <font> tag or have presentation information scattered throughout your markup? Learn how to leverage CSS to separate your content and presentation, and the many benfits it provides. Review selectors, inheritance, and grouping. Learn common techniques for providing for a flexible layout and design that can be modified easily later. Discover the media attribute to target different styles for screen and print. Review the new CSS 3 improvements, and what browsers support them. See how to maximize performance when using CSS via proper use of HTTP compression, minification, and expirations.

Learn the “black art” of cryptography, including public/private and symmetric encryption, hashing, and a dash of salt. Review ASP.NET features that utilize cryptogrpahy such as viewstate. Discover .NET framework classes that can be leveraged to secure web sites by creating tamperproof querystrings.

The .Net framework has slowly evolved to allow for different programming paradigms. Over the recent versions, there have been a number of features added to allow for more declarative and functional programming options. In this session, we will explore the concepts of Delegates, Anonymous Delegates, Lambda Expressions, and Expressions and see how using them can add flexibility and functionality in our applications.

C# 4 brings dynamic features to the table, providing developers the ability to address certain scenarios that can’t be easily implemented in a statically typed language. That doesn’t mean C# is now a dynamic language, or that you should make everything dynamic; it means that we have a few additions to our toolbox that come in really handy when trying to nail some special cases that come our way. In this session we will take a look at how the dynamic features in C# 4 work, and scenarios where it makes sense to use them.

In this talk we will look at Entity Framework 4.0 and how to adhere to the Onion architecture while using generated domain classes, as well as the separation of context and class using T4 templates and Visual Studio Extensions.

We’ll take a look at what Behavior-Driven is, what makes it different from Test-Driven Development and what is the same. We’ll talk about why BDD came to be and how it rescues you from the pitfalls of TDD. We’ll look at some of the frameworks and even drive some code with BDD. Come see how BDD can help improve the design of your code.

While most enterprise applications are object-oriented, the data upon which they depend is not. Often, binding these two platforms together can result in significant amounts of lost productivity and a less than optimal solution.

Come see how you can resolve this recurring theme with the newest release of the ADO.NET Entity Framework.

In this session, we’ll…

• Explore the Entity Framework 4.0, its related components and show how it all works
• Demonstrate how to build a business object model (Entity Data Model) and database mappings, from a database, from a model or from code
• Walk through a variety of examples of how to interact with the model
• Take a close look at how and why EF 4.0 implements “Persistence Ignorance”
• Show how to implement Entity Framework in a multi-tiered application

You’ll walk-away with a clear understanding of how the Entity Framework 4.0 can greatly simplify your DAL and enable you to program against a conceptual model of your data, versus the actual data store itself.

Engage yourself in LINQ and change the way you work with data. Query and transform data from in-memory collections, XML sources and relational data with a unified set of tools and language extensions, while writing code that is cleaner, concise and free of fragile, hand-crafted query strings.

In this session, we’ll…

• See how LINQ shifts data operations from an imperative to a declarative style of programming, providing a single, unified approach to querying data
• Use LINQ to query data from different domains, including: In-memory, database, ADO.NET constructs and XML documents
• Explain LINQ fundamentals, including query operators, syntax, anonymous types, inferred relationships and deferred and immediate loading
• Drill into LINQ to Entities and the Microsoft Entity Framework
• Peak at the upcoming PLINQ, or Parallel LINQ extensions, available in VS 2010

You’ll walk-away with a clear understanding of how LINQ can help you write code that is cleaner, shorter and free of fragile, hand-crafted query strings.

With the introduction of Git and Mercurial five years ago, the popularity of distributed version control systems has skyrocketed. In January 2010, Microsoft began supporting Mercurial as a source control provider in their popular OSS project hosting site, CodePlex. Distributed version control systems offer many advantaged over their centralized counterparts such as Subversion and TFS, but only if used properly. In this session we’ll introduce the two most popular DVCS platforms used today, Git and Mercurial, and how these systems enable scenarios and options that are difficult or impossible in traditional centralized systems.

Web 2.0 is here to stay. jQuery is a JavaScript library that abstracts away all of the gory details of working with JavaScript for web applicatons. This session will demonstrate how to added Jquery to your ASP.NET applications today. This session will focus on proper uses of Jquery including how to organize your javascript code, how to use selectors in Jquery. How to manipulate your web content dynamically. Along with uses of the standard Jquery library time will also be spent exploring some of the most useful Jquery plugs ins.

Join us as we openly discuss the best mentoring methods of increasing technical and inner-office political skills aka “social intelligence”. Find out the positives and drawbacks of the various methods and the difficulties in dealing with technical employees and their unique social skill sets. Geared for the entry to mid-level manager and project manager.

Most of us use Visual Studio but do we really know how to USE it? Come to this session with Zain Naboulsi as we look at the top tips and tricks that can jet propel your use of your IDE. Marvel at simple editor features that you never think about all the way to arcane registry hacks that you can use to improve your programming experience.

Presented for the first time anywhere! This new session goes beyond “Tips and Tricks” to show you more advanced topics such as how to use commands, rolling your own templates, modifying auto-generated code, and more! Come and see what you have really been missing in your development environment!

The word usability usually brings to mind stopwatches, boring checklists and webcams focused on nervous testers. This session is not about that.

Using examples from the wild we’ll learn the right way and wrong way to design for your users. We’ll also learn how following a few simple rules while designing or coding any site or app will save you tons of time and effort over the life of your product.

Software development patterns have been around long before the MVC Framework gained momentum. In this session we will start with a review of Robert C. Martin’s (Uncle Bob) SOLID macronym. After building the proper foundation, we will look into the several development patterns, their C# implementation, and when and how they should be used in modern software development.

Technical Debt is a metaphor introduced by Ward Cunningham to describe the result of “Quick and Dirty” Software Design. Eventually, software projects will incur either accidental or strategic Technical Debt. What is the price of accumulating to much technical debt? How do we measure our Technical Debt? How do we pay down our Technical Debt? This session will provide the answers to these questions through a balance of presentation and real-world examples using various code analysis and metrics available within Visual Studio 2008.

Admit it. You always wait until the last minute to work out your deployment strategy. And invariably, it comes back to bite you when the app that worked perfectly on your machine crashes and burns when you push it out to production. The way to eliminate the pain associated with deployments is to make them predictable, repeatable, and automated. Microsoft’s latest deployment tool, MSDeploy, along with Visual Studio 2010, can help make this possible for you. We will cover:
-Creating web content packages
-Including database and IIS settings with deployment packages
-Importing and exporting packages
-Integration with a build system
-Using Web.config transforms for different deployments
-Integration with Database Projects
-One Click Publish

Understanding test driven development is all well and good, but that doesn’t mean you know how to approach a project from the start, to the finish, in a way that promotes good testing, and as such spends time testing behaviors not code. This workshop will walk through the process of working on a website, and test every piece along the way. More importantly it will discuss how to organize the work on a project in order to promote good design, and fewer unneeded artifacts.

Making apps and making money are two different things, and it’s important to understand the distinction. This session will explore the ins and outs of how to build a successful business around iPhone development, both as a consultant and an independent developer. No iPhone programming experience is required, but familiarity with the iPhone and App Store as a user will be helpful.