Session Abstracts
I have spoken on more than 100 topics. Some of the topics are no longer
current and have been moved to the abstract archive, while other topics are developed on demand. In this section are some of my
more frequent topics and are sessions that are already prepared. These sessions
are well refined and have been delivered many times.
I do however speak on many other topics and do have other topics ready as
well. If you are looking for a topic that is not listed please contact me.
This page is also available in RSS
feed form.
Abstract Archive
Sessions on out of date products or sessions that need to be updated if presented currently have been moved to the abstract archive. Archived sessions can be updated and delivered on request.
2008 Focus Abstracts
In 2008 I decided to focus on specific topics to scale better and be able to deliver better sessions. This list contains the list of my current "focus" sessions. These are the sessions that I am putting most of my focus into currently and prefer to deliver at the current time. However all topics are available for delivery, not just the focus abstracts.
Current Focus Abstracts
All Current Abstracts
Architecture: Agile Software Development
What is Agile Software Development? Why should you care about it? What benefits will it provide to you and your team? Agile is unlike many other development processes which "do a lot" for management, but little for developers. Agile is of both interest and benefit to developers.
More...
Architecture: Dude, where's my business logic?
Over the years we have moved from desktop, to client server, to 3-tier, to n-tier, to service orientation. In the process though many things have changed, but many habits have remained. This session discusses what we are doing wrong, and solutions.
More...
Architecture: Emergence in Software
"Emergence" is the notion that the whole is more than the sum of its parts. Some say we can we build systems from which more comes out than was put in? Can we? If not today when, and why might it be important today?
More...
Architecture: Genetic Programming
Genetic Programming uses nature as a model to perform automated testing of many variant piece of code while mixing desired attributes according to test results. But what does that mean for the every day programmer? Does GP have any use in common software? And if so why is it not commonplace? This session discusses these questions and answers and will enable you to understand how GP might benefit you.
More...
Architecture: When localization goes bad
Localization is more than just translating the UI text into another language. Performing only a translation often provides localized texts that are confusing, embarrassing, and even insulting to users of differing languages and cultures. Learn about commonly made mistakes and create a professional and successful localized version of your software.
More...
Architecture: Mobile Agents
What if objects could move from machine to machine? Not just automated downloads, or remotely controlling objects as in remoting, but a system in which the object actually moves about. Mobile software agents do exactly that. In this session such an architecture will be introduced, discussed and a working system presented based on an open source implementation using Windows Communication Foundation (WCF) and .NET 3.0.
More...
Architecture: Neural Networks
Neural Networks in software refer to Artificial Neural Networks (ANN) and are used to construct pattern recognition models. ANN's are modeled loosely after biological neural networks in the brain and are usually used for optical character recognition, photo analysis, etc. Beyond the fascination however ANN's also have applications in general business applications. But what are they? This session introduces ANN's and discusses how and when they are useful to the average developer.
More...
Architecture: Improving software safety and reliability - Applying ergonomics to the User Interface
Security is an oft discussed, but what about software safety? In fact, what is software safety? Software safety is the practice of developing code that is more stable, less likely to crash or corrupt data. Software safety has widespread effects, including improving security.
This session begins by demonstrating a common hack that is available in most custom written software, and then demonstrating how to address this security hole. From there it moves to an overview of common security mechanisms in .NET and a discussion of software safety and how to begin implementing it. While this session does contain some demos, because of time constraints this session is designed as an overview and call to action for developers, providing developers with starting points and “things to think about”.
More...
Architecture: Tier Pressure and Isolationism
Logical layers within n-tier systems should be designed to interact and be influenced by neighboring layers only. This restriction is often violated which is detrimental to the system. In this session I demonstrate why this is so common, the consequences, and why we should focus on layer isolationism.
More...
Architecture: Users - Products of environment or genetics?
Are computers and software the problem? Or are users really as dumb as we often describe them to be? And finally, is this a problem only encountered in the IT field or is it universal? Come see in this light hearted and possibly off topic session!
More...
Architecture: What is Architecture?
What is architecture in software? Are you an architect? What makes someone an architect? Why are there so many different and even opposing ways in architecture? This session helps those new to architecture or interested in architecture to navigate and understand the software architecture field today.
More...
Delphi: C# for Delphi Developers
This session will provide an introduction to C# for Delphi developers. C# is the "Default" language of .NET and Delphi programmers will often need to translate C# code into Delphi. Some programmers may also find a need to use C# either for needs of integration, or because of a job change. This session will give Delphi programmers a crash course into C#.
More...
Delphi: Moving to .NET
Most Delphi developers have large amounts of Win32 based code. What is the best way to move this to .NET? Or is it better to migrate some code and interop between Win32 and .NET code? This session discusses the trade offs of each approach, porting strategies, and technologies available for interop between Win32 and .NET.
More...
Misc: The Amazing Kudzu Plant
Note: This is a non tech session, but it makes a great filler or closing session. It only takes about 15 minutes.
More...
.NET: ADO.NET Entity Framework
The ADO.NET Entity Framework is more than just a next version of ADO.NET or direct data access. ADO.NET Entity Framework provides a complete framework for creating business objects which are independent of database structure, yet remaining maintainable.
More...
.NET: ASP.NET MVC Framework
The new ASP.NET MVC framework allows ASP.NET to be developed using a Model View Controller (MVC) methodology. MVC is a proven development methodology, and all of its benefits are now available to ASP.NET developers. See how this benefits your ASP.NET applications and what specific benefits are available to ASP.NET developers.
More...
.NET: Codeplex
CodePlex is Microsoft's open source project hosting web site based on Team Foundation Server (TFS). Learn how TFS and CodePlex can benefit your open source project and how it compares to SourceForge. CodePlex can be used on non .NET projects including Java, PHP, C++ and more. CodePlex can also be used from Linux, MacOSX, and other clients in addition to Windows.
More...
.NET: Cosmos - Running .NET without Windows
Cosmos - C# Open Source Managed Operating System. Cosmos is an open source project that allows you to develop in Visual Studio, press F5, and instantly take your C# code, compile it, and deploy it in VMWare (or QEMU with GDB debugger), or even a network boot to a real PC on one click! See how it is done, and how to use it on your own.
More...
.NET: Fun with .NET
Forget the boring business code! If not for the PHB (Pointy Haired Boss), what would you do with .NET? Come see FUN things that can be done with .NET from using the Wiimote, to controlling motorized rocket launchers, to writing operating systems in .NET, and more!
More...
.NET: Is your application usable on a tablet?
Most applications can be used on a tablet with no changes. However some applications are extremely difficult to use, and others with small additions would perform as if they were designed for a tablet. Unfortunately most developers have never used a tablet. With the rise in popularity of tablets, knowing how your application will peform for tablet users is essential. This session discusses common issues and demonstrates common pitfalls. It also shows you the developer small changes you can make to make your applications even more tablet friendly.
More...
.NET: LINQ and DLINQ
LINQ - Language Integrated Query. But what is that? It's a set of language extensions for C# and VB.NET that allow querying of objects in a SQL like manner. LINQ can be used on objects, XML, datbases and more. Specifically for databases is DLINQ. using DLINQ SQL code becomes typesafe and early bound. No more SQL errors at runtime because of typos in strings. Learn how LINQ and DLINQ will simplify your code and increase software quality.
More...
.NET: MicroFramework
Using only a few hundred kilobytes of RAM and an inexpensive processor, the Microsoft .NET Micro Framework platform allows developers to build applications for the smallest of devices. These devices are typically constrained by cost, memory, processor, and/or power consumption. This platform is currently used in Smart Watches for MSN Direct, and is planned for Windows Vista SideShow displays, as well as an upcoming version of Microsoft TV Foundation Edition.
More...
.NET: Silverlight 2.0
Silverlight 2.0 goes beyond video and Javascript. Now developers can deploy .NET applications into the browser on multiple platforms easily through the browser. See the technical aspects behind Silverlight 2.0, but also how the release of Silverlight 2.0 changes the web in drastic ways.
More...
.NET: Smart Clients
What if you could take the best features from both web and desktop applications with neither of their problems. Smart Clients allow you to do this. In this sesions I'll provide a very quick introduction, then move onto more advanced and even non traditional uses of smart clients.
More...
.NET: Visual Studio 2008 - What's new?
Visual Studio 2008 includes many new features including LINQ, WPF, .NET 3.5, Better web support, and more.
More...
.NET 3.0: WCF - Windows Communication Foundation
WCF brings the capabilities of Web Services, DCOM, MSMQ, Remoting, Security, and Transactions into a single configurable framework built around SOA concepts. This session demonstrates what WCF is, its capabilities and how to use it in your applications. This session also discusses how to move from other technologies such as web services or remoting to WCF.
More...
.NET 3.0: WF - Windows Workflow
Imagine building visible flow charts into your software that define behaviour, and optionally allowing your end users or customers to modify them to fit their business needs. WF provides a common reusable workflow engine that does exactly that. Learn how what WF can do, and how it can improve your software customization and improve communication with the business owners.
More...
.NET: Using the Wii Remote to enhance user interfaces
The Wii remote (Wiimote) is a major breakthrough in intuitive game controllers. Many people are beginning to discover that it has very useful applications other than just a game controller. Can the Wiimote be useful in business? Surprisingly so, yes. This session demonstrates how the Wiimote is useful in business applications and how to connect to and use the Wiimote from a .NET application.
More...
.NET 3.0: WinForms and WPF
With two options for building forms, which is better to use? For the near future the answer often is both. In this session I will cover the strengths and weaknesses of each, and how to use them effectively together.
More...
.NET 3.0: WPF - Windows Presentation Foundation
WPF (Windows Presentation Foundation aka Avalon) is the next generation user interface. But what exactly does that mean for developers? And what does this mean for WinForms and ASP.NET applications? WPF supports advanced typography and layout, rich media integration, and vector and 3D graphics. WPF changes the way designers and developers collaborate. In this session, learn about the processes, technologies, and design tools available for WPF applications that run in the browser or on the desktop.
More...
.NET: XNA - .NET for the Xbox 360!
What is XNA? It is nothing short of .NET for the Xbox 360! Learn how you can use .NET to develop games and other applications for the XBox with the same ease that you can develop for Windows. Simply use Visual Studio.NET, build, deploy!
More...
Office: Smart Tags
Smart Tags allow you to add menu options and highlighting on individual words either by lookup, or regular expression. For example you might create a Smart Tag to recognize phone numbers in a document and allow with a simple mouse click on the phone number to dial using and integrated phone system or VOIP package. Smart Tags are not limited to phone numbers though, and are completely customizable to any tag you define. Learn other uses of smart tags and see how easy they are to implement in this session.
More...
Office: VSTO - Visual Studio Tools for Office
For many years Office has been programmable via COM and even DDE. But with VSTO (Visual Studio Tools for Office) your Excel worksheet or Word document act just like forms. You can drop controls on, add events for cells, etc directly from within Visual Studio.
More...
Office: Office Open XML Formats
Office 2007 now stores its documents in XML. This makes manipulation and creation of documents easy to do, even without Office installed. The Office Open XML format is also an ECMA standard and has backwards compatibility with older versions of Office as well as some capabilities on Linux and Macintosh, as well as Java. Surprised? Learn about these features and more in this session.
More...
Process: Developers are from Mars, Managers are from Venus
Developers and managers do speak different languages! What can be done to bridge this gap and improve communication? What effects will it have on your team and projects? Learn some simple techniques through real and practical examples of how to improve this vital communication conduit.
More...
Process: Configuring your Development Workstation for Productivity and Reliability
Most developer machines are a mess of left over beta software parts and often are unreliable. Many developers have resorted to using virtual machines. Virtual machines are great for testing, but for developers they often are quite slow and have other side effects. The good news is that there is a better way to configure your development workstation to provide proper isolation, while retaining stability and ability to test beta software and SDK's, and still retaining the full speed and power of the host machine.
More...
Process: Effective methods for reducing piracy of your software
As software developers, piracy is something that affects us all. If you are a software developer who works for a big company, you likely do not see it directly. But you still have an interest in who is using your company's software. If you are in a small company or are a developer who sells software, piracy hits a lot closer to home. However, the conventional wisdom, which often equates to the "knee jerk" reaction, is not the proper one.
More...
Process: Improving Teamwork and Developer Habits
Too many teams operate simply as a group of developers with relationships formed only by task, friendships, or attempts by project managers. In addition there are large impedences between management and developers. What kind of practical steps can be taken to work out common problems? Come see in this interactive thought provoking session how developers and managers can work better together, and team members can become more cohesive.
More...
SQL: Building custom data types using SQLCLR
Using SQLCLR in SQL Server 2005 custom data types can be built. For example a phone number type can be built that does validation, formatting, and more all at the table level. After its created there is no need to add triggers which call stored procedures, simple include it as any other type in a create table statement. See in this session how easy it is to do, how powerful this feature is, and proper usage guidelines.
More...
SQL: Intro to SQLCLR
Using the new SQLCLR feature in SQL Server 2005 C# and VB.NET (or any .NET language) can be used to write stored procedures, custom data types, dynamic result sets and more. This is an extremely powerful and much needed feature that will simplify your T-SQL monsters and allow you to perform more efficient operations using high level languages.
More...
SQL: SQLCLR vs T-SQL - When to use which one?
SQLCLR is a powerful new feature in SQL Server 2005. After seeing SQLCLR, many users (especially developers) often come to the conclusion that T-SQL is dead and no longer needed except for legacy applications. However this is a false and dangerous assumption. T-SQL remains an important feature. SQLCLR and T-SQL both have their strengths and weaknesses. In reality a good system will make use of not just one, but both. This session will compare and demonstrate these features to allow you to determine which one to choose for each situation.
More...