Show HN: Visual flow-based programming for Erlang, inspired by Node-RED

github.com

243 points by Towaway69 16 days ago


Hi There,

Erlang-RED has been my project for the last couple of months and I would love to get some feedback from the HN community.

The idea is to take advantage of Erlangs message passing and low overhead processes to have true concurrency in Node-RED flows. Plus also to bring low-code visual flow-based programming to Erlang.

Arch-TK - 16 days ago

I saw Node-RED recently, and now this. While I think these are cool (and I would rather Erlang than NodeJS), is there some code based system for these kinds of things?

I know I can just write code, but I mean a DSL or some library specifically oriented around solving exactly these kinds of event driven sequencing/action problems.

oersted - 16 days ago

> Node-RED is a amazing[*] tool for creating flows that describe concurrent processing, it is just a shame the NodeJS is single threaded. So why not use something that is multi-process from the ground up?

That's great! But now that we are doing this, it kind of makes me wish that it was not multi-processing and Erlang, but a more mainstream language with a better library ecosystem and focused on multi-threading instead, Rust comes to mind but there could be a better one.

Is there a visual flow programming language based on Rust that is relatively mature?

thinkyfish - 16 days ago

I was just thinking of making something like this last night but using FLENG instead of Erlang ;) I'm really glad more people are taking inspiration from Node-RED, I will definitely be playing with this!

concerndc1tizen - 16 days ago

I've been interested in this for years.

Are there other similar projects that you're familiar with? Perhaps targeting other languages?

What are the major problems with this approach to programming? Are large programs hard to work with?

tzarko - 16 days ago

This is neat - maybe move the example section higher up; it looks great and gives a much better idea of what the system looks like visually, which to me is key in node-based envs.

nilslindemann - 15 days ago

The thing which makes me be annoyed with Yours and the Node-RED site, is that you people do not define terms, before using them. Like "flow". What is this? A program?

Please maintain a glossary.

bn-l - 16 days ago

Can someone recommend an Erlang course / book?

aantix - 16 days ago

I would move your sample images to the top of the README.

Don't bury the lede.

fnord77 - 16 days ago

for a visual environment, I was expecting more images to show me what this tool is

nisten - 16 days ago

the hivemind thinks alike

mystraline - 16 days ago

I was an early adopter of NodeRed. Earlier, it worked exceptionally well.

Now? Not so much.

Well, that's not exactly true. Base NodeRed works as well as before. But the libraries of modules to interface with all sorts of websites, APIs, hardware, and other stuff is rotten to the core.

Most plugins/js modules either just don't work, or 'successfully fail'. The easier fail case is where the module can't be installed due to ancient (6mo or older JS, sigh) modules.

I abandoned NR because its basically a hyper-speed bitrot due to terrible library module versioning. And I didn't want to reinvent the wheel on every system I wanted to touch.

- 16 days ago
[deleted]
pjmlp - 16 days ago

I am a big fan of visual programming, and also think visual and digital circuit design tools overlap quite nicely with functional programming languages.

The mess most people complain about in visual languages, also happens on text ones, the biggest difference is that visual ones make it quite clear the code lacks modularity.

Get to package stuff into reusable ICs more often.

All the best for the project.

smartmic - 16 days ago

> No Artificial Intelligence was harmed in the creation of this codebase. This codebase is old skool search engine (ddg), stackoverflow, blog posts and RTFM technology.

Good. To me, that also means that no human intelligence was degraded as a result. It sounds like a quality badge.

paddy_m - 16 days ago

Nice work! A couple of comments

1. You don't explain what flow based programming is or when it should be used. It looks like it represents some type of data pipeline, but I'm not sure.

2. Who is this repo for? PL enthusiasts, tool builders of type $X?

3. What are operators?

4. I understand that this is supposed to execute on an Erlang cluster/VM... Could you build a JS implementation of the functions so that you could build interactive demos in a browser? The lack of multithreading in JS doesn't rally matter, you just want to be able to send 10 line examples from one function to another.

5. A fun challenge for documenting projects like this, explain it as you would to a non-technical family member. It forces you to define the other things in erlang in a very direct and simple way.

6. Make a video explaining the project.

js4ever - 16 days ago

Congratulations for the launch! Also I never heard of that license before:

"LICENSE - DON'T DO EVIL" https://github.com/gorenje/erlang-red?tab=License-1-ov-file#...

Also I recommend you to put screenshots higher in the readme and also provide real world use case instead of fully abstract examples

curtisszmania - 15 days ago

[dead]

gitroom - 15 days ago

[dead]

lxe - 16 days ago

[flagged]