Live data from Hacker News

Livebook: A collaborative and interactive code notebook for Elixir

dashbit.co

31–40 of 87 posts

Re: Livebook: A collaborative and interactive code notebook for Elixir

#31

All this cool Elixir news. I'm really having a hard time deciding between Elixir and Julia. (For programs that I must have compiled to a distributable executable, I've pretty much settled on Crystal. I find it more productive and pleasent than Go or Rust.)

if you want to build a saas, go with elixir. Its got a great batteries included web framework thats built to scale and an emerging suit of ml and linear algebra software coming out.

If you want to experiment with ML and scientific programming where you do a lot of matrix processing, go with julia. thats literally what its made for.

Re: Livebook: A collaborative and interactive code notebook for Elixir

#32

All this cool Elixir news. I'm really having a hard time deciding between Elixir and Julia. (For programs that I must have compiled to a distributable executable, I've pretty much settled on Crystal. I find it more productive and pleasent than Go or Rust.)

https://github.com/JuliaLang/PackageCompiler.jl

Re: Livebook: A collaborative and interactive code notebook for Elixir

#33

All this cool Elixir news. I'm really having a hard time deciding between Elixir and Julia. (For programs that I must have compiled to a distributable executable, I've pretty much settled on Crystal. I find it more productive and pleasent than Go or Rust.)

if you want to build a saas, go with elixir. Its got a great batteries included web framework thats built to scale and an emerging suit of ml and linear algebra software coming out. If you want to experiment with ML and scientific programming where you do a lot of matrix processing, go with julia. thats literally what its made for.

Julia has a web framework too of course. https://genieframework.com/

Re: Livebook: A collaborative and interactive code notebook for Elixir

#34
post #26

Earlier quoted context omitted.

'Connect to an existing node' is likely implemented using ERTS ( http://erlang.org/doc/reference_manual/distributed.html ). So you're basically connecting to the runtime of the target node. The security model for ERTS isn't great, though, so your point stands. All you need is a matching secure cookie and you can connect and run any commands you want.

Yep, and then the temptation to fix it is to roll your own homebrew auth over websockets... which is super risky.

I imagine that such a solution would be a public package/extension with eyes on it.

Re: Livebook: A collaborative and interactive code notebook for Elixir

#35
I'm pretty excited about this. I'm admit I was skeptical when I saw a similar LiveView based notebook a couple months ago, and wondered why not just make a kernel for Jupyter.

But with the idea of real-time collaboration I get it. And with the momentum of Jose and team behind it, I think there's real promise here, especially once they figure out widgets and charts, which they have an open issue for.

I program in Elixir at work, so I usually have an iex shell open, but lately I've been using a LiveBook and it's great.

And I love the new Mix.install in Elixir 1.12 demonstrated here. Using a hex package in an adhoc way was a real shortcoming in Elixir before. Shows the power of having this thing developed by the language team.

Re: Livebook: A collaborative and interactive code notebook for Elixir

#36
post #4

"connect to an existing node" is going to be amazing. I imagine two interesting uses for this. 1. producing reports. Connect a livebook session to your system in prod, run a livebook (which pulls data from DB eg), then get back a report. User engagement, cloud resources consumed, p90s, or an incident report... 2. manual database intervention. Suppose you need to manually make a batch of changes to the DB. It would be…

I wish nREPL would be standardized to be non-Clojure-specific as with LSP, so you could connect to a program written in any language with an nREPL server and poke at it. This is basically the Elixir version of that.

Re: Livebook: A collaborative and interactive code notebook for Elixir

#38
post #25

Awesome work! Towards the end, José hits on a couple points that Jupyter does not do well: - Minute 25: Saved notebook is readable (markdown) - Minute 23: Live collaborate on a single notebook - Minute 22: Visual indication that cell is stale after an upstream cell changes

I've been playing around with some of these ideas for Python notebooks. https://github.com/srush/streambook This is a proof of concept that combines Jupytext for markdown readable notebooks with Streamlit for in-order execution+caching. More difficult to get some of the more advanced features of Pluto / Livebook due to Python state management. Curious to hear any thoughts.

Would you be able to expand or drop a few keywords on how (and what is) "python state management" prohibit few advance features.

By in-order-execution you mean pluto's reactivity, right.

Re: Livebook: A collaborative and interactive code notebook for Elixir

#39

All this cool Elixir news. I'm really having a hard time deciding between Elixir and Julia. (For programs that I must have compiled to a distributable executable, I've pretty much settled on Crystal. I find it more productive and pleasent than Go or Rust.)

As someone who started on julia first and then moved to elixir:

If you're doing computational/numerical stuff, stick with julia, for now. You really can't do that elixir, not today, and maybe not for at least another year or two. It will likely never be as good as julia since computation is not first class in the vm it runs on.

If you're doing or planning or doing anything with web, or orchestration, go with elixir.

Re: Livebook: A collaborative and interactive code notebook for Elixir

#40
post #37

Super nice! It's only missing auto-complete and it'll be light-years ahead of other tools on terms of usability

There’s already a PR for it with a video of autocomplete in action :)

https://github.com/elixir-nx/livebook/pull/208

Post reply on HN