Archive for the ‘bash’ Category
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 »
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.”

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:
- There are various interpretations of bases
- 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 »
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:
- most of not all systems have it installed (it was no coincidence I published Installing OpenSSL on Windows a few days ago)
- 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.
- 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 »
Posted by jpluimers on 2026/01/28
Posted in *nix, *nix-tools, bash, bash, Development, DNS, Hardware Development, Internet, Power User, Raspberry Pi, Scripting, Software Development | Leave a Comment »
Posted by jpluimers on 2025/12/24
[Wayback/Archive] See a List of All Wi-Fi Networks a Mac Has Previously Connected To
n modern versions of Mac OS, like macOS Mojave, Catalina, Sierra, OS X El Capitan, and Yosemite, you can shorten the syntax considerably as so:
defaults read /Library/Preferences/SystemConfiguration/com.apple.airport.preferences |grep SSIDString
In prior versions of Mac OS X, you can opt for the same as the above command, or use the lengthier string below with heavy regex:
Read the rest of this entry »
Posted in *nix, *nix-tools, Apple, bash, bash, Development, Mac, Mac OS X / OS X / MacOS, MacBook, Power User, Scripting, Software Development | Leave a Comment »
Posted by jpluimers on 2025/12/10
A while ago I got an error 103 using both Beyond Compare. That did not whos the connection log or error reason, but WinSCP did: it mentioned unexpected output during the logon.
I got reminded that I had already solved this error before via [Wayback/Archive] SSH login works but SFTP login doesn’t – Server Fault (thanks [Wayback/Archive] qreon and [Wayback/Archive] Paulus):
Read the rest of this entry »
Posted in *nix, *nix-tools, bash, bash, Beyond Compare, Communications Development, Development, Internet protocol suite, Power User, Scripting, SFTP, Software Development, SSH, TCP, Windows, WinSCP | Leave a Comment »
Posted by jpluimers on 2025/09/25
Perl isn’t my strength, so I was glad to find the below links that inspired me to add this bash function to my profile decoding Quote-Printable email data (for instance used by sendmail and postfix to store SMTP message files):
# https://superuser.com/questions/1452249/fix-revert-wrong-encoding-of-file
function sendmail-decode-quoted-printable-from-stdin() {
perl -0777 -ne 'use MIME::QuotedPrint; print decode_qp($_)'
}
Read the rest of this entry »
Posted in *nix, *nix-tools, bash, bash, Development, Perl, Power User, Python, Scripting, sendmail, Software Development | Leave a Comment »
Posted by jpluimers on 2025/07/31
I try to stay on the default shells of environments as much as possible, especially as that makes life easier when needing to work on an non-customised system.
Apple switched back from an ancient latest GPLv2 version 3.2 of bash (they regard newer GPLv3 as toxic to their revenue stream¹), introduced MIT-license based zsh and introduced a bash nag screen a few years ago forcing users to switch. Suppressing that message reliably is trickier than you might think².
After so many years of bash, I still stumble over things that zsh does differently: [Wayback/Archive] command line – Why does a cURL request return a percent sign (%) with every request in ZSH? – Stack Overflow (thanks [Wayback/Archive] Travis and [Wayback/Archive] zaTricky) is a “feature” with a simple workaround for cURL:
This is a zsh feature that prints a percent-and-newline after a command completes if that command does not already include a newline at the end of its output. If zsh did not do this, you would either not ever notice the fact that the command didn’t print a newline – or you’d see zsh’s command prompt not start on the margin and think it was a bug in zsh.
…
$ curl http://api.macvendors.com/0015c7
Cisco Systems, Inc%
$ curl -w '\n' http://api.macvendors.com/0015c7
Cisco Systems, Inc
…
Since the above example now writes a redirect messages (good bye HTTP, welcome HTTPS), and I very much dislike short command-line parameters, here is version with the long form of the [Wayback/Archive] curl -w or --write-out parameter :
Read the rest of this entry »
Posted in *nix, *nix-tools, Apple, bash, bash, Development, Mac OS X / OS X / MacOS, macOS 14 Sonoma, macOS 15 Sequoia, Power User, Scripting, Software Development, zsh | Leave a Comment »
Posted by jpluimers on 2025/05/29
Now that Python 2 has been dead for long enough (has it been unsupported for 5 years? yes it has: [Wayback/Archive] Status of Python Versions), it was finally time to change my alias for running a local web-server to serve files from a directory (:
So, from [Wayback/Archive] What is the Python 3 equivalent of “python -m SimpleHTTPServer” – Stack Overflow (thanks [Wayback/Archive] ryanbraganza, [Wayback/Archive] k.avinash and [Wayback/Archive] Petr Viktorin):
python -m http.server 8000, it will start the server on port 8000
Docs with the migration hints: [Wayback/Archive] 20.19. SimpleHTTPServer — Simple HTTP request handler — Python 2.7.18 documentation
Read the rest of this entry »
Posted in *nix, *nix-tools, bash, Batch-Files, Development, Power User, Python, Scripting, Software Development | Leave a Comment »
Posted by jpluimers on 2025/04/30
More on the reason why I learned a few SQLite things soon, but for my link and documentation archive, below is what I learned.
Most commands use the database file C:\temp\History which has no extension as that is how I got the file in the first place (spoiler: it’s a Chrome browser History from one of my user profiles).
Let’s get started:
Read the rest of this entry »
Posted in *nix, *nix-tools, bash, CommandLine, Conference Topics, Conferences, Console (command prompt window), Database Development, Development, Event, Power User, PowerShell, PowerShell, Software Development, SQL, SQLite | Leave a Comment »