• umbraroze@lemmy.world
    link
    fedilink
    arrow-up
    22
    ·
    4 天前

    Well, systemd developers made one of the classic blunders a software developer can do: make a program that has to deal with time and dates. Every time I have to deal with timestamps I’m like “oh shit, here we go again”.

    Anyway, as I understood it the reason this is in systemd is because they wanted to replace cron, and it’s fine by me because cron has it’s own brain-hurt. (The cron syntax is something that always makes me squint real hard for a while.)

    • flying_sheep@lemmy.ml
      link
      fedilink
      arrow-up
      1
      ·
      4 天前

      Yeah and they actually added some usability in the form of that utility helping you debug what you’re doing. Pretty nice!

    • Phoenixz@lemmy.ca
      link
      fedilink
      arrow-up
      4
      arrow-down
      4
      ·
      4 天前

      I’m sorry but Cron is really easy, of all systems.

      Try using systemd with an ssh server that you want to have running on a non standard port. On non systemd it’s a 15 second ordeal while on systemd I don’t even know where to start, I pushed it out of my memories. It’s something something create files here, restart demons there, removing other files, it is WAY WAY over complicated

      • offspec@lemmy.world
        link
        fedilink
        arrow-up
        5
        ·
        4 天前

        What do you mean? You literally just change the /etc/sshd config to point at a different port do you not?

      • umbraroze@lemmy.world
        link
        fedilink
        arrow-up
        2
        ·
        4 天前

        Well cron is “really easy” as long as your requirements are really easy too.

        Run a task at specific hour or minute or weekday or whatever? Easy peasy.

        Run a task at complex intervals? What the fuck is this syntax. How do I get it right even. Guess I’ll come back next week and see if it ran correctly.

        Actually have to look at the calendar to schedule this stuff? Oh lawd here come the hacks, they’re so wide, they’re coming

        Run a task at, say, granularity of seconds? Of course it’s not supported, who would ever need that, if you really need that just do an evil janky shellscript hack

  • FreshLight@sh.itjust.works
    link
    fedilink
    arrow-up
    235
    arrow-down
    1
    ·
    6 天前

    Oh fuck. I’ll use this from now on. Except for if I won’t use it next week. Then I’ll forget about it because my memory is a damn sieve.

    • Catoblepas@lemmy.blahaj.zone
      link
      fedilink
      arrow-up
      121
      arrow-down
      1
      ·
      6 天前

      Just take the next step and make a text file you dump all these commands into and then forget about in a week. When you randomly stumble across it years from now you’ll be able to say “wow, I could have used this 10 months ago if I remembered it existed!”

      • prole@lemmy.blahaj.zone
        link
        fedilink
        arrow-up
        4
        ·
        5 天前

        I keep a persistent “sticky note” (in KDE) drop down on my top bar where I copy/paste important commands, scripts, etc.

        I actually remember to use it sometimes.

    • Technofrood@feddit.uk
      link
      fedilink
      arrow-up
      11
      ·
      5 天前

      Use a systemd timer to send yourself a reminder. Discoverd them recently myself and honestly liking them more than cron.

    • folkrav@lemmy.ca
      link
      fedilink
      arrow-up
      5
      ·
      5 天前

      I feel you. It’s however gotten a lot better since I turned some of these commands into abbreviations. They’re aliases that expands in place, more or less. Fish has them natively, I personally use zsh-abbr.

      • prole@lemmy.blahaj.zone
        link
        fedilink
        arrow-up
        2
        ·
        5 天前

        Fish is super useful, but I usually only start it up if I’m having trouble finding or remembering a command.

        • folkrav@lemmy.ca
          link
          fedilink
          arrow-up
          3
          ·
          5 天前

          Yeah, it’s a good shell. I’ve found the lack of compatibility with some bash tools to be inconvenient enough that I just went back to zsh and found alternatives for the parts that I liked about it. Works well enough for me.

          • prole@lemmy.blahaj.zone
            link
            fedilink
            arrow-up
            1
            ·
            4 天前

            I’m relatively new to Linux in general (have only been on it for about a year and a half, but have taken to it like a fish to water), so forgive me if this is a dumb question, but what are some benefits to using zsh over bash? Are there any cons?

            • folkrav@lemmy.ca
              link
              fedilink
              arrow-up
              1
              ·
              edit-2
              4 天前

              Honestly, it’s just another shell. Both Bash and ZSH happen to be mostly POSIX compliant, so stuff that works for Bash tends to work with ZSH too. For me it’s mostly just about the stuff I can add to it - I use the antidote plugin manager to get additional autocomplete, syntax highlighting, suggestions, async prompt updates, that kind of thing.

    • meiti@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      5 天前

      Using a large shell history (currently at 57283 entries) along with readline (and sometimes fzf) has served me well over the past few yeas when trying to remember past commands.

    • exu@feditown.com
      link
      fedilink
      English
      arrow-up
      51
      arrow-down
      1
      ·
      5 天前

      You need a calendar and time handling anyways for logging purposes and to set timers correctly. It’s likely not that much extra work exposing that functionality.

      • Kusimulkku@lemm.ee
        link
        fedilink
        arrow-up
        18
        arrow-down
        3
        ·
        5 天前

        No, UNIX philosophy demands that every single one of those things is one or more separate things and that half of them are poorly or not at all maintained. Just like God intended.

        • DrDystopia@lemy.lol
          link
          fedilink
          arrow-up
          4
          arrow-down
          6
          ·
          5 天前

          Finding the next super holiday is a core system feature I could survive without. 🎉

          • Kusimulkku@lemm.ee
            link
            fedilink
            arrow-up
            6
            arrow-down
            1
            ·
            edit-2
            5 天前

            Well, date time stuff for a system working with timers and scheduling actions might be pretty useful…

  • mogoh@lemmy.ml
    link
    fedilink
    arrow-up
    97
    ·
    5 天前

    Usually such things have a simple explanation. systemd does a lot with time and date, for example scheduling tasks. It’s quite obvious that it has this capabilities, when you think about it.

    • m4m4m4m4@lemmy.world
      link
      fedilink
      arrow-up
      54
      arrow-down
      8
      ·
      5 天前

      Usually such things have a simple explanation. systemd does a lot with time and date, for example scheduling tasks. It’s quite obvious that it has this capabilities, when you think about it.

      FTFY

      • Phoenixz@lemmy.ca
        link
        fedilink
        arrow-up
        3
        arrow-down
        2
        ·
        5 天前

        Too much

        But that has been a complaint for 10 years and it’s only gotten worse

        I wouldn’t mind systemd if it weren’t for the fact that it was to be a startup system that promised to make everything easier and faster to startup yet managing systemd is a drag at best, and of it did one thing it’s making my systems boot up like mud

        • Kusimulkku@lemm.ee
          link
          fedilink
          arrow-up
          3
          arrow-down
          1
          ·
          5 天前

          I feel like the glued together collection of scripts was way worse to manage than systemd.

          • Phoenixz@lemmy.ca
            link
            fedilink
            arrow-up
            1
            arrow-down
            1
            ·
            4 天前

            Is it? It was always super easy to get anything done and with systems it suddenly got factors more complicated. Port assignment was super easy to do, note the past tense. It now requires systemd and instead of a 15 second config file change and service restart I now need to create and delete files, restart multiple services, God knows what in systems.

            Simply put: why? If you make an alternative solution AT LEAST it shouldn’t become way more over complicated to get basic tasks done

            • Kusimulkku@lemm.ee
              link
              fedilink
              arrow-up
              1
              ·
              4 天前

              I definitely think so. Init was a mess of bash scripts and concurrency and whatnot was a problem. Making a script to start a service was very dependent on the distro, their specific decisions and whatnot. Systemd services and timers make things very easy and they have great tools to manage those. And now it’s basically the same on every distro.

    • bricked@feddit.org
      link
      fedilink
      English
      arrow-up
      4
      arrow-down
      6
      ·
      5 天前

      I thought the same, but didn’t we already have things like chron syntax for this? Systemd didn’t have to build its own library.

        • bricked@feddit.org
          link
          fedilink
          English
          arrow-up
          8
          arrow-down
          1
          ·
          5 天前

          Aight, didn’t know that. I cannot yet imagine any scheduled task that would require anything more advanced than cron (or a similar standalone syntax), but I’ll just trust you with that one.

  • frezik@midwest.social
    link
    fedilink
    arrow-up
    29
    ·
    5 天前

    This plays some kind of role in the debate of systemd being good or not. I’m not sure if goes in the good column or the bad column, but I know it goes into a column.

    • barsquid@lemmy.world
      link
      fedilink
      arrow-up
      21
      ·
      5 天前

      I am typically in the group saying “systemd is overlarge with too many responsibilities” but this capability makes perfect sense for its job running services. Probably the good column.

      • okwhateverdude@lemmy.world
        link
        fedilink
        English
        arrow-up
        5
        ·
        5 天前

        This kinda functionality is surprisingly apropos to a problem I have a work, I realize. And yet, I have k8s. More and more I am appreciating the niche systemd can play with pets instead of cattle and wished corps weren’t jumping to managed k8s and all of that complexity it entails immediately.

        • kattfisk@lemmy.dbzer0.com
          link
          fedilink
          arrow-up
          1
          ·
          4 天前

          You can run systemd (or cron) inside a pod for scheduling and call the kubernetes API from there to run jobs and stuff. Not sure if this helps you, but it can be easy to overlook.

          • okwhateverdude@lemmy.world
            link
            fedilink
            English
            arrow-up
            2
            ·
            3 天前

            haha, yeah I am well aware I could do something like that. Unfortunately, once you start working for larger companies, your options for solutions to problems typically shrink dramatically and also need to fit into neat little boxes that someone else already drew. And our environment rules are so draconian, that we cannot use k8s to its fullest anyhow. Most of the people I work with have never actually touched k8s, much less any kind of server oriented UNIX. Thanks for the advice though.

  • lazynooblet@lazysoci.al
    link
    fedilink
    English
    arrow-up
    45
    ·
    5 天前

    In the UK, if Christmas or New Year falls on a weekend, a seperate equivalent holiday is made during the week to compensate.

    • blackn1ght@feddit.uk
      link
      fedilink
      arrow-up
      16
      ·
      5 天前

      Wait, do other countries not do this? So if a public holiday falls on a Saturday it doesn’t get pushed to Monday?

      • superkret@feddit.org
        link
        fedilink
        arrow-up
        15
        ·
        edit-2
        5 天前

        Germany doesn’t do this, but the minimum, when all holidays fall on the worst possible days, is more than the number of holidays in the UK.

      • thebestaquaman@lemmy.world
        link
        fedilink
        arrow-up
        11
        ·
        edit-2
        5 天前

        Don’t do that in Norway either - just bad luck if the holidays happen to land on a weekend. On the other hand, we have five weeks of paid vacation, and holidays are not counted into those, I’m not sure how that’s done in other countries?

    • John@discuss.tchncs.de
      link
      fedilink
      arrow-up
      12
      ·
      edit-2
      5 天前

      but the UK has the fewest public holidays in Europe. In Germany we have 9-13 but don’t get a day off if a public holiday is on a weekend. And we have a minimum of 20/24 days of holiday on top

    • my_hat_stinks@programming.dev
      link
      fedilink
      arrow-up
      3
      ·
      5 天前

      This is true for all public holidays in the UK, there’s a (usually) fixed number of public holidays but the dates are flexible.

      They’re also included in the minimum 28 days paid time off too, meaning if you’re a full time worker and have to work on a bank holiday your employer is legally required to offer an extra day off somewhere else instead, either a fixed date or added to your holiday allowance. Conversely, the “extra” day off you get when a monarch keels over may be subtracted from your holiday allowance for the year. This is also why my employer is allowed to follow English bank holidays despite having next to no presence in England; the number is fixed but the dates are not.

    • chiliedogg@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      5 天前

      Same for lots of jobs here.

      Honestly, Wednesday and Thursday are the worst days for Christmas for those of us who also get Christmas Eve because they’re the only days that don’t result in 4 days in a row off from work.

      If it’s on a Friday, we get Thursday through Saturday. If it’s on a Saturday, Sunday, or Monday, they give us Friday through Monday, and if it’s on a Tuesday, they give us Saturday through Tuesday.

      But this year, we’re off Saturday and Sunday, work Monday, are off Tuesday and Wednesday, and return to work on Thursday.

      It’s the same total number of days off, but it’s way less useful - especially if travel is involved.

  • ScreaminOctopus@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    22
    ·
    5 天前

    This is basically just a way nicer, more flexible cron syntax being dressed up as something ridiculous. There are legitimate reasons for wanting something like this, like running some sort of resource heavy disk optimization the first Friday evening of every month or something.

  • مهما طال الليل@lemm.ee
    link
    fedilink
    arrow-up
    64
    arrow-down
    16
    ·
    edit-2
    5 天前

    systemd is the future, and the future has been here for over a decade and yet old Unix and BSD purists still cry about it

    I have one simple thing to say to the downvoters: I am not using a minicomputer from 1970, why should I be bound by the limits set then?

    • pimeys@lemmy.nauk.io
      link
      fedilink
      arrow-up
      42
      arrow-down
      2
      ·
      5 天前

      Yeah, I’m also one of these people silently enjoying systemd and wayland. Every now and then there’s fuzz on one of these. I shrug, and move on still enjoying both of them.

    • Something Burger 🍔@jlai.lu
      link
      fedilink
      arrow-up
      4
      ·
      5 天前

      They are also still complaining about PulseAudio, despite Pipewire having mostly replaced it, while spending hours fiddling with ALSA to use their headphones.

      • Kusimulkku@lemm.ee
        link
        fedilink
        arrow-up
        24
        arrow-down
        1
        ·
        5 天前

        I’ve felt like systemd has been a breeze compared to the hodgepodge of different stuff that preceded it. Now most distros have it mostly the same way, tools are well documented, things works together. It wasn’t always like that from what I remember

  • peopleproblems@lemmy.world
    link
    fedilink
    arrow-up
    31
    ·
    6 天前

    Well. I mean, that’s pretty cool. I don’t think I would have ever guess that was an actual function from systemd but here we are

  • Arthur Besse@lemmy.ml
    link
    fedilink
    English
    arrow-up
    14
    ·
    edit-2
    5 天前
    $ systemd-analyze calendar tomorrow
    Failed to parse calendar specification 'tomorrow': Invalid argument
    Hint: this expression is a valid timestamp. Use 'systemd-analyze timestamp "tomorrow"' instead?
    $ systemd-analyze timestamp tuesday
    Failed to parse "tuesday": Invalid argument
    Hint: this expression is a valid calendar specification. Use 'systemd-analyze calendar "tuesday"' instead?
    

    ಠ_ಠ

    $ for day in Mon Tue Wed Thu Fri Sat Sun; do TZ=UTC systemd-analyze calendar "$day 02-29"|tail -2; done
        Next elapse: Mon 2044-02-29 00:00:00 UTC
           From now: 19 years 4 months left
        Next elapse: Tue 2028-02-29 00:00:00 UTC
           From now: 3 years 4 months left
        Next elapse: Wed 2040-02-29 00:00:00 UTC
           From now: 15 years 4 months left
        Next elapse: Thu 2052-02-29 00:00:00 UTC
           From now: 27 years 4 months left
        Next elapse: Fri 2036-02-29 00:00:00 UTC
           From now: 11 years 4 months left
        Next elapse: Sat 2048-02-29 00:00:00 UTC
           From now: 23 years 4 months left
        Next elapse: Sun 2032-02-29 00:00:00 UTC
           From now: 7 years 4 months left
    

    still image from "Zach Galifianakis Math" gif, with Zach looking contemplative with math notation floating in front of his face

    (It checks out.)

    Surprisingly its calendar specification parser actually allows for 31 days in every month:

    $ TZ=UTC systemd-analyze calendar '02-29' && echo OK || echo not OK
      Original form: 02-29
    Normalized form: *-02-29 00:00:00
        Next elapse: Tue 2028-02-29 00:00:00 UTC
           From now: 3 years 4 months left
    OK
    $ TZ=UTC systemd-analyze calendar '02-30' && echo OK || echo not OK
      Original form: 02-30
    Normalized form: *-02-30 00:00:00
        Next elapse: never           
    OK
    $ TZ=UTC systemd-analyze calendar '02-31' && echo OK || echo not OK
      Original form: 02-31
    Normalized form: *-02-31 00:00:00
        Next elapse: never           
    OK
    $ TZ=UTC systemd-analyze calendar '02-32' && echo OK || echo not OK
    Failed to parse calendar specification '02-32': Invalid argument
    not OK
    
  • kameecoding@lemmy.world
    link
    fedilink
    arrow-up
    19
    ·
    5 天前

    It is literally happening this year.

    24th is Tuesday. 1st of January is Wednesday and as a bonus Jan 6 is also a holiday in my country and that’s Monday.

    So from dec 22 to jan 6 i can be home by using just 6 days off

    • Ullallulloo@civilloquy.com
      link
      fedilink
      arrow-up
      3
      ·
      5 天前

      The 25th is a Wednesday, not a Tuesday like he was wanting. Tuesday is nice because you get a four-day weekend without using any days off. (Though, usually you’d get the next off if it was a Monday or Sunday or whatever.) I think the best is Friday or Monday because then New Year’s gives you a three-day weekend too.

      • kameecoding@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        5 天前

        to me it doesn’t matter tbh, as long as the 24th is somewhere monday-wednesday, that means days off that week, we get 24,25,26 off.