Talk:1728: Cron Mail

Explain xkcd: It's 'cause you're dumb.
Revision as of 10:25, 4 September 2016 by 108.162.221.148 (talk)
Jump to: navigation, search

I think the "MAILTO" variable in "/etc/crontab" is meant, so only only cron-mails would go to this address, not all mails for the user


Rincewind (talk) 13:09, 2 September 2016 (UTC)

The huge question is whether adding an email message to crontab would result in cron producing even more mail - or whether it would cause cron to fail in some way. The latter would do damage by killing some (possibly critical) cron tasks - the former could rapidly fill up the hard drive with an exponentially-growing crontab. An intermediate situation would be that cron simply ignores the junk and continues to function as before - in which case Cueball's change will have little practical impact on disk space consumption - but probably gradually slow cron's crontab parser to a crawl, which would also have rather severe effects. On most Linux setups, the mail directories are on a different partition to /etc. There is often very little spare space on the partition with /etc on it - so it's likely that Cueball's change will eventually do terrible damage in that case too. 162.158.69.98 14:42, 2 September 2016 (UTC)

On my Mint/Ubuntu/Debian-based Linux system, adding junk to /etc/crontab put a message is /var/log/syslog about "cron[1495]: (*system*) ERROR (Syntax error, this crontab file will be ignored)". So it looks like appending garbage to the crontab will just break cron entirely (or at least those handled by /etc/crontab; it may be private cron and /etc/cron.d/* jobs may continue to run, but cron.hourly, cron.daily, and cron.weekly jobs on my system are initiated through /etc/crontab so they would not run with a broken /etc/crontab). I don't know if other non-Debian distributions have a cron that behaves differently, however. -boB (talk) 15:18, 2 September 2016 (UTC)
Seems like it wouldn't break the existing stuff, they'd still get run and then cron would start parsing the noise and complaining - the "intermediate" situation, though the "export MAILTO" seems wrong. If Cueball did it in his .bashrc, it might get into some of *his* cron jobs but unless it's in /etc/crontab (and there, no "export" is needed/used), it wouldn't matter. His jobs probably wouldn't have rights to write to /etc/crontab either. 173.245.48.73 17:09, 2 September 2016 (UTC)
Unfortunately this huge question is undecidable (by trivial reduction to halting problem) --172.68.54.126 08:10, 3 September 2016 (UTC)

The current explanation misses a part of the joke present in Cueball's last statement: he is considering the cron program to be somehow sentient and able to make a decision between sending the email (is it really important?) and its self-preservation by not trashing its own config file. He is thus daring cron to continue sending emails at the risk of 'self-destruction'.


- I also feel like the part of the joke is the cron has been sending him useless mail for 15 years. So now, he is sending cron useless mail


This states it can be run as infrequently as once a year, however by using February 29th, you can have it run once every 4 years (exc ever 100 inc every 400). But I think you might be able to get better by also setting it to run on a day of the week. e.g. February 29th, which is a Monday, which would then (after this year) not run for another 28 years, next running on February 29th, 2044.

Should that be noted in the article or is it a needless complication? (Also, I don't know what day of the week is what for this syntax).108.162.250.156 21:13, 2 September 2016 (UTC)

That's interesting! but I don't think it's relevant to the joke. NotLock (talk) 23:13, 2 September 2016 (UTC)
If you specify a day of week and a day of month it runs on both, so "11 59 29 2 1" would run at 11:59 on every Monday in February, as well as on February 29, not just on any February 29 that happened to be a Monday.--108.162.219.11 05:18, 3 September 2016 (UTC)

I'm hesitant to make substantial edits as a random non-registered IP address, but I do feel like this explanation could be improved if a lot of the technical details were removed. For example, the format of a crontab file and how it is parsed distracts a bit from the joke. For a non-technical audience, it would be much more concise to simply note that the file has a specific format, and piping random emails to it would probably break all of cron. In my opinion, the current explanation loses the forest for the trees. For me, the key part of the joke is Cueball doesn't know cron, Ponytail explains it, Cueball conducts a response which is intuitive in the real world ("okay, cron, if you think it's that important then you deal with it!") which would be horrible in a computer. Ponytail's comment on it being harsh, and that it would accidentally solve the problem is the punchline. I think all the other technical details distracts from that simple explanation.

I would agree. Understanding how exactly cron works isn't really necessary to understand the comic and its humor. Perhaps linking to some "cron for dummies" tutorial for those interested141.101.91.223 04:03, 3 September 2016 (UTC)

What exactly does "hardball" mean? Is it a US slang term or such?141.101.91.223 04:03, 3 September 2016 (UTC)

"Playing hardball" is an idiom, meaning "to act strong & aggressive about an issue" 108.162.245.114 05:23, 3 September 2016 (UTC)

With "YOUR MOVE, CRON." Cueball adapts a famous movie quote ("Your move, creep.") from Robocop (1987) as if he would strike back against "the machine" from a similar age (admitted, cron is slightly older, but then again Robocop also plays 20 minutes into the future). Renormalist (talk) 06:35, 3 September 2016 (UTC)

Yeah, useless crap. I have smartd on my harddrives and still don't get any warnings that they are about to fail. Well except for all the cron emails I have been ignoring for a decade.162.158.83.240 09:15, 3 September 2016 (UTC)

A few corrections: (1) Setting MAILTO=/etc/crontab only affect the system-wide crontab. User crontabs will continue to run as normal. Cueball's cronjob runs under his account (we know that because "he has mail") therefore nothing will change as far as he is concerned. (2) MAILTO appends to the named file, therefore the existing lines in /etc/crontab will not be deleted and will continue to run as normal - the worse that can happen is that new, spurious, cronjobs can be introduced (3) in most modern versions of cron, you can run use a /X syntax which will cause X-1 executions to be skipped (for example 20 10 2 1/5 * will run once every 5 years - assuming the system has not been rebooted in the interim) Sysin (talk) 11:28, 3 September 2016 (UTC)

I agree that the explanation is overly technical, especially considering this Wiki exists largely as a resource to laypeople. A succinct explanation of the joke (the crux of which being that Cueball is actively trying to threaten a computer program) would be preferential to passing off a man page as an ExplainXKCD article. Although linking to a more detailed breakdown of how Cron functions isn't a bad idea at all. This is a pretty good one http://www.unixgeeks.org/security/newbie/unix/cron-1.html