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.