Archive for the ‘Events’ Category

XE7 VCL Events in Asia Pacific During November

We have a bunch of RAD Studio XE7 events coming up in APAC over the next month or so. They are free, half day sessions focussed on modernising existing VCL applications, where you’ll learn topics such as:

  • New VCL components, such as TaskBar and JumpList and how to easily add them to existing apps
  • Using the new Parallel Programming Library to improve the performance of your application
  • Migrating a BDE application to FireDAC
  • Extending an existing VCL application with a mobile companion app using App Tethering


The current list of cities, along with links to more details are:

Read On…

Where to see RAD Studio XE4 in the coming weeks

Things have been hectic since the XE4 launch. We’ve had in-person events in lots of countries around Asia. I’ve done Japan, South Korea and Taiwan, but they’ve also been happening in Australia (with ADUG) and China, and we’ve had lots of webinars as well.

What has been really encouraging is the number of new people at the events. I’ve spoken to Xcode developers, Visual Studio developers and Java developers across multiple countries who are all trying out Delphi for the first time. Read On…

Call for Papers for ADUG Symposium 2013

The ADUG (Australian Delphi User Group) hold two, one-day conferences in the first half of the year, and each year they “import” a keynote speaker. They’ve just put out the call for papers for 2013, so if you’d like to score a free trip to Australia to present to a bunch of Delphi developers (don’t worry, we are mostly harmless), head over to their site and give them your ideas.

Avoiding Distributed Transactions


Last week I presented on “Building Distributed Applications That Don’t Suck” twice at the ADUG conferences in Melbourne and Canberra. As the name may suggest, it’s a heavily opinionated session about the common mistakes people make when building distributed systems, and some techniques you can use to avoid the mistakes.

One of the great things about opinionated sessions is that they spark arguments, and I have thoroughly enjoyed the discussions that started during the breaks between sessions and that have continued on in email since then. One of those discussions has been around distributed transactions, and my advice to actively look for opportunities to avoid them. In the session I discussed how, where the business rules allowed, you could use things like Idempotency and even ordering of inserts to avoid the cost of a distributed transaction. However, it was the topic of Eventual Consistency that caused the most angst.

In a single RDBMS, we’re very often taught to wrap changes in a transaction, so that they succeed or fail as a single unit. It’s also through transactions that we can control the visibility of changes. This is all about ensuring that outside the bounds of that transaction, our data is consistent. All hail ACID!

However in a distributed environment, this strong pursuit of consistency comes at the cost of either availability or partition tolerance (see the CAP Theorem). Hence the idea that where you see an opportunity to tolerate an inconsistent state for awhile, you may benefit from taking advantage of it.

This can be hard to swallow initially, as a number of people made clear. I struggled with it when I was first introduced to the idea. It doesn’t apply everywhere, there are some business processes where you absolutely need immediate consistency, however over time I’ve been surprised at how often I can either relax the consistency for a particular process, or at least minimize the scope of the data that needed to be immediately consistent.

The discussion of Eventual Consistency has had a revival of late with the rise of NoSQL databases, and one of the better discussions I’ve heard is on an episode of Software Engineering Radio with Dwight Merriman from 10Gen, the folks behind MongoDB. If this is new territory for you, and you don’t mind having your assumptions challenged, I recommend you have a listen.

RAD Studio World Tour, now with more cities and a few more details.


I promised to post more details of these upcoming events when I could. Well, now I can.

Current cities:

…and here’s the very high-level description:

Whether you are building new applications, or migrating existing systems, this workshop will help you decide where to invest your team’s time and effort to make the most positive impact on your business, today and into the future.

You will hear about:

  • Application frameworks
  • Delphi 64-bit
  • The future of database access
  • DataSnap and Cloud
  • Mobile development

Before you ask, yes, there will be more cities and countries added soon. Not just in Asia but around the world.

I am presenting at ADUG Sydney in July, but come anyway as there will be pizza.


I’ll be presenting at the July ADUG Sydney meeting. I’ll be giving a practical introduction to the generic collection classes in Delphi, covering the different collections (TList, TQueue, TDictionary, etc) and also some common capabilities across the classes (such as sorting, searching, comparators, enumerators, etc). Even if you haven’t yet got your head around generics in Delphi, my aim is that you can walk out knowing when and how to use these classes.

It’s also the 10th anniversary of the founding of the ADUG Sydney chapter, so come along for either reason and have some pizza.