Archive for the ‘Delphi’ Category
Posted by jpluimers on 2025/04/09
Posted in .NET, Borland Pascal, C#, Delphi, Development, History, JavaScript/ECMAScript, MS-DOS, Pascal, Scripting, Software Development, Turbo Pascal, TypeScript, Windows Development | Leave a Comment »
Posted by jpluimers on 2025/04/03
When you look at the History of Delphi (software) – Wikipedia, the real innovation – including Borland Kylix – was during the Early Borland Years fading later with three temporary surges, the first being the Delphi .NET support introduced in Delphi 7 and Delphi 8 happening too late during the Later Borland Years, then during the Embarcadero Years support for Unicode and Generics both in Delphi 2009 and followed by a the struggle of their cross platform compilers and (externally bought) FireMonkey vector-based GUI support independent from the Windows API in the XE series of Delphi versions. The Idera Years did not bring any real innovation: just minor updates presented as major ones.
This went hand-in hand with their then flagship relational database InterBase dwindling down after first open sourcing InterBase version 6 in 2000, then closed sourcing it again (sparking the Firebird database development ) with latest versions were years apart: 2020, 2017 and XE7.
This more or less stalled innovation means that older Delphi manuals and books stay relevant despite their physical copies having been long out of print, and made their way as PDF files on the internet.
So, for my link archive:
Read the rest of this entry »
Posted in Delphi, Development, Software Development | Leave a Comment »
Posted by jpluimers on 2025/03/19
Earlier this months I wrote Writing a tool that restarts the Google Chat desktop app Window (and hopefully the Google Duo desktop app Window too) promising I would rewrite the Delphi code into C# and integrate it into PowerShell.
This is the beginning on porting the basics of the Delphi code (which had a flaw!) to C# and contains EnumWindows/EnumChildWindows and error handling tricks and tips.
Read the rest of this entry »
Posted in .NET, C#, Conference Topics, Conferences, Delphi, Development, Event, PowerShell, Scripting, Software Development, __Unfinished | Tagged: 46843, 51505, 600 | Leave a Comment »
Posted by jpluimers on 2025/03/13
From a while back, but still interesting:
- [Wayback/Archive] Counting the leading zeroes in a binary number with C#
- [Wayback/Archive] c# – Getting the number of leading 1 bits – Stack Overflow (thanks [Wayback/Archive] Barry Kelly and [Wayback/Archive] SoapBox)
Especially the first link explains the algorithm very well and is similar to links referred to from the Stack Overflow question as it is based on counting ones (and leading ones are basically leading zeros but bit-inverted).
It also explains a cool thing for leading zeros: modern CPU have instructions which .NET Core.
Read the rest of this entry »
Posted in .NET, AArch64/arm64, Algorithms, ARM, Assembly Language, C, C#, C++, Delphi, Development, Software Development, x64, x86 | Tagged: csharp, dotnet, dotnetcore | Leave a Comment »
Posted by jpluimers on 2025/03/12
In the past, I mentioned that the open source SonarQube by SonarSource was on my “research list” in a few blog posts* as I am a fan of static code analysis **, and now it is time to amend them with the current state for using it in Delphi.
SonarSource products
- SonarQube Server (formerly SonarQube) is an open core product for static code analysis, with additional features offered in commercial editions.
- SonarQube Cloud (formerly SonarCloud) offers free analysis of open source projects.
- SonarQube for IDE (formerly SonarLint) is a free IDE extension for static analysis.
For more history on them, see [Wayback/Archive] About – Sonar and SonarSource | Sonar.
Delphi integration
There are two open source integrations: for ConarQube Server, and Linting, both maintained by the same company ([Wayback/Archive] IntegraDev · GitHub):
Read the rest of this entry »
Posted in Delphi, Development, Software Development, SonarQube, Static Code Analysis, Unit Testing, vscode Visual Studio Code | Leave a Comment »
Posted by jpluimers on 2025/03/04
In the past, the Google Hangouts desktop app on Windows would integrate with the system “tray” (actually the notification area) and show you missed chats and calls.
The [Wayback/Archive] Google Chat desktop app does not. It shows missed messages only as a number on the taskbar icon. Even worse: when you close the Window, the taskbar application icon does not show that number any more.
The odd thing is that the Google Duo desktop app does stay active and shows a notification popup on incoming calls. The Google Chat desktop app does not.
So I wanted to restart the Google Chat desktop app automatically when the Window was closed. But there is a catch:
Read the rest of this entry »
Posted in .NET, C#, CommandLine, Delphi, Development, PowerShell, PowerShell, Scripting, Software Development | Tagged: 37 | Leave a Comment »
Posted by jpluimers on 2025/02/25
On the reading list wondering which tool chains can deliver NtAPI based development: [Wayback/Archive] Going Native – Malicious Native Applications
Via [Wayback/Archive] Thread by @MrPc69257431 on Thread Reader App with first tweet at
https://x.com/MrPc69257431/status/1864855379651498292
Note that being able to call NtAPI from your code base does not mean NtAPI based development: Pure NtAPI means you need a linker that can target a different output. See the quote from the above article (emphasis mine):
So, to get started with an empty native executable, all we have to do is include the “phnt.h” file, and set up the NtProcessStartup function. Then it’s important to tell the linker that we want to link against ntdll, and that we’ll be making a native application by passing in the “Native” text to the Subsystem linker option
It means that for instance Delphi is kind of out of the question for this, see these links on why:
Read the rest of this entry »
Posted in Conference Topics, Conferences, Delphi, Development, Event, Software Development, Windows Development | Leave a Comment »
Posted by jpluimers on 2025/02/18
I unconsciously wanted a tool like this for a long time, and was glad I finally searched for it:
A keyboard logging and presentation utility for presentations, screencasts, and to help you become a better keyboard user.
[Wayback/Archive] Code52/carnac: A utility to give some insight into how you use your keyboard
The first time I saw something similar was in the Delphi days where it was part of a plugin for CodeRush in Delphi (think Delphi 5-6 era), the famous developer productivity tool by Mark Miller that later got rewritten for Visual Studio and became part of DevExpress.
So I searched for [Wayback/Archive] windows show keystrokes – Google Search which found [Wayback/Archive] How to show keystrokes on Windows 10 which in turn mentioned a fork of Carnac.
As it turns out Read the rest of this entry »
Posted in .NET, Delphi, Development, Hardware, Keyboards and Keyboard Shortcuts, KVM keyboard/video/mouse, Power User, Software Development, Windows, Windows Development | Leave a Comment »