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.

Lightweight multiple modes for semi-literate programming

Sometimes you don’t want a 100% reproducible system (org-mode, noweb, polymode) and instead just want an easy way to work with multiple languages within the same document (MuMaMo). Sometimes you don’t even want to go that far though and just want a really easy way to hack on different languages that have somehow ended up in the same file.
Jon posted the link here to Zane’s solution. Very cool. Nice reminder that if we were to read the Emacs and Emacs Lisp user manual, we would all know how to do this. Another nice reminder, even if we don’t, kind people provide the information and solutions for us, the very definition of community. I wanted a slightly different approach with just a couple additional things: line numbers instead of the point, safety checks for use via code, and a little more documentation:
Continue reading “Lightweight multiple modes for semi-literate programming”

Whitespace

Most modern programming languages do not consider white space characters (spaces, tabs and newlines) syntax, ignoring them, as if they weren’t there. We consider this to be a gross injustice to these perfectly friendly members of the character set. Should they be ignored, just because they are invisible? Whitespace is a language that seeks to redress the balance. Any non whitespace characters are ignored; only spaces, tabs and newlines are considered syntax.

Whitespace must be learned.

God Mode — no more RSI

Lot of posts recently about the desire to reduce RSI from too much keyboard use in Emacs. Although I didn’t look up any studies or evidence of this, the idea of hacking how to handle keybindings in Emacs is always interesting.
God mode is one way to “simplify” things.
Basically you go in and out of the mode, and when in it, single key strokes are automatically prefaced with a control, and meta commands are prefaced with a g instead.