Read more about the sessions of Vermont Code Camp 2010.
.NET (Room 1)
An overview of Silverlight, review of new features in Silverlight 4, Data binding, WCF RIA and much more!
With the release of Silverlight 4 more and more developers are looking to develop in Silverlight, especially with the introduction of Windows Phone 7. In this presentation anyone starting out, or even currently developing with Silverlight, will learn important information regarding this development platform, as well as look into how to create data-driven applications with Silverlight.
Visual Studio 2010 represents the first complete rewrite of Visual Studio since the creation of .NET. It presents several new ways to make your life as a developer more efficient, and is a great time to look back at the myriad of features from earlier versions of Visual Studio. You'll see keyboard shortcuts, new dialogs, hidden features of dialogs, debugging enhancements, focusing on the gems that are getting the least attention. Searching and navigating code gets extra time because it's such an important part of your everyday coding. You'll see macros in action and learn a bit about custom start pages and extensions. This talk focuses on making you more efficient in Visual Studio Professional edition and above in Visual Studio 2010, but many of the features are available in Visual Studio 2008 and lower versions. Come to this talk to learn how to shave hours off your coding experience.
Building Cloud-Native Applications with Windows Azure (Bill Wilder) 1:45pm-3:00pm
Cloud computing is here to stay, and it is never too soon to begin understanding the impact it will have on application architecture. In this talk we will discuss the two most significant architectural mind-shifts, discussing the key patterns generally and seeing how these new cloud patterns map naturally into specific programming practices in Windows Azure. Specifically this relates to (a) Azure Roles and Queues and how to combine them using cloud-friendly design patterns, and (b) the combination of relational data and non-relational data, how to decide among them, and how to combine them. The goal is for mere mortals to build highly reliable applications that scale economically. The concepts discussed in this talk are relevant for developers and architects building systems for the cloud today, or who want to be prepared to move to the cloud in the future.
They can be used everywhere a delegate is needed, they're handy and very sexy… They're lambdas and if you already know what lambdas are then let me show you a few things you can do with them! We'll start this session with an introduction to the concept of lambdas and then explore spicy lambda examples that will show you more on their potential! Next we'll talk about Extension Methods! Extensions are very easy to use and you should start digging into them if it's not already part of your project. You'll get a chance to explore this subject featuring an Open Source project you can all bring back home.
Prism Introduction – A Look Into the New Release of Prism 4.0 (CTP) (Kathleen MacMahon) 5:00pm-6:15pm
Prism is designed to help you more easily build modular Windows Presentation Foundation (WPF) and Silverlight client applications. These types of applications typically feature multiple screens, rich, flexible user interaction and data visualization, and role-determined behavior. They are "built to last" and "built for change." This means that the application's expected lifetime is measured in years and that it will change in response to new, unforeseen requirements. This application may start small and over time evolve into a composite client—composite applications use loosely coupled, independently evolvable pieces that work together in the overall application. This guidance is intended for software architects and software developers building enterprise Windows Presentation Foundation (WPF) or Silverlight applications. The Prism Library is built on the Microsoft .NET Framework 4.0 (includes WPF) and Silverlight 4 (previous versions support .NET Framework 3.5 and Silverlight 3), and it uses a number of software design patterns. Familiarity with these technologies and patterns is useful for evaluating and adopting the Prism Library. This presentation will cover answers to the following questions:
- What is Prism and what does it mean for your current or upcoming project?
- What are the pros and cons of adopting all or a subset of Prism practices?
- What are the major/breaking changes in this latest release?
- Where to get it and what assets are included?
Mostly .NET (Room 2)
Learn what it takes to develop games for the next gaming platform, Windows Phone 7.
Take a look at developing 2D and 3D games that leverage more advance features of the Window Phone 7 like accelerometer and networking.
SSIS is more than appropriate tool for ETL development. It is very flexible and can be used as the main tool for your data warehouse / BI application. In this session, I will demonstrate:- Best practices using package configurations- Usage of logging to record package runs statistics- How to recover from an ETL application crash- ETL application deployment I will share my best practices on the above topics based on my previous experiences. This session can lead to ETL best practices discussions, which would be beneficial for all attendees.
Composable applications are made of building blocks – like Legos. Composability is an extension of many ideas that have fueled architecture evolution in the last twenty years, including isolation, the creation of tiers, and testable applications. Silverlight and .NET now contain the Managed Extensibility Framework or MEF to provide composability. MEF is available in .NET 3.5 and Silverlight 3.0 via downloads and in the box for .NET 4.0 and Silverlight 4.0. In the first part of this talk, I'll cover what composability is and the three broad categories – extensions, fully composed applications, and architecturally composed applications. The second part of the talk dives into the technical aspects of MEF and how to use it. MEF itself is fully extensible with many possible models for defining composition parts. I'll skip the theoretical approaches and stick with the mainstream attributed model. You'll learn how to incorporate this attributed model into your own applications to define and retrieve parts. The end of the talk will briefly cover the challenges of debugging MEF, including an introduction to stable composition and its implications. You'll leave understanding when MEF might be a good fit for your applications today and insight into how profoundly composability is likely to change architectures in the relatively near future.
Microsoft's upcoming entry into the new-generation smart-phone market features Silverlight as the platform for application development. This presentation will go over the fundamentals of using Silverlight to develop rich, interactive applications for this emerging platform.
Platform Agnostic (Room 3)
You are a developer working on a project that needs a good user interface to be successful. But there's a problem: you aren't an experienced UI designer and nobody else on your team is either. You are doing the best you can, but you know could do better. If only you knew more about UI design to help your team make better decisions…If this sounds familiar, join this session where I will present the fundamentals of UI design from the point of view of effective communication. UI design is ultimately all about communicating to users, both in terms of what you say and how you say it. If you can explain how to perform a task to someone in person in a way that's clear and concise, you can apply those same communication techniques to present the task to users using the language of UI. This talk will help you apply UI design skills that you didn't know you had.
How to Fail Miserably as a Cloud Software Provider: A Business Perspective (Jesse Kliza) 10:30am-11:45am
The supply side economics of the software business have changed. While many cloud solutions and services can provide a lower capital investment in moving applications to the cloud, the ongoing costs of operating as a SaaS provider are often overlooked. Software companies still face many challenges today in moving to the SaaS business model, and transforming their business to one of ongoing service delivery. This session will explore the key business and technical ingredients for success as a SaaS provider, and you'll learn why architecture still reigns in the Cloud.
The choice of tools and processes surrounding your application deployment process can have major impacts on development time, deployment speed, and disaster recovery. This session will focus on Dealer.com's migration to Git, Maven, Hudson, and a new branching strategy for consistent, repeatable, speedy builds.
We'll move from a brief overview of the hottest DVCS on the block into some real life examples of managing branching and merging and then onto some more advanced examples of what Git allows you to do. Bring a laptop with Git installed and you'll be able to follow along. http://git-scm.com/
Project "Dallas" is Microsoft's Data-as-a-Service offering, providing a common, and low-friction approach to a growing number of data sets from the Associated Press, NASA, the UN, and elsewhere. Use of the OpenData (or OData) specification enables applications written in practically any language to create mash-ups limited only by your imagination. Implemented on Microsoft's Windows Azure platform, project "Dallas" also serves as a real-world use case of cloud computing.
Are you writing unit tests? Have you considered test-driven development? Isn't it hard? And why spend all that time writing unit tests when you could be writing the code that you're actually supposed to??? Well, if this is how you feel about unit testing, behavior-driven development (and maybe even this session) just may be your answer. BDD is not much different than TDD in terms of the code itself. Stakeholders, testers, and developers share a common language that define the specifications that evolve right along with the system being built. These executable specifications not only describe how your application should work, they indicate when the system is not working as expected. Come see how with practice, you can actually write code faster and with fewer bugs than without having tests to support your efforts.
Open Source (Room 4)
PHP is a programming language well suited for building web scripts and web applications. We will talk briefly about the history of PHP. You will learn how to write a basic PHP script, declare variables, comment your code, use primitive data types, use operators, write conditionals, use iterators, and take advantage of data structures such as arrays. Available IDEs, frameworks, and other PHP tools such as PEAR will be discussed. You will see some practical examples of how PHP is used to solve real-world problems.
An introduction to the Ruby programming language. We will highlight a few key concepts of the ruby language, and walk through developing a simple Ruby script in order to discuss syntax, use of variables, arrays, operators, classes and methods.
If you've already spent time wrapping your head around the use of lambdas in LINQ, find out how to use that knowledge to make the full leap into functional languages and reap the rewards functional languages have to offer you. This stuff is Zen, dude!
More often than should be the case, web developers find themselves with the responsibility of implementing the visual design of a website or web application. However, they typically lack the experience to be effective. This session is a crash course in CSS—from fundamental concepts to best practices, and even some insider tips straight from a designer. While we won't talk about aesthetics or how to create design concepts, we will discuss what you need to implement, debug and maintain a visual design.
Enter the WebMatrix: ASP.NET, PHP, Open Source and the Web (Chris Bowen) 3:45pm-4:45pm
WebMatrix Beta is a free tool for easily developing ASP.NET and PHP web applications. You can start with an open source application (WordPress, DotNetNuke, Joomla, etc.) and customize it, or create your site from scratch. We'll take a look at installing, coding, data, testing, and deployment. We'll also delve into some of the related tech like ASP.NET Web Pages and the new "Razor" view engine.
An introduction to the Python programming language.
Speaker Room & Parlor Chat
Technology user groups are a great way to network, learn, share your expertise, meet experts, find job opportunities, and get help when needed. Don't have a local user group focused on the programming language or technology that you use? Start one! Learn what it takes to get started and how much of a commitment it is to organize. This will be a heavily interactive session so come prepared with plenty of questions, or, if you already organize a user group then come prepared with helpful tips to share.
MS Business Intelligence Fundamentals: Developing OLAP Cubes in SSAS 2008 R2 (Slava Kokaev) 1:45pm-3:00pm
This session focuses on the OLAP functionality of SQL Server Analysis Services 2008 R2, exploring the process of developing basic SSAS cubes and dimensions. You will learn how to extend the Unified Dimensional Model (UDM) with KPIs, actions, translations, and perspectives. And finely process and deploy SSAS database and objects into MS SQL Server 2008. We will learn how to:
- Create Data Sources and Data Source Views
- Create and Modifying SSAS Cubes
- Create and Modifying Dimensions
- Create Measure Groups and Measures
- Create KPIs, Actions, Translations, and Perspectives
- Process and Deploy SSAS Databases and Objects