Hi there.

 

I’m Gabriel, a seasoned software engineer based in EU with over two decades of hands-on experience in both software and hardware. I have a bachelor degree in applied electronics (UPIT) and a Master of Science in Engineering (University of Liverpool).

I’ve embarked on a fascinating journey through the ever-evolving programming landscape. My programming odyssey began in 1992 when I put my hands on a Z80 computer. Since then, I’ve traversed multiple programming languages, but Delphi has always been my cherished “home.” Pascal followed in 1995 and I kept using Delphi until today (Delphi 11). I try to stay on top of the language.

 

I am interested in all the nitty-gritty aspects of low-level coding, binary files, speed optimizations, memory management, etc.
I am adept of clean, secure and modular code, with zero global variables, zero compiler hints/warnings, zero memory leaks. I develop my own software products under the CI/CD philosophy.
And I am a FreeAndNil-er 🙂

 

I wrote over 100 visual components (VCL) and quite a bunch of libraries. One of them, the general-purpose Light Saber library, consists of about 300 files and it is distributed with Delphi (via GetIt). The latest addition is an image recognition library, the only one of this kind for Delphi.

 

Also, in the last years I released three Delphi books, but I won’t stop to three.

In the free time I build electronic projects with my son, read science fiction, science news and listen to my music.

 


 

Recent blogs:

  • Delphi Firemonkey – ld.exe cannot find shlwapi.dll: No such file or directory

    After installing FMX and using it for a while I started getting a weird “ld.exe cannot find shlwapi.dll” message. There was nothing like this to be found on the internet! I posted a question of StackOverflow but people started to point in (as later turned out to be) totally wrong directions. The complete error msg…

  • Obtaining cheap EV/OV certificates & singing your application

    You can publish your application on your website. However, the Microsoft Smart Screen will not like it at all if the application is not signed. This is how your application looks like when it is singed and un-signed: Signing your application could cost as much as $800 per year, but if you do some research,…

  • Cross-platform development with Firemonkey

    This is a chapter from “Delphi in all its glory” series. Preparing for cross-platform An SDK is required for the following platforms: Multi-device applications for the iOS Device – 64-bit platform. Multi-device applications for the Android platform. Multi-device applications for the Linux platform. If you haven’t chouse to install them during Delphi setup, you need…

  • The four rules of packages

    Rule #1: Always separate your business-logic code from the GUI code. Without this rule, all your code will be a hot mess, where libraries cannot exist. Rule #2: There should be no floating units. A unit should always belong to a project (Dpr or Dpk). Without this, you will fail to properly generate some DCU…

  • Bug: TRichEdit removes images when TRichEdit.ReadOnly = True

    When trying to load an RTF file using RichEdit.Lines.LoadFromFile(FileName) and RichEdit.ReadOnly = True the RichEdit removes all images from the RTF file showing an empty placeholder. Solution: This is an Embarcadero’s bug. The solution is to call these methods in this specific order with these specific parameters: Note that TRichEdit has full support for images…

  • Say no to crappy images in your Delphi programs. Finding the best resizing algorithm.

    So, because I built a program that has to resize/scale images up and down, I built this tool to test 13 resizing algorithms for Delphi. Tested algorithms Tests: Two of the above tests include 3rd party algorithms.If you don’t have access to their source code, you will have to switch off the {$3RDPARTY} switch. Test…

 

 

 


 

Scroll to Top