Although i don’t use it that much, i’ve had the following defun in my emacs config since i remember:
(defun totd () (interactive) (random t) ;; seed with time-of-day (with-output-to-temp-buffer "*Tip of the day*" (let* ((commands (loop for s being the symbols when (commandp s) collect s)) (command (nth (random (length commands)) commands))) (princ (concat "Your tip for the day is:\\n" "========================\\n\\n" (describe-function command) "\\n\\nInvoke with:\\n\\n" (with-temp-buffer (where-is command t) (buffer-string)))))))
(Actually, i’ve tracked it down to a gnu.emacs.help thread dated 2001).
I’m sure you’ve guessed what it does. One possible use is to put the invocation
(totd) at the end of your .emacs; but, as i tend to have emacs open for days, if not weeks, in a row, i prefer to just bind it to a keyboard shortcut and press it when i’m idling or thinking of a new post. I can also press the shortcut repeatedly until the random chosen command interests me.
Another possibility (if you don’t find it annoying), is to set a timer to get a periodic tip of the day, using something along the lines of:
(defvar jao-totd-timer (run-at-time "12:00am" (* 3600 24) 'totd)) (defun jao-cancel-totd (interactive) (cancel-timer jao-totd-timer))
Not that bad as a pastime 🙂