Here’s something that really cheeses me off…
For 25+ years, I’ve logged into a UNIX like system - and thought vague obscure things like : “hmmm, what day of the week is the 15th of next month” and - if this month is January, “cal 02 2021” will show me an array of the 2nd month of the current year (2021) :
╭─x@titan ~
╰─➤ uname -a
Linux titan 5.11.0-27-generic #29~20.04.1-Ubuntu SMP Wed Aug 11 15:58:17 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
╭─x@titan ~
╰─➤ cal 02 2021 64 ↵
February 2021
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28
Armed with the above information, I can easily learn that the 15th of next month (February) is a MONDAY!
So - someone on facebook shares a meme about the symmetry of the 22nd of February 2022 (but uses lame US date format 2/22/22 - which is NOT symmetrical and irks my OCD) - the joke being “dad joke” worthy as it’s a “tuesday / toosday / twosday” - anyway - I thought I’d double check - so I typed “cal 02 2022” on my x64_64 21.04 machine :
╭─x@fenrir ~
╰─➤ uname -a
Linux fenrir 5.11.0-31-generic #33-Ubuntu SMP Wed Aug 11 13:19:04 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
╭─x@fenrir ~
╰─➤ cal 02 2022
zsh: command not found: cal
WTF?
So I go to my RPi4B, also running 21.04 :
╭─x@bebhionn ~/MPZ/XylourisWhite
╰─➤ uname -a
Linux bebhionn 5.11.0-1016-raspi #17-Ubuntu SMP PREEMPT Thu Jul 29 15:33:06 UTC 2021 aarch64 aarch64 aarch64 GNU/Linux
╭─x@bebhionn ~/MPZ/XylourisWhite
╰─➤ cal 02 2022 127 ↵
zsh: command not found: cal
Seriously WTF? and - wait a minute - that x86_64 machine started life as a 20.04… I know “cal” gets installed in a default install of 18.04 at the least… but what about 20.04… gonna have to do some testing…
But - all this begs the question : WHICH DICKHEAD DECIDED TO EXPLICITLY REMOVE IT? Was it so VAST in size they ran out of room to include it? “Oh holy hell, the ncal binary is a MASSIVE 37 k and we only have 2 k left to squeeze stuff in!”…
(yeah in most cases, “cal” is just a symlink to “ncal”)
╭─x@titan ~/Documents/receipts
╰─➤ ls -alh /usr/bin/cal
lrwxrwxrwx 1 root root 4 Mar 30 2020 /usr/bin/cal -> ncal
╭─x@titan ~/Documents/receipts
╰─➤ ls -alh /usr/bin/ncal
-rwxr-xr-x 1 root root 37K Mar 30 2020 /usr/bin/ncal
Let’s save some room by not including cal/ncal ?
I can understand such thinking if we were still in the 1980s, e.g. like when Commodore 64 was named because it had a MASSIVE 64K of RAM… yeah - back then - a binary that ATE a WHOPPING 37K would be bad juju for sure! But now? In 1984 when I was programming BASIC into my TRS-80, which had 8K of RAM, I would have been f–ked if my app (after compile) had been 37K… I’d have had to write in swap in, and out, routines, and needed nearline storage (I had to save my BASIC apps to audio cassette tape - NO FLOPPIES! i.e. they had to fit in RAM or not at all).
TL;DR :
Apparently you can restore “cal / ncal” functionality with :
sudo apt install bsdmainutils ncal
But as I asked before - which DICKHEAD decided to remove it? I reckon it was probably more effort to remove the package, from the repo and distro, than it was for someone to think “Oh wait, I never use that ncal package, I’ll remove it because it’s using up a MASSIVE 37K of storage on my Linux root disk on a Floppy system of 1440K storage!”
Sheeze - I still remember running Slackware with a boot and root disk, on 1.44 MB floppies, and probably wouldn’t have batted an eyelid at 37 kilobytes!