diff options
author | Sacha Chua <sacha@sachachua.com> | 2021-10-08 01:58:03 -0400 |
---|---|---|
committer | Sacha Chua <sacha@sachachua.com> | 2021-10-08 01:58:03 -0400 |
commit | 886ae437fee6a674f7b2757062f1b8a91275457a (patch) | |
tree | b8e37843a5149998f1cc0282fb3bd8d4f69357e5 /2021/talks/exec.md | |
parent | 5a56ee2080de1a60c15c580adac85bd7e625f3aa (diff) | |
download | emacsconf-wiki-886ae437fee6a674f7b2757062f1b8a91275457a.tar.xz emacsconf-wiki-886ae437fee6a674f7b2757062f1b8a91275457a.zip |
Add talk pages for 2021
Diffstat (limited to '2021/talks/exec.md')
-rw-r--r-- | 2021/talks/exec.md | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/2021/talks/exec.md b/2021/talks/exec.md new file mode 100644 index 00000000..e4d46aef --- /dev/null +++ b/2021/talks/exec.md @@ -0,0 +1,77 @@ +[[!meta title="Org as an executable format"]] +[[!meta copyright="Copyright © 2021 Tom Gillespie"]] +[[!inline pages="internal(2021/info/exec-nav)" raw="yes"]] + +<!-- You can manually edit this file to update the abstract, add links, etc. ---> + + +# Org as an executable format +Tom Gillespie + +Org mode is known for its flexibility, power, and staggeringly diverse +number of workflows, users, and use cases. + +This talk explores just how far we can push the boundaries of the sane +and sensible with regard to Org workflows. + +In particular it will discuss shebang blocks, and elvs: two parts of a +complete system for creating executable Org files. + +Org syntax does not support shebang lines. However, it turns out that +Org syntax enables something even better — shebang blocks. + +Org is also (supposedly) not an executable file format. However, by +combining a shebang block with a Org babel source block, and eval +local variables (elvs) Org becomes a multi-language executable format. + +In this talk we introduce shebang blocks and elvs as a two part system +that transforms Org files into executable documents that can run on any +recent version of Emacs. + +These ideas are implemented in +<https://github.com/tgbugs/orgstrap/blob/master/README.org> and +<https://github.com/tgbugs/orgstrap/blob/master/shebang.org>, and +orgstrap.el is available as a package on MELPA and can be installed +via M-x install-package orgstrap. + +The talk will open with a demo of how to create an executable Org file +using the orgstrap machinery. + +We then discuss security considerations, and show example use cases. + +Finally the talk will cover the details and development of the +portable shebang block for Org mode that works on a wide variety of +systems and shells, and on the development of a formal specification +and a reference implementation for using Org source blocks to +transform Org files from plain text documents with a bit of markup +into self describing computational documents, or interactive +applications. + + + +# Outline + +- 5-10 minutes: + +A demo of adding the orgstrap block and elvs, +adding a shebang block, and then running an org file. + +<!-- +- 20 minutes: + +Same as above, followed by a walkthrough of the approach orgstrap +takes for preventing arbitrary code execution, followed by some +examples uses of orgstrap. + +- 40 minutes: + +Depending on flow/interest, security overview and the examples +bits could be swapped and overflow beyond 20 mins, followed by +a deeper dive into the internals, and a discussion about interest +in incorporating such functionality into org-mode directly. + +--> + +[[!inline pages="internal(2021/info/exec-schedule)" raw="yes"]] + +[[!inline pages="internal(2021/info/exec-nav)" raw="yes"]] |