Live data from Hacker News

Livebook: A collaborative and interactive code notebook for Elixir

dashbit.co

21–30 of 87 posts

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

#21
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…

Be careful, websockets are tricky to secure and get right. It's easy to do something like forget to check the origin and now you've opened up a whole class of cross-site websocket scripting attacks. I love the idea of easy access and nice UI to prod machines, but put it behind a secure proxy or VPN layer and not facing the public internet.

Phoenix Channels accounts for many of these attack vectors. Livebook uses Phoenix LiveView which is built on Phoenix Channels.

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

#22
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.)

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

#23

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.)

It’s not quite the same story but https://github.com/spawnfest/bakeware builds elixir releases into distributable executables.

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

#24
Wow, this is great.

The fact is can connect to existing nodes also makes it can also be great for operation and administration - instead of building an awkward admin panel, you can just having a collection of scripts.

The Elixir community is insanely productive. Also, the Elixir system is impressively pretty balanced - productivity-wise like Rails, concurrent-wise like Erlang, and continuously brings novel yet practical ideas to life in a robust manner!

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

#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.

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

#26
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…

Be careful, websockets are tricky to secure and get right. It's easy to do something like forget to check the origin and now you've opened up a whole class of cross-site websocket scripting attacks. I love the idea of easy access and nice UI to prod machines, but put it behind a secure proxy or VPN layer and not facing the public internet.

'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.

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

#27

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.)

It’s not quite the same story but https://github.com/spawnfest/bakeware builds elixir releases into distributable executables.

That one is out of date, the one it forked of is not: https://github.com/bake-bake-bake/bakeware

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

#29
post #26

Earlier quoted context omitted.

Be careful, websockets are tricky to secure and get right. It's easy to do something like forget to check the origin and now you've opened up a whole class of cross-site websocket scripting attacks. I love the idea of easy access and nice UI to prod machines, but put it behind a secure proxy or VPN layer and not facing the public internet.

'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.

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

#30
post #8

Is it just me or is Elixir being talked/written about more in the past couple of months?

There were 300 elixir stories in 2020, an average of roughly .8 per day. In 2021 there have been 89 elixir stories for 108 days, so about the same. (Source: hnsearch)

Is it possible to tell how many of those hit the front page? I think the majority of those 300 stories in 2020 did not hit the front page. I'm curious how many there were in years prior as well.
Post reply on HN