Session Abstracts
I have spoken on more than 100 topics. Some of the topics are no longer
current and are now in 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.
Current Focus Abstracts
I have 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 and changes from time to time. 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.
All Current Abstracts
Delphi: Connecting to .NET with CrossTalk
CrossTalk allows native Delphi code to consume and use .NET classes and libraries. No changes or control is required to the .NET classes. CrossTalk makes the classes available so that they look like native classes. See and learn how easy it is to connect your Delphi code to .NET.
More...
.NET: Visual Studio 2010 - What's new?
Visual Studio 2010 includes many many new features including a brand new UI, paralell programming, ALM improvements, and more.
More...
.NET: Extending Visual Studio with VSIP and the SDK
An SDK exists to extend Visual Studio, and Visual Studio is very extensible. However getting started with the SDK can be quite daunting beyond simple tasks. This session is a crash course in extending Visual Studio designed to get you past these hurdles.
More...
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: Localization - Going Beyond Translation
Most developers think localization involves just translating the text into another language. Text translation certainly is a major component of localization, but even when professionally done, simply translating the text is not enough. Such localizations still leave users with an uncomfortable often difficult to use piece of software. Have you ever thought about the colors or pictures in your application as part of localization? Learn how to deal with linguistic mechanical differences, currencies, dates, times, numbers, formatting, flow, cultural differences and more in this session.
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: MVx - Model View Controller, or Model View Presenter?
Now that we've all figured out MVC, along comes MVP. MVP is a very important consideration with XAML, HTML, and other interface mark up languages. This session will discuss the following questions: What is MVP? Does it replace MVC? How are MVP and MVC different? Is MVC needed? Can MVP and MVC be used together?
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. Note: This session only lasts about 15-20 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...
Cosmos: C# Open Source Managed Operating System
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! Must be seen to be believed. 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: Does your ink stink? How to make your applications ink friendly
Tablet users can interact with normal application using pen even if they have not been specifically pen enabled. However some applications are extremely difficult to use with a pen. While full pen integration is always best, often very simple changes can make non pen enabled applications much more pen friendly. Unfortunately most developers have never used a tablet. With the rise in popularity of tablets, knowing how your application will perform for tablet users is essential. This session discusses common issues and demonstrates common pitfalls. It shows both how to make a normal application more pen friendly, but also discusses how to fully pen enable an application.
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: .NET and the Microsoft Sync Framework
The Microsoft Sync Framework is a fully customizable data synchronization framework for both online and offline applications. Learn what the Microsoft Sync Framework means to your .NET applications and how you can improve your existing applications using it.
More...
.NET: Microsoft .NET as a platform for Open Source
Many people believe Microsoft is against open source, or that .NET is not suitable for Open Source. Both are false, and in fact .NET is a great platform for Open Source and many .NET Open Source projects exist. This session discusses history, factors, and reasons why .NET is a good platform for Open Source projects.
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: 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: Overcoming XAMLphobia
WPF and XAML are not new. But there is significant resistance to move to them even with all the benefits made clear. You do not need to develop a media intensive application to need WPF. Learn how to develop typical business applications in the same manner as Winforms, but with all the advantages of WPF. Also learn strategies for moving existing Winforms to WPF and the benefits.
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...