Biff is a command line datetime Swiss army knife

(github.com)

29 points | by burntsushi 8 hours ago ago

16 comments

  • yzydserd 3 hours ago

    No, Biff informs the system whether you want to be notified when mail arrives during the current terminal session.

    • burntsushi a minute ago

      Yeah the name collision is unfortunate, but probably fine. The name Biff was just too good to pass up.

      The name comes from the fact that Biff is a character in Back to the Future, and it rhymes with Jiff[1]. Jiff is the datetime library that Biff uses.

      "Make like a tree and get out of here!" https://www.youtube.com/shorts/9Jabplo2pZU

      [1]: https://github.com/BurntSushi/jiff

    • throw0101a 9 minutes ago

      I.e.,

          NAME
             biff -- be notified if mail arrives and who it is from
          
          […]
          
          HISTORY
             The biff command appeared in 4.0BSD.  It was named  after  the  dog  of
             Heidi Stettner. He died in August 1993, at 15.
      
      * https://man.freebsd.org/cgi/man.cgi?query=biff

          Eric Cooper, a student contemporary to Foderero and 
          Stettner, reports that the dog would bark at the mail 
          carrier,[4][5] making it a natural choice for the name 
          of a mail notification system. Stettner herself 
          contradicts this.[3][6]
      
      * https://en.wikipedia.org/wiki/Biff_(Unix)
    • maybewhenthesun 2 hours ago

      exactly. and chromium is a good looking space shooter with too few levels!

    • raverbashing 3 hours ago

      Yes I'm sure root is anxious to read all the mail in their local mailbox

      • roryirvine an hour ago

        Sending mail to root@<whatever> really did use to be a pretty reliable way of getting somebody useful's attention - the early-to-mid 90s equivalent of making a "Can someone from Google please unlock my account?" post on HN.

        • throw0101a 5 minutes ago

          Under Debian/Ubuntu, when Postfix is installed, part of the standard list of questions that dpkg-reconfigure asks you is how you want mail flow to work: you can give it a central smarthost. So any local mail gets sent on, and on the central mail hub you can tell it to send root@ to someplace useful:

          * https://wiki.debian.org/Postfix#Forward_Emails

  • e40 44 minutes ago

    I remember when biff was what we ran in a CSH to be informed of new email. I don’t remember if this was a local UCB tool or if it was part of BSD.

  • ramon156 an hour ago

    Same dude that made jiff. Love that library, so I'm assuming biff is built on top of jiff.

  • smartmic 3 hours ago

    I am a happy user of dateutils [0], but I will try out Biff and see which one is more ergonomic.

    [0]: https://www.fresse.org/dateutils/

  • elcaro 3 hours ago

    % biff

    2026 M05 28, Thu 17:27:46

    Ahh, the month of M05

    • burntsushi 5 minutes ago

      This is a fair critique actually. And this shouldn't be the default. It is for now because I haven't gotten around to making Biff read your POSIX locale settings and converting them to a Unicode locale. If you build with `cargo build --release --features locale` (or get Biff from a release binary), then you can do:

          $ BIFF_LOCALE=en-US biff
          Thu, May 28, 2026, 6:38:09 AM EDT
      
      If that doesn't work, then you can enable logging to see an error message:

          $ BIFF_LOCALE=watwat BIFF_LOG=warn biff
          2026-05-28T06:39:08.876336708-04:00[America/New_York]|WARN|src/main.rs:76: reading `BIFF_LOCALE` failed, using unknown locale `und`: failed to parse `BIFF_LOCALE` environment variable: The given language subtag is invalid
          2026 M05 28, Thu 06:39:08
      
      What you're seeing is what ICU4X does when the user's locale is unknown or undetermined. The `M` prefix occurs to indicate that the number is the month, and is unrelated to the name. For example:

          $ BIFF_LOCALE=watwat biff time fmt -f '%c' '1 month'
          2026 M06 28, Sun 06:39:50
    • croisillon 2 hours ago

      just between a04 and j06 yes

      • raverbashing an hour ago

        Looking forward to the J07 04 holiday