this post was submitted on 20 Feb 2025
120 points (98.4% liked)

Selfhosted

45640 readers
660 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

I just spent 2 hours trying to figure out why fail2ban didn't increment the ban count.

***
a/fail2ban/etc/fail2ban/jail.local
+++ b/fail2ban/etc/fail2ban/jail.local
@@ -1,6 +1,6 @@
 [DEFAULT]

-bantime.incremet     = true
+bantime.increment    = true
 bantime.rndtime      =
 bantime.maxtime      =
 bantime.factor       = 1

After I found that I seriously considered becoming a goose farmer.

top 20 comments
sorted by: hot top controversial new old
[–] nick@midwest.social 53 points 1 month ago (5 children)

One time I was trying to figure out why the MySQL command wasn’t connecting.

mysql -h127.0.0.1 -p6033

Eventually ended up having four different people help me in a huddle. After two hours we figured it out… it turns out the argument is -P for port.

I wasted several thousand dollars of company time with a casing issue 🥴

[–] eager_eagle@lemmy.world 37 points 1 month ago (2 children)

because of garbage like that I always use the long option names in scripts, even when the short one would be obvious

[–] victorz@lemmy.world 19 points 1 month ago

Yeah, for scripts that should be the norm. It really helps with legibility and maintainability, not having to have the manual open for 5 programs while tweaking stuff. 👌

[–] nick@midwest.social 2 points 1 month ago

Fair point, I agree. Gets even more fun when I do mtls to MySQL, blech

[–] victorz@lemmy.world 14 points 1 month ago* (last edited 1 month ago) (1 children)

Reminds me of when I was in University and catching up with some lab work over the summer to get a passing grade. Was doing some 3D programming assignment and I spent I think 5 weeks debugging my stuff.

Turns out I needed to transpose two adjacent lines of code. No syntax errors, no runtime errors, just graphics pipeline not outputting what I expected. Was a nightmare. And not even satisfying to figure it out.

[–] nick@midwest.social 3 points 1 month ago (1 children)

Haha Jesus, if it’s not even satisfying to fix that’s a real shame :(

[–] victorz@lemmy.world 1 points 1 month ago

It would've been satisfying had I not wasted my entire summer 💀

[–] frankenswine@lemmy.world 7 points 1 month ago* (last edited 1 month ago) (2 children)

know the feel. even funkier with ssh/scp and the like with every other tool using a different case argument for the same

that's how we learn and grow, i guess 🤷

[–] poweruser 3 points 1 month ago

I came to the comments to mention that exact experience. There must be historical reasons that SCP uses -P and SSH uses -p but I certainly didn't expect it since they're both from the same package (openssh)

[–] nick@midwest.social 2 points 1 month ago

Oh yeah, you can be damn sure I’ll never make that mistake again.

[–] hperrin@lemmy.ca 3 points 1 month ago* (last edited 1 month ago)

Only several thousand? There was a guy when I worked for Facebook who pushed a config change incrementing a timeout from 5 seconds to 30 seconds in the caching layer. Config changes roll out instantly. Brought down all of Facebook for about two hours. Probably cost them many millions. I mean, good for him.

[–] Lv_InSaNe_vL@lemmy.world 2 points 3 weeks ago

My team once spent an entire afternoon trying to figure out why an API call was returning either incorrect data, or just no data at all.

Basically we were in the middle of migrating the API call from one API to another and we didn't update the URL in the variable, so it was still hitting the old API 🙃

[–] frankenswine@lemmy.world 37 points 1 month ago (2 children)

happens to the best. if fail2ban were any more resiliently engineered it would have failed to start due to the error in the config file

[–] eager_eagle@lemmy.world 35 points 1 month ago

This is such an underutilized and neglected behavior.

The very least a config parser should do is to log a warning.

[–] Pika@sh.itjust.works 4 points 1 month ago* (last edited 1 month ago)

the amount of software I've used that lacks this type of system is aggravating. How hard is it to keep an object of property names, and if the name isn't in it then it errors.

this can be continued into command line as well. if flag -z doesn't exist, you shouldn't allow me to run a command with it. It's clear I am trying to do something (incorrectly) thinking -z is something it isn't, just error it and tell me that.

[–] sxan@midwest.social 7 points 1 month ago

I have a spelling checker enabled for most non-compiled files. Sometimes it really annoying, but sometimes it catches stuff like this, so I leave it on.

[–] nis@feddit.dk 6 points 1 month ago (1 children)

Well... Do you really think you'd do any better at incrementing geese?

[–] redxef@feddit.org 5 points 1 month ago

Well, I was hoping they would take care of that themselves

[–] 30p87@feddit.org 5 points 1 month ago

Also spent an hour wondering why it didn't evalute -z "{CMD_OUT_ERROR" as true, despite manually running the script and echoing "'${CMD_OUT_ERROR}'" evaluating to ''... well it's the missing $.

At least it's time spent in working hours and being paid for the mess that they use as deployment for IdentityIQ written in kornshell.

[–] Lojcs@lemm.ee 2 points 1 month ago

Newer sshd versions have built in timeout options btw