Background information on Node.js

What is Node.js Exactly? - a beginners introduction to Nodejs

(July 12, 2019) Node.js is JavaScript running outside of the web browser. If you're expecting a Window or Document object because JavaScript has that, you'll be disappointed because those objects are side effects of running in a browser. This introduction to Node.js is a very basic intro, showing the bare bones of beginning to understand what Node.js is, and what its role is in the software industry.

Node.js team adopts the Contributor Code of Conduct, fostering a welcoming environment for contributors

(Wed Jul 19 2017 17:00:00 GMT-0700 (Pacific Daylight Time))

Yesterday the Node.js project adopted the Contributor Covenant Code of Conduct which is an important step towards fostering an open and welcoming environment ensuring the project is a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. While this isn't a cool piece of technology, it is a step which should give the Node.js project a firmer standing in the world. In the past some open source projects have run into serious problems when team members acted with discrimination or harassment towards other team members. Having taken a stand like this, the team has put a firm stake in keeping the community open to all.

How does Node.js compare to a traditional MVC platform like Spring?

(2016-04-27 23:07)

Node.js is a young software development platform. It's only about 6 years old, and many software developers are still unsure about where Node.js fits into the landscape. It's JavaScript, which many people pigeon-hole as a browser language, but Node.js doesn't run on browsers but on servers. The question above illustrates a fundamental confusion about what Node.js is, and its role in the world, because it is not an "MVC" but a complete programming platform.

How do you choose between Node.js or other web application technologies?

(2014-09-06 11:38)

There are plenty of new server side web application development technologies being developed. With the blizzard of choices before us, how do you choose between one or another? Will the newly hot web app technology really take off, or will it fizzle in a few years? For example, Node.js is getting a lot of excitement, but what about Go, or what about the mature platforms like PHP/Symfony or CakePHP?

JavaScript or SQL injection attacks in the Node.js platform?

(2011-12-21 14:24)

Traditionally the server side of web applications has been written in PHP, Perl, Python, Java, C/C++, etc. Javascript traditionally was implemented only in web browsers, and hence Javascript programming has been almost completely focused on the client end of web application development. It's arguably better to have the same programming language on both client and server sides of web application development, maybe. Several attempts have been made to implement javascript for server side web application development. A new javascript stack, Node.JS, is getting a lot of attention.

Ryan Dahl: History of Node.js

(Oct 5, 2011) In this talk, Ryan Dahl gives an expansive history of Node.js, not just the technological history but his personal history leading to developing Node.js. As a Mathematics PhD student in up-state New York, he had a "what the f**k am I doing" moment, dropped out of the program, and moved to Chile and ended up writing PHP websites. One thing led to another, and he became embroiled in the question of why Rails is so slow and doesn't scale well. And that led to the realizations leading to developing Node.js as a single threaded system relying on asynchronous code execution.

Is Node.js a cancer? No!! It's quite nice, really

(2011-10-02 18:24)

A recent blog post by Ted Dziuba claims that Node.js "is a cancer" and fills out a few hundred words of inflammatory laden "proof" to make his point. The post makes a few good points but is largely off base. Perhaps the most sticking point is that CPU intensive tasks make Node servers become unresponsive, but I have a clever answer for him. Another issue he raises ("JavaScript sux") is, well, as a longtime Java programmer who used to work in the Java SE team at Sun, I've had my own moments like that, but really JavaScript is quite a nice language especially if you stick to the good bits of JavaScript.

Ryan Dahl: Introduction to Node.js Ryan Dahl's presentation at Yahoo

(Sep 22, 2011) In May 2010, Yahoo held a meeting billed as Cinco de Node.js, and Ryan Dahl gave this presentation about Node.js.

Node.js and Bell's Law of computer classes

(2011-07-15 11:28)

Node.js offers us an exciting new model for developing web applications and a statement in a recent episode of the TWiT Network's Triangulation podcast gave me an interesting lens through which to interpret the excitement around this new thing. That episode featured an interview with Gordon Bell, formerly the VP of Engineering at Digital Equipment Corporation, a company which at the time (1972) was revolutionizing the computer industry from being dominated by Mainframes to being dominated by Minicomputers. DEC's reason for existence was to develop and promote Minicomputers, but they were later supplanted by the Microcomputer era and DEC was unable to make the transition and later died. Gordon Bell is currently a researcher at Microsoft. He spoke about many things during the interview, he has over 40 years experience in developing key aspects of the computer industry, and his discussion about Bells Law struck me as a very apt way to describe the excitement around Node.js.

Joyent webinar on Node.js and "Carriers" (?phone companies?)

(2011-07-14 12:28)

Recently the primary supporter of Node.js, Joyent, posted a video webinar about "Node.js overview for Carriers". Eric Burns talked about a broad range of services offered by Joyent, features of Node.js, spinning it all around the needs of mobile device carriers. That is, the phone companies who provide mobile device services and run the cell phone networks, not those individuals who carry around mobile devices.

Java, Twitter, and asynchronous event driven architecture

(2011-07-08 09:36)

Twitter famously launched using the then-popular Ruby on Rails web framework. Since then they suffered scalability problems which they famously made light of with the Fail Whale. Word has been that they started using Scala a while back, and it turns out they've been doing an intense study of methods to scale their service to handle the traffic volume they've been facing. A recent article on InfoQ went over some of the things they did, and surprisingly they did not use any Node.js software.

Java, Twitter, and asynchronous event driven architecture

(2011-07-08 09:36)

I'm reading a blog post about what Node.js is, and there's a glaring question "why in the world would anyone want to run JavaScript outside of a browser, let alone the server?" As the author of a (www.amazon.com) book about Node.js it's a question I've thought about quite a bit, especially coming as I do from the Java SE team at Sun where the work of that team was highly focused on server side software (hey, it's Java) to the detriment of the client side of Java. The question comes from a belief cemented into place by 15+ years of JavaScript in the browser that it's a browser only language. However, JavaScript has a long history on server-side and is a rather cool language, and Node.js is an excellent base for developing web applications.

What might the excitement about Node.js be about? JavaScript on the server? Events? Or, what?

(2011-05-27 19:16) There's a lot of excitement brewing around Node.js with a rapidly growing community of people and projects surrounding the platform, and at least five books either published or on their way to being published. I myself am working in a team at a company I cannot yet name on a large Node.js project that could be very significant. The team is excited about the platform but also have some real eyes on the question of whether this makes sense for the company, or what. I thought it would be interesting to run through some attributes of Node.js and ponder what might or might not contribute to the excitement about Node.js and its eventual success. I'm also interested in what others think, so consider leaving your thoughts below.

COMET as a justification for using Node.js?

(2011-05-03 13:41) A lot of excitement is circulating around Node.js. To an extent this strikes me as symptomatic of a pattern in internet software development where a flashy new idea comes along, a bunch of leading edge thinkers get excited and start using and promoting it, there's a wave of excitement, and a call to rewrite everything under the sun using this new bit of flashy technology. But is the reinvestment of rewriting everything using that new piece of technology worth the result? That is, will Node.js be the death of LAMP? Who knows about whether the excitement around Node.js will lead to that result, but in researching and evaluating Node.js I've come across a specific use case that directly calls for server architecture identical with Node.js. There's an exciting class of web applications which use asynchronous browser updates to increase interactivity, that as we'll see in a minute require an event driven server architecture which seems well suited to Node.js. Leaving aside the question of a general purpose Node.js based server stack, let's look at COMET style applications.

Node.js: JavaScript on the Server - Ryan Dahl's original presentation at Google

(2011-05-02 18:07) The following is the original presentation by Ryan Dahl showing the ideas behind Node.js and some of the performance results which have wow'd people.

Fargo: a Scheme for Node.js? Node.js supports only one language!

(2011-05-02 17:46) The guys who developed Node.js implemented it on top of a virtual machine which supports only one programming language - JavaScript. If they'd wanted us to use multiple programming languages they could have implemented Node.js on top of the Java/Hotspot VM and it's rich and mature support for multiple languages. But they didn't. There are a couple examples of "other" languages being used to write Node.js programs, such as CoffeeScript.

Javascript (specifically Node.JS) for server-side web application programming

(2010-11-15 10:54)

Traditionally the server side of web applications has been written in PHP, Perl, Python, Java, C/C++, etc. Javascript traditionally was implemented only in web browsers, and hence Javascript programming has been almost completely focused on the client end of web application development. It's arguably better to have the same programming language on both client and server sides of web application development, maybe. Several attempts have been made to implement javascript for server side web application development. A new javascript stack, Node.JS, is getting a lot of attention.