Node.js Is Bad Ass Rock Star Tech
gar1t2 HN recommenders · 2012–2026
294K views · comedy · evergreen · Uploaded 2012-01-23
A short satirical sketch in which a Q&A about web servers turns into a profane rant about threads, blocking and non-blocking I/O. It lampoons the hype around Node.js and async programming.
HN mostly drops it as a joke in async, Node and concurrency threads, and some call it hysterically funny.
26:53What the heck is the event loop anyway? | Philip Roberts | JSConf EU
JSConf
36:45Rich Harris - Rethinking reactivity
You Gotta Love Frontend
10:13The Problem with Time & Timezones - Computerphile
Computerphile
1:42:09Crockford on JavaScript - Volume 1: The Early Years
YUI Library
37:37RailsConf 2016 - Turbolinks 5: I Can’t Believe It’s Not Native! by Sam Stephenson
Confreaks
51:22USENIX Security '18-Q: Why Do Keynote Speakers Keep Suggesting That Improving Security Is Possible?
USENIX
1:03:48JavaScript: The Good Parts
Google TechTalks
2:58The Loving Trap
Ben Woodhams
20 comments from Hacker News
>We know the java libraries are there for lots of things, but Node is all about async and handling thousands of connections. It does this by forcing the entire ecosystem to be async too (including things like database drivers). By using a Java JDBC database driver you're completely losing any async support. Same presumably goes for redis or Mongo drivers. You can do some of the work with threads and pooling, but it's still not the same, and makes this another useless micro benchmark. Sounds like you're quoting from the "Node.js Is Bad Ass Rock Star Tech" satire video ( [VIDEO] ). Nothing inherently special about "forcing the entire ecosystem to be async too", especially since Node is more or less FORCED to do that, because javascript is single threaded. Add the bad callback spaghetti implementation of async, and the main benefit of Node is easy deployment, and accessibility to the millions of javascript programmers. As an async environment it doesn't offer anything either new or too compelling.
Why would a company that uses Java even consider Node.js? Java is hands down faster. I have never seen a benchmark that showed Node coming even close to Java performance. [VIDEO]
Perhaps this can help: [VIDEO] (Unless you were being double-sarcastic, in which case this post is a fail)
"I don't know much about Spring, but In Vert.x 1.x each Verticle that is deployed has its own classloader, so it's hard to share a context across verticles." -- Tim Fox (Vertx creator) "A vert.x instance guarantees that a particular verticle instance is always executed by the exact same thread. This gives you a huge advantage as a developer, since you can program all your code as single threaded. Well, that won't be a big deal to you if you are coming from JavaScript where everything is single threaded, but if you're used to multi-threaded programming in Java, Scala, or even Ruby, this may come as a huge relief" -- lol [VIDEO]
Folks, why are you upvoting this? It only talks about CPU usage, Node not being Unixy enough, and Javascript being terrible. A better critique would have included talks about callback hell, or the general philosophical issues of non-block/evented work versus synchronous programming: see the classic [VIDEO] . This isn't even that great a rant. (I appreciate my fellow Rails devs probably upvoting it out of spite, but c'mon...)
Luckily, Javascript is always allowed in PHP projects and it can do a lot more today than it could a decade ago. Also, using it will often lead to having NodeJS on the server even if it's just for compiling assets initially. And NodeJS is bad ass rock star tech: [VIDEO]
You're most welcome. > try writing anything in Node.js without a callback! I wouldn't even try writing anything in Node. Server side javascript is not an option I would consider. [VIDEO] Hazelcast on it's own is pretty useful if you need a distributed data grid in Java although it's not without its quirks. Unfortunately it's much less useful in Vertx because of the classloaders. Callbacks as an antipattern is one of the main points of this HN post.
It's remarkably difficult to find anything approaching hard numbers :-) However, I am going off: * [LINK] (Haskell slightly ahead in their numeric ranking) * [LINK] (Golang slightly ahead in their ranking) * Slightly more published books on Haskell that I can find (although obviously it's been around a lot longer) I have no doubt that Go will eventually surpass Haskell in terms of popularity, and may even have a slight edge, but suggesting that Go popularized typeclasses smacks of fanboyism, and reminds me - in no small measure - of: [VIDEO]
If you haven't seen it, you might find this entertaining: [VIDEO] I really wish gar1t would make some new videos, I love them.
> Node ... popularized the event-loop Tcl was doing event loops quite successfully in the late 90ies and was fairly popular, back in the day. These days, I'd use Erlang (Elixir). This is kind of ranty, but also makes me laugh: [VIDEO]
"If you're willing to suffer complex code for performance, why not just write an nginx module in C?" "node.js is is the most bad-ass rock star tech to come out since Ruby On Rails" [VIDEO] ... "What was that last part again? I could have sworn you just said Lisp" (Yes, performance and scalability are complicated. Different solutions will be appropriate for different situations.)
[VIDEO] More seriously Node.js has some pretty major performance problems, like the fact that it's single threaded. You'll make excellent use of one core, but that's about it. It looks great on I/O bound request/second benchmarks, but as soon as your code needs to do meaningful work it doesn't scale anymore. The solution to that is to spawn multiple node instances to make use of the actual machine resources, but now you're on your own and why did you bother with node.js then in the first place?
Those videos (that being the most infamous) will never stop being hilarious. The node.js one is also pretty amazing: [VIDEO]
> What specifically is the problem with asyncio? Watch the very NSFW (lots of swearing) but hysterically funny video "node.js is bad ass rock star tech" on youtube sometime ;). [VIDEO]
> Make it web scale. Oh god whenever I read/hear that it reminds of the ridiculously funny video about nodejs and Apache servers. [1] [1]. [VIDEO]
That's funny. I was listening to this video ( [VIDEO] ) Node.js is badass rockstar tech just barely, and one of the exact quotes is "Threads don't scale". I assumed it was just a joke, but here was see Poe's law in full effect.
Reminds me of the old "MongoDB is Web Scale" series of comedy videos: [VIDEO] Some friends and I still jokingly troll each other in the vein of these, interjecting with "When async programming was discovered in 2008...", or "When memory safe compiled languages were invented in 2012..." and so forth.
Little computer people was awesome[0]. Upscale it to a full size microsoft office[3]. Give agents neck bearded avatars with green hair named after real employees except from legal, there everyone is a pirate. Make it so that one can zoom in on everything and follow the cringe worthy dialog in overloaded sprint-planners that some~how work out. Take style pointers from KRAZAM Microservices[12] and gar1t's "Nodejs is bad ass rockstar tech"[44] [0] - [LINK] [3] - [LINK] [12] - [LINK] [44] - [VIDEO]
No, the answer was that Node.js will run circles around Apache, because Apache was built before async was discovered[0]... 0: [VIDEO]
I disagree with the premise. I cannot imagine a better latency experience than blocking loop IDEs like VS6. Which inputs are getting latency? The keyboard? The files? > the non blocking nature [VIDEO]