* [babel] Uses for :session buffers @ 2009-11-04 19:24 Thomas S. Dye 2009-11-04 20:44 ` Stephan Schmitt 0 siblings, 1 reply; 5+ messages in thread From: Thomas S. Dye @ 2009-11-04 19:24 UTC (permalink / raw) To: emacs-orgmode [-- Attachment #1.1: Type: text/plain, Size: 880 bytes --] Aloha all, I'm trying to comprehend the possibilities created by org-babel, and would like to draw on the experience of others if I could. I recently discovered the buffer created by :session. In my case, this is an R session that I am building to track the data collection phase of a research project. I was delighted to find that it appears to have recorded everything my org file had done in that session. I have a vague idea that it might be useful to save this as a log to prove that all the little source blocks in my org file indeed were called and executed successfully. I'm wondering: do other org-babelers use the :session buffer? How? For what purpose? Any tips or advice will be appreciated. All the best, Tom Thomas S. Dye, Ph.D. T. S. Dye & Colleagues, Archaeologists, Inc. Phone: (808) 529-0866 Fax: (808) 529-0884 http://www.tsdye.com [-- Attachment #1.2: Type: text/html, Size: 3360 bytes --] [-- Attachment #2: Type: text/plain, Size: 204 bytes --] _______________________________________________ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [babel] Uses for :session buffers 2009-11-04 19:24 [babel] Uses for :session buffers Thomas S. Dye @ 2009-11-04 20:44 ` Stephan Schmitt 2009-11-04 21:26 ` Thomas S. Dye 2009-11-04 22:02 ` Dan Davison 0 siblings, 2 replies; 5+ messages in thread From: Stephan Schmitt @ 2009-11-04 20:44 UTC (permalink / raw) To: Thomas S. Dye; +Cc: Org Mode Mailing List Thomas S. Dye wrote: > Aloha all, > > I'm trying to comprehend the possibilities created by org-babel, and > would like to draw on the experience of others if I could. > > I recently discovered the buffer created by :session. In my case, this > is an R session that I am building to track the data collection phase of > a research project. I was delighted to find that it appears to have > recorded everything my org file had done in that session. I have a > vague idea that it might be useful to save this as a log to prove that > all the little source blocks in my org file indeed were called and > executed successfully. > > I'm wondering: do other org-babelers use the :session buffer? How? For > what purpose? > Another advantage: you can set a variable in one source block and access it in the next one. Greetings, Stephan > Any tips or advice will be appreciated. > > All the best, > Tom > > Thomas S. Dye, Ph.D. ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [babel] Uses for :session buffers 2009-11-04 20:44 ` Stephan Schmitt @ 2009-11-04 21:26 ` Thomas S. Dye 2009-11-04 22:02 ` Dan Davison 1 sibling, 0 replies; 5+ messages in thread From: Thomas S. Dye @ 2009-11-04 21:26 UTC (permalink / raw) To: Org Mode Mailing List On Nov 4, 2009, at 10:44 AM, Stephan Schmitt wrote: > > Thomas S. Dye wrote: >> Aloha all, >> I'm trying to comprehend the possibilities created by org-babel, >> and would like to draw on the experience of others if I could. >> I recently discovered the buffer created by :session. In my case, >> this is an R session that I am building to track the data >> collection phase of a research project. I was delighted to find >> that it appears to have recorded everything my org file had done in >> that session. I have a vague idea that it might be useful to save >> this as a log to prove that all the little source blocks in my org >> file indeed were called and executed successfully. I'm wondering: >> do other org-babelers use the :session buffer? How? For what >> purpose? > > Another advantage: you can set a variable in one source block > and access it in the next one. > > Greetings, > Stephan > Aloha Stephan, Yes, this is a tremendous advantage. I'm using my org file as a laboratory notebook. The R source code blocks track data entry progress (among other things), so I need to re- establish sessions whenever I come back to the project. I have an R source block that I run each time I open the org file. It looks like something like this: #+src_name r-adze-session #+begin_src R :session adze :noweb :results output library(ggplot2) library(xtable) <<r-connect>> <<r-complete-2>> objects() #+end_src where <<r-connect>> connects R to our database server and <<r- complete-2>> is a query of the database that populates a data frame in the R session. The call to objects() lets me know wether or not the session is populated with the objects I'm expecting to be there. I'm particularly interested in the emacs buffer that is established for the session (in this case "adze"), which looks like this when I run r-adze-session: tdye> library(ggplot2) tdye> library(xtable) tdye> library(RMySQL) ... I'm wondering if there is a standard (or intended) use for this file, perhaps as a log, or if other org-babelers typically discard it, as I've been doing? All the best, Tom > >> Any tips or advice will be appreciated. >> All the best, >> Tom >> Thomas S. Dye, Ph.D. ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [babel] Uses for :session buffers 2009-11-04 20:44 ` Stephan Schmitt 2009-11-04 21:26 ` Thomas S. Dye @ 2009-11-04 22:02 ` Dan Davison 2009-11-04 23:00 ` Thomas S. Dye 1 sibling, 1 reply; 5+ messages in thread From: Dan Davison @ 2009-11-04 22:02 UTC (permalink / raw) To: Stephan Schmitt; +Cc: Org Mode Mailing List Stephan Schmitt <drmabuse@cs.tu-berlin.de> writes: > Thomas S. Dye wrote: >> Aloha all, >> >> I'm trying to comprehend the possibilities created by org-babel, and >> would like to draw on the experience of others if I could. >> >> I recently discovered the buffer created by :session. In my case, >> this is an R session that I am building to track the data collection >> phase of a research project. I was delighted to find that it >> appears to have recorded everything my org file had done in that >> session. I have a vague idea that it might be useful to save this >> as a log to prove that all the little source blocks in my org file >> indeed were called and executed successfully. >> >> I'm wondering: do other org-babelers use the :session buffer? How? >> For what purpose? Hi Tom, For R users, org-babel is intended to be used in conjunction with ESS[1] and personally I continue to use the inferior-ESS mode *R* buffer (aka R session buffer) in a similar way to when I was using ESS alone. So for example 1. In an ess-mode (R) edit buffer, I use the ess-eval-* family of functions to evaluate lines, regions, etc. In particular, to debug a code block I switch to an R edit buffer with C-c ', then evaluate line-by-line using C-c C-n (ess-eval-line-and-step).[2] 2. In an ess-mode (R) edit buffer, I use C-z (ess-switch-to-end-of-ESS) to switch to the R session buffer (inferior-ESS mode) 3. In the R session buffer, I try out evaluation of expressions, query data structure contents with str(), list objects in the environment, etc. 4. There are many other nice facilities provided by ESS when working in an R edit buffer with an associated active R session, such as object name completion, displaying formal arguments to functions while you type, etc. I believe that to some extent you can work in a similar way with interactive python and ruby sessions but personally I don't have much experience with that yet. It was always a key aim of org-babel (made easy by org-mode's C-c ') that it should not get in the way of whatever other emacs facilities exist for working with interactive emacs sessions in a particular language. Incidentally, maintaining this sort of automatic compatibility with language-specific software like ESS is one reason why I am slightly skeptical about the value of using org-babel in a "dual major-mode" fashion as was suggested in a separate thread today. Dan Footnotes: [1] http://ess.r-project.org/ >> > > Another advantage: you can set a variable in one source block > and access it in the next one. > > Greetings, > Stephan > >> Any tips or advice will be appreciated. >> >> All the best, >> Tom >> >> Thomas S. Dye, Ph.D. > > > _______________________________________________ > Emacs-orgmode mailing list > Remember: use `Reply All' to send replies to the list. > Emacs-orgmode@gnu.org > http://lists.gnu.org/mailman/listinfo/emacs-orgmode ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [babel] Uses for :session buffers 2009-11-04 22:02 ` Dan Davison @ 2009-11-04 23:00 ` Thomas S. Dye 0 siblings, 0 replies; 5+ messages in thread From: Thomas S. Dye @ 2009-11-04 23:00 UTC (permalink / raw) To: Dan Davison; +Cc: Org Mode Mailing List On Nov 4, 2009, at 12:02 PM, Dan Davison wrote: > Stephan Schmitt <drmabuse@cs.tu-berlin.de> writes: > >> Thomas S. Dye wrote: >>> Aloha all, >>> >>> I'm trying to comprehend the possibilities created by org-babel, and >>> would like to draw on the experience of others if I could. >>> >>> I recently discovered the buffer created by :session. In my case, >>> this is an R session that I am building to track the data collection >>> phase of a research project. I was delighted to find that it >>> appears to have recorded everything my org file had done in that >>> session. I have a vague idea that it might be useful to save this >>> as a log to prove that all the little source blocks in my org file >>> indeed were called and executed successfully. >>> >>> I'm wondering: do other org-babelers use the :session buffer? How? >>> For what purpose? > > Hi Tom, > > For R users, org-babel is intended to be used in conjunction with > ESS[1] > and personally I continue to use the inferior-ESS mode *R* buffer > (aka R > session buffer) in a similar way to when I was using ESS alone. So for > example > > 1. In an ess-mode (R) edit buffer, I use the ess-eval-* family of > functions to evaluate lines, regions, etc. In particular, to debug a > code block I switch to an R edit buffer with C-c ', then evaluate > line-by-line using C-c C-n (ess-eval-line-and-step).[2] > 2. In an ess-mode (R) edit buffer, I use C-z (ess-switch-to-end-of- > ESS) > to switch to the R session buffer (inferior-ESS mode) > 3. In the R session buffer, I try out evaluation of expressions, query > data structure contents with str(), list objects in the environment, > etc. > 4. There are many other nice facilities provided by ESS when working > in > an R edit buffer with an associated active R session, such as object > name completion, displaying formal arguments to functions while you > type, etc. > > I believe that to some extent you can work in a similar way with > interactive python and ruby sessions but personally I don't have much > experience with that yet. It was always a key aim of org-babel (made > easy by org-mode's C-c ') that it should not get in the way of > whatever > other emacs facilities exist for working with interactive emacs > sessions > in a particular language. Incidentally, maintaining this sort of > automatic compatibility with language-specific software like ESS is > one > reason why I am slightly skeptical about the value of using org- > babel in > a "dual major-mode" fashion as was suggested in a separate thread > today. > > Dan > > Footnotes: > > [1] http://ess.r-project.org/ Aloha Dan, Thank you. This is extremely helpful, much more convenient than the path I was following. I think I'm beginning to understand what Eric meant when he wrote about emacs taking over his OS and org-mode taking over his emacs. It's astonishing to me how quickly and easily org-mode + org-babel took over my research project. The transition from idea to implementation seems almost frictionless now, and I'm just getting started. All the best, Tom > >>> >> >> Another advantage: you can set a variable in one source block >> and access it in the next one. >> >> Greetings, >> Stephan >> >>> Any tips or advice will be appreciated. >>> >>> All the best, >>> Tom >>> >>> Thomas S. Dye, Ph.D. >> >> >> _______________________________________________ >> Emacs-orgmode mailing list >> Remember: use `Reply All' to send replies to the list. >> Emacs-orgmode@gnu.org >> http://lists.gnu.org/mailman/listinfo/emacs-orgmode > > > ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2009-11-04 23:00 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2009-11-04 19:24 [babel] Uses for :session buffers Thomas S. Dye 2009-11-04 20:44 ` Stephan Schmitt 2009-11-04 21:26 ` Thomas S. Dye 2009-11-04 22:02 ` Dan Davison 2009-11-04 23:00 ` Thomas S. Dye
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).