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

Archive for the ‘Development’ Category

Copilot – Terms of Use: “Copilot is for entertainment purposes only.”

Posted by jpluimers on 2026/04/07

Now you know it from the update of the Microsoft [Wayback/Archive] Copilot – Terms of Use: “Copilot is for entertainment purposes only.”

Via [Wayback/Archive] Post by @doublepulsar.com — Bluesky “What happened to the world daddy?” “We destroyed it, but for one beautiful moment in time, we had copilot entertainment” using a blurred image which I found the source for in my past blog post Yes the planet got destroyed. But for a beautiful moment in time we created a lot of value for shareholders. – Finding back the source.

The blurred image: [Wayback/Archive] bafkreibc4wqxxv5hjfs2fuv5ccuc2bobqj3ysx7t7ca5vndzzmiy3ouzfu (730×636)

Read the rest of this entry »

Posted in AI and ML; Artificial Intelligence & Machine Learning, Development, GitHub Copilot, LLM, Software Development | 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 »

Excel: operations involving the last occurence of a substring (with examples getting the current Worksheet, Workbook and file/directory path)

Posted by jpluimers on 2026/04/02

Last month I wrote about CELL function looks interesting but beware: language nightmares coming up….

There I mentioned both formulas from [Wayback/Archive] Get sheet name only – Excel formula | Exceljet and [Wayback/Archive] Insert the current Excel file name, path, or worksheet in a cell – Microsoft Support failing to deliver the expected results

an official Microsoft example of obtaining the Worksheet name which I suspected would not work on systems allowing ] in path names. And indeed it is true: that case fails on both MacOS and Windows in the same way.

Here you see the failures of both the ExcelJet function and the ones from Microsoft Support on two operating systems:

Read the rest of this entry »

Posted in Conference Topics, Conferences, Development, Event, Excel, Office, Power User, Scripting, SocialMedia, Software Development, Twitter | Leave a Comment »

Sweep the Strait: Minesweeper, but in the Straitt of Hormuz (plus some tests with RawGit alternatives)

Posted by jpluimers on 2026/03/31

Forgot to schedule this one when I saw it two weeks ago: [Wayback/Archive] Sweep the Strait.

Apart from demonstrating that Trump never had a plan, does not and will not have a plan, it is cool to see Minesweeper developed in JavaScript, HTML and CSS mapped with some geodata onto a real map of the Strait of Hormuz.

Cool idea!

It has a function Windows 3.x UI with functional menu (Game -> New Game; Help -> How to Play)

At first, I thought the original developer is this:

However, in fact the developer is:

Read the rest of this entry »

Posted in CSS, Development, HTML, JavaScript/ECMAScript, Opinions, OS/2, Power User, Retrocomputing, Scripting, Software Development, Web Development, Windows, Windows 3.11 | Leave a Comment »

Kevlin Henney – Refactoring Is Not Just Clickbait #buildstuffconf – YouTube

Posted by jpluimers on 2026/03/31

As always, Kevlin Henney has interesting talks. This one too: [Wayback/Archive] Kevlin Henney – Refactoring Is Not Just Clickbait #buildstuffconf – YouTube

Via [Wayback/Archive] Gil Zilberfeld (TestinGil) on Twitter: “.@KevlinHenney – Refactoring Is Not Just Clickbait #buildstuffconf”

–jeroen

Read the rest of this entry »

Posted in Agile, Development, Refactoring, Software Development | Leave a Comment »

Some links on non-official Ring API libraries and tools

Posted by jpluimers on 2026/03/26

There is no official Ring API. But there are libraries and tools around that can talk to a Ring ecosystem, mostly written in JavaScript or Python.

Some links I found:

Read the rest of this entry »

Posted in *nix, *nix-tools, cURL, Development, Hardware, IoT Internet of Things, JavaScript/ECMAScript, Network-and-equipment, Power User, Python, Ring Doorbell/Chime (Amazon), Scripting, Software Development | Leave a Comment »

CELL function looks interesting but beware: language nightmares coming up…

Posted by jpluimers on 2026/03/26

A while ago I bumped into a very promising [Wayback/Archive] CELL function – Microsoft Support which exposes all sorts of interesting information on an Excel WorkSheet cell including address and filename.

But then this “disclaimer” threw me off:

Note: Formulas that use CELL have language-specific argument values and will return errors if calculated using a different language version of Excel. For example, if you create a formula containing CELL while using the Czech version of Excel, that formula will return an error if the workbook is opened using the French version.  If it is important for others to open your workbook using different language versions of Excel, consider either using alternative functions or allowing others to save local copies in which they revise the CELL arguments to match their language.

It means the CELL function is only useful if the spreadsheet containing it will only ever be used in a single language: say goodbye to portability.

That’s a real bummer as it would have simplified formulas like =ADDRESS(ROW(E7), COLUMN(E7)) into =CELL("address", E7) both resulting $E$7.

The big problem is that “consider either using alternative functions” is hardly possible as many of the functions have no alternative, for instance using the CELL function is the only way to get the name of the current worksheet (prepended by the filename) as =CELL("filename") returns Macintosh HD:Users:jeroenp:Downloads:[Workbook1.xlsx]Sheet1.

Note however:

Filename (including full path) of the file that contains reference, as text. Returns empty text (“”) if the worksheet that contains reference has not yet been saved.

The basic syntax of it is CELL(info_type, [reference]), where info_type and some of the return values being language dependent:

Read the rest of this entry »

Posted in Development, Excel, Office, Office Development, Power User, Software Development | Leave a Comment »

Automation can’t fix broken security basics – Help Net Security

Posted by jpluimers on 2026/03/25

[WaybackSave/Archive] Automation can’t fix broken security basics – Help Net Security reveals nothing new: like in many places, automation isn’t the solution for bad processes or bad behaviour. Automation just assists getting things done (even in security), only marginally leading people to getting these things right in addition to done.

Leadership often focuses on broad resilience goals while the day-to-day work that supports them remains inconsistent and underfunded.

This is especially true when the day-to-day activities mainly consists clicking on links and other user-interface elements.

Yes, dark patterns are being used by adversaries, but a lot of day to day user experiences are based on dark patterns.

Improve those experiences by designing better processes amended by better automation, not the other way around.

Oh, and get your foundations right. For example by having processes in place that ease timely patching, even if that requires deployment on fridays.

--jeroen

Posted in Dark Pattern, Deployment, Development, DevOps, Infrastructure, Software Development, UI Design, User Experience (ux) | Leave a Comment »

nvaccess/nvda: NVDA, the free and open source Screen Reader for Microsoft Windows

Posted by jpluimers on 2026/03/25

On my research list: [Wayback/Archive] nvaccess/nvda: NVDA, the free and open source Screen Reader for Microsoft Windows

A bit more background is in NonVisual Desktop Access – Wikipedia

NonVisual Desktop Access (NVDA) is a free and open-source, portable screen reader for Microsoft Windows. The project was started by Michael Curran in 2006.

NVDA is programmed in Python. It currently works exclusively with accessibility APIs such as UI AutomationMicrosoft Active AccessibilityIAccessible2 and the Java Access Bridge, rather than using specialized video drivers to “intercept” and interpret visual information. It is licensed under the GNU General Public License version 2.

It opens a ton of possibilities to use during software development for instance for automation or GUI testing.

It is an open source alternative for JAWS (screen reader) – Wikipedia.

Via this remark in [Wayback/Archive] Angrynerds 086 – Gone in 37 minutes – YouTube (around the 29:30 and 30:30 time marks)

#08 Windows11 gaat 32bit systemen kapotslopen. Dat is niet leuk voor bepaalde toegankelijksopties.

–jeroen

Posted in C++, Development, Python, Scripting, Software Development, Testing | Leave a Comment »

The mastodon boop sounds are called boop and were created by Josef Kenny

Posted by jpluimers on 2026/03/24

You can find the binary files sound files of the Mastodon beep sound at

They were created by [Wayback/Archive] Josef Kenny (blog: [Wayback/Archive] josef.one; Mastodon “i made that mastodon boop sound”: [Wayback/Archive] josef (@jk@mastodon.social) – Mastodon) early 2017 and updated with metadata later that year. In 2022 it became clear that using the sound is allowed as long as there is credit:

Read the rest of this entry »

Posted in Audio, Development, DVCS - Distributed Version Control, git, GitHub, Mastodon, Media, Power User, SocialMedia, Software Development, Source Code Management | Tagged: , | Leave a Comment »