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

UTF-8, Explained Simply – YouTube

Posted by jpluimers on 2026/03/04

Cool interesting video: [Wayback/Archive] UTF-8, Explained Simply – YouTube

It covers both history from the late 1800s Baudot Code (also known as ITA1) via 1930s ITA2 and 1950’s EBCDIC / FIELDATA ages through 7-bit ASCII in the 1970s  and incompatible UCS-2 (now UTF-16) of the 1990s to the current day and age of UTF-8 (which actually started out on a placemat in 1992).

Though mentioning 8-bit encoding, it skips details of extended ASCII encodings like ISO/IEC 8859 and Windows-1252.

It goes to quite some length on decoding UTF-8 and showing how forgiving the UTF-8 standard is. Yes, it is a self-synchronising code thanks to the venerable Ken Thompson.

Definitely worth watching as it also covers the Zero-width joiner which is not just important for combining Emoji, as it is used by many people nowadays, but got in fact implemented to support various scripts like Arabic script or any Indic script.

Oh, the placemat story: Read the rest of this entry »

Posted in ASCII, Development, EBCDIC, Encoding, ISO-8859, Software Development, UCS-2, Unicode, UTF-16, UTF-8, Windows-1252 | Leave a Comment »

Odido-router verzamelt analytics van je huishouden en stuurt het door naar AI toko lifemote

Posted by jpluimers on 2026/03/04

Dit is net zo nalatig als de Odildo hack waar alle klantgegevens mee op straat kwamen te liggen: [Wayback/Archive] Odido-router verzamelt analytics van je huishouden

Bevindingen in het kort

  • De Odido-router haalt bij een nieuwe WAN-verbinding een bash-script op over een onversleutelde HTTP-verbinding.
  • Je kan dit script manipuleren om een root shell op je router te krijgen.
  • Als je TLS-verkeer mitm’t zie je analytics-data over de lijn gaan; de scripters hebben TLS-validatie uitgezet (`curl -k`) dus je kan dit ‘versleutelde’ analytics-verkeer inzien.
  • Je router stuurt namen en MAC-adressen van devices in je huis door naar Lifemote. Verder deelt het ding de SSID’s en MAC-adressen van WiFi-netwerken in de buurt. En wat analytics-stats over je dataverbruik. Lifemote adverteert met “AI-Powered Home Wi-Fi Solutions for ISPs”. Het voelt wat vies dat zij AI’s gaan trainen met data uit mijn huishouden. Daar vind ik wat van.

--jeroen

Posted in *nix, *nix-tools, bash, bash, Development, ISP, Odido (ex Dutch T-Mobile), Power User, Python, Scripting, Software Development | Leave a Comment »

dasm – macro assembler for 8-bit machines

Posted by jpluimers on 2026/03/04

Finding a reference to DASM while researching yesterday’s post @jpluimers on Twitter: “@b0rk @jilles_com Acids vs bases.”, it felt even more like a trip like memory lane as I had used it in the 1980s on Apple ][ and Apple //e after mainly using EDASM. Lisa and Merlin.

I am glad that it is still alive and kicking with home page at [Wayback/Archive] dasm – macro assembler for 8-bit machines and repository at [Wayback/Archive] dasm-assembler/dasm: Macro assembler with support for several 8-bit microprocessors.

Especially this history section on the home page rang a bell:

  • Matthew Dillon started dasm in 1987-1988.
  • Olaf “Rhialto” Seibert extended dasm in 1995.
  • Andrew “Dr.Boo” Davie maintained dasm in 2003-2008.
  • Peter Fröhlich maintained dasm in 2008-2015.
  • In 2019, the dasm source code and releases were moved to GitHub.

More links from this trip down memory lane:

Read the rest of this entry »

Posted in Software Development, Development, Power User, History, Apple, Assembly Language, Apple ][, //e, 6502 Assembly | Leave a Comment »

Decoding HTML encoded source to XML text

Posted by jpluimers on 2026/03/03

For Some links on getting the most recent defragmentation time of a Windows volume I needed to copy back and forth some XML code back and forth between my ARM MacBook Pro to a remote Windows machine accessing via the Microsoft Windows App (the app formerly known as Microsoft Remote Desktop for Mac).

The problem with that is the copying would lose line breaks, which for XML meaning is no problem, but for human understandability while editing the XML in the Event View query dialog was.

So I decided to go to the “Code” view in my Classic WordPress editor (did I ever tell you much I dislike – especially the accessibility of – the not so new but still haughty named Gutenberg editor?), copied the HTML encoded form and wanted to convert it to unencoded XML text.

Well, here I got to naming confusion land, on which I will talk further below, but first two of the potential solutions:

Read the rest of this entry »

Posted in Cyberchef, Development, Encoding, HTML, Software Development, URL Encoding, Web Development | 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 »

GitHub – dessant/web-archives: Browser extension for viewing archived and cached versions of web pages, available for Chrome, Edge and Safari (plus Firefox and Opera too)

Posted by jpluimers on 2026/02/26

The description of [Wayback/Archive] GitHub – dessant/web-archives: Browser extension for viewing archived and cached versions of web pages, available for Chrome, Edge and Safari is missing Firefox and Opera, but in the meantime the extension is available in these stores for:

As a great example of how to write a browser plugin for all these architectures, it shows how to write this in mostly JavaScript with Vue.js with a tiny bit of play HTML.

Web Archives is a plugin that lets you search either the URL from the current browser tab, or a URL you type, within various archival sites (all Wikipedia links):

Read the rest of this entry »

Posted in Archive Today controversy, archive.is / archive.today, Archiving, Chrome, Development, Edge, Firefox, Internet, InternetArchive, Opera, Power User, Safari, Software Development, WayBack machine, Web Browsers, Web Development | Leave a Comment »

Some links on getting the most recent defragmentation time of a Windows volume

Posted by jpluimers on 2026/02/25

This worked on the built-in Windows PowerShell to get the recommendation status:

$volume = Get-WmiObject -Class Win32_Volume -Filter "DriveLetter = 'C:'"
$analysis = $volume.DefragAnalysis()
$analysis.DefragAnalysis
$analysis.DefragRecommended

Without elevation token, $analysis.DefragAnalysis will be empty and $analysis.DefragRecommended will return False, but elevated it will return the analysis data and  $analysis.DefragRecommended will return False or True depending on the analysis result.,

And this gets the most recent defragmentation action from the event-log:

Read the rest of this entry »

Posted in CommandLine, Development, PowerShell, Scripting, Software Development | Tagged: | Leave a Comment »

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?”

Posted by jpluimers on 2026/02/25

Often I need to generate passwords or uuids (on some systems called guids). I usually try to do that in a relatively platform agnostic way as I use MacOS, Windows and Linux in various mixes for many reasons (for instance that I have had developed quite hefty RSI in the early 1990s of the and the best keyboard/pointing-device combination for is the MacBook built in keyboard/touchpad combination so basically MacBooks are my window to all other operating systems).

Generating randomly with a good random number generator them makes sense as for most usage, it is important that both passwords and uuids are hard to guess which means having an entropy that is as high as possible.

A cool thing about OpenSSL is that:

  1. most of not all systems have it installed (it was no coincidence I published Installing OpenSSL on Windows a few days ago)
  2. it has a very good pseudo-random number generator and as of [Wayback/Archive] OpenSSL version 1.1.1 first released in 2018 has solved the problem around [Wayback/Archive] Random fork-safety – OpenSSLWiki, see [Wayback/Archive] Our Review of the OpenSSL 1.1.1 Random Number Generation Update – OSTIF.org.
  3. it supports various useful output formats hex (hexadecimal) and base64 (next to the default of octet – or by today’s naming convention byte – output)

The easiest to generate are passwords. Yes I know that password managers can do this too, but there are some systems I cannot use them on or sync between them (don’t you love the corporate world) so my aim is to use a random password generator in a platform agnostic way which usage is easy to remember. Read the rest of this entry »

Posted in *nix, *nix-tools, Apple, base64, bash, bash, Batch-Files, Conference Topics, Conferences, Development, Encoding, Event, HEX encoding, Mac, Mac OS X / OS X / MacOS, MacBook, OpenSSL, Power User, Python, Scripting, Software Development, Windows | 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 »

Chocolatey Software | GNU sed

Posted by jpluimers on 2026/02/24

I needed to document how to install sed on Windows (which I did a long time ago after writing Plastic SCM: show the current changeset abstract (without files) on the commandline) and recently for some more scripting work(which I will blog on that later this week).

At the time of writing it was [Wayback/Archive] Chocolatey Software | GNU sed 4.8, but this Chocolatey command will install or upgrade to the most recent available version:

choco upgrade --yes sed

Of course, like yesterday’s post Installing OpenSSL on Windows, you could use winget or scoop for this as well. Finding out the commands is left as an exercise to the reader (;

Query: [Wayback/Archive] chocolatey sed – Google Search

–jeroen

Posted in *nix, *nix-tools, Chocolatey, Development, Power User, Scoop, Scripting, sed, Software Development, Windows, Windows Development, winget | Leave a Comment »