CodeRage XII – Modernizing your VCL application

If you haven’t already sign up for this years CodeRage XII conference.

CodeRage XII is an online conference for three days starting Tuesday Nov 7th on 13:00 in the afternoon (CET, Amsterdam time), until Thursday Nov 9th at one a clock in the night.

There are a lot of interesting sessions this year, covering everything from JSON to Linux Libraries, Amazon data storage to running on Arduino with Visuino. And many more.

Key speakers this year are Robert C. Martin on Clean Coding and Agile, Marco Cantu on ExtJS, and of course our own Paweł Głowacki on Amazon data storage integration.

I’ve got a session as well, on Modernizing your VCL application. It takes a Webshop BackOffice application and re-styles it for Windows-10 and 2017, removes the user wait times by using FireDAC Async SQL and TTask from the Parallel Programming Library (PPL) and uses Interbase Change Views to take a first step to changing from a save/load based approach to a state-based application, where the user always has the latest data available.

PASCON 19 maart 2016

De volgende PASCON is alweer heel dichtbij, op zaterdag 19 maart. Het wordt een  uitdagende dag met begrijpelijke uitleg van complexe onderwerpen zoals Generics, Kunstmatige Intelligentie (David Dirkse) en Threading met de PPL (Danny Wind).

Over het stukje PPL (Parallel Programming Library)  kan ik wat meer vertellen; hier laat ik enkele eenvoudig toepasbare usage patterns zien die je direct kunt gebruiken in je eigen Delphi code om je code vlot en responsive te laten reageren. Onder andere een pattern voor Task Resource Handling, en Task Monitoring, maar ook netjes afhandelen van Task Canceling.

Meer info hier, en toegang is gratis:

CodeRage X – Delphi Parallel Programming Deep Dive: Task Monitoring, Resource Locking, Thread Pool, Design Patterns and more!

Made by

Made by

Delphi Parallel Programming Library Deep Dive: Task Monitoring, Resource Locking, Thread Pool, Design Patterns and more! That is the full title of this session at CodeRage X. I hope you found this deeper look into some of the relevant parallel programming features such as TInterlocked, TMonitor and TThreadPool useful.

The replay of this session of CodeRage X has been made available by Embarcadero on YouTube here:
CodeRage X Delphi Parallel Programming Deep Dive


Source code for this session is available here:

Remember: when you run into shared resources with multi-threaded programming; consider just making a copy of the data for each thread.

The entire CodeRage X Object Pascal playlist of videos is available here:
CodeRage X Object Pascal Track

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.

SDC 1 en 2 december 2014

Binnenkort staat de SDC van 2014 alweer voor de deur. Dit keer komt Marco Cantu opnieuw naar Nederland, dus als je Delphi vragen hebt, mis dan vooral zijn Delphi Present and Future keynote niet om 19:00 op maandag.

Verder leuke sessies van Bob Swart, over Intraweb, REST vs SOAP en Datasnap session management. Zelf heb ik samen met Cary Jensen twee presentaties over threading en parallel programming. Cary Jensen gaat verder nog in op RESTful Datasnap en mis ook vooral zijn sessie niet over ClientDataset vs FDMemTable. Zelf geef ik nog een leuke sessie over FireMonkey styles, waarin we componenten een ander likje verf geven.

Kijk hier voor meer info:

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.