Posts

System Information Unit v5.30.0 release (but why?)

Image
In my native Yorkshire (in England) we have a saying that "there's nowt so funny as folk" ( trans: "there's nothing so peculiar as people" ). Well, in my post on 1st October, when v5.29.0 was released, I made it very clear that I was getting utterly sick of keeping the OS detection code up to date and was going to do just one final release at the year end. And then, a matter of days later, v5.30.0 dropped, and it's not the last release. So what's going on? Nowt so funny as folk. I was looking over the code and poking round the registry and thought there were a few more methods that really could be added to the OS detection code. Since I'm a bit under the weather at the moment and can't be bothered doing anything else, I entertained myself by adding those missing methods. They are all class methods of TPJOSInfo  (follow the links for documentation): BuildBranch DigitalProductID And then I started wondering if there was a way, that didn't

System Information Unit v5.29.0 released

Image
I can't believe we're slipping into autumn already. October 1st has been made all the more gloomy by poking around documentation trying to make sense of Windows builds that have been released in the last 3 months. It's taken hours! Anyhow, here's the autumn update to the  System Information Unit , v5.29.0. This update recognises the Windows 10 & 11 builds released from 1st July to 30 September 2024, which includes (today actually) the release of Windows 11 24H2. Grab this release from the project's GitHub  releases page , where you can also read the change log. At the spring update I mentioned that it's getting very tedious trying to match up the various Windows builds and revisions with the actual marketing names used for what is still labelled as Windows 10.0 if you only look at the actual version number reported by Windows! So, I think I'm going to do one more update to this unit at the year end and that will be it.

Version Information Editor v2.16.0

Image
I've just released v2.16.0 of my rather niche Version Information Editor . This program helps with writing the version info resource that should be in every program. Now I know that Delphi has been generating that information for usfor ages now, but the way it goes about doesn't work the way I want, so I wrote my own tool! Anyhow, this new version allows the value of an environment variable to be included in version information. You can also create new variables on the command line using the  -E:name=value  command line parameter. The variables can be referenced in the program using a new <%Env> macro. See the help file for details. Like all my recent releases I've simplified the process of building the program from within the Delphi IDE and added a new script to create release using MSBuild instead of Make. There are also a few bugs fixes and I've made a long overdue start on refactoring the very smelly and ancient code! 👉 Get v2.16.0 from GitHub  (all changes

Delphi 12.2 is now available

Image
The latest version of Delphi has been released today as part of RAD Studio 12.2. Hot from the release webinar, the new features in Delphi and the IDE that most appeal to me are: The Delphi compiler & tools are now available as 64 bit executables that can be used as an option when using MSBuild. These can be used for Windows 32 and 64 targets. This means mega size applications can be built as single application files. Happy, happy! In the Delphi RTL:   TParallelArray - faster parallel operations. TOrderedDictionary - I've been wanting this for a while. I had one written on XE, but it broke of Delphi 11! Smart CodeInsight: AI coding support using OpenAI , Gemini & Claude . These are all online, so you need to trust them and you may need to pay any service fees. There's also Ollama which is offline, free of change, and apparently sends no data through the net. These are all off by default. You can add other AI tools if you have the rights to use them. Focus mode: see on

GBG Garbage File Generator v0.4.0 released

Image
The v0.4.0 update to my gbg garbage file generator program has just been released. It adds two new pairs of command to control the behaviour of the program in certain circumstances, as follows: By default gbg puts up a prompt to ask the use to confirm whether a pre-existing file should be overwritten. Two new options can be used to prevent this prompt from appearing: -o can be used to force the program to stop with an error if a file with the requested name already exists. -O is used to forcibly and silently overwrite any pre-existing file with the same name as the requested file. Similarly, a prompt is displayed asking the user whether to proceed when a file larger than 500Mb is specified. The following options can be used to prevent the prompt from appearing: -l can be used to force the program to stop with an error if a file larger than 500Mb is requested. -L is used to ignore the 500Mb size limit and to silently write a file of any size. From this version the compiler has bee

v1.0.0-beta.2 of the BDiff / BPatch Utilities released

Image
Over a year since the first beta of v1.0.0 or the  BDiff / BPatch Utilities was released comes the 2nd beta. This release imposes some sensible constraints over parameter values of commands that can be passed to the BDiff file differ. It also restricts the maximum file size that can be diffed to the largest file size supported by the binary diff file format (2GiB - 1 byte), although you may get out of memory errors if you diff files this big! There a few other changes and fixes that can be found in the change log for this release. I've moved from Delphi 11 to 12 for compiling this code and Delphi 12 is the minimum supported compiler version. Get the latest release from GitHub .

New Release 2.2.0 of File Date Comparison Utility

Image
My little command line Windows program, compfiledate , has had a bit of an overhaul. The program take two file names and compares either the creation date or modification dates of the files. Various comparison operators can be specified. Normally the program operates silently and returns 0 if the operator returns false and 1 if it returns true. Operators can be specified either in English or as mathematical operators. See the docs for a full list of operators and options. I've finally stopped compiling it with Delphi XE and moved to Delphi 12.1. Taking advantage of the move to Delphi 12.1 there's now a 64 bit version of the program in addition to the previous 32 bit exe. I've also fixed a bug that meant that "file not found" errors were returning a 0 to the OS instead of the desired error code (104). Other than that the release build process has been moved from Make to MSBuild. If you want a copy go to the GitHub release page . Here's a look at some command l