Tuesday, 14. January 2025 Week 3
When connecting to an older SSH device the following 'unable to negotiate' errors occurred.
They indicate that my client-side config does not allow the (old/obsolete) methods offered by the device.
Unable to negotiate with 10.222.23.2 port 22: no matching key exchange method found. Their offer: diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1,diffie-hellman-group14-sha1
This can be fixed by enabling one of the old key exchange methods:
ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 10.222.23.2
Unable to negotiate with 10.222.23.2 port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dss
This can be fixed by additionally enabling one of the old host key types:
ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 -oHostKeyAlgorithms=+ssh-rsa 10.222.23.2
Sunday, 12. January 2025 Week 2
terra tauri quotes from the Platform Engineering book:
If you only promote people who solve big technical problems, you’re going to have a hard time retaining the people who do the work to smooth out the usability edges, actively listen to the customer teams, and adjust their work priorities to fix the stuff that is causing the most pain.
So, look closely at what you are celebrating, compensating, and promoting, and make sure you are including work that makes the product better, whatever that looks like, even if it isn’t the hardest technical bits.
You may even want to reevaluate your engineering ladder to make sure the expectations at each level reflect all of the skills you now demand.
Remember, this is a cultural change, and cultural changes that don’t involve changes to what is valued (as seen by what you recognize and reward) are destined to fail.
Looks like this might be a candidate for my /reading list.
(via)
Flexoki — a great looking color scheme inspired by paper and ink colors.
Flexoki is an inky color scheme for prose and code.
Flexoki is designed for reading and writing on digital screens.
It is inspired by analog inks and warm shades of paper.
Flexoki is minimalistic and high-contrast.
The colors are calibrated for legibility and perceptual balance across devices and when switching between light and dark modes.
Full Flexoki palette.
(via)
Monday, 6. January 2025 Week 2
Manu Moreale: Blogging: you’re doing it right
That’s all you need to know.
If you’re doing it, you’re doing it right.
If you have decided to reclaim ownership of your place on the web, you’re doing it right.
It doesn’t matter how you did it.
[...]
What matters is that you’re doing it.
Your effort is commendable.
You deserve to be thanked so, thank you.
(via)
Sunday, 5. January 2025 Week 1
My new favorite type of CAPTCHA: DOOM CAPTCHA
(via)
Thursday, 2. January 2025 Week 1
During casual surfing I found this article from Brain Baker explaining their revised backup strategy.
The most interesting part was the brief mention of PhotoSync used to sync photos to their Linux system.
This came just at the right moment, as I was exploring options how to get photos from an iPhone to a Linux machine as seemlessly as possible.
Previous attempts with ifuse/libimobiledevice didn't work reliably, and uploading the photos to iCloud and somehow scraping/downloading them again doesn't look very future-proof either.
Thus very happy about PhotoSync which runs on the iPhone and talks a plethora of protocols on the other side (in my case I opted for SFTP).
It is a freemium app with paid in-app purchase for the pro/premium features (raw photo sync and autosync in the background).
Based on the good reviews and initial functionality testing of the free version I decided to fo for the one-time purchase to unlock the premium features.
I did setup a chrooted SFTP user to receive the photos on the Linux machine.
Then configured this SFTP access in the app which worked seamless.
So far the manual sync of existing photos and videos worked reliably over WiFi.
And I'm looking forward for the geofence-triggered autosync to run 🤞🏻
Wednesday, 1. January 2025 Week 1
In this article, MacKenzie builds up a config, script and systemd file to respectfully fetch an RSS feed with curl.
It uses the following as base config for curl:
fail
compressed
max-time = 30
no-progress-meter
alt-svc = alt-svc-cache.txt
etag-compare = tech.CitizenLab.rss.etag
etag-save = tech.CitizenLab.rss.etag
output = tech.CitizenLab.rss.xml
time-cond = "Tue, 05 Nov 2024 15:00:35 GMT"
write-out = "%output{tech.CitizenLab.rss.lm}%header{last-modified}"
url = "https://citizenlab.ca/feed/"
next
Then adds conditional checks for the etag-compare
and time-cond
directives, so they are only added if the corresponding file contains a non-empty value.
The last part is then to use a systemd Timer file with OnUnitInactiveSec=1hour
, so that the command will be run one hour after the previous run finished.