To me, the most controversial piece of advice is to avoid using
require in your
.emacs. I’ll let you read the post for the reasons for that but I will say that the suggestion is not without merit.
Another idea that solves a problem I seem to keep having is to use
eval-after-load so that you can set various package-configuration variables without loading the package. For example, you might have the autoloaded package
foo that requires that you configure the
foo-blah2 variables. The way to do that is
(eval-after-load "foo" '(progn (setq foo-blah1 "some string") (setq foo-blah2 "some other string")))
That way, the setting of the
foo-blah2 variables is not executed until the package is actually loaded so you won’t get a void-variable error. This suggestion alone makes the post worth reading.
This is a short post so there’s no reason not to give it a look. You may get some ideas that hadn’t occurred to you before.