Skip to content

Instantly share code, notes, and snippets.

@tralamazza
Created October 24, 2012 23:29
Show Gist options
  • Select an option

  • Save tralamazza/3949592 to your computer and use it in GitHub Desktop.

Select an option

Save tralamazza/3949592 to your computer and use it in GitHub Desktop.
thoughts on nodejs
I must apologize beforehand, as my English might give you ebola-like symptoms in the coming paragraphs.
Hi, I'm Daniel and I've been working with node among other things.
I started fiddling with node pretty much as soon as it was made public, back then I was doing research in dependable systems and going crazy over async I/O (boost asio, libevent, libev, linux/freebsd async io implementation ...).
Ok intro done, here is what I meant with that tweet (https://twitter.com/tralamazza/status/261175563392270339)
It was not just this post http://www.mikealrogers.com/posts/coffee-perspective.html that made me tweet that. I was at the LXJS 2012 conference, a great venue and organization btw. The closing talk, given by Mikeal, was a bit disturbing. At some point during the talk, I stepped back to look at the crowd, a surreal experience.
I get that people love a good show, and more importantly that most people need and seek a leader. Mikeal's speech sounded like a call to arms, one that a king in the battlefield would give before sending his troops to their horrible death.
Hyperboles aside, I do feel awesome when I can be proud of my work, but as soon as I start comparing to similar projects/competitors I immediately start to feel like an idiot. I don't have to prove anything to anybody, why does it matter how many modules per second I code compared to X/Y/Z?
As a researcher in systems I was constantly annoyed /frustrated with papers and project ideas, because 99% of the time someone had already done it (the running joke was "yeah IBM did it in the 70's").
Who is to say that this or that model is the correct one? Or the best one? Best for what? Under which circumstances?
Using modules are a metric is cool, but we should show both sides of the coin. It’s great to have choice, it’s a nightmare to have to choose. Let’s not forget about module support, something that now we hear more and more (i.e. developers with hundreds of unsupported modules). There are a multitude of topics spawning from this idea of simple modules.
You guys are the leaders of this fast growing community, your actions and words not only shape but filter who enters and who stays.
I feel that nodejs could be another ruby/python/<foo> quite easily, and I mean that both in a good and bad way.
It's in our nature to be cyclic.
@isaacs
Copy link

isaacs commented Oct 25, 2012

I don't quite get what your complaint is. You're hinting at a sort of vague criticism without actually saying it.

Are you saying that it's bad to write software in small chunks? Well, if so, then you and I disagree. I've written big apps, and I've written small modules, and I know which one is easier for me to maintain.

Are you saying that it's bad to be excited about a lot of activity in a community that one is a part of? Again, I disagree, but again, I'm not sure there's much resolution to be found there. I like being excited about Node, and I'm going to continue.

Are you saying that there's too much reproduction of efforts in npm? If so, I disagree, and I'd suggest that you're discounting the real cost involved with using someone else's code and the benefit of learning by doing, and overestimating the costs of writing a 100 lines or so of JavaScript.

I do feel awesome when I can be proud of my work, but as soon
as I start comparing to similar projects/competitors I immediately start to
feel like an idiot.

That sounds less like it's about @mikeal's talk, and more about you. What competitors? We're all friends here. We all work together, and share our code together. There's no need for anyone to feel stupid. Learn from them! You'd be amazed how approachable Noders are.

You guys are the leaders of this fast growing community, your actions and words
not only shape but filter who enters and who stays.

It sounds like you are not fully satisfied with the stance that Mikeal, and I, and others have taken in the Node community. So, say something definitive. What DO you want to see us say or do? What SHOULD our words and actions look like? What do you think we're actually doing wrong? Don't pull punches, man, just say what's on your mind!

@tralamazza
Copy link
Author

Hi and thank you for taking the time to read this. Let me see if I can clarify the post.

Are you saying that it's bad to write software in small chunks? Well, if so, then you and I disagree. I've written big apps, and I've written small modules, and I know which one is easier for me to maintain.

No no, and I am not sure what gave you that impression. I'm all up (and usually struggling) for writing good well maintainable code.

Are you saying that it's bad to be excited about a lot of activity in a community that one is a part of? Again, I disagree, but again, I'm not sure there's much resolution to be found there. I like being excited about Node, and I'm going to continue.

Nope, like I said: I do feel awesome when I can be proud of my work. Excitement has been a huge driving force for the node community. Things like quad-copters, cnc machines and API interfaces for every service out there are just products and examples of this excitement.

Are you saying that there's too much reproduction of efforts in npm? If so, I disagree, and I'd suggest that you're discounting the real cost involved with using someone else's code and the benefit of learning by doing, and overestimating the costs of writing a 100 lines or so of JavaScript.

Again, I did not say that. But that's exactly the sort of discussion I want to see. Maybe you can point me some good reads on those topics, maybe this is not new at all and you are probably bored to read someone talking about... talking more.
Now I think good programmers/engineers love to learn by doing stuff. Unfortunately people who don't really care that much, that are there just for the job, won't see this diversity as a positive thing. An engineer views a bug as a chance to learn how the system works, and we get a fix as a byproduct. Most people get simply pissed when their code malfunctions because a dependency stops working, or a public interface changes without warning.

That sounds less like it's about @mikeal's talk, and more about you. What competitors? We're all friends here. We all work together, and share our code together. There's no need for anyone to feel stupid. Learn from them! You'd be amazed how approachable Noders are.

I don't understand your point, yes it's about me, as in it is my opinion, sure. The talk bashed Apache foundation model, glorified thousands of modules and how other languages did not achieve that in 3 years. This need to show off was a bit of a letdown to me. I'm in no way judging the node community, how and if people share code or not, or how approachable Noders are. With cutting edge startup technology you are bound to have great people working. Like you I've also written big and small apps, worked for big and small companies, and if so, you know that the startup world is not the only one out there.

It sounds like you are not fully satisfied with the stance that Mikeal, and I, and others have taken in the Node community. So, say something definitive. What DO you want to see us say or do? What SHOULD our words and actions look like? What do you think we're actually doing wrong? Don't pull punches, man, just say what's on your mind!

Well, flaming people just for the sake of it is pointless. Writing this post is already a huge depart from my normal self. I try to keep the rants and opinions to a minimum, also being the agent provocateur is not my style. But if you want something concrete, I would love to see more discussions on the approaches adopted by node, the weaknesses, how we can do things better, what can we learn from other projects.
I don't want to feel that we are on top of a hill, looking everyone down.

@tralamazza
Copy link
Author

Btw If you ever want to chat, I'm on freenode.net most of the time.
cheers,
Daniel

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment