Thanks, I enjoyed reading it as well.

Hope you have submitted an EIN talk at JupyterCon if you can come. I
think it would be great to have (Disclaimer I'm not in the organizing
committee, this is my personal opinion).

Also I don't know how other feel, but I think it would be worth
turning this into a blog post to blog.jupyter.org to maybe reach a
wider audiance.

Cheers,
-- 
M

On Wed, Feb 15, 2017 at 4:43 PM, Kyle Kelley <[email protected]> wrote:
> 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 <[email protected]>
> wrote:
>>
>> All,
>>
>> After the recent, exciting announcement of the eminent [JupyterCon], 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], 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]), or EIN, provided a complete ipython notebook
>> experience in the venerable Emacs editor. Not only was EIN nearly [feature
>> complete] when compared to the browser interface it also provided some
>> useful features for the Python programmer, like allowing one to [connect]
>> 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]); 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] or [el-get], and
>> someone has even been kind enough to create a spacemacs [layer] 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], but it is not perfect and I cannot guarantee it is 100%
>> correct. Do not hesitate to open an [issue] 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] 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 [email protected].
>> To post to this group, send email to [email protected].
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/jupyter/b02c2297-ae59-4461-adad-646349e7bc14%40googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
>
>
>
>
> --
> Kyle Kelley (@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 [email protected].
> To post to this group, send email to [email protected].
> 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.

-- 
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 [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jupyter/CANJQusXrhHX9uBG188w0NwxSwSabjXkVXzFa8vjVT5bEfSXTkw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to