gabr42
After two long-distance years we are finally moving back to normality, starting with a Slovenian RAD Studio meeting next Wednesday in Ljubljana.Po dveh letih virtualnih konferenc vas končno spet vabimo na srečanje v živo! Za… – Details…
3 months ago in cbuilder, Delphi, presentations, RAD Studio0
gabr42
Just a short notice for Slovenian readers – In case you missed it, next week you’ll be able to join a Slovenian webinar about Delphi 11. Register here— Published under the Creative Commons Attribution 3.0 license – Details…
10 months ago in Delphi, presentations0
gabr42
While the TLightweightMREW is quite handy, it is not perfect. There’s a weird assymmetry in it. On all operating systems that Delphi can compile for, read locks are reentrant (recursive) while write locks are not. In other words,… – Details…
2 years ago in Delphi, multithreading, programming, synchronization0
gabr42
In order to convince you that a readers-writer lock is not a stupid idea, I should finally show some numbers. In this article I’ll present a minimalistic (but still real-life) example which allows us to… – Details…
2 years ago in Delphi, multithreading, programming, synchronization0
gabr42
In the previous installment I introduced the idea of a readers-writer lock. Today I’ll look into readers-writer lock implementations (yes, multiple) that are available in the Delphi run-time library.Read more »— Published under the Creative… – Details…
2 years ago in Delphi, multithreading, programming, synchronization0
gabr42
One of the pleasant surprises in Delphi 10.4.1 was the addition of a new readers-writer lock implementation TLightweightMREW. While it was probably not noticed by most of the users, I was quite happy to see… – Details…
2 years ago in Delphi, multithreading, programming, synchronization0
gabr42
New OmniThreadLibrary is out! Get it while it’s hot!Version 3.07.8 is mostly a bugfix release. It fixes few small bugs and enables support for Delphi 10.4.You can get it now on git, download the ZIP… – Details…
2 years ago in Delphi, multithreading, OmniThreadLibrary, Open Source0
gabr42
Delphi 10.4 has just been released (turn here for a great overview) and has some nice enhancements even for us, die-hard Windows developers. It is too early to give any deep analysis as I have… – Details…
2 years ago 0
gabr42
Something great has happened on this day, 25 years ago.It was the sign of Aquarius. People were listening to Creep. And the AppBuilder was released.You don’t know AppBuilder? Sure you do! It was developed and —… – Details…
3 years ago in Delphi, delphi25th0
gabr42
Parallel Programming with OmniThreadLibrarye-book: 50% offprinted book: 25% off (use coupon BLACKFRIDAY25)Delphi High Performancee-book: 72% offHands-on Design Patterns with Delphie-book: 80% off— Published under the Creative Commons Attribution 3.0 … – Details…
3 years ago in Delphi; programming; books0
gabr42
The ITDevCon X – the tenth edition! – has just ended and boy was it a blast! (As usual, I should say.)This was my seventh ITDevCon conference and I always like to visit it. This… – Details…
3 years ago in Delphi, ITDevCon, presentations0
gabr42
CompareValue function is incredibly practical when you are writing comparers (functions that determine how some data structure is ordered). System.Math and System.StrUtils define a bunch of functions that can be used to compare integers, doubles,… – Details…
3 years ago in Delphi, programming, tips0
gabr42
On September 26th I’ll talk about RAD Studio Rio in Ljubljana. We’ll discuss 10.3 a bit and 10.3.1/10.3.2 updates in more detail. We’ll also look into the future to see what 10.4 might bring.This will… – Details…
3 years ago in cbuilder, Delphi, presentations, RAD Studio0
gabr42
Pop quiz! How can the following program …Writeln(True);Magic;Writeln(True);… output this:?TRUEFALSESimple!Read more »— Published under the Creative Commons Attribution 3.0 license – Details…
3 years ago in definitely not best practices, Delphi, programming0
gabr42
Delphi never stops surprising me …Did you know that this is a valid syntax?case a of 0: Writeln(0); else Writeln(‘else’); Writeln(a);end;This code indeed compiles and works exactly as the following fragment.case a of 0: Writeln(0); … – Details…
3 years ago in Delphi, programming0