question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

When your powers combine

See original GitHub issue

I’m dealing with an internal struggle right now. There are at least 3 Jupyter kernels for node.

For IJavaScript, Nicolas Riesco extracted the messaging protocol to a separate package (https://github.com/n-riesco/jmp) so it could be used by other node applications (Electron and Atom apps e.g.). My current preference is IJavaScript because I’ve been using it, liked the layout, the documentation, the installation process, etc.

The juptyer-nodejs package has wonderful magics and I know you (@jaredly) as an active member of the community.

I’m torn because I’d like to refer to one kernel for Node, especially if any of them were to go up on https://try.jupyter.org.

Where do you think the differences are? What would help foster a common set of packages amongst developers?

/cc @n-riesco

Issue Analytics

  • State:open
  • Created 8 years ago
  • Comments:11 (6 by maintainers)

github_iconTop GitHub Comments

2reactions
jaredlycommented, May 27, 2015

First impressions of IJavascript

What does IJavascript have that jupyter-node doesn’t have?

  • incredible documentation
  • shift-tab completion
  • wait-for-async behavior
  • messaging protocol in a separate module (great idea btw)

What does jupyter-node have the ijavascript doesn’t have?

  • %%coffeescript, %%babel, %%clojurescript magics (setup extensibly)
  • !echo "shell commandable" arbitrary shell commands (mimicking ipython), and cd somedir to change directory (I not positive ijavascript doesn’t have this, but it appears so)
  • tests

The only other difference I see is IJavascript’s use of $$magic$$ variables. jupyter-node on the other hand uses a display() function (modeled after ipython’s display() function) that can be invoked two ways:

  • display(something), and it will be automatically determined how to show it (this is not yet very clever)
  • display(something, mimetype or "stderr/out") for example display(pngdata, 'image/png')

I find this more flexible than the global magic variable route, for a couple of reasons:

  • display() can be called anywhere, and multiple times. $$png$$ can only be set once per execution block
  • display() allows for the addition of further mime-types without having to remember more global variable names
  • display() can also stream data, e.g. display("error", "stderr")
0reactions
okdistributecommented, Jun 13, 2015

@jaredly, what is the rubric for deciding which functions go into the sandbox and which don’t?

Read more comments on GitHub >

github_iconTop Results From Across the Web

Summoning Captain Planet | Know Your Meme
... the first poster exclaiming “EARTH,” followed by the other four and ends with the sixth poster declaring “by your power combined, I...
Read more >
All Your Powers Combined - TV Tropes
Someone who has All Your Powers Combined is a character who has the complete powers of an entire group of people and can...
Read more >
With Our Powers Combined GIFs - Tenor
With Tenor, maker of GIF Keyboard, add popular With Our Powers Combined animated GIFs to your conversations. Share the best GIFs now >>>...
Read more >
Aja ❤️ on Twitter: "If I say "when our powers combine" do ...
If I say "when our powers combine" do you know what I mean? ... Captain Planet! ... My girlfriend and I were in...
Read more >
Powers-combine GIFs - Get the best GIF on GIPHY
Explore and share the best Powers-combine GIFs and most popular animated GIFs here on GIPHY. Find Funny GIFs, Cute GIFs, Reaction GIFs and...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found