Hacker Newsnew | comments | ask | jobs | submitlogin
Hook.io - a full featured i/o framework for node.js which aims to take on erlang (hook.io)
66 points by audiotron 997 days ago | comments


moe 997 days ago | link

So, you want to take on erlang?

Then how about writing some documentation. Your half-page README, half of which is spent making big claims, but then barely scratching a hello-world, left me rather underwhelmed.

Here's a simple question: How do you handle errors? (exceptions, transport errors, timeouts)

-----

barracks 997 days ago | link

The project is pre semver 1.0.0, it should not be considering suitable for production.

You'll have to be way more specific about what you mean by "handle errors". Do you mean node to node connection errors? Node to node messaging errors? Errors localized in a custom Hook?

I suggest just reading through the codebase, it's not that big. The entire philosophy is crash only processes which are supervised by Forever. In the current early version of hook.io we usually get let things crash and restart. This isn't idea for guaranteeing delivery of messages, but it's a good start.

-----

alnayyir 997 days ago | link

> The entire philosophy is crash only processes which are supervised by Forever.

> we usually get let things crash and restart.

>This isn't idea for guaranteeing delivery of messages

That is not Erlang.

-----

bradleymeck 996 days ago | link

Indeed not, but Erlang is Erlang, Hook.io is Hook.io, and Trolls are Trolls. More perspective on opinions would be helpful to evolving away from problems you see, and/or for the use of understanding your comment.

-----

changelog 997 days ago | link

I think you might be mistaken.

From: http://en.wikipedia.org/wiki/Crash-only_software

Erlang is a computer language originally built by Ericsson for fault-tolerant telephone switches. Programs are structured as modules that can be replaced (hot swapped) without having to restart the entire program. If a module crashes or needs to be updated it can be restarted or replaced without affecting any other part of the program. Within the Open Telecom Platform, which often is used together with Erlang, there exist frameworks to simplify and automate this task.

-----

alnayyir 997 days ago | link

Crash-only is an aspect of Erlang, you've not replaced the entirety of what makes Erlang uniquely useful.

-----

sausagefeet 997 days ago | link

Not really sure how this takes on Erlang, seems much more like a simple message queue for Node.

-----

jchrisa 997 days ago | link

I'm an Erlanger and I like this. I don't think Node will ever replace Erlang for what Erlang is good for. However it definitely is doing a great job taking concurrent programming mainstream.

If anyone is looking for a fun hack, it looks like creating a CouchDB _changes hook would take only a few lines of code, as the hard work is already done: https://github.com/iriscouch/follow

-----

audiotron 997 days ago | link

Yes, this would be awesome! Then we could subscribe to NPM and get Hook.io events every-time a new package was published to NPM.

Wrapping existing libraries in a Hook, is very very simple ( by design ). :-)

-----

hussam 996 days ago | link

I don't get it. I am an Erlanger and I don't understand in what sense is this supposed to be like Erlang. The provided documentation is to be insufficient.

What is hook.io all about? Is it mainly a framework for sending/receiving events (messages) between different processes?

-----

chrismealy 997 days ago | link

I don't get it. What's this for?

-----

DrJ 997 days ago | link

whatever you want it to be baby!

for a simple examples there is station. https://github.com/Marak/station

disclosure, I work @ nodejitsu.

-----

bradleymeck 997 days ago | link

Hey all, just wanted to chime in about us using this at Nodejitsu. Hook.io makes it much easier to have a huge mesh network of drones for us and greatly simplified our management code for child processes on our stack. If you are looking for an easy way to have a mesh network or a master/slave network Hook.io will be great.

As for personal use, Hook.io is amazing since it is like a mesh network and IPC event bus put together. I create modules, a way of using deamons supporting features through hooks makes life easier and allows them to be services kept alive out of my process.

-----

changelog 997 days ago | link

Fun fact, hook.io uses Dnode as it's primary TCP transport, which is written by Substack! http://github.com/SubStack/dnode

-----

alnayyir 997 days ago | link

>i/o framework...node.js...take on erlang

>nodejitsu

No.

-----

audiotron 997 days ago | link

Why would you say that?

-----

alnayyir 997 days ago | link

Do I need to enumerate the many problems with node.js's runtime that make it unsuitable as a replacement for Erlang which has been done many times before?

-----

changelog 997 days ago | link

Considering one of the authors of CouchDB has already chimed in saying he think's this is a neat idea, yes I think you should enumerate those reasons or provide similar credentials.

-----

alnayyir 997 days ago | link

Same said person, Quote: "I don't think Node will ever replace Erlang for what Erlang is good for. "

In the same comment too.

Also, credentials? Do you have to be famous to be able to comment on anything with any experience or knowledge? Have we become that obsessed with programmer pseudo-celebrity?

I'd expect as much from a nodejitsu member though, the team of relentless self-promotion.

Edit: For the record, what he said, is precisely what I'm trying to express. Please explain how that is incorrect.

-----

barracks 997 days ago | link

Ugh, just came in from IRC.

This same individual alnayyir ( Chris Allen ) feels the constant need to insult my company and team every-time he catches a glimpse of us online.

At least he's not making up rumors this time like me "threatening him with a handgun". ( see: http://news.ycombinator.com/item?id=2565609 )

-----

mcs 997 days ago | link

This is pretty sweet sauce. You get the modular ideology like Erlang.. without the syntax. Ew.

-----

jhancock 997 days ago | link

How long did you program in erlang? I only did for a year or two but during that time came to appreciate the syntax as well evolved for the type of coding erlang was built to handle. There are a few syntax warts and many "standard lib" oddities due to evolution. For me, it did not take long before the syntax was very readable. On the other hand, I've programmed in javascript off and on for much longer and still find the syntax a bit ugly...to each his own ;)

-----

drdaeman 993 days ago | link

There is ifene/efene (and Reia and Elixir if we'd consider alternate languages for Erlang VM) for Erlang. There's a CoffeeScript for JS, too.

Syntax can be fairly easily replaced - any good undergrad CS student should be competent enough to write a parser/translator. It's the semantics and runtime that really matter.

-----

alnayyir 997 days ago | link

Syntax is potentially the most shallow thing to complain about, particularly when it actually makes sense in the structure of the language in question (like Erlang) and doesn't hurt readability for anyone (unlike some perceptions of Lisp).

-----

sjtgraham 997 days ago | link

Shallow? I can't roll my eyes at those whom complain about noisy/unpleasant syntax. It's quite important that it's agreeable to you if you have to stare at it all day long. Sure, there are many other important considerations when evaluating a language, but being concerned with syntax is hardly shallow IMHO.

-----

wladimir 996 days ago | link

Yes it depends. There might be legitimate complaints that arise when you "have to stare at it all day long". I'd take syntax complaints from people that have used a language for a long time far more serious than syntax complaints from people that see it for the first time (and still have to train their pattern recognizer :-). Those are shallow.

-----

alnayyir 996 days ago | link

Precisely.

-----

alnayyir 997 days ago | link

Have you spent more than a tutorial with Erlang?

-----

sjtgraham 997 days ago | link

Is that the point? Am I criticising Erlang myself? No, I'm just merely pointing out that being concerned with language aesthetics is not the "most shallow" thing imaginable.

-----

rbranson 997 days ago | link

Yeah those Erlang cooties. ewwwwwwww.

-----




Lists | RSS | Bookmarklet | Guidelines | FAQ | DMCA | News News | Feature Requests | Bugs | Y Combinator | Apply | Library

Search: