Literate Devops with Emacs
Howard Abrams8 HN recommenders · recommended in 9 months, 2015-2025
105K views · 11 years ago · demo · evergreen
Howard Abrams demonstrates, in an EmacsConf 2015 talk, how he uses org-mode's Babel and Tramp to configure and operate remote servers from a single document. Code blocks, their results and the explanatory text all live together.
HN people point to it as the best demonstration of literate devops, showing documentation and execution woven together in Emacs.
22:43Consistent Technical Documents Using Emacs and Org Mode
spudlyo
74K views • 6 years ago
1:18:42Web Development in Emacs, Common Lisp and Clojurescript - Emacs SG
Engineers.SG
14K views • 10 years ago
58:30Emacs From Scratch #1 - Getting Started with a Basic Usable Configuration
System Crafters
299K views • 6 years ago
1:01:06Emacs For Writers
thoughtbot
153K views • 11 years ago
21:16Emacs + org-mode + python in reproducible research; SciPy 2013 Presentation
Enthought
50K views • 13 years ago
56:21Getting Started With Org Mode
thoughtbot
293K views • 10 years ago
55:29Marco Baringer's SLIME Tutorial Video
손주일 (Cecil)
33K views • 15 years ago
46:57Emacs Org-mode - a system for note-taking and project planning
Google TechTalks
331K views • 18 years ago
35:59Literate Programming in the Large
Next Day Video
18K views • 13 years ago
45:11Stevey's Tech Talk E39 -- A guided tour of Emacs
Steve Yegge
13K views • 4 years ago
40:02Evil Mode: Or, How I Learned to Stop Worrying and Love Emacs
thoughtbot
563K views • 11 years ago
43:04"Stop Writing Dead Programs" by Jack Rusher (Strange Loop 2022)
Strange Loop Conference
468K views • 4 years ago
3:25Emacs Rocks! Episode 14: Paredit
emacsrocks
65K views • 13 years ago
37:34Linux Kernel Development, Greg Kroah-Hartman - Git Merge 2016
GitHub
72K views • 9 years ago
11:41Using Emacs - 1 - setting up the package manager
Mike Zamansky
73K views • 10 years ago
3:56Emacs Rocks! Episode 13: multiple-cursors
emacsrocks
127K views • 14 years ago
4:54Lisp Editing in the 80s - Interlisp SEdit
thoughtupquick
9K views • 9 years ago
36:27ChatOps at GitHub - Jesse Newland
Rubyfuza
32K views • 13 years ago
45:55Ruby Conf 12 - Boundaries by Gary Bernhardt
Confreaks
58K views • 13 years ago
1:14:52Effective Programs - 10 Years of Clojure - Rich Hickey
ClojureTV
176K views • 9 years ago
11 comments from Hacker News
managing infrastructure services Immediately reminded me of this (which I am no where near clever enough to use): ▶ this video
If you are interested with Literate programming, you should try Emacs. Some packages are org-mode, eev and even elisp are best for literate programming. Example ▶ this video
This is the blog of Howard Abrams, who also has a great YouTube channel full of Emacs demos and tutorials. His video on literate programming for DevOps via Emacs' Org-mode was very impressive and inspiring to me. It's my favorite. :) ▶ this video
Personally I've failed with Emacs years ago, just tried it and decide that's a heavy and horrid mess, I re-tried it few years ago when I see it in action and was at that point in time that I realize it's power. Emacs is one-tool one-job BUT the tool is just a function and functions can be combined like unix commands in pipes but in far more powerful manner and with far less overhead. Try seeing this: link or this ▶ this video the real issue when starting without a friend of video-tutorials is that Emacs defaults are barebone and really old, the juicy things come only when you discover them. The power of Emacs is not much Emacs itself but the classic desktop paradigm: anything is integrated so anything can be combined. You type some math in a mail? Why not have it rendered by LaTeX, since your system do have LaTeX support installed and why not solve the ode you are typing since you have a CAS? Why being tied on GUIs to cut&paste as the sole IPC? That's is. Is extremely powerful but so different than actual environments that most users fail to comprehend without seeing it in action...
Org-mode in Emacs. Because it enables to do literate programming. In this video [0] by Howard Abrahams you can see how to wave the instructions and the execution of them with Emacs. Another advantage is that you can mix your diagrams (in plantuml or ASCII art) with your code, in the same org-mode file. Gitub displays .org files the same way it does Markdown. [0] ▶ this video
This is the main reason I want to try and learn Emacs, OrgMode, and Babel. The stuff that Howard Abrahams discusses on the below video is something I think would be highly successful in a remote environment. Documenting your workflow as you go, including commands and output, then emailing it to your team that day or uploading it to a document store/gitbook: ▶ this video
All these workarounds sound like a reason to use start using tramp more (apropos, ▶ this video / link is a pretty neat demo of combining org-babel and tramp). ----- There is also emamux, which seems to be able to copy from tmux: link
Literate programing is used to tangle text and code. You tangle the document and the code blocks are pulled out to create a working program. But Orgmode's Babel, iPython and Wolfram's Computational Essays are literate computing, with code being executed in the document. Howard Abrams has extended the concept to create literate devops ( ▶ this video ) using orgmode babel where the code in the document is used to configure software running on local or remote servers. I use Babel as part of my daily workflow. Very cool stuff.
I could go on and on about the benefits of org. And the org-Babel full fledged literate programming environment is another game changer. I used org for a scientific conference I attended recently. From one org file, I could provision a VM in the cloud and get various Docker containers running via tangling with plenty of human friendly exposition. (See tramp mode too.) I could then export that file as an extended abstract via Latex export (conforming to the conference formatting guidelines) and also produce attractive HTML (see ReadTheOrg). Also checkout this literate devops video: ▶ this video
I use org-mode everyday, as well. And the org-babel literate programming environment is a game changer, and something I find new uses for all the time. Check out this literate devops video [1] But I share your sentiment for the stability issues which I think reflect problems with emacs in general. One day, you update your packages and suddenly your favorite mode does not work anymore and you have to spend 1/2 day figuring out why literally digging into the source with edebug. Because of this I take the following measures. I use melpa-stable which as the name indicates are the stable versions of emacs packages. (The problem is not all packages are in melpa-stable so you have to deal with that too.) Also, I manage my own version of org-mode cloned from the canonical org-mode repo that I update when I decide and I can back out of if there are problems. Finally, I run emacs within docker which allows me to freeze dry and rehydrate environments that are completely under my control so that I don’t encounter problems with a changing environment either. Here is my literate org-babel .emacs, if interested [2] (I don’t have the Dockerfile on github, yet, unfortunately.) [1] ▶ this video [2] link
Emacs org-mode supports a lot of languages [1] and you can mix and match within a file. Howard Abrams literate devops is an interesting example of what org-mode code blocks can do. [2][3] Org-mode also allows embedding images or source blocks in languages like LaTeX that resolve to rendered images. [1]: link [2]: link [3]: ▶ this video