Tags:
Homelab
,
Self-Hosting
Published March 24, 2026, 2:52 a.m. by wielandtech
I used to get a steady stream of fake accounts and spam through my sign-up and contact forms. Not a huge volume, but enough to be annoying and make me question my data.
So I added Invisible reCAPTCHA v3. Since then, I haven't had a single fake account.
Why reCAPTCHA v3?
It works differently than the old checkbox version. There's no "I'm not a robot" challenge.
Instead, it gives each request a score based on how human it looks. You decide what score is acceptable and block the rest. Real users never see anything.
How I Implemented It
1. Load the script
``` html
```
2. Attach it to form submission
``` javascript async function getRecaptchaToken(action) { return await grecaptcha.execute("YOUR_SITE_KEY", { action }); }
document.querySelector("#signup-form").addEventListener("submit", async (e) => …
Tags:
DevOps
,
Homelab
,
Observability
Published Jan. 25, 2026, 9:19 a.m. by wielandtech
I've been running a Kubernetes homelab for a while now, and while I've written about the setup before, I recently added something new that I'm pretty excited about: live cluster metrics on the homelab page.
What's New
The homelab page used to be pretty static--just a list of what's running and some hardware specs. Now it shows real-time metrics pulled directly from my cluster. CPU usage, memory, network traffic, disk I/O, temperatures, pod counts, deployment health, and uptime--all updating every second.
It's powered by Netdata agents running on each of my three nodes. I've been using Netdata alongside Prometheus and Grafana for a while, but I never exposed the data publicly before. The API is straightforward, and it gives me exactly what I need without the overhead of querying Prometheus for simple metrics.
The Metrics
…
Tags:
Golang
,
Job Search
Published Nov. 7, 2025, 3:31 a.m. by wielandtech
In case you've been living under a rock, the job market for software engineers in 2025 has been pretty abysmal. It for this reason that I am proud to announce that I've landed a new role.
Not only is it a role, but judging from my first two weeks it's going to be an awesome role! It's a small, remote company which has been experiencing astronomical growth. My team is brand new, with high impact and visibility. I am immensely grateful for the opportunity be the team's scrum master while also getting paid to learn golang.
In light of this achievement, I wanted to share the struggle that got me here: 8 months of unemployment and 380 job applications submitted.
