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 ‘*nix’ Category

TrueNAS ZFS: on my list of things to tinker with

Posted by jpluimers on 2026/05/18

I totally missed that FreeNAS has been renamed into TrueNAS CORE. Since FreeNAS had been on my list to tinker with, now is TrueNAS – Wikipedia.

Relate/via:

Tweets:

Read the rest of this entry »

Posted in *nix, BSD, FreeBSD, Power User, ZFS | Leave a Comment »

bash script for $* loop accept command line with spaces in wildcard file names at DuckDuckGo

Posted by jpluimers on 2026/05/05

Back when I wanted a more universal solution [Wayback/Archive] bash script for $* loop accept command line with spaces in wildcard file names at DuckDuckGo I got into a mess of tips that either did not work at all, or were very convoluted.

As back then I only needed a one-time solution, I just listed the filenames with ls into a text file, did some sed and editing steps, then had each file execute in a separate step. Low tech, non-repeatable when new files appeared, but good enough.

In case I want to go for a more universal solution, below are some links to investigate further. Will likely take me hours, so most of the time this is not worth it. Maybe the subshell plus $IFS (Input Field Separators) is a good start, though it gives me a feeling that in the future it will break something else that was expecting a default $IFS value, as is using while read loop. Both types of solutions feel too convoluted. Same for the array solution below.

I might have just been spoiled with PowerShell piping objects instead of strings having made life so much easier.

Read the rest of this entry »

Posted in *nix, *nix-tools, ash/dash, bash, bash, Development, Power User, Scripting, Software Development | Leave a Comment »

MIME decoder for Windows – Super User

Posted by jpluimers on 2026/04/17

More than 10 years ago, I needed a MIME decode for Windows as I was developing some software which implemented S/MIME could sign automatically generated emails and verify incoming ones.

I wrote more about the latter part in Some notes on OpenSSL, S/MIME, email, various RFC standards and their relations.

Now finally the post about what I wanted to schedule for posting back then as well: my question looking for a [Wayback/Archive] MIME decoder for Windows – Super User:

Read the rest of this entry »

Posted in *nix, *nix-tools, base64, Development, Encoding, Linux, MIME, Power User, Software Development, Windows, WSL Windows Subsystem for Linux | 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 »

Unix/MacOS: “rm: illegal option — b” or how to remove files that have their name starting with a minus sign.

Posted by jpluimers on 2026/03/11

I had to remove all text files including a -bar.txt from the current directory using bash, so I automatically typed rm *txt resulting in this nice error:

rm: illegal option -- b
usage: rm [-f | -i] [-dPRrvW] file ...
       unlink file

When there was just a file named -foo.txt in the directory, the error became more interesting:

rm: illegal option -- o
usage: rm [-f | -i] [-dPRrvW] file ...
       unlink file

Then it struck me: rm is one of those old tools where you can smack all options together. Read the rest of this entry »

Posted in *nix, *nix-tools, Apple, bash, Mac OS X / OS X / MacOS, Power User | Leave a Comment »

Installing Poppler on Windows via Chocolatey, which includes pdfimages for lossless extraction of images from PDF files

Posted by jpluimers on 2026/03/09

At the time of writing there was an almost 3 year old [Wayback/Archive] Chocolatey Software | Poppler 0.89.0 version so I filed the issue [Wayback/Archive] poppler 23.03 has been out for a few weeks, can you please update the build? · Issue #88 · chtof/chocolatey-packages mentioning [Wayback/Archive] Pull requests · oschwartz10612/poppler-windows

Poppler 23.03.0

Since that did not get really solved, I finally found out that after installing scoop, then scoop install poppler did work and installed version 23.08.0 (which I documented in [Wayback/Archive] Poppler version out of date · Issue #75 · chtof/chocolatey-packages installs from the most recent [Wayback/Archive] Releases · oschwartz10612/poppler-windows).

A very different approach is to install Poppler inside Windows Subsystem for Linux (WSL) as explained in [Wayback/Archive] Poppler On Windows. Python, PDFs, and Window’s Subsytem for… | by Matthew Earl Miller | Towards Data Science.

I needed Poppler (or actually the Windows equivalent of poppler-utils) of two reasons:

  1. I wanted to experiment with pdftotext as it has these very compelling command-line switches.
  2. I needed to export images for which pdfimages is the poppler tool to go.

pdftotext

Let’s start with qoutes from [Wayback/Archive] pdftotext: Portable Document Format (PDF) to text converter (version 3.03) | poppler-utils Commands | Man Pages | ManKier:

Read the rest of this entry »

Posted in *nix, *nix-tools, Chocolatey, man/manual pages, mankier, PDF, Power User, Windows | Tagged: , | 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 »

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 »

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 »

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 »