Code Camps are free events that are held by and for developers.  They focus on real, practical technical information that is presented through demonstrations.  Many user groups hold these sessions on weekends to help support the best attendance and availability.  The topics focus on a wide variety of subjects that are of interest to developers.  Examples include development methodologies, specific technical features, and development techniques.  You can find more information in the Code Camp Manifesto.

Austin Code Camp 2009 is scheduled for Saturday, May 30, 2009 and will be held at the St. Edwards Professional Education Center.  Past events have had hundreds of attendees with dozens of sessions.  If you’re in the area, I highly recommend attending at least part of the event.  Oh, and did I mention that it’s free? :) 

This year, I’ll be presenting on three topics (listed below, with abstracts).  Each session is scheduled to last two hours and will focus on practical demonstrations.  Specific presentation times have not yet been posted, but keep checking the web site for more details.  In the meantime, be sure to register to attend and vote on proposed topics.  If you can’t make it, I plan to post the presentation slides and sample code on my web site just prior to the event.

Presentation Topics & Abstracts

SQL Server Reporting Services: Report Creation and Deployment:

Using SQL Server Reporting Services, developers can author and distribute complex reports that come from a variety of data sources. The session will begin with an architectural overview of Reporting Services and how developers can install and configure the required services. Then, we will walk through the process of creating new reports by building connections and data sets using Report Builder 2.0 and Visual Studio 2008. Reporting design features including dynamic drill-downs, matrix reports, charts, and sorting will be provided. Also included will be methods by which multiple levels of report parameters can be used to filter data and increase performance. Next, we’ll look at deployment details, including scheduling reports, configuring caching, creating snapshots, and managing security. Time permitting, the presentation will include a demonstration of using Report Viewer controls within ASP.NET and Windows Forms applications.

SQL Server Basics for Non-DBAs

Although relational databases are a critical component of most applications, many developers often have only a basic understanding of how they work. This session will describe the architecture of Microsoft SQL Server 2008 and its many features can be used to improve the end-user experience. The presentation will begin with an overview of the SQL Server platform, including installation and configuration of the server. Then, we’ll look at ways in which you can manage logical databases and their constituent files. Recommendations for regular database maintenance and data protection will be covered next. Other important tasks include managing security, including techniques such as role-based security, permissions hierarchies, and data- and object-level encryption. Finally, we’ll conclude with some best practices for managing database schemas and objects. Attendees are encouraged to bring their server and database management questions.

SQL Server Performance Monitoring & Optimization

Developers can dramatically improve performance by understanding how their queries are executing in the "real world". This session will cover ways in which attendees can monitor performance at various levels, and how they can use this information to optimize queries and improve overall application performance. We’ll start with a discussion of developing a performance optimization strategy and how various tools can help. Then, we’ll walk through the process of using SQL Profiler to collect data in a real-world case: Generating a "hit list" of worst-performing queries based on execution times and frequency. Next we’ll look at using the Database Engine Tuning Advisor to make suggestions related to physical database structures such as indexes and partitions. Also included will be ways in which built-in reports and dynamic management views can be used to monitor performance of production systems. Time permitting, the presentation will include methods for reducing deadlocks and managing long-running transactions. Finally, the presentation will include an overview of analyzing query plans. The overall emphasis will be on solving practical, real-world database performance problems.