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 ‘Software Development’ Category

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 Automation,Β Microsoft Active Accessibility,Β IAccessible2Β 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 »

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 »

ISO8601 Date Converter Online – DenCode

Posted by jpluimers on 2026/03/19

A while ago, I needed to check if 20251120T0700Z was a valid ISO 8601 timestamp. [Archive] ISO8601 Date Converter Online – DenCode showed it was.

It can even be called directly: [Archive] ISO8601 Date Converter Online – DenCode: 20251120T0700Z Europe/Amsterdam .

Not sure what language it was developed in (it runs server side), but it is a great tool to do some occasional testing of timestamp values.

Query: [Archive] datetime parse iso 8601 online at DuckDuckGo

I didn’t have time to check all the links from the Query in depth, but one seems to be JavaScript and another one is server side:

Read the rest of this entry »

Posted in Algorithms, Date and Time algorithms, Development, ISO 8601, Power User, Software Development | Leave a Comment »

RADProgrammer Style Guide Β· radprogrammer/radteam Wiki

Posted by jpluimers on 2026/03/19

I missed the below repository as when it got introduced early 2021 I was very much coping with recovering from a truckload of procedures curing my rectum cancer and its metastases.

Anyway, [Wayback/Archive] RADProgrammer Style Guide Β· radprogrammer/radteam Wiki is yet a new style guide which unlike the others hopefully will be maintained.

Also unlike the others it stresses not to use a specific Delphi feature, in this case inline variables (introduced in 2018) because in 2021 the internal IDE tooling and run-time around it still had not caught up.

I have always generalised this to refrain from using new features until they are broadly supported in the product. The reasoning is thatΒ  as for more than the last decade, the R&D team has a tendency to introduce features half baked, ticked a marketing feature in the product matrix then goes on with new features deferring work needed to actually make the feature useful towards the indefinite feature, so here is something you can quote me on

In Delphi, refrain from using new language features until the product fully supports it including at least these bits:

  • documentation
  • code generation / code completion
  • run-time behaviour (like memory leaks)
  • editor support (navigation, selection, expansion)
  • code refactoring
  • code formatting
  • debugger support

They refer to it fromΒ [Wayback/Archive] RADProgrammer Style Guide Other Guidance Β· radprogrammer/radteam Wiki:

Read the rest of this entry »

Posted in Delphi, Development, Software Development | Leave a Comment »