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

Archive for the ‘.NET’ Category

Some notes on getting CrystalDiskMark portable on Chocolatey

Posted by jpluimers on 2025/09/03

I needed the portable version of [Wayback/ArchiveCrystalDiskMark on Chocolatey (unlike the [Wayback/Archive] Chocolatey Software | CrystalDiskMark (Install) package). Luckily I found the auto-update package [Wayback/Archive] Chocolatey Software | CrystalDiskInfo (Portable) and knew both that CrystalDiskMark is from the same author as CrystalDiskInfo, and that their code is on GitHub like the Chocolatey package.

Given I had a the below chocolatey-packages/automatic/crystaldiskinfo.portable as a template, I asked the CrystalDiskInfo (Portable) package maintainer if they were willing to maintain CrystalDiskMark (portable) as well and was glad the response was “yes”: [Wayback/Archive] Portabe CrystalDiskMark similar to the current CrystalDiskInfo? · Issue #159 · mkevenaar/chocolatey-packages

So for my link-archive:

Read the rest of this entry »

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

RunElevated.bat: Run an Elevated command on Windows

Posted by jpluimers on 2025/09/02

For a long time, I have ran with the runelevated.bat in [Wayback/Archive] Run an Elevated command using that: “net file” returns errorlevel 1 when not UAC, and “PowerShell Start-Process” has a “-Verb RunAs“; see the answers at http://stackoverflow.com/questions/7044985/how-can-i-auto-elevate-my-batch-file-so-that-it-requests-from-uac-admin-rights for more information

By now, I would just prepend this oneliner into each batch-file needing elevation:

@pushd "%~dp0" & fltmc | find "." && (powershell start '"%~f0"' ' %*' -verb runas 2>nul && popd && exit /b)

Both the initial batch file and one-liner are from [Wayback/Archive] windows – How can I auto-elevate my batch file, so that it requests from UAC administrator rights if required? – Stack Overflow (thanks [Wayback/Archive] Ir Relevant,  [Wayback/Archive] ceztko, [Wayback/Archive] Jamesfo, and [Wayback/Archive] PDixon724)

Note that the net file trick below should actually be repeated twice. This is explained in [Wayback/Archive] windows – Batch script: how to check for admin rights – Stack Overflow (thanks [Wayback/Archive] zumalifeguard), but wait: there is even a better solution!

The fltmc trick above works much better than the net file trick and is available from Windows XP and up, see [Wayback/Archive] windows – Batch script: how to check for admin rights – Stack Overflow (thanks [Wayback/Archive] npocmaka).

Oh: on systems where I have full installation control, I always install gsudo, see gsudo (sudo for windows).

–jeroen

Read the rest of this entry »

Posted in .NET, Batch-Files, CommandLine, Development, PowerShell, PowerShell, Scripting, Software Development | Leave a Comment »

Redux: Which Windows Resource Editor do you use?

Posted by jpluimers on 2025/08/21

A long time I wrote about Which Windows Resource Editor do you use? containing a poll to choose between XN Resource Editor, IcoFX, ResEdit and Resource Hacker.

In the meantime and betweentime more than 10 years have passed and there seems to be little maintenance in (especially the non-commercial part of) Windows Resource Editor land.

From the poll back then, I also learned about a (for me) new [Wayback/Archive] Resource Editor | MelanderBlog which is still maintained every now and then. The download is at [Wayback/Archive] Downloads | MelanderBlog (at the time of writing [Wayback] ResourceEditor20190421b.zip).

More on that and download/install locations of various resource editors below a new poll.

This new poll adds Resource Editor and allows you to make multiple choices (in case you use more than one tool):

Read the rest of this entry »

Posted in .NET, Delphi, Development, Software Development, Windows Development | Tagged: , , | Leave a Comment »

Can’t debug a .NET project in Visual Studio Code on Windows? Answered in “.net – The library hostpolicy.dll was not found – Stack Overflow”

Posted by jpluimers on 2025/08/19

A while ago I bumped into the error [Wayback/Archive] .net – The library hostpolicy.dll was not found – Stack Overflow (thanks [Wayback/Archive] Nate Barbettini for asking) which prevented me to debug in Visual Studio Code, but none of the answers applied to my case, so I added this one: Read the rest of this entry »

Posted in .NET, C#, Development, Software Development, vscode Visual Studio Code | Leave a Comment »

Quick batch file hack to download a file calling PowerShell to do the heavy lifting

Posted by jpluimers on 2025/08/12

I needed this download-file.bat a while ago, but forgot how I found out.

It’s in this gist too: [Wayback/Archive] Quick batch file hack to download a file calling PowerShell to do the heavy lifting.

Here we go: Read the rest of this entry »

Posted in .NET, Batch-Files, CommandLine, Development, Power User, PowerShell, PowerShell, Scripting, Software Development, Windows, Windows 10, Windows 11, Windows 8.1 | Leave a Comment »

PowerShell: playing around with Get-PnpDevice filtering with -Class and -Status

Posted by jpluimers on 2025/07/29

I while ago I was playing around in PowerShell with Get-PnpDevice (which got introduced in Windows 10 and Windows Server 2019):

[Wayback/Archive] Jeroen Wiert Pluimers: “@jilles_com … this is the difference between only connected disks versus including ones that had been connected in the past.Output difference between Get-PnpDevice -Class DiskDrive -Status OK Get-PnpDevice -Class DiskDrive …” – Mastodon

Read the rest of this entry »

Posted in .NET, Batch-Files, CommandLine, Development, Power User, PowerShell, PowerShell, Scripting, Software Development, Windows, Windows 10, Windows 11 | Leave a Comment »

Overlay of commands / shortcuts / keys pressed – Screencast Mode · Issue #981 · microsoft/PowerToys · GitHub

Posted by jpluimers on 2025/07/23

This is a reminder to check if this below late 2019 proposal inspired by Visual Studio Code Screencast mode¹ already made it: [Wayback/Archive] Overlay of commands / shortcuts / keys pressed – Screencast Mode · Issue #981 · microsoft/PowerToys · GitHub which mentions some tools that can already do this

Here is a list of FOSS apps that currently do this (sorted by stars):

To add to this list (unsorted):

In the meantime, I am using Key-n-Stroke as it is the only still supported one I found that is easily turned off/on when typing sensitive content like passwords:

Read the rest of this entry »

Posted in .NET, Development, Keyboards and Keyboard Shortcuts, KVM keyboard/video/mouse, Power User, PowerToys, Software Development, vscode Visual Studio Code, Windows | Tagged: , | Leave a Comment »

Alan Turing Wrote Object-Oriented Code In C And Ran It On BEAM – De Programmatica Ipsum

Posted by jpluimers on 2025/07/16

I originally missed this as back then I was in the midst of managing trouble in my parental family, unaware I was already having rectum cancer. Then things went fast, not even including the Covid-19 years, so I was glad last year I got reminded of this mid-2019 article:

[Wayback/Archive] Alan Turing Wrote Object-Oriented Code In C And Ran It On BEAM – De Programmatica Ipsum writes a lot of interesting things on programming paradigms, starting with

In his rare 1994 book “Object-Oriented Programming In C” Axel Tobias Schreiner explains how to do inheritance, class methods, class hierarchies, and even how to raise exceptions using nothing else than pure, simple, pointer arithmetic-filled, ANSI C.

then arguing basically most of not all modern languages share the majority of programming paradigms and all these paradigms are repeats of the past:

These days, we are using the offsprings of multiple programming paradigms having unprotected sex with one another in a thoughtful orgy. PHP, C#, Perl, C++ and even Visual Basic have all closures, lambdas or anonymous functions now. F# and Scala can instantiate any class included in their corresponding vendor-provided frameworks. JavaScript implements functions as objects with a single method .call(). Haskell comonads are actually objects. Swift 1.0 implemented instance methods as curried functions.
But none of this is new. Smalltalk, arguably the precursor of object orientation, had collect and select methods which were the grandparents of our more common map and filter functional friends.

What sets modern languages apart is that they the majority covers all the paradigms you might need, just differing in how well they support the paradigm-du-jour.

It means programming language wars should have been a thing of the past for about two decades now.

Please let that sink in.

 

Oh: if you look for that ANSI C book, here it is: [Wayback/Archive] https://www.cs.rit.edu/~ats/books/ooc.pdf [Wayback PDF View/PDF View]

 

Via: [Wayback/Archive] De Programmatica Ipsum: “”In his rare 1994 book “Object…” – mas.to

--jeroen

Posted in .NET, C, C#, C++, Cloud, COBOL, Containers, Design Patterns, Development, Docker, Erlang, F#, Go (golang), Haskell, Infrastructure, Java, Java Platform, Kotlin, Kubernetes (k8n), ObjectiveC, OOP (Object Oriented Programming), Perl, Scala, Scripting, Software Development, Swift, VB.NET | Leave a Comment »

badamczewski/PowerUp: ⚡ Decompilation Tools and High Productivity Utilities ⚡

Posted by jpluimers on 2025/07/10

Below is a really cool tool-set for Visual Studio Code of which its development started when I was recovering from life-saving bowel-surgery during the series of procedures to get rid of my metastasised rectum cancer.

It supports decompilation of various languages (.NET C# and F#, GO, Rust and clang) into either x86 assembler or IR (Intermediate Representation, on the .NET side often also called IL for Intermediate Language) to research how well a compiler stack behaves.

[Wayback/Archive] badamczewski/PowerUp: ⚡ Decompilation Tools and High Productivity Utilities ⚡:

Read the rest of this entry »

Posted in .NET, C#, C++, Development, F#, Go (golang), Rust, Software Development | Leave a Comment »

“C# emits .callvirt instructions, even if the method isn’t virtual. That forces a call site null check.” (Immo Landwerth on Twitter)

Posted by jpluimers on 2025/06/25

From a while back, which I initially missed because it was in the midst figuring out my ver increasing bowel problems leading up to all my cancer treatments, but still relevant:

[Wayback/Archive] Immo Landwerth @terrajobst@hachyderm.io on Twitter: “That’s why C# emits .callvirt instructions, even if the method isn’t virtual. That forces a call site null check.”

Except inside [Wayback/Archive] Extension Methods, referring to this will never return null.

Yes you can work around this using things like reflection, but the C# compiler will emit .callvirt for any method call which does an implicit null check by the caller which means you never have to check that in callees.

The above tweet quoted the first message of the [Wayback/Archive] Thread by @MStrehovsky on Thread Reader App on working around this .callvirt protection:

Read the rest of this entry »

Posted in .NET, C#, Conference Topics, Conferences, Development, Event, Software Development | Leave a Comment »