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

  • Email Subscription

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

    Join 717 other subscribers

Archive for the ‘C++’ Category

GitHub – lanl/poppler-science: pdf to text with per-character OCR and (some) rich text awareness · GitHub

Posted by jpluimers on 2026/10/13

On my list of tools to try one day: [Wayback/Archive] GitHub – lanl/poppler-science: pdf to text with per-character OCR and (some) rich text awareness · GitHub.

It has an overhauled pdftotext that adds OCR to the regular poppler version.

This is useful when you cannot remove DRM or password from a PDF and regular poppler pdftohtml -nodrm as a poor man’s alternative fails and you do not want to go the [Wayback/Archive] Unlock PDF files. Remove PDF password route.

My prior blog posts having poppler information:

Read the rest of this entry »

Posted in C, C++, Development, PDF, Power User, Software Development | Leave a Comment »

Curious to this: Sonde — Arriving soon

Posted by jpluimers on 2026/10/08

A friend is starting a new business, so I am curious to what [Wayback/Archive] Sonde — Arriving soon will bring (or brought if this post scheduling arrives later than their release).

Looking at the taglines below, I think is that this is an intelligent (unlike LLM “intelligent”) source analysis/probing tool.

The Arrival animation sequence at [Wayback/Archive] Sonde — Arrival attributes the software development past in 29 stages, all the way back from FORTRAN till the more recent Swift until finally showing the moon, hopefully indicating a release before the Artemis IV will land people on the moon:

Read the rest of this entry »

Posted in .NET, AI and ML; Artificial Intelligence & Machine Learning, bash, BASIC, C, C#, C++, COBOL, CSS, Dart, Database Development, dBase, Delphi, Development, Elixir, Erlang, F#, Fortran, Functional Programming, Generative AI, Go (golang), Groovy, Haskell, History, Java, Java Platform, JavaScript/ECMAScript, Kotlin, Less (Less language), Lightweight markup language, LLM, MarkDown, ObjectiveC, Pascal, PHP, Python, R (R lang), Ruby, Rust, Scala, Scripting, SCSS, Software Development, Swift, Turbo Pascal, TypeScript, VB.NET, VB6, Visual BASIC, Web Development, xBase | Leave a Comment »

Windows XP activation algorithm cracked, keygen updated • The Register

Posted by jpluimers on 2026/08/05

20260805: edits as since scheduling, some links suffered link rot and a new tool appeared.

For my link archive because – for offline usage – sometimes Windows XP is still useful to run tools that have never been made compatible with less ancient hardware/software combinations.

The xp_activate32.exe mentioned below emulates the phone-activation response and is the important bit for me as I can re-use existing Windows XP license keys that I already have.

The WindowsXPKg generates new Windows XP license keys.

Read the rest of this entry »

Posted in C, C++, Development, Power User, Software Development, Windows, Windows Development, Windows XP | 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 »

Why octal is important (via @jpluimers on Twitter: “@b0rk @jilles_com Acids vs bases.”)

Posted by jpluimers on 2026/03/03

A few years back I tweeted [Wayback/Archive] Jeroen Wiert Pluimers @wiert@mastodon.social on Twitter: “@b0rk @jilles_com Acids vs bases.”

Ph scale of acids vs bases.

It was a kind of tongue-in-cheek reaction (with a way better picture below) to a very valuable post by b0rk (Julia Evans) on both Twitter and Mastodon [Wayback/Archive] Julia Evans on Twitter: “bases” / [Wayback/Archive] Julia Evans: “bases title: bases # we usually…” – Mastodon for two reasons:

  1. There are various interpretations of bases
  2. Octal is very important to educate as errors introduced by its support are hard to spot even if you do know about octal.

Back to Julia’s post:

Read the rest of this entry »

Posted in *nix, *nix-tools, 68k, 8086, Assembly Language, bash, bash, C, C++, Chemistry, Conference Topics, Conferences, Development, EPS/PostScript, Event, Haskell, History, Java, Java Platform, JavaScript/ECMAScript, Jon Skeet, LifeHacker, Mathematics, PDP-11, Perl, PHP, Power User, Python, science, Scripting, Software Development, x86 | Leave a Comment »

LLM-generated passwords ‘fundamentally weak,’ experts say • The Register

Posted by jpluimers on 2026/02/24

LLM eat a lot of energy and are their hallucination are bad: [Wayback/Archive] LLM-generated passwords ‘fundamentally weak,’ experts say • The Register

Your AI-generated password isn’t random, it just looks that way

…

AI security company Irregular looked at Claude, ChatGPT, and Gemini, and found all three GenAI tools put forward seemingly strong passwords that were, in fact, easily guessable.

…

Basically they are almost as good as the 2007 XKCD “four” number generator, the 2013 XKCD “I’m So Random” or the 2001 Dilbert “nine” number generator further below (don’t read the latter if you dislike Scott Adams)

Is it a coincidence or are these two using two small squared numbers?

Anyway: avoid LLM whenever possible, as most often they do more bad than good.

And for passwords, better use the blog post that was already scheduled for tomorrow: Generating random strings for passwords and uuids/guids on both Windows and Linux using base64 and hex encoding, plus: “Hive Systems: Are Your Passwords in the Green?”

Via [Wayback/Archive] Eloy.: “LLMs are centrist randomness: not useful for anything that requires truth but neither for password generation” – HSNL Social

Below this post, there are some great responses as well.

Comics

Read the rest of this entry »

Posted in AI and ML; Artificial Intelligence & Machine Learning, C++, Conference Topics, Conferences, Development, Event, Internet, InternetArchive, LLM, Pingback, Power User, Python, Scripting, Software Development, Stackoverflow, WayBack machine | 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 »

What Every Programmer Should Know about How CPUs Work • Matt Godbolt • GOTO 2024 – YouTube

Posted by jpluimers on 2025/09/10

[Wayback/Archive] What Every Programmer Should Know about How CPUs Work • Matt Godbolt • GOTO 2024 – YouTube

Main takeaways for me:

  • CPU pipelines have grown a lot longer than I was aware off
  • there are many more internal registers than I was anticipating
  • clever ways to convert if statements to non-jumps

--jeroen

Posted in .NET, Assembly Language, C, C#, C++, Delphi, Development, Python, Scripting, Software Development | Leave a Comment »

Windows Data Types (BaseTsd.h) – Win32 apps | Microsoft Learn

Posted by jpluimers on 2025/07/22

A while ago, I had to figure out the field sizes for some Windows API functions. In the distance past, the base data types used to be defined in windows.h, but  over the decades that file has been split into various other files as there are far more than just the BOOL, int, UINT, DWORD, HWND, LPARAM and WPARAM data types. Currently the data types are defined in [Wayback/Wayback] Windows Data Types (BaseTsd.h) – Win32 apps | Microsoft Learn.

Note that C++ allows to specify bit field sizes for fields in struct composite data types, so under some circumstances, fields my have a different number of bits than you might expect from their data type.

Via [Wayback/Archive] c++ dword uint size – Google Search.

–jeroen

Posted in C++, Development, Software Development, Visual Studio C++, Windows Development | Leave a Comment »

Q145994: HOWTO: Calculate Dialog Units When Not Using the System Font | KnowledgeBase Archive

Posted by jpluimers on 2025/07/17

It is odd that Microsoft now verifies to an external party because most of the Microsoft KB articles got deleted: [Wayback/Archive] Q145994: HOWTO: Calculate Dialog Units When Not Using the System Font | KnowledgeBase Archive.

Part of them document aspects from Microsoft Foundation Class Library – Wikipedia which is still supported.

Via: [Wayback/Archive] How does the dialog manager calculate the average width of a character? – The Old New Thing:

Read the rest of this entry »

Posted in C++, Development, Software Development, Visual Studio C++, Windows Development | Leave a Comment »