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.

  • @[email protected]
    link
    fedilink
    English
    473 days ago

    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 🥴

    • @[email protected]
      link
      fedilink
      English
      2
      edit-2
      7 hours 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.

    • Eager Eagle
      link
      English
      313 days ago

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

      • Victor
        link
        English
        162 days 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. 👌

    • Victor
      link
      English
      11
      edit-2
      2 days ago

      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.

        • Victor
          link
          English
          120 hours ago

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

    • @frankenswine
      link
      English
      7
      edit-2
      3 days ago

      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 🤷

      • @[email protected]
        link
        fedilink
        English
        317 hours 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)

  • @frankenswine
    link
    English
    333 days ago

    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
      link
      English
      313 days ago

      This is such an underutilized and neglected behavior.

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

    • Pika
      link
      fedilink
      English
      3
      edit-2
      2 days 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.

  • Lucy :3
    link
    fedilink
    English
    53 days 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.