Presentations
XAML Basics
An introduction to XAML and its use in Silverlight. You can download the presentation here.
Silverlight Firestarter, Cincinnati, March 2009
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. For the resources I referenced
during the presentation see this page.
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.
The presentation can be downloaded here. For an expanded version
of the architecture references in the presentation, see this page.
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
Dayton Microcomputer Association, Software Development SIG, November 2003
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
Dayton Microcomputer Association, Software Development SIG, July 2003
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
Dayton Microcopmuter Association, Software Development SIG, August 2001
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
Dayton Clipper User Group, 1990ish
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.