summaryrefslogblamecommitdiffstats
path: root/2020/info/13.md
blob: 12b83a3f5d8642ab3d3032cd02dd2f435e65b887 (plain) (tree)
1
2
3
4
5
6


                                                     
                                                                                                                                                                                                       
                                                                                                                                                                                                                          
 


























                                                                      

                      

                                                                 


           
                                                                                       
                                                                                                          

                                                                                   

                                                                 


                                                 
                                                                                  
                                                                 
 
       
                                         
# Experience Report: Steps to "Emacs Hyper Notebooks"
Joseph Corneli, Raymond Puzio, and Cameron Ray Smith

[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--13-experience-report-steps-to-emacs-hyper-notebooks--joseph-corneli-raymond-puzio-cameron-ray-smith.webm"]]  
[Download compressed .webm video (8.6M)](https://media.emacsconf.org/2020/emacsconf-2020--13-experience-report-steps-to-emacs-hyper-notebooks--joseph-corneli-raymond-puzio-cameron-ray-smith-vp9-q56-original-audio.webm)

We present a short experience report from the perspective of two
long-time Emacs users and one relative newcomer.  Our motivations
relate, broadly, to reproducibility of research in science.  We
reflect on our experiences with off-the-self solutions available
through the Emacs package manager, and describe some of our custom
extensions.

When working on a scientific research project, one typically has
multiple different computer programs running at the same time.  For
example, we may use a computer algebra system such as Maxima for
calculations, an interactive language such as Julia for numerical
computations, TeX for writing up results, a reference manger such as
Zotero for the bibliography, Roam for note-taking, and Jekyll for
blogging.  Switching and moving content among these programs can be
distracting, time-consuming, and prone to error.  These issues are
compounded when there are several collaborators involved.

We explore a solution that looks toward building better "computational
notebooks" using Emacs.  We take Org mode as our foundation.  As many
in this audience will know, Org mode integrates features such as
writing, task management, program evaluation, typesetting,
presentation, and navigation.  Tightly integrated add-on packages
round out the picture either by directly replacing the functionality
of the other programs mentioned above or automatically dispatching
commands to them.  We outline both the pleasure and pain involved in
this experience.

<!-- from the pad --->

- Actual start and end time (EST): Start 2020-11-28T14.01.42; Q&A
  2020-11-28T14.11.44; End 2020-11-28T14.13.50

# Questions

## Have you looked into trying SageMath? I've long wanted to use SageMath in Org files.
[RSP]: If you can use it from the command line, you could use it in org mode using what we are working on.

## I can use SageMath from the command line, but not using one of the Emacs shells.
As Joe is now explaining, our ob-servant code should then make it
accessible from within Org mode.

## Let's not forget about Embedded Calc in Emacs!

## Which package have you used to prepare the slides which are visually appealing?
I think he used org-tree-slides, like some earlier presentations.

# Notes
- <https://github.com/exp2exp/ob-servant>