The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 1,860 other subscribers

Archive for the ‘C++’ Category

Anyone any idea on the contributions of Embarcadero to the LLVM project?

Posted by jpluimers on 2025/04/30

With the huge dependency of Delphi on the LLVM project – basically none of their cross-platform support falls apart without LLVL – I wonder how much Embarcadero and their. mother company Idera contributed back to the LLVM project (which isn’t hard, see [Wayback/Archive] Contributing to LLVM — LLVM 20.0.0git documentation).

I tried these queries with remarkably few results:

The ones found were contributed by [Wayback/Archive] jwiegley (John Wiegley) · GitHub and [Wayback/Archive] atoker · GitHub. I could not find back who atoker is, but John Wiegley was part of the C++ Builder 1 team [Wayback/Archive] The C++Builder 25th Anniversary: Visual Development, the Power of the C++ Language and 2.5 decades of Continuing Excellence but made the patches while working for Boostpro, for instance [Wayback/Archive] [cfe-commits] PATCH [1/2]: Implementation of Embarcadero expression traits.

Hoping the above queries are not good enough: anyone having a more complete idea of the Embarcadero/Idera contributions to the LLVM project?

Especially in the light of this bsky post a while ago:

Read the rest of this entry »

Posted in C++, C++ Builder, Delphi, Development, Software Development | Leave a Comment »

Windows Installer is transactional, but combined with NTFS and installer processes is not fully: do more C:\Config.msi vulnerabilities exist? (plus a truckload of information on Windows SIDs)

Posted by jpluimers on 2025/04/10

Over the last years a few C:\Windows.msi vulnerabilities have been discovered (and fixed), of which some are linked below.

The core is that the Windows Installer tries to be transactional, and NTFS is, but the combination with installer processes isn’t.

That leads into vulnerabilities where you can insert malicious Roll Back Scripts (.rbs files) and Roll Back Files (.rbf files), and I wonder if by now more have been discovered.

So this post is a kind of reminder to myself (:

Oh, and I learned much more about whoami on Windows, as there  whoami /groups shows very detailed SID information. From that, I learned more on the internals of SIDs too!

Read the rest of this entry »

Posted in Blue team, C++, Development, Power User, Red team, Security, Software Development, Visual Studio C++, Windows, Windows Development | Tagged: , , , | Leave a Comment »

For my link archive: Counting the leading zeroes and ones in a binary number with C#

Posted by jpluimers on 2025/03/13

From a while back, but still interesting:

  1. [Wayback/Archive] Counting the leading zeroes in a binary number with C#
  2. [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: , , | Leave a Comment »

Updated monthly after the 8th day of the month – Welcome to the BAG: The Dutch Building and Addresses database – Bert Hubert’s writings

Posted by jpluimers on 2025/01/17

[Wayback/Archive] Welcome to the BAG: The Dutch Building and Addresses database – Bert Hubert’s writings

Bert made a test page for it too: [Wayback/Archive] berthub.eu/pcode/2513AA/14 (postal code for “Binnenhof”)

And a repository: [Wayback/Archive] GitHub – berthubert/bagconv: Convert Dutch building/dwelling administration into a simpler format

The BAG (Basisregistratie Adressen en Gebouwen) information, which is maintained by the Dutch Kadaster (Cadastre), allows bug reporting, which is processed remarkably quickly: [Wayback/Archive] Postcode + huisnummer niet uniek in Emmen? – Datasets / BAG – Geoforum

Via: [Wayback/Archive] bert hubert 🇺🇦🇪🇺: “I’ve updated my conversion of the official Dutch address, postcode, building database (BAG) with the July 2024 release. Description in English, API, code, CSV files can be found on …” – Fosstodon

--jeroen

Posted in C++, Database Development, Development, Software Development, SQLite, XML, XML/XSD | Leave a Comment »

Delphi sorcery: Introducing Spring.Benchmark – a port of Google benchmark

Posted by jpluimers on 2025/01/14

On my list of tools to experiment with: [Wayback/Archive] Delphi sorcery: Introducing Spring.Benchmark – a port of Google benchmark

This got released while I was recovering from cancer procedures, to I totally missed it.

Interesting stuff, as I knew there was the Google benchmark library*, but since I hardly do any C++ work, I never used it.

* [Wayback/Archive] GitHub – google/benchmark: A microbenchmark support library

The source code for the Delphi based Spring.Benchmark library is at [Wayback/Archive] GitHub – spring4d/benchmark: Delphi port of Google Benchmark, especially [Wayback/Archive] benchmark/Spring.Benchmark.pas at master · spring4d/benchmark · GitHub.

Videos to watch before using it:

Read the rest of this entry »

Posted in C++, Delphi, Development, Profiling-Performance-Measurement, Software Development | Leave a Comment »

Old programming books had cool little “puns” in their references, modern lack them in their indices. On the why, and history of them.

Posted by jpluimers on 2025/01/01

I wrote a two earlier blog posts around puns in programming book indices before:

  1. the 1992 Turbo Pascal 7.0 Language Guide having both entry in the manual about Recursion (“recursive loop, see recursive loop”) which of course is similar to “infinite loop” and entries for “infinite loop See loop, infinite” and “loop, infinite See infinite loop”.
  2. infinite loop in “LaTeX: A Document Preparation System” by Leslie Lamport, printed in 1994.

In the last one, I promised to list more occurrences which I now finally had time for to do.

But let me first elaborate more on the observation that modern computer books (like for instance on C# and Delphi beyond version 1) lack these kinds of index pun.

On the Delphi side, the index entry joke for recursion got removed no later than Delphi 3 (I am still looking for a Delphi 2 version of the Object Pascal Language Guide, see further below) even before the book being fully redone electronically and the index pages generation being automated in

I think I even understand why that is: the process of creating of indices. By the start of this century, more and more indices were automatically being generated and for the last 2 decades or so, all of them are. Back in the days however, indices were mostly done by hand. Nowadays, with everything automated, it is actually pretty tricky in most environments to add such an “infinite loop” index entry like in the Turbo Pascal book, as it would require two things at once:

Read the rest of this entry »

Posted in .NET, C, C#, C++, Conference Topics, Conferences, Delphi, Delphi 1, Delphi 2, Development, EKON, Event, History, LaTeX, LifeHacker, LISP, Mathematics, Pascal, Perl, PL/I (a.k.a. PL/1), Power User, science, Software Development, Turbo Pascal, Typesetting | Tagged: , | 4 Comments »

GitHub – ggerganov/whisper.cpp: Port of OpenAI’s Whisper model in C/C++

Posted by jpluimers on 2024/11/20

For future experimentation transcribing voice conversations: [Wayback/Archive] GitHub – ggerganov/whisper.cpp: Port of OpenAI’s Whisper model in C/C++

Whisper (speech recognition system) usually runs in the cloud (someone else’s computers, often rentable for a substantial monthly sum).

Via

  1. [Wayback/Archive] Jeroen Wiert Pluimers: “Wat is een goede tool voor transcriptie van Nederlandse tekst voor hobbymatig gebruik?…” – Mastodon
  2. [Wayback/Archive] bert hubert 🇺🇦🇪🇺: “@wiert whisper.cpp als je handig bent…” – Fosstodon

Now hopefully Whisper works well with the Dutch language…

I later realised Jeff Geerling mentioned Whisper a while ago as well:

Read the rest of this entry »

Posted in AI and ML; Artificial Intelligence & Machine Learning, C++, Development, LifeHacker, Power User, Software Development | Leave a Comment »

Links to HTML versions of RFC’s need to move from “tools” to “datatracker” – Meta Stack Exchange

Posted by jpluimers on 2024/11/07

Some work to do replacing dead IETF RFC and draft links in my blog posts.

From the accepted answer on [Wayback/Archive.is] Links to HTML versions of RFC’s need to move from “tools” to “datatracker” – Meta Stack Exchange:

  1. [http/https]://tools.ietf.org/html/[rfc/RFC] became https://www.rfc-editor.org/rfc/rfc network-wide
  2. [http/https]://tools.ietf.org/html/draft- became https://datatracker.ietf.org/doc/html/draft-

>Both of these should conform to the reply we received from IETF.

Read the rest of this entry »

Posted in C, C++, Carbon, Development, Power User, SocialMedia, Software Development, Web Development, WordPress, WordPress | Leave a Comment »

Some winget packages that will get you x86 or x64 versions of vcredist140

Posted by jpluimers on 2024/10/15

A while ago I downloaded some internal tooling that required vcredist140.dll (and related DLLs).

From the name you cannot see if that is a 32-bit (x86) or 64-bit (x64) dependency so you often have to trial and error to figure out which one you need.

I adopted some winget package install command-lines with package IDs current at the time of writing this blog post; similar should be available at the time of publication:

Read the rest of this entry »

Posted in .NET, C++, Development, Software Development, Visual Studio 2015, Visual Studio 2017, Visual Studio 2019, Visual Studio 2022, Visual Studio and tools, Visual Studio C++ | Leave a Comment »

NTFS Sparse Files For Programmers

Posted by jpluimers on 2024/09/25

Need to check this out some day: cs.exe compiled from [Wayback] sparse.zip which you can download from [Wayback/Archive] NTFS Sparse Files For Programmers

Read the rest of this entry »

Posted in C, C++, Development, NTFS, Power User, RoboCopy, Software Development, Visual Studio C++, Windows, Windows 10, Windows 11 | Leave a Comment »