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,835 other subscribers

Archive for the ‘.NET’ Category

PowerShell Get-WinEvent XML Madness: Getting details from event logs – Ashley McGlone – disappeared from blogs.technet.microsoft.com

Posted by jpluimers on 2026/07/28

This post originally appeared on [Wayback/Archive] PowerShell Get-WinEvent XML Madness: Getting details from event logs – GoateePFE – Archived, but due to link rot got lost including the images. I restored this post from the Wayback Machine archived version including the comments so the content gets re-indexed in search engines as this was one of the few posts detailing how to filter and extract XML from Windows Event logs using PowerShell.

I needed this content for a future blog post that is going to appear in a day or so: Some links on getting the most recent defragmentation time of a Windows volume

Queries:

Read the rest of this entry »

Posted in .NET, CommandLine, Development, Power User, PowerShell, PowerShell, Scripting, Software Development, Windows | Tagged: | Leave a Comment »

Forensics: Automating Active Directory Account Lockout Search with PowerShell (an example of deep XML filtering of event logs across multiple servers in parallel) – where the images disappeared from blogs.technet.microsoft.com

Posted by jpluimers on 2026/07/22

Yes, the text of this post is still on [Wayback/Archive] Forensics: Automating Active Directory Account Lockout Search with PowerShell (an example of deep XML filtering of event logs across multiple servers in parallel) | Microsoft Learn but the original images from blogs.technet.microsoft.com as well as the code snippet got lost due to link rot and incomplete migration. I restored the blog post with comments from the Wayback Machine archives.

I needed the images and the snippet to be able to write future blog post Some links on getting the most recent defragmentation time of a Windows volume hat is appearing in a week or so.

The script is downloadable from LockoutEventsXML.ps1 or via [Wayback/Archive] TechNetGalleryArchive/LockoutEventsXML.ps1 at master · GoateePFE/TechNetGalleryArchive · GitHub at [WaybackSave/Wayback/Archive] github.com/GoateePFE/TechNetGalleryArchive/raw/refs/heads/master/LockoutEventsXML.ps1 by [Wayback/Archive] GoateePFE (Ashley McGlone) · GitHub.

Note the blog post uses @" strings – with $using.variable to pass local variables to remote sessions. See these entries for more information about that topic:

Queries:

Read the rest of this entry »

Posted in .NET, CommandLine, Development, Power User, PowerShell, PowerShell, Scripting, Software Development, Windows | Tagged: , , , , , , | Leave a Comment »

Delphi/C# reencode textfiles: some links as I thought I published sources, but didn’t

Posted by jpluimers on 2026/06/30

A long time ago (likely around 2009) I remember writing some code to re-encode text files in both Delphi and C#.

Somehow I thought I had published both, but I could only find parts of the C# code back in .NET/C# – converting UTF8 to ASCII (yes, you can loose information with this) using System.Text.Encoding.

So here are some links just in case I ever want to reproduce it in Delphi too (and a reminder to always perform this using TStream derivatives, never use TStrings or derivatives like TStringList for this):

Read the rest of this entry »

Posted in .NET, Ansi, ASCII, C#, Delphi, Development, Encoding, Mojibake, Software Development, UCS-2, UTF-16, UTF-32, UTF-8, UTF16, UTF32, UTF8, Windows-1252 | Leave a Comment »

PowerShell script useful for playing back in Cartrain CP7##BMW devices (currently CP700BMW, CP730BMW, CP740BMW) as these play back in the order in which directories and files have been created.

Posted by jpluimers on 2026/06/10

[Wayback/Archive] This is useful for playing back in Cartrain CP7##BMW devices (currently CP700BMW, CP730BMW, CP740BMW) as these play back in the order in which directories and files have been created. which is related to Elektronik-Idee – CP740BMW – USB wireless MP3 Player (with Bluetooth and Audio/Video in support) and fully PowerShell 2.0 compatible:

Script to recursively copy directories in alphabetical order from source-base-directory to destination-base-directory
while adding an intermediate directory with a single uppercase letter in destination-base-directory for 
each set of directories under source-base-directory starting with that letter.

This is useful for playing back in Cartrain CP7##BMW devices (currently CP700BMW, CP730BMW, CP740BMW)
as these play back in the order in which directories and files have been created, as per:

- https://www.cartain.de/downloads/cp740bmw/CP740BMW-OM.pdf

  Unterordner sind hervorragend geeignet um Musik besser zu organisieren. Dateinamen und Unterverzeichnis sind in der Reihenfolge gleichgestellt. Die Wiedergabe der Titel in sämtlichen Unterordnern erfolgt der Reihe nach wie sie auf den USB Stick kopiert wurde

- https://www.cartain.de/downloads/cp740bmw/CP740BMW-OM-EN.pdf

  Sub folders are a good possibility to organize your music collection. The order of playback is the same order you copied the files onto the card.

- https://www.cartain.de/downloads/cp730bmw/CP730BMW-OM.pdf
- https://www.cartain.de/downloads/cp730bmw/CP730BMW-OM-EN.pdf

–jeroen

Read the rest of this entry »

Posted in .NET, CommandLine, Development, PowerShell, PowerShell, Scripting, Software Development, Windows Development | Leave a Comment »

Know your TypeScript/JavaScript operators… or why having little ceremony sometimes makes programmers life harder

Posted by jpluimers on 2026/05/12

const a = undefined; const result1 = a ?? 0 + 10; const b = 100; const result2 = b ?? 0 + 10;Take this cool example I extended from [Wayback/Archive] Thomas 🅰️🇨🇵 on Twitter: “#Typescript quizz What will be the value of result1 and result2 ?” which lacked alt-badge, so I [Wayback/Archive] responded with the image on the right that has alt-text.

Based on that, I added a bit of logging:

const a = undefined;
const result1 = a ?? 0 + 10;

const b = 100;
const result2 = b ?? 0 + 10;

console.log(result1);
console.log(result2);

Two questions:

  1. What is the output of both log lines?

Read the rest of this entry »

Posted in .NET, C#, Conference Topics, Conferences, Continuous Integration, Delphi, Development, Event, Java, Java Platform, JavaScript/ECMAScript, Maven, Scripting, Software Development, TypeScript | Leave a Comment »

Steven Murdoch on Twitter: “However, the new “more secure” Universal Windows Platform (UWP) sandboxes the file picker in a separate process, allowing neat features like capability-based access control. It returns a file handle which, if the selected file exists, will not overwrite the existing content! 3/9”

Posted by jpluimers on 2026/04/07

Windows had its own aCropalypse in the Snipping tool, but other UWP based applications are vulnerable of that too because of this:

[Wayback/Archive] Steven Murdoch on Twitter: “However, the new “more secure” Universal Windows Platform (UWP) sandboxes the file picker in a separate process, allowing neat features like capability-based access control. It returns a file handle which, if the selected file exists, will not overwrite the existing content! 3/9”

It is part of this interesting [Wayback/Archive] Thread by @sjmurdoch on Thread Reader App with these two parts just after the above Tweet:

The old Win32 API for saving a file was (roughly) to show a file picker, get the filename the user selected, and then open the file. To open a file, the programmer must specify whether to overwrite the file or not, and example code usually does overwrite the file.
However, the new “more secure” Universal Windows Platform (UWP) sandboxes the file picker in a separate process, allowing neat features like capability-based access control. It returns a file handle which, if the selected file exists, will not overwrite the existing content!

The tread continued supporting this statement, that in the new situation you need to manually truncated the file, and referenced these links:

Read the rest of this entry »

Posted in .NET, Conference Topics, Conferences, Development, Event, SocialMedia, Software Development, Twitter, UWP (Universal Windows Platform), Windows Development | Leave a Comment »

sjinzh/awesome-yolo-object-detection: 🚀🚀🚀 A collection of some awesome public YOLO object detection series projects.

Posted by jpluimers on 2026/03/24

On my research list: [Wayback/Archive] sjinzh/awesome-yolo-object-detection: 🚀🚀🚀 A collection of some awesome public YOLO object detection series projects.

YOLO (You Only Look Once) is a series of computer vision algorithms and libraries based on training data that does ultra-fast object recognition. Most of it is written in Python with the more recent versions all using Pytorch, though interface from various other languages and environments are available. The above article lists them all.

A long time ago I gave a presentation on a few conferences using computer vision of which I blogged about the first one: Spoken @ DevDays 2009 NL – download is online: .NET & hardware – capture video & control servos, in a fun application

My presentation (.NET & hardware – capture video & control servos, in a fun application) was as a GeekNight session.
That imposed geeky stuff, but in addition it addressed an important point: there will be many more means of interaction.
In particular, my ‘geek’ combination of hardware and software would react on movements seen by the webcam by pointing the beam of the laserpointer towards the largest area that moved.

So it is cool to revisit the topic by for now a link dump: Read the rest of this entry »

Posted in .NET, AI and ML; Artificial Intelligence & Machine Learning, Development, Python, Scripting, Software Development | Leave a Comment »

Quick Accent steals the WordPress classic editor space after a hyphen-minus sign or asterisk · Issue #24623 · microsoft/PowerToys

Posted by jpluimers on 2026/02/11

A while ago I bumped into [Wayback/Archive] Quick Accent steals the WordPress classic editor space after a hyphen-minus sign or asterisk · Issue #24623 · microsoft/PowerToys.

In the WordPress Classic Editor, the or combinations quickly generate an empty bulleted list:

When enabling the PowerToys Quick Accent (formerly [Wayback/Archive] PowerAccent) with their default settings this fails (but it does work in the WordPress Gutenberg editor, Word and some other tools I tested).

The easiest way to work around this is to switch from the default “Activation Keys” setting “Left, Right or Space” to “Left/Right Arrow”.

Hopefully besides the workaround there will also be a full fix.

The related C++ and C# source files:

Read the rest of this entry »

Posted in .NET, C#, C++, Classic editor, Development, Gutenberg editor, Power User, PowerToys, SocialMedia, Software Development, Windows, WordPress | Leave a Comment »

msxml – Error when loading valid Windows-1252 document “System error: -2146697210” – Stack Overflow

Posted by jpluimers on 2026/02/04

Yes, I know that Windows XP SP3 and Windows 7 SP1 have been end-of-life for a long time, but in the wild they are still being used so here is for posterity:

[Wayback/Archive] msxml – Error when loading valid Windows-1252 document “System error: -2146697210” – Stack Overflow (thanks [Wayback/Archive] Rob Kennedy for the comment):

Read the rest of this entry »

Posted in .NET, Delphi, Development, History, Power User, Software Development, Windows, Windows 7, Windows Development, Windows XP, XML, XML/XSD | Leave a Comment »

woo-besluit-broncode-digid-app/NFCService.cs at master · MinBZK/woo-besluit-broncode-digid-app

Posted by jpluimers on 2026/02/03

This method sparked a lot of discussion on social media:

private static string GetPercentageRounds(double percentage)

It is part of [Wayback/Archive] woo-besluit-broncode-digid-app/NFCService.cs at master · MinBZK/woo-besluit-broncode-digid-app which was published after a request according to the Dutch Open Government Act (WOO: Wet Open Overheid).

Even though it services the iOS app, it is written in C# not Swift despite it being client-side code, but that’s not why it sparked a lot of discussion costing more man-hours than the code is worth.

This is the code:

Read the rest of this entry »

Posted in .NET, C#, Development, Software Development, Swift, xCode/Mac/iPad/iPhone/iOS/cocoa | Leave a Comment »