Local timeline
I ran my first half-marathon today, or so I thought. The official distance is 21,0975km. I stopped at 21km.
Felt pretty salty about that, but a significant milestone nonetheless.
My new dishwasher now has an IP address. I activated "smart features" out of curiosity, but aside from tracking statistics and remote start, they serve little purpose.
I suspect they added an app mainly because market research showed that consumers desire apps, rather than because there is a genuine need for it.
Designing business cards the only way I know how: By developing them. Built a full SVG -> PDF pipeline in Node that converts RGB to CMYK, and renders print-ready documents to be sent to the print shop.
The first demo print wasn't perfect, so currently working on iteration two.
Was greeted this morning by monitoring notifying me of crashing web containers throughout the night.
Root cause: distributed /media_proxy flood where clients request the entire srcset attribute as a URL (%20 + ,%20https:/.../small%20...w). At peak: 23,298 unique IPs per 5 min + lots of 499/503.
Mitigated via CrowdSec trigger on Traefik logs (path-based): https://github.com/toot-community/platform/commit/183ddfff3b70c8bf4b168cda52f84e6e3bf942de
This detection logic should apply to any WAF, though.
FYI #mastoadmin
Deze week heb ik een gratis websitescan gelanceerd voor freelancers en MKB’ers.
De scan geeft je een objectieve momentopname van je website:
snelheid, beveiliging, vindbaarheid en gebruiksgemak — inclusief concrete verbeterpunten.
Je vindt ’m hier:
https://jorijn.com/nl/gratis-sitescan/
Feedback is welkom, vooral: mist er iets? of is de uitkomst duidelijk genoeg?
#n8n was pretty great at some point, but now all you get is a hollow shell of what it used to be, urging you to upgrade to a more expensive tier.
Had a little fun with my website. The logo always contained a compass, but I wanted to make it interactive for a while now. Finally found the time a few days back. It tracks your mouse movement on the desktop, and you can tap it to make it go weeeee.
The nostalgia-truck hit me hard on this release a few days ago.
Routed cloud LB traffic externally to the Hetzner metal machines instead of through the configured vSwitch. HTTP traffic feels much snappier.
The vSwitch hasn't been very stable in the past, unfortunately.
This handsome fellow is celebrating his 14th birthday today. He's currently enjoying some wet food.
I reached the point where I thought the snow was cool and all, but now it's becoming inconvenient.
Attempted a short run today. Didn't feel great, with lots of frozen-up snow from the past few days. Got to take a few nice pictures, though.
Here's something I've been working on recently:
A monitoring system for MeshCore that gathers metrics from your repeater and companion nodes, stores them in a SQLite database, and creates a static site with interactive charts. It offers views for day, week, month, and year of battery and radio statistics. The system can be deployed via Docker or using native Python scripts.
Live demo: https://meshcore.jorijn.com
Source: https://github.com/jorijn/meshcore-stats
Well, either its doing the long run while its snowing, in daylight, or doing it this evening while its dark when the snow is presumably gone again.
I suppose I'll try the snow then.