News for hackers. Stuff that matters.
Re:Erlang/OTP 26 Highlights by jononomo on Tuesday May 16, 2023 @11:22AM (#35963083)
I completely agree -- it blows my mind that the BEAM/OTP is not more widely used. It is such a phenomenally well-designed system and it suits modern use cases perfectly.
Re:Erlang/OTP 26 Highlights by el_oni on Tuesday May 16, 2023 @11:36AM (#35963304)
It's incredible for IO. It's not amazing at tight loop CPU intenstive tasks, but elixir and erlang do make it really easy to take something sequential and spread it across all cores (or across a cluster if you're so inclined).

It does have good FFI, like rustler for the elixir is great. It makes sure rust panics unroll into elixir exceptions and that takes some of the scariness of writing them.

That plus dirty schedulers means you don't have to be a good citizen and can write cpu intensive code in a faster language.

Re:Erlang/OTP 26 Highlights by nologic01 on Tuesday May 16, 2023 @12:20PM (#35964028)
a platform that would make distributed computing less of challenge would be well placed today with all the data science / ML / DL / AI focus but its not clear if erlang has ever had any ambitions in this space.

the main reference that shows up if you search for erlang + hpc is from 2008

https://www.researchgate.net/publication/221211398_High-perf...

Re:Erlang/OTP 26 Highlights by zambal on Tuesday May 16, 2023 @12:37PM (#35964302)
As far as I know there are no Erlang projects with that ambition, but quite some interesting things are happening in the Elixir eco system:

https://github.com/elixir-nx

I'm a Elixir and Erlang developer who is just starting to explore ML, but these libraries seem solid and well designed.

Re:Erlang/OTP 26 Highlights by el_oni on Wednesday May 17, 2023 @04:15AM (#35972536)
I beleive there is currently a PhD project in collaboration with Jose Valim (Elixir's creator) which is looking at distributed machine learning.

There is also the NX project (numerical elixir) which compiles tensors to GPU code making it much faster for those particular usecases. https://github.com/elixir-nx This has things like explorer which is elixir bindings to polars, livebook which is like jupyter notebooks (with enforced execution order thang god), aswell as some machine learning libraries in axon and scholar.

There has also been some work with libraries like flow and broadway which allow pipelines to be constructed with the usual syntaxt `step1 |> step2 |> step3` but to be executed across cores (or cluster).

I can imagine orgs using a combination of the above tools to do some interested distrubuted data pipelining and ML.

Re:Erlang/OTP 26 Highlights by davidw on Tuesday May 16, 2023 @11:32AM (#35963222)
I've been using Erlang for nearly 20 years, on and off, and I think a reason it's not more popular is that it has always felt like a tool that is really good for some things, but maybe not so good for this or that random task. If you pick Python or Ruby or Java, you know you can probably do the thing in question, whatever it is, even if that language isn't the perfect fit for it. As well as the next thing and the thing after that. There's something in your toolbox for it. With Erlang, the toolbox didn't always have that depth. It's gotten better with Elixir on the scene, but there were times when I would wade in and fix upstream bits and pieces with Erlang libs. That very rarely happens to me with Ruby.

That said, it is a fantastic system for some problems and I really miss working with it.

Re:Erlang/OTP 26 Highlights by arrowsmith on Tuesday May 16, 2023 @11:41AM (#35963390)
Can you elaborate on which problems you think Erlang is really good for, and which ones it's less good for?
Re:Erlang/OTP 26 Highlights by davidw on Tuesday May 16, 2023 @12:10PM (#35963870)
I think the closer you hew to the original Ericsson use, the more certain you are that it's going to be a great fit.

We used it as the command and control language for these: https://www.icare-world.com/us/product/icare-eidon/

* Semi-embedded system that's used as an appliance, not a computer.

* Runs in an environment where people mostly don't want to mess with it. Might be days between reboots; might get turned off every night.

* Has to be pretty deterministic in terms of memory usage, response times, and so on.

* Recovers from something going wrong by going to a known-good state.

We didn't actually use any of the distributed aspects of it, but it worked out great for the other stuff.

Re:Erlang/OTP 26 Highlights by masklinn on Tuesday May 16, 2023 @01:05PM (#35964704)
> which ones it's less good for?

Scripting, string munging, any sort of small task, anything which runs locally (unless it’s changed significantly erlang’s distribution story is the worst).