halfdane

joined 4 months ago
MODERATOR OF
[–] halfdane@piefed.social 2 points 1 day ago* (last edited 1 day ago)

That would probably be " Wettbewerbsfähigkeit " from "Wettbewerb" (competition, but it's actually from "Wette" (bet, rivalry) and "bewerben" (to vie/seek) ) and "Fähigkeit" (ability).

[–] halfdane@piefed.social 6 points 1 day ago (2 children)

I am sure the germans have a precise term for this

I propose these:

  • Existenzkrise (existential crisis)
  • schleichender Verfall (creeping deterioration)
  • schleichende Faschisierung (slowly becoming more and more fascist

In increasing order of specificity regarding your text

[–] halfdane@piefed.social 5 points 1 day ago

It's a tool. As engineer, I will try to use each and every tool that helps me, so it's reasonable for me to learn using this tool effectively as well: what works, what doesn't, what's expensive, how can I keep it under control etc.

Of course thats only the purely technical/utilitarian aspect, and I'm not going into the moral/social aspects here.

[–] halfdane@piefed.social 1 points 1 week ago

If you're using zmk, you should investigate the viability of a dongle for your setup: it's a third nice!nano (or other Dev board) that's directly connected to the computer (without battery) and serves as central side while the two parts of the actual keyboards are configured as peripheral.

Since central's energy consumption is massive compared to peripheral's, weeks or even months between charges in this topology isn't unheard of.

[–] halfdane@piefed.social 2 points 1 week ago

Danke für den Hinweis - offenbar wird eine Ordinalzahl am Zeilenanfang als Beginn einer nummerierten Liste interpretiert. Dank dir konnte ich jetzt korrigieren 🤗

25
submitted 1 week ago* (last edited 1 week ago) by halfdane@piefed.social to c/dach@feddit.org
 

Wenn ihr Bock habt mal was anderes zu machen als mit Bollerwagen saufen zu gehen, dann kommt doch auch zum Heiligengeistfeld in Hamburg um den Vatertag neu zu definieren: bei einer Demo gegen männliche Gewalt!

Kein Täter zu sein reicht offensichtlich nicht aus, wir müssen stärker Einfluss auf unsere Peers nehmen.

14. Mai - 14 Uhr - Heiligengeistfeld  

https://www.instagram.com/p/DYCPgVoAFjZ

[–] halfdane@piefed.social 4 points 1 week ago (2 children)

For years I have been afraid of quicksand, alligators, and piranhas.

I live in central Europe.

[–] halfdane@piefed.social 10 points 2 weeks ago (1 children)

Yearly recurring protests and riots on may 1st.

So much so that we now have riot-tourists that only come to experience "throwing a stone at a bank" or "getting arrested for lighting a garbage bin on fire"

[–] halfdane@piefed.social 14 points 2 weeks ago (3 children)

Hu, the"Stolperstein" art/remembrance project is very well known in Germany, but somehow I hadn't expected it to spread outside our borders as well.

I'm making sure that the one close to my home is always clean and well polished!

[–] halfdane@piefed.social 114 points 3 weeks ago (3 children)

I mean, if AI gets too expensive, companies can always hire juniors to replace them 🤣

[–] halfdane@piefed.social 1 points 3 weeks ago

She's infuriatingly good at playing the condescending asshole that's using religion as a means to grab power!

[–] halfdane@piefed.social 6 points 1 month ago* (last edited 1 month ago) (1 children)

It's been a very long time since I've thought of that tune. Is it an english nursery rhyme as well?

 

You know how it goes. You're happily using Homer or Homepage for your home-lab dashboard. It's great. It looks nice. It does its job. But then one evening you think: "Wouldn't it be cool if the dashboard actually showed whether my services are alive without building a custom tile for homer?"

And instead of, oh I don't know, contributing to homer or using Uptime Kuma next to it like a reasonable person, you go full not-invented-here and build your own thing from scratch.

So here's ilias, a static HTML dashboard generator that actually checks your stuff.

OfozH6AxZoPCIc7.png

What makes it different from Homer / Homarr / Dashy / the other 47 dashboards?

It actually runs arbitrary checks. You give it a YAML config with HTTP endpoints and shell commands, and it:

  1. Executes all the checks in parallel (so treat it like a shell script and don't be stupid!)
  2. Matches results against rules you define (status codes, exit codes, regex on output)
  3. Bakes everything into a single, self-contained HTML file. No JavaScript, no API server, no database, no Docker container running in the background

The output is literally one .html file. You can scp it to a Raspberry Pi running nginx, open it from a USB stick, email it to yourself ... it just works. It's HTML and CSS. That's it.

The "why should I care" summary

  • Zero runtime dependencies. No Node.js, no Docker, no database. One tiny binary, one HTML file out.
  • Active health checks. HTTP requests, shell commands, regex matching on output. Not just a bookmark page.
  • Generate blocks. Run a command before rendering: pipe a Prometheus query into a chart, embed the image as a banner: now your dashboard can show graphs.
  • Single HTML file output. Icons, CSS, images, everything is inlined. The file is fully self-contained.
  • NixOS module included. Systemd timer, nginx vhost, sandboxed service. If you're a NixOS person, it's services.ilias.enable = true and you're done (after verifying my code ofc, I'm just a rando on the internet!).
  • ~1,100 lines of Go. One external dependency (gopkg.in/yaml.v3). That's the whole thing. You can read the entire codebase during lunch.

Quick taste

Minimal config:

title: My Lab  
groups:  
  - name: Services  
    tiles:  
      - name: Jellyfin  
        icon: https://cdn.jsdelivr.net/npm/simple-icons@v9/icons/jellyfin.svg  
        link: http://jellyfin.lan:8096/  
        slots:  
          - name: status  
            check:  
              type: http  
              target: http://jellyfin.lan:8096/health  
            rules:  
              - match: { code: 200 }  
                status: { id: ok, label: "✅" }  
              - match: {}  
                status: { id: down, label: "❌" }  
ilias generate -c config.yaml -o index.html  

Done. Open index.html. Your Jellyfin tile shows ✅ or ❌ based on whether /health returns 200.

Want to check disk space too? Add a command check:

      - name: Disk  
        slots:  
          - name: root  
            check:  
              type: command  
              target: "df / --output=pcent | tail -1 | tr -d ' '"  
            rules:  
              - match: { output: "^[0-6]\\d%$" }  
                status: { id: ok, label: "✅ <70%" }  
              - match: { output: "^[7-8]\\d%$" }  
                status: { id: warn, label: "⚠️ 70-89%" }  
              - match: {}  
                status: { id: full, label: "🔴 ≥90%" }  

Hover over any status to see the raw command output in a tooltip. Regex matching on stdout. Exit codes. The works.

"But what about..."

Uptime Kuma? Uptime Kuma is excellent for monitoring with alerting, history, and notifications. ilias can't do any of that! It's for when you want a single glanceable status page that you regenerate every 5 minutes via cron ro whatever. No history, no alerts, no database. Just "is everything green right now."

Homer? Homer is a beautiful bookmark dashboard. ilias took that idea and asked "what if the bookmarks could tell you if my random, unsupported service behind them is actually working?" If you just want a pretty link page or use the services already supported, Homer is great. If you want status checks for everything baked in, give ilias a try.

Links


Edit:
Based on the suggestions from the comments that the config might be a tiny bit noisy, I implemented a few easy ways to simplify bigger configs (see here ). Since I'm misusing semver for pride-versioning, that bumped my version up to a whopping 0.2.0 🥳


Edit 2:
Someone said they might use this to make service health publicly available to customers, which made me worry about information leakage.

And since I couldn't stop worrying, I added:

  • --no-tooltips param: Don't include command output for hover tooltips to prevent system information from leaking
  • --no-timestamp param: Omit the "Generated at" timestamp to hide system clock and monitoring cadence.

If you're using these, I feel much better about making the html publicly accessible, but when you set up a config please remember that link-tags can expose your internal topology and the tile/slot name might do the same! Don't go naming your tiles something like "Database Primary", "Payment Service Worker", or "Internal Auth API"!

 

!lemmysings@piefed.social

Commenters join their voices to sing.

Only posts that link to comment chains of songs

 
 

Wenn's so richtig dunkel ist

 

sapperlot: Ausdruck der Überraschung

Ich benutze es selten, aber mit Freude

 
 

!accidentally_on_purpose@piefed.social

When a user purposefully misunderstands a word, and explains it wrong, thus starting a chain of "no no, that's . This is about "

Hilarity ensues.

view more: next ›