decisions, decisions
For the last few days I've been working on rewriting at for Mastodon, and I've been trying to figure out whether I should just toss the atrun quasi-daemon and instead expand cron to process at jobs as well as the usual run of the mill crowd of crontabs.
An argument in favor of this is that at jobs are just another scheduled job, and if I put in a permissions file for people who are allowed to run scheduled jobs, it's somewhat redundant to have two of them (at can be emulated with a crontab, cron can be emulated with a trivially simple at job [I know this latter one because I once had an account on a computer where I had access to at, but not to cron. The PFYs who managed that computer didn't really consider that viruses are not the only self-reproducing code in the jungle.])
An argument against doing this is, um, "This! Is! POSIX!", which isn't exactly the standard I'm trying to follow with Mastodon (Unix v7, yes. Posix, no. I'm the sort of BOFH who considers Plan 9 to be an overly complex implementation of a Unixy operating system, and about the only thing Posix has going for it in the simplicity department is that it's being used as a machete to weed out some of the more offensive extensions that infest FSF-ware.)
(You might ask why I'm reimplementing at? Well, my "teatime" extension to koeneg-at is nice to have, but in the decade or so since I contributed that feature to the mainline I've grown impatient for a richer date language. "at teatime next friday" is closer to what I want, and it gives me an excuse to build a language via yacc+lex and bathe in the lap of huge automatically generated parsers.)