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:
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:
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 »
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 »
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:
pdftotext as it has these very compelling command-line switches.pdfimages is the poppler tool to go.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:
Posted in Power User, *nix, Windows, PDF, *nix-tools, Chocolatey, man/manual pages, mankier | Tagged: 75, 88 | Leave a Comment »
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:
Back to Julia’s post:
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:
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/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 »
Posted by jpluimers on 2026/01/28
Interesting: [Wayback/Archive] vmstan/gravity-sync: ๐ซ The easy way to synchronize the DNS configuration of two Pi-hole 5.x instances.
Reasoning: [Wayback/Archive] Frequent Questions: Why two Pi-hole? ยท vmstan/gravity-sync Wiki
Via:
What is better than a Pi-hole blocking ads via DNS on your network? That’s right, Two Pi-hole! But if you have more than one Pi-hole (PH) in your network you’ll want a simple way to keep the list configurations identical between the two. I’ve recently been toiling away at a script to do exactly this, and what started as a few lines lines of bash was shared with some friends, and has grown into what I now call Gravity Sync — which I’d now like to share with you all for your feedback.
–jeroen
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 2026/01/15
On OpenWRT GL.iNET based devices, the WireGuard client does not restart upon reboot, even if it was started before rebooting.
Hopefully the /usr/bin/wireguard_watchdog script will help with this as others indicates it should.
My first try was no succes, but since it is supposed to run from cron it does no output. The script on GL-SFT1200 firmware version 3.215, script /usr/bin/wireguard_watchdog is different from the one in the OpenWRT repository, so it needs some investigation.
Some links for checking this out:
Posted in *nix, *nix-tools, ash/dash, ash/dash development, Development, GL-AR300M, GL.iNet, GL.iNET GL-SFT1200, OpenWRT, Power User, Scripting, Software Development | Leave a Comment »
Posted by jpluimers on 2026/01/07
Often connections are TCP based, but sometimes UDP is all you have to test with, so I was quite surprised that testing that was quite forward. The solutions by [Wayback/Archive] How to Do a UDP Ping in Linux works on any platform where you can have nmap or netcat on installed (which by now is almost all platforms including Windows):
Posted in *nix, *nix-tools, Apple, BSD, Mac OS X / OS X / MacOS, netcat, nmap, Power User, Windows | Leave a Comment »