That was an excellent history that I was really happy to read. :) Thank you.

On Wed, Feb 15, 2017 at 4:40 PM, John Miller <johnpantagr...@gmail.com>
wrote:

> All,
>
> After the recent, exciting announcement of the eminent [JupyterCon
> <https://conferences.oreilly.com/jupyter/jup-ny>], I was somewhat
> saddened to see no mention of the EIN, or the Emacs IPython Notebook, as an
> available client to the Jupyter notebook server. Drama queen that I am, I
> quickly wrote a note to Fernando, who patiently and kindly explained that
> not many were aware that this project still existed and that perhaps an
> announcement or note to the main Jupyter list might be warranted. Hence the
> following, brief history. I also promise to try to not be a drama queen.
>
> Some of you may remember, from back when the Jupyter project was still
> known as the [IPython notebook
> <http://ipython.org/ipython-doc/rel-0.12/interactive/htmlnotebook.html>],
> a talented and prolific coder of the name Takafumi Arakaki, or tkf, who
> created an alternative client to the notebook server's default web browser
> interface.
>
> This client, which he called the Emacs IPython Notebook (you can still
> find his project on [github
> <https://github.com/tkf/emacs-ipython-notebook>]), or EIN, provided a
> complete ipython notebook experience in the venerable Emacs editor. Not
> only was EIN nearly [feature complete
> <https://github.com/tkf/emacs-ipython-notebook/wiki/Screenshots>] when
> compared to the browser interface it also provided some useful features for
> the Python programmer, like allowing one to [connect
> <https://github.com/tkf/emacs-ipython-notebook/wiki/Screenshots#connected-buffer>]
> Python buffers to a notebook and using jedi for autocompletion in the
> notebook buffer.
>
> Around March/April of 2014, just as IPython was advancing towards 1.0 and
> making big changes in the notebook/contents API and the kernel
> communication protocol, tkf mysteriously stopped pushing commits to his
> github repository.
>
> I did not know tkf other than from a couple brief conversations. I
> sincerely hope tkf's story has a happy end (he does appear to still push
> the occasional [commit <https://github.com/tkf/comparatist>]); he is
> clearly a talented programmer and without him this impressive piece of
> software would not exist.
>
> This is the point where yours truly enters the story. I had discovered the
> IPython notebook the previous year and had found it an exteremly useful for
> analyzing the performance of catalytic process units in the refining
> industry and for working with Python in general, but being a long-time
> Emacs user I had somewhat bounced of the web interface. Discovering EIN was
> a godsend, and it quickly became a mainstay in my set of analytic tools.
>
> Unfortunately the changes in going to v1.0 of the ipython notebook broke
> EIN, and with tkf apparently out of the picture there did not seem much
> hope in EIN staying compatible. Considering that I am a father of two with
> a full-time job that has absolutely nothing to do with programming (and yet
> I am a long-time Emacs user - it's complicated, don't ask), I can only
> describe what happened next as an act of complete insanity: I decided to
> fork tkf's code, dig in and try to keep up with the changes in ipython.
>
> Truthfully, no one was more surprised than I when I was actually able to
> keep ein working with versions 1.0 and, soon after, 2.0 of IPython. In fact
> that compatibility, in theory, is still in the code. One, again in theory,
> should be able to fire up a 1.x or 2.x version of the IPython notebook and
> connect to it using my fork of EIN. I say in theory, though, as I haven't
> touched that part of the code in some time and it undoubtedly has suffered
> some bit rot in the intervening years.
>
> The rest of the story is less interesting. Eventually I managed to
> convince github and MELPA to treat my repository as the official version of
> ein. There was some short-lived talk of renaming my fork to 'zwei', but the
> consensus was that things were confusing enough with the change in
> ownership and to keep the name as ein.
>
> Currently one can download ein through either [MELPA
> <http://melpa.org/#/ein>] or [el-get <https://github.com/dimitri/el-get>],
> and someone has even been kind enough to create a spacemacs [layer
> <http://spacemacs.org/layers/+lang/ipython-notebook/README.html>] with
> convenient VIM keybindings for the heathens.
>
> At the moment EIN supports the recent incarnations of Jupyter, v4.3.1,
> token authentication, _xsrf cookies and all. By the time you read this I
> may even have pushed some commits that allow one to start and automatically
> log in to a jupyter notebook server all from Emacs without having to drop
> into the terminal.
>
> In all, EIN continues to be a viable alternative to the web browser
> client. It is not 100% feature complete, though, as it notably does not
> support widgets and quite possibly never will.
>
> I haven't kept close track of who is using EIN, but it has 341 stars on
> github and 28,175 downloads from MELPA. I know EIN is being used in at
> least a couple businesses and from what I have heard it tends to be more
> popular among those with a programming background - scientists and
> engineers tend to prefer the web client which is not surprising since Emacs
> is not so much a text editor as it is a Way of (Un)Life.
>
> I encourage anyone who is interested in trying out ein to install it via
> MELPA or from the spacemacs ipython-notebook layer. There is [
> documentation <http://millejoh.github.io/emacs-ipython-notebook/>], but
> it is not perfect and I cannot guarantee it is 100% correct. Do not
> hesitate to open an [issue
> <https://github.com/millejoh/emacs-ipython-notebook/issues>] on github if
> you run into troubles, this is a hobby project but I do my best to support
> it.
>
> If you have made it this far then my sincere thanks for staying patient
> through my ramblings. As a parting thought I want to express my sincere
> thanks to Takafumi Arakaki, wherever he may be, and to the [Jupyter
> <http://jupyter.org/about.html>] team for their fantastic work in
> creating this amazing piece of software.
>
>
> John Miller
>
>
>
>
> [JupyterCon] https://conferences.oreilly.com/jupyter/jup-ny
>
> [IPython notebook] http://ipython.org/ipython-doc/rel-0.12/interactive/
> htmlnotebook.html
>
> [github] https://github.com/tkf/emacs-ipython-notebook
>
> [feature complete] https://github.com/tkf/emacs-ipython-notebook/wiki/
> Screenshots
>
> [connect] https://github.com/tkf/emacs-ipython-notebook/wiki/
> Screenshots#connected-buffer
>
> [commit] https://github.com/tkf/comparatist
>
> [MELPA] http://melpa.org/#/ein
>
> [el-get] https://github.com/dimitri/el-get
>
> [layer] http://spacemacs.org/layers/+lang/ipython-notebook/README.html
>
> [documentation] http://millejoh.github.io/emacs-ipython-notebook/
>
> [issue] https://github.com/millejoh/emacs-ipython-notebook/issues
>
> [Jupyter] http://jupyter.org/about.html
>
> --
> You received this message because you are subscribed to the Google Groups
> "Project Jupyter" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to jupyter+unsubscr...@googlegroups.com.
> To post to this group, send email to jupyter@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/
> msgid/jupyter/b02c2297-ae59-4461-adad-646349e7bc14%40googlegroups.com
> <https://groups.google.com/d/msgid/jupyter/b02c2297-ae59-4461-adad-646349e7bc14%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>



-- 
Kyle Kelley (@rgbkrk <https://twitter.com/rgbkrk>; lambdaops.com)

-- 
You received this message because you are subscribed to the Google Groups 
"Project Jupyter" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jupyter+unsubscr...@googlegroups.com.
To post to this group, send email to jupyter@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jupyter/CA%2BtbMaW2ZBEYBq3BPRE6dDaTOhfiyi-h07cpu%2BBtL%2BVEgSnMgA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to