Presentations
Pivot and the Silverlight PivotViewer Control
Pivot is a technology that makes it easy to explore massive amounts of data in a visually compelling way. In this session, we will discuss the Pivot technology and introduce the tools and techniques needed to build both static and dynamic Pivot collections. We will also look at using the Silverlight PivotViewer control to make your Pivot collections accessible on the web.
You can download the presentation files here. You can view the Pivot collection for the presentation here.
Introduction to Continuous Integration with TeamCity
Continuous Integration (CI) is a valuable software development process, yet many teams do not practice CI. In this presentation, we will talk about the benefits of continuous integration and how TeamCity makes it easy to get started. We will also examine build configurations inspired by real world requirements that show how to build code, run tests, and prepare code for deployment. By the end of this presentation, you will be able to start doing continuous integration with TeamCity.
You can download the presentation and supporting files here.
Anatomy of an E-Commerce Site
In this presentation, we will examine the technical components supporting the Chefs Catalog web site and the choices and challenges created when integrating third party systems into an ASP.NET web form site. We will look at systems for order processing (CommercialWare), search (IBM OmniFind Discovery Edition, Baynote Social Search), recommendations (Baynote Product Recommendations), product ratings (Bazaarvoice), international shipping (FiftyOne E4X) and others. In examining these components, we will discuss design ideas you may use in your own development and integration pitfalls to avoid. We will also talk about ASP.NET technical concerns including caching and asynchronous tasks.
See the presentation on Prezi here.
XAML Basics
An introduction to XAML and its use in Silverlight. You can download the presentation here.
WPF 101
Introduction to Windows Presentation Foundation (WPF) for .NET University. You can download the presentation and samples here.
WPF for Developers
You've seen the sizzle, but what about the steak? In this presentation I will describe Windows Presentation Foundation (WPF) for developers. No reflected images. No animated page flipping transitions. No Expression Blend. No Silverlight. Just Visual Studio 2008 and code to actually do stuff. I'll cover the WPF fundamentals, including XAML, dependency properties, data binding, commands, validation, and styles. Then I'll talk about how to use these features to create desktop applications and describe some of the challenges I encountered creating my first WPF applications.
The presentation and demo source code can be downloaded here.
Pragmatic Software Architecture and the Role of the Architect
What is software architecture? What is the role of the architect? Is architecture relevant to agile development? What does this have to do with developers? This presentation will answer these questions and more. It will help you bring an architectural mindset to your development by identifying architectural techniques you can use in your daily development. If you’re interested in architecture, being an architect, or just want to think about software development in a new way, join us for this exploration of architecture and the architect.
To see resources from the presentation click here.
For the newest version of the presentation on Prezi click here.
The PowerPoint presentation can be downloaded here.
Practical Caching in ASP.NET
Caching has been part of ASP.NET since its inception. Pages, page fragments, and arbitrary data elements can all be cached to increase performance. This session goes beyond the basics to demonstrate caching in a real web application. I show how to use post-cache substitution in a real application (to display more than the current time like most demos!). The presentation shows how to cache pages based on a custom attribute for the logged in user. Lastly, we I show one way to design a business tier to take advantage of data caching while remaining loosely coupled to the UI.
Presentation and supporting files can be downloaded here.
Real World Continuous Integration
Dan Hounshell and I did a joint presentation on our experience introducing continuous integration at Tellus. Presentation and supporting files can be downloaded here.
Software Architecture of Chef's Catalog
This presentation was a case study describing the architecture for the Chef's Catalog web site developed at Tellus. The web site integrated order processing from CommercialWare through the use of IBM MQ Queues. The site also integrated advanced search through iPhrase.
Earlier Presentations
Creating Extensible Applications in C#: Applying Object-Oriented Design and Using Code Dynamically
Presentation showing a design aproach to extend .NET applications without recompiling. Source and presentation can be downloaded here
Creating Extensible Applications
Presentation showing how to extend both C# and Delphi applications without recompiling. Similar to presentation at Cincinnati Programmers' Guild. Code and presentation can be download here.
Creating Extensible Applications
Initial presentation of how to extend applications, both in C# and Delphi. Served as a seed for other presentations on the subject, and the article for Visual Studio .NET Developer. I intended to publish parallel articles showing how to use this techniquie both in .NET and Delphi. Sadly, the last issue of Delphi developer was published as I was writing the article. Code and presentation can be download here.
Introduction to UML (Unified Modeling Language)
In this presentation, I introduced the fundamental aspects of UML. Presentation is available here.
Incremental Search Edit Box
In this brief presentation, I showed an Delphi edit box component I created that is appropriate for incremental search. Instead of firing an event on every keystroke, it fires an event after a defined amount of pause time. Presentation and source is available for download.
My First Presentation - Clipper Row Locking
The first user group presentation I did was for the newly forming Clipper user group some time in the 1989-1990 time frame. The meeting was at MTC (Modern Technologies Corporation) who was leading the creation of the Clipper group in Dayton. Nantucket had been at the previous meeting describing all of the upcoming features of Clipper 5.0. The Nantucket meeting drew probably close to 200 attendees, which was quite a crowd in the room; luckily MTC was in a building that had been an elementary school, and the gymnasium made a great location for a meeting that large. There had to be more than a hundred people at the presentation I did on row locking, which to this day was probably the largest number of attendees at one of my presentations.
Since that first one, I've done many user group presentations for the Clipper user group, Delphi user group, and most recently for .NET user groups. I would highly recommend it to anyone looking to expand their professional horizons. First of all, it is a fairly safe environment to hone your presentation skills; most user groups are fairly forgiving audiences (as long as you don't step on their toes technically, in which case, you just get an entertaining conversation). And there is no better way to understand any topic than to have to explain it to other people; I always feel like I learn when creating presentations. And finally, it is a good way to establish a reputation as an "authority" amongst your peers.



