ADUG Perth – June 16th

Scott Hollows very kindly invited me to do a presentation for the western Australia Delphi User Group. The meeting will held next Tuesday, June 16th, in The Perth Artifectory. Details can be found here:
The subject of the presentation is the Delphi Parallel Library; Task, Future, Parallel.For, but also ThreadPool, ThreadedQueue and TInterlocked operations.

I’ll zip over to the other end of the globe using bits and bytes, so I won’t be there in person. Too bad, I could have visited a friend of mine that lives just around the corner in Brisbane.

Delphi XE8 Launch 19 en 21 mei

Het leuke van Internet of Things is dat IoT leuk is. Het maakt ineens dingen mogelijk die je niet voor mogelijk had gehouden.

Je loopt een wachtruimte in en je telefoon ziet dit en meldt je automatisch aan. De app die zichzelf heeft geactiveert laat je ook zien wie je gaat spreken en wanneer. Zodra je aan de beurt bent geeft hij je een seintje.

Bij een veiling zie je van elk item op je smartphone wat de geschiedenis is door hem dichtbij het te veilen item te houden. Zodra je de veilinghal inloopt verandert de app en kun je bieden op de door jou uitgekozen items.

Wil je zien hoe je wat Delphi XE8 voor mogelijkheden biedt voor IoT, kom dan naar de XE8 launch event, georganiseerd door Barnsten op 19 mei in Utrecht of 21 mei nabij Antwerpen.

Meer info vindt je hier:

Build an auctioning software suite… in one day

On March 12th in Brussels and on March 5th in Hoofddorp Barnsten is hosting a free event in which you will see how to use the power of Delphi to create a fully functional auctioning software suite in just one day.

During this day Pawel Glowacki and I will make all software live, combining the power of VCL with that of FireMonkey. For the backoffice, AWS S3 Cloud storage, REST, FireDac JSON Reflection, Interbase and EC2. We will also make the frontend, an Android app for Auction Masters to add items for bidding (REST + Cloud) and an Android app that attendees can use to actually bid on the items (REST + EC2). Bluetooth LE is used as well, to do over-the-air authorization. There is even some parallel programming involved, don’t worry we’ll keep it light. The day will be concluded with a live auction, allowing you to do virtual bids using the Android app just created.

For Brussel, more info here:
For Hoofddorp, more info here:

CodeRage 9 – Parallel Programming Library: Create Responsive Apps with Tasks, Futures and Parallel Loops

Parallel Programming Library: Create Responsive Apps with Tasks, Futures and Parallel Loops must be the longest title I ever used for a session. I hope you found this introduction into parallel programming with the new TTask, TTask.Future en TParallel.For loop useful.

The replays of this and other sessions of Coderage 9 are now available on YouTube here:

Source code for this session is available here:

As a last minute note: when using Synchronize inside a TTask.Run AND using TTask.WaitForAll from the main thread there is potential for deadlock as they will then wait for each other. Although it is safe to use Synchronize inside a Task if you only use WaitForAll from inside Task.Run, as demonstrated in the example TaskChaining, it is often better to use TThread.Queue, which doesn’t halt the thread it’s called from and is therefore generally safer.