it’s nucking futs how quickly and effortlessly you cranked out the ML example. One of the most compelling showcases for Elixir’s expressiveness and pattern matching I’ve seen
I’ve always liked self-contained, portable, forkable, version-controllable documentation archives. Could see this revolutionizing API and package documentation, which is how I intend to use it right away.
It’s really sweet to see all of these pieces (Axon, Livebook, Liveview, Nx, …) working together so well. It will be great fun to watch how other pieces fit in and help to build up the ecosystem.
One of the things José mentioned was the use of Livebook to inspect and interact with running Elixir systems. I think there are some real opportunities here, in terms of building dashboards, runtime inspectors, etc. For example, how about creating a 21st century version of Observer?
One complaint I’ve seen about Jupyter Notebooks is that they aren’t very accessible for blind users. Because Livebook is a new project, built out of webbish components, there’s an opportunity to “do things right”. So, I’d encourage everyone to think about (and test) whether the platform works with screen readers.
There are a couple of potential chart options - ggity, plotex and contex (disclaimer - I’m the primary author of contex).
I couldn’t get LiveBook going properly on my Windows laptop (something weird about the way chocolatey installs and links to Erlang executables preventing spin up of the execution environment by the looks of things, but ran out of time to troubleshoot).
Anyway, from a code inspection it looks like a small enhancement to the output rendering would be required to support any of the chart libs as they all render to SVG which appears not to be supported as yet.
Images are another story. A great native image reading/writing and processing lib would massively simplify my stack but I don’t underestimate how fiddly this would be.
[Edit: included quote to provide context for response]
Thanks José and everyone else who is involved in making this possible! I was hoping for this to happen and now it does. Soon there will be no reason for me to use other programming languages then my favorite one .
This will turn Elixir into an exciting version of Smalltalk. Indeed it’s still possible today with Pharo, but Erlang has a much better history with concurrency, so in fact, it will allow to bring these niceties from ST to Elixir.
Yes, was my first thoughts as well. I’ve already tried it out and what can be done is you can write the blog article in a livebook and post it as a markdown file with a link to dl the livebook.
In the episode #039 of ThinkingElixir @wojtekmach said that first, the OTP 24 has to be released and then Elixir 1.12. Also the Elixir release cycle is now around 9 months and version 1.11 was released on 6th of October 2020. That plus 9 months equals 6th July 2021.
Anyway, unless you’re running some serious stuff, I wouldn’t be afraid to use 1.12-rc. #yolo
Our release cycle was 9 months only last year. Given the situation with Covid, we thought it was a good opportunity to slow things down and give it a try.
In any case, we felt 9 months was definitely too long, so we are going back to our usual 6 months interval. The 9 months also helped us align with Erlang/OTP, so we can release new minor versions and make sure they are compatible with the latest and greatest Erlang/OTP. So our plan is to release a new RC once Erlang/OTP 24.0-rc3 is out and release final shortly after Erlang/OTP 24.0.
While reading the discussion Is there a complete Elixir AST reference?, it struck me that Livebook could be a really powerful tool for generating and maintaining documentation (with executable examples!) for this sort of thing.
That said, there are some convenience features that might be useful for this and similar use cases. For example, it would be nice to have automated generation of a Table of Contents, as seen in Wikipedia.
I wanted something similar - Something like IO.inspect() for images. To have an exploratory image manipulation setup for my libvips wrapper library.
Since livebook already supports ANSI escape sequences, as proof-of-concept I was able to patch livebook to support image escape sequence (the choice of escape sequence is questionable since this is a proprietary escape sequence). This also works in normal iterm2 terminal. It should work with iex as well, but for some reason it’s not working as of now.