Set your expectations for your org-mode system

This weekend I set up a Makefile for tangling and weaving one of my org documents. Wanting to automate it for the obvious reasons, I also wanted to have a “fresh” environment for the run. Actually, I was hoping that it would be faster, not just fresher.
Playing with the command line arguments for Emacs, I was stunned to get the tangling down to 30s. Could. Not. Believe. It. Down from 8 minutes! Then, I see the warning:

Insufficient requirements. Expected 8.2.6. Found 7.9.3

(From my memory, didn’t copy and paste it)
Uh oh. I screwed something up. Oops.
Glad I added a check!
All org users should have something like this in their code!

(when (not (version= (org-version) "8.2.6"))
  (display-warning
   'org-mode
   (concat
    "Insufficient requirements. Expected 8.2.6. Found " (org-version))
   :emergency))

There may be more
AddendunM 14-06-09
Thank you SHK and Alexander Baier for pointing out that I should be using version= instead of string-equal.

Lower casing your source block templates

org-mode has nice template expansion for its frequently used blocks via Easy Templates. I wanted them to be lower cased because my document won’t tangle with upper case block statements. Thorsten pointed out which variable needs to be configured. This approach is preferable because it it is temporary:

(mapc (lambda (asc)
        (let ((org-sce-dc (downcase (nth 1 asc))))
          (setf (nth 1 asc) org-sce-dc)))
      org-structure-template-alist)

org-scraps

Every org-mode literate programmer must at least become aware of org-scraps.
Studying and mastering each of them brings you further down the path of org-mode literate programming mastery.
Addendum:
Here is perhaps a better link.
These examples to reveal the evaluation model, which is helpful for understanding what exactly is possible with babel. For example, I like the use of a var binding to force evaluation before a computation is performed, unnamed source blocks may still tangle code, the noweb ref expansion without a newline clearly shows successfully integration between the noweb feature and the shell language, noweb variable index syntax, single line data blocks, examples of argument variable binding, obtaining values in code that are defined as properties by SHA1 id which is kind of radical when you stare at it, unnamed variables in a call, inline function call, and there I must stop. The file is 5960 lines long. It will take some time to work through it. Perhaps a better approach would be to a need first, though.

Emacs peer and consultant teaching

For the past week I’ve been day dreaming about a nice way where Emacs and org-mode users could collaborate in real time, share their configurations, learn from, and teach each other about their workflow. Sure the Internet is a great resource to pull from, it is also nice to interact with people, too!
Imaginations included weekly “Team Emacs” meetings where folks may present on interesting topics, live online. Code reviews may also be performed, even sharing how to implement a desired feature would be great. The real effort would be to organize “Team Emacs”, and do all of the logistical work. There is of course plenty of work to do for the presenters. What about the attendees? Surely, the work load may be distributed. That said, there is something in the collective consciousness right now. Sacha just posted on one step forward; Bastien!
Bastien is a delightful person online and an excellent leader. Starting an Emacs consultancy is a wonderful idea. The value of your time is priceless, so reflect that in your offering :).

Brutal honesty contains mostly brutality and little honesty

A popular American phrase is that someone is going to be “brutally honest” in their interaction with you. It is a code-word that means they are about to be cruel and hurtful, and mask it under the guise of doing so for you best interest. When you hear this phrases uttered, maybe just leave, and leave the brutality behind with its owner.

First be, then do

Try first learning how to be happy, becoming happy, and then taking action towards a goal.
How you feel will remain consistent regardless of the outcome. It will change everything about how to pursue the goal; a “means justify the ends” sort of thing.
Freedom from the slavery of our own expectations is the ultimate freedom

What it means to "pay attention"

When you learn to value your own time, you will learn to value other people’s time.
You may even put a dollar amount on the value of your time (though you are likely to choose too small of a number).
The reason that we use the expression “paying attention to N” is that out of respect for ourselves, and others, we give 100% focus to what we are doing.
To do anything else would be something akin to “throwing away money”.