Home Live Blog: NodeConf Keynote by Node.js Creator Ryan Dahl

Live Blog: NodeConf Keynote by Node.js Creator Ryan Dahl

I’m at the very first NodeConf today. It’s an impressive turnout for a first time event for a new project that hasn’t even hit a 1.0 release yet.

Ryan Dahl, the creator of Node.js, is the keynote speaker. Here’s what he has to say about where the project is going, including why and how Node.js is coming to Windows.

Tom Hughes-Croucher introduces Ryan Dahl, calls him a benevolent dictator.

Dahl is talking about the changes made in Node.js thus far. May 2009 was the initial release, 0.4 was released in February of this year, with an emphasis on getting SSL to work properly.

.5 is the next release, and Windows capability is the major goal.

Windows is the most popular OS in the world, so they want to run on it.

You can run Node.js on Cygwin, but it’s suboptimal.

Is it possible to do decent servers in Windows? Yes, but not with a direct native port.

Good server on Unix means:

-set sockets non-binding

-[I missed the second bullet point]

Windows has select() and non-blocking sockets but select() is not constant-time. It becomes noticeably slow with more than 100 sockets.

Windows has WSAEventsSelect() but it must be used with WSAWaitForMultipleEvents() which is limited to 64 sockets per thread.

It’s possible to do really good server on Windows using I/O completion ports. In Unix you wait for file descriptor changes to do non-blocking I/O

In windows, you cal asynchronous functions on sockets and get notified of completion.

IOCP supports sockets, pipes and regular files. In other words, Windows has true asynchronous capabilities.

Dahl says Node’s API can be refactored to support Windows with minimal API disturbance.

What’s required is an abstraction layer over the Unix and Windows styles of I/O. There have been several attempts (libev, libevent, boost ASIO) but none are acceptable.

The Node team built its own abstraction layer called libio.

The TCP socket/server is working cross platform now.

Avoiding #ifdef hell: push all platform incompatibilities to the liboio layer. the v8 layer and pure javascript parts of node will be platform independent.

It will be easy to install – a Node install can be a single executable, like Putty.

Binary installers are preferable to both Windows users and some Linux users.

“If we can’t get at least gigabit throughput from a TCP pair over loopback on every OS, we’ve failed.”

Q: “Are there any big things that you have to give up to do Windows?”

A: “No. The big thing we had to do is move the lib.js to C-land.”

Q: “Have you thought much about what comes after Windows compatibility?”

A: “There’s a lot of clean-up stuff that has to happen, but we’re quickly approaching a stable version.”

Q: “How can we best prepare to have our scripts used on Windows?”

A: “Don’t worry about it. We will make every effort to make every piece of core API work on all platforms in the best possible way. Just hold off.”

Q: “What’s the next big thing after Windows?”

A: “We need some system for linking nodes togethr and opening channels between them.”

Q: “What are the biggest problems people have with Node?”

A: 1) The programming style is difficult for people until they get used to it. 2) It’s a single threaded thing.

Update: You can find Dahl’s slides here (PDF).

About ReadWrite’s Editorial Process

The ReadWrite Editorial policy involves closely monitoring the gambling and blockchain industries for major developments, new product and brand launches, game releases and other newsworthy events. Editors assign relevant stories to in-house staff writers with expertise in each particular topic area. Before publication, articles go through a rigorous round of editing for accuracy, clarity, and to ensure adherence to ReadWrite's style guidelines.

Get the biggest iGaming headlines of the day delivered to your inbox

    By signing up, you agree to our Terms and Privacy Policy. Unsubscribe anytime.

    Gambling News

    Explore the latest in online gambling with our curated updates. We cut through the noise to deliver concise, relevant insights, keeping you informed about the ever-changing world of iGaming and its most important trends.

    In-Depth Strategy Guides

    Elevate your game with tailored strategies for sports betting, table games, slots, and poker. Learn how to maximize bonuses, refine your tactics, and boost your chances to beat the house.

    Unbiased Expert Reviews

    Honest and transparent reviews of sportsbooks, casinos and poker rooms crafted through industry expertise and in-depth analysis. Delve into intricacies, get the best bonus deals, and stay ahead with our trustworthy guides.