Athena .NET

User Group Talks

This page lists all the talks Brian has made for User Groups.

These talks have been delivered at meetings of the UK Borland User Group (UK BUG), DotNET Developers Group (DDG), The Developers Group (DG) and Software Developers Group of the Netherlands (SDGN).

Some of the UK-BUG talks herald from the days when the user group was split into the Delphi Developers Group and the C++Builder Developers Group (the latter of which he was the Group Leader for). Brian is currently the Group Leader for the DG.

As well as the specific talks, Brian also helps out with the Problem Clinic session at any meeting he attends, trying to solve any problems experienced by the group members.

Click here to see some comments by people who have attended some of my talks.

If you enjoyed one of Brian's talks please consider making a donation. It will be appreciated however big or small it might be and will encourage Brian to continue researching, writing and speaking about interesting topics in the future.


.NET Debugging Without Visual Studio, July 12th, 2006, The Bristol Golf Club, Almondsbury, Bristol. (VBUG meeting)
Visual Studio's debugger does a fine job of day to day debugging. But from time to time you bump into really tricky problems that it can't help with. This is where lower level debuggers come in, and Microsoft make a variety of them readily available. This session looks at a number of low level debugging tools, focusing on WinDbg and SOS, that can help you squash the most resilient bugs and get back on with your day to day coding. We look at several common problem areas and see how these tools can be applied to help gain insights on the problems and expedite solutions.
You can download the files that accompany this talk.

C# for Delphi Developers, June 12th, 2006, Microsoft, Reading. (DG meeting)
In this first session of the series, covering C# from the ground up, Brian explains what it is and why it might be a very good idea for you to learn at least the rudiments of C#.

Delphi 2005/6 Stuff You May Not Know About, May 9th, 2006, Hammersmith, London. (DG meeting)
Brian delves into the lesser used parts of the Delphi 200x IDEs and sees what gems he can unearth. Just so you know, he finds some pretty useful things for both Delphi for .NET and Win32 Delphi developers, in Delphi 2005 and 2006. As an example, live templates in the most recent release certainly warrant some attention.

Reverse Engineering To Know .NET Better, Oct 22nd, 2005, Microsoft, Reading. (DeveloperDeveloperDeveloper 2)
Learning a programming platform is always an uphill struggle. With .NET there is no lack of help, information and support and around and so this in itself makes the job easier. But there are some who say that the better you know how something works on the inside, the better you can make it work from the outside (the reverse of the implementation hiding principle). This session looks at various tools and resources to find how we can learn more about how .NET works on the inside to try and provide a better understanding of what you work with.
You can read up on this session here.

Delving into the Windows Registry, May 16th, 2005, Microsoft, Reading. (DG meeting)
Members have asked a variety of questions about the Windows registration database (aka the registry). "How do I use it?" "Are there any rules we need to know?" "What can we find in the registry?" "Is it just a glorified INI file?" And so on. This session hopes to answer these questions, and who knows, perhaps many more as well.

.NET Debugging Facilities, May 14th, 2005, Microsoft, Reading. (DeveloperDeveloperDeveloper)
Debugging is a necessity. Sometimes an IDE-resident debugger doesn't have what it takes to track a problem down.
There are a variety of other debugging tools available from Microsoft that can come to the rescue in these circumstances and in this session we take a look at what’s available and how you can use these tools to improve your debugging prowess.
Coverage will include Visual Studio’s debugger as well as CorDbg, DbgCLR, MDbg, but focus mostly on WinDbg with Son of Strike, and will look at Heisenbugs, memory tracking, and lower level trickery.
You can download the files that accompany this talk.

Malware Creators Are Quite Clever Y’Know, February 28th, 2005, Hammersmith, London. (DG meeting)
A customer recently had some nasty active software on a live web server, right under his nose. But could he see it? Could you? After successfully cleaning up the mess Brian has been actively researching malicious software and mechanisms to enable successful removal. In this short session Brian discusses what these things get up to and does his level best to make you nervous.

An Introduction to ASP.NET Web Application Development in Delphi 8, May 12th, 2004, Marlow. (DDG meeting)
This session looks at using ASP.NET from the position of a newcomer to .NET Web development and finds a welcoming component-based, event-driven development model beckoning you in.

Debugging in .NET, June 17th, 2004, Microsoft, Reading. (DDG meeting)
Brian looks at the available options for debugging in .NET, and finds that there is rather more available than just the IDE debugger.

.NET Internals: Profiling .NET Applications, November 27th, 2003, Hammersmith, London. (DDG meeting)
In this session we look inside .NET applications using the Profiling API to see the rich volume of information made available, which allows you to build flowtrace analysers, hotspot identifiers, exception recorders, coverage analsis tools and so on.
You can download the files that accompany this talk.

.NET Language Interoperability, June 26th, 2003, Hammersmith, London. (DDG meeting)
.NET is a language-agnostic programming platform, where developers can all write collaborative code in whatever language they favour. This session proves the point by demonstrating language interoperability between various languages, such as C#, Delphi for .NET, VB.NET, Managed C++ and CIL.
You can download the slideshow that accompanies this talk.

Inside .NET, May 20th, 2003, Upavon, Wiltshire. (UK BUG meeting)
There is a lot of information on how to get results in the new .NET platform. In this session, Brian peers beneath the surface to see how things work inside. Sometimes this technique can provide useful information. Sometimes it ends up providing nothing of use. Let's see what Brian has managed to dig up so far and wants to share with us.

Subjectively Useful Information Resources, April 3rd, 2003, Microsoft, Reading. (DDG meeting)
Brian has been getting to grips with the .NET programming platform over the last 6 months or so. In this session he goes through various sources of information that have helped him become familiar with some of its underlying behaviour.
You can download the slideshow that accompanies this talk.

Digging Deeper Into .NET, February 11th, 2003, POSK, Hammersmith, London. (DDG meeting)
This session dives down deeper, than an overview looking at how the .NET platform actually works. We look at the concepts involved, the key areas of the platform, and start to unravel the world of alphabetti-spaghetti that is .NET. There are many new terms introduced with .NET and we try and get an understanding of as many of them as possible in the allotted time.
You can download the files that accompany this talk.

.NET Interoperability With Win32, January 14th, 2003, POSK, Hammersmith, London. (UK BUG meeting)
Whilst .NET may be the upcoming platform of the future, right now there is still a lot of plain, unmanaged Win32 code around. This session looks at how .NET managed code can interoperate with unmanaged Win32 code. In particular we will look at:

You can download the files that accompany this talk.

Speech Synthesis And Speech Recognition, September 6th, 2002, Ede, Holland. (SDGN meeting)
This talk looks at how to add speech synthesis and speech recognition capabilites to Delphi applications using the Microsoft Speech API.
You can download the files that accompany this talk.

Things They Don't Tell You On A Training Course, September 6th, 2002, Ede, Holland. (SDGN meeting)
This is a fast-paced array of tips and tricks to help you get the most out of the Delphi IDE. The talk also largely applies to Kylix and C++Builder.

Speech Synthesis And Speech Recognition, August 20th, 2002, POSK, Hammersmith, London. (UK BUG meeting)
This talk looks at how to add speech synthesis and speech recognition capabilites to Delphi applications using the Microsoft Speech API.
You can download the files that accompany this talk.

Run-Time Type Information (RTTI) In Delphi - Can It Do Anything For You?, October 26th, 2001, Cambridge. (UK BUG meeting)
RTTI exists in all C++Builder VCL applications, primarily to allow the application to function at all. It is used to load form files and create the initial representation of each form, as set at design-time. It is also used extensively by the design-time environment to allow the Object Inspector to operate. This talk looks at what information is stored in RTTI, how we access it and why we might want to do so.

Conditional Compilation, August 14th, 2001, POSK, Hammersmith, London. (UK BUG meeting)
Underused, misrepresented as an aset only to propellor-heads, Conditional Compilation is usable by all, as we find out in this talk.
This talk is the basis of my Conditional Compilation article in Issues 80 (April 2002) of The Delphi Magazine.

Hints and Tips, July 17th, 2001, POSK, Hammersmith, London. (UK BUG meeting)
This is a fast-paced array of tips and tricks to help you get the most out of Delphi (both the IDE and the underlying language). The talk also largely applies to Kylix and C++Builder.

Apache Shared Modules, May 22nd, 2001, POSK, Hammersmith, London. (UK BUG meeting)
Kylix 1.0 allows ObjectPascal developers write Web server applications for the Linux Apache Web server. These can either be CGI applications or shared modules. However, Apache is nopt set up to permit the use of shared modules by default, so this talk guides you through the steps to get Apache ready for a Kylix-generated shared module.
This talk is based on an article of the same name in Issues 69 (May 2001) of The Delphi Magazine.

Safe and Unsafe Typecasting, April 24th, 2001, Borland offices, Twyford, Berkshire. (UK BUG meeting)
This talk looks at the various mechanisms for typecasting in Delphi, and how safe they are for use against Delphi objects. Old Pascal typecasting techniques will be contrasted against modern Delphi object typecasting, which can make use of RTTI.
This talk is based on my three-part Typecasting Explained series of articles in Issues 3 (September 1995), 4 (November 1995) and 5 (January 1996) of The Delphi Magazine.

Exceptions And Exception Handling, 13th February, 2001, POSK, Hammersmith, London. (UK BUG meeting)
This talk looks at many aspects of working with exceptions in Delphi. It starts with an overview of what exceptions are and how they work, and then moves onto how they are handled without your intervention and how you can intercept them and handle them with custom code. It looks at how exceptions can be generated, how to use custom exceptions, application-wide and form-wide exception handling and also avoiding a nasty problem that exceptions introduce.

Lists, 21st November, 2000, POSK, Hammersmith, London. (UK BUG meeting)
This talk looks at a number of the types of lists available in Delphi, showing how to use them,and noting potential pitfalls along the way.
You can download the files that accompany this talk.

Docking In Delphi Applications, 19th September, 2000, POSK, Hammersmith, London. (UK BUG meeting)
Having recently discussed drag and drop in Delphi applications, this time I will be focusing my attention on dockable windows, support for which was introduced in Delphi 4.
This talk is the basis of my Drag & Dock article in Issues 63 (November 2000) of The Delphi Magazine.
You can download the files that accompany this talk.

The Delphi Clinic, 15th August, 2000, POSK, Hammersmith, London. (UK BUG meeting)
For the past 5 years and 56 issues (as of August 2000) Brian has been the host of The Delphi Clinic column in The Delphi Magazine. During this time may people have raised a whole host of issues that Brian has had to research and resolve. In this session Brian will share some of his best solutions including richedit problems, DBGrid enhancements, OS settings, custom message boxes, BDE errors, creating Start Menu folders, property queries and any others that can be squeezed in.
You can download the files that accompany this talk.

Actions & Action Lists, 23rd May, 2000, POSK, Hammersmith, London. (UK BUG meeting)
Actions, introduced in Delphi 4, allow you to centralise functionality that may be invoked by the user in many ways. They also allow you to easily split the "doing" part of the action, from the "validating" part. This talk is split into three parts. The first section looks at how actions can be used in applications. The second part looks at the underlying VCL architecture that supports actions. Finally, the last part investigates how to make new standard actions that can be installed into the IDE.
This talk is the basis of an article of the same name in Issues 61 (September 2000) of The Delphi Magazine.
You can download the files that accompany this talk.

Dragging & Dropping, 21st March, 2000, POSK, Hammersmith, London. (UK BUG meeting)
Drag and drop has been possible in Delphi since version 1, yet many developers do not seem to implement it in their applications. This talk takes you through the ins and outs of dragging & dropping in forms and between forms, within our applications and then tries to find out how to achieve this between applications as well.
This talk is the basis of my three-part Dragging & Dropping series of articles in Issues 56 (April 2000), 57 (May 2000) and 58 (June 2000) of The Delphi Magazine.
You can download the files that accompany this talk.

Run-Time Type Information (RTTI) In Delphi - Can It Do Anything For You?, 20th December, 1999, Noordwijkerhout, Holland. (SDGN meeting)
This talk gives a thorough explanation of RTTI in terms of what it is, why it is here and what it is used for is followed by various examples of how you can use it for your own purposes.

Delphi VCL Sourcery, 20th December, 1999, Noordwijkerhout, Holland. (SDGN meeting)
This session looks at the often overlooked VCL and RTL source code, hunting for useful tidbits to share. We will find a number of things that practically all Delphi developers are unaware of, which can be potentially useful during application development.

Messages In A Bottle, 25th May, 1999, POSK, Hammersmith, London. (UK BUG meeting)
When Delphi does not give you the functionality that you require, sometimes you have to resort to accessing and sending windows messages. This session demonstrated numerous techniques that you can employ to achieve your objectives. These techniques include message handlers, window procedures, application methods and events amongst others. This is an intensive and interactive session that involves many source code examples and delves into parts of windows where no normal developer would dare to tread.
You can download the files that accompany this talk.

Interfaces for the Uninitiated, 6th May, 1999, Bewley's Hotel, Newlands Cross, Dublin. (UK BUG meeting)
This session slowly goes through the basics and intricacies of interfaces. It covers the use of interfaces in COM applications and the advantages of using interfaces in applications that do not use COM.
You can download the files that accompany this and the following two talks.

Creating Classes, 6th May, 1999, Bewley's Hotel, Newlands Cross, Dublin. (UK BUG meeting)
This session is aimed at developers who are trying to get to grips with the creation and use of classes. Properties, methods and events will all be covered.
You can download the files that accompany this talk, the talk above and the following talk.

Creating Components, 6th May, 1999, Bewley's Hotel, Newlands Cross, Dublin. (UK BUG meeting)
This session follows on from the Creating Classes session. It shows how classes and components are inter-related and also discusses the basics of creating property editors and component editors.
You can download the files that accompany this and the two talks above.

Messages In A Bottle, 19th March, 1999, Services To Software, Glasgow. (UK BUG meeting)
When Delphi does not give you the functionality that you require, sometimes you have to resort to accessing and sending windows messages. This session demonstrated numerous techniques that you can employ to achieve your objectives. These techniques include message handlers, window procedures, application methods and events amongst others. This is an intensive and interactive session that involves many source code examples and delves into parts of windows where no normal developer would dare to tread.
You can download the files that accompany this talk.

Creating Classes, 23rd February, 1999, POSK, Hammersmith, London. (UK BUG meeting)
This session is aimed at developers who are trying to get to grips with the creation and use of classes. Properties, methods and events will all be covered.
You can download the files that accompany this and the following talk.

Creating Components, 23rd February, 1999, POSK, Hammersmith, London. (UK BUG meeting)
This session follows on from the Creating Classes session. It shows how classes and components are inter-related and also discusses the basics of creating property editors and component editors.
You can download the files that accompany this and the above talk.

C++Builder Packages, 23rd April, 1998, Bewley's Hotel, Newlands Cross, Dublin. (UK BUG meeting)
Packages - what they are all about. This talk is presented using C++Builder 3, but highlights any differences between C++Builder 3 and Delphi 3. This presentation also includes details on how to interact with the IDE from within a package.

COM, 23rd April, 1998, Bewley's Hotel, Newlands Cross, Dublin. (UK BUG meeting)
The Component Object Model and all that it represents is becoming very important in application development. This session takes us through, step by step, the use of interfaces, COM servers and COM clients. The attendees are then given the opportunity to participate in communicating with Word97 using COM.
You can download the files that accompany this talk.

Common Problems In C++Builder and How To Resolve Them, 30th September, 1997, POSK, Hammersmith, London. (UK BUG meeting)
This talk is based upon information from C++Builder technical support. It goes through the more common problems that C++Builder programmers experience, and how to resolve them.

DLLs In C++Builder, 30th September, 1997, POSK, Hammersmith, London. (UK BUG meeting)
This talk looks at the techniques necessary to access third party DLLs (Dynamic Link Libraries) in C++Builder, before moving on to show how you create your own DLLs.

Automation With C++Builder, 27th May, 1997, POSK, Hammersmith, London. (UK BUG meeting)
C++Builder can do Automation just as well as Delphi or other development tools. This session looks at the subject of Automation and defines important terms to give a general understanding of the subject. It then proceeds to look at ways that you can control Automation servers from C++Builder applications before investigating the subject of creating Automation servers yourself.

C++Builder For Delphi Users, 25th March, 1997, POSK, Hammersmith, London. (UK BUG meeting)
This talk looks at the syntax used in C++Builder for many of the common things you want to do with it, from a Delphi programmer's perspective.
This talk was the basis of my article C++Builder for Delphi Users, in Issue 19 (March 1997) of The Delphi Magazine.

Delphi 3.0 Has Packages Of New Features, 20th February, 1997, Utrecht, Holland. (SDGN meeting)
A run-through of all the new features available in Delphi 3, covering the IDE enhancements as well as new language features. This talk (quite briefly) covers interfaces, COM and packages.
This talk was the basis of my two-part review of Delphi, The Delphi 3 Novelty Store, in Issues 20 (April 1997) and 21 (May 1997) of The Delphi Magazine.

Automation Servers And Controllers In Delphi 2, 20th February, 1997, Utrecht, Holland. (SDGN meeting)
This session explores the subject of Automation, showing how Delphi supports controlling Automation servers through Variant variables. It then moves on to show how you can write an Automation server of your own, using the special automated section of a class, which can then be controlling by any language capable of talking to Automation servers.

Safe and Unsafe Typecasting, June 13, 1995, Inland Revenue offices, London. (UK BUG meeting)
This talk looks at the various mechanisms for typecasting in Delphi, and how safe they are for use against Delphi objects. Old Pascal typecasting techniques will be contrasted against modern Delphi object typecasting, which can make use of RTTI.
This talk was the basis of my three-part Typecasting Explained series of articles in Issues 3 (September 1995), 4 (November 1995) and 5 (January 1996) of The Delphi Magazine.

Subclassing Windows, April 11, 1995, Upavon, Wiltshire. (UK BUG meeting)
Discussing various ways of customising windows using Delphi techniques and Windows techniques. The session also covered the seemingly impossible (at the time) task of removing the vertical scroll bar from a DBGrid, introduced ways of navigating around a DBGrid and showed how to make an auto-repeat button, like the DBNavigator's.
This talk was the basis of my Subclassing Windows article in Issue 2 (July 1995) of The Delphi Magazine.


Go back to the Talks page
Go back to the top of this page