Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Flow-Based Programming for Node.js (noflojs.org)
42 points by bevenky on July 13, 2012 | hide | past | favorite | 20 comments


Hi! Author of NoFlo here. This has been sort of a longtime hobby project for me, since I read J. Paul Morrison's FBP book: http://www.jpaulmorrison.com/fbp/#book

The UI side of things is still in very early stages, but the engine itself is quite solid. We've been using it for various Extract-Transform-Load tasks, like report generation, as explained in http://bergie.iki.fi/blog/business_analytics_with_couchdb_an...

At Nemein we also have been using it for routing messages between different message queues. This is useful when you want to apply some business rules on them.

For example, in one of the web apps I've been writing, the ORM sends a message on each I/O operation to a queue. NoFlo listens to the queue and routes the messages to correct "business logic queue". This way the ORM can focus on being an ORM, and our workflows can be kept elsewhere.


Great stuff. Too often people don't give attribution to past projects. More often than not, they ignore them and reinvent them poorly. You are doing a great thing by bringing a time tested idea back.

I'm a big fan of true message passing and will check this out.

thanks!


I'm an occasional contributor to NoFlo. I find it very useful for creating NLP pipelines; i.e. doing all the tedious data munging that is necessary to turn, say, a directory full of OCRd PDFs into sentence-tokenized plain text.


Thanks! Your contributions have been very helpful. And it is interesting to hear what you're actually using it for :-)


Are yahoo pipes flow based programs? Are there fundamental differences in the way the piping happens in noflo and other flow based languages?

Then we have ROS... XSLT pipelines and so on. There is something really beautiful about looking at your code as plumbing :)


Would love to see examples of this working, especially in higher scale production systems. Are their pointers to good examples?


Unfortunately most of the real-life NoFlo stuff we've done is handling business logic in client projects, and so is quite sensitive.

One older example that is open source is http://bergie.iki.fi/blog/business_analytics_with_couchdb_an...


Here is the NoFlo graph I used to migrate my blog from a JSON-LD dump into Jekyll:

https://gist.github.com/3105838


This looks cool, but are there any docs? I don't see any linked from the page.


The README should be a good start: https://github.com/bergie/noflo#readme

I probably should migrate this stuff to the website...


Good to see the node.js community following the traditional pattern of technologies:

1) Discover some previously known idea

2) Create new implementation with glaring deficiencies when compared to the original implementations (which are totally ignored for the most part)

3) Hype

4) Create "Visual Programming" environments so "Anyone can write code in X!" <-- you are here

One step closer to:

5) There is nothing new under the sun.


Well, when you bring back a programming concept invented in the 70s, there can hardly be much new about it. But at least I'm being quite honest about this on the NoFlo website:

FBP itself is not a new idea: it comes from a term IBM used in the 70s to define the concepts of more manageable business workflows. NoFlo, however, refreshes these concepts and brings them to Node.js applications.

When I started with NoFlo there were open source implementations of FBP for Java and C#, but I wanted something a bit more dynamic.


I commend you for reviving and implementing a past good idea. The 60s and 70s are a treasure trove of visionary ideas that for whatever reasons didn't win big at the time. Some of them retain high potential. We should spend more time studying these things and less time chaotically generating superficial goop; novelty is not innovation.

That being said, I have had trouble figuring out what FBP is. I browsed through Morrison's book and just saw a bunch of box-and-line diagrams that my prejudices cause me to dismiss. I looked for good online resources about it and didn't find any. He doesn't seem to be the best articulator of his work. But I'm interested and open and want to get it. What do you recommend?


Node isn't anything new. We all know that. The best things about it are: 1) a vibrant community which makes tons of modules 2) an architecture which forces these modules to be gasp truly modular and performant

The best language/framework in the world is no good (for many people's purposes) if it lacks a large community to support it.


i disagree, most people that I read here are painfully ignorant of the past.


Wow.. thats harsh!


FBP is an awesome idea, the problem is that it's been largely ignored for a long time. One of these days the right time and space for this technology will come and it'll grow like a weed. That usually happens with technology that ahead of it's time.

So, good sir. Whilst I do not agree with what you flame, I'll fight to the death for your right to flame it.


FBP seems to be getting more attention. Here is a recent thread where there was discussion about real-world implementations:

https://groups.google.com/d/topic/flow-based-programming/j7U...


Nice, I haven't read that yet. They even have the author there. He must be getting pretty old :)


He is retired, but seems happy to help us "youngsters" understand his concepts.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: