background preloader


Facebook Twitter

The Universe of Discord - Vimperator. I would like to document an emerging set of programming conventions, philosophies, and values that I see evolving in the node.js community.

The Universe of Discord - Vimperator

I call this the node aesthetic. callback austerity The very first example of node you are likely to see is on the node.js home page. This snippet is exemplary of the radical simplicity pioneered by projects like sinatra. Instead of the http server being an external service that we configure to run our code, it becomes just another tool in our arsenal. A big part of what empowers node to make these kinds of interfaces possible is its asynchronous nature.

Depending on the event system to already just be there means that the end-users of modules don't have to think about what hoops they need to jump through in order to get the event reactor up, running, and plugged into the component they're trying to use. Limited surface area Note also that the http snippet from earlier isn't inheriting from an http.Server base class or anything of the sort. How to Scrape Web Pages with Node.js and jQuery. Node.js is growing rapidly; one of the biggest reasons for this is thanks to the developers who create amazing tools that significantly improve productivity with Node.

How to Scrape Web Pages with Node.js and jQuery

In this article, we will go through the basic installation of Express, a development framework, and creating a basic project with it. What We're Going to Build Today Node is similar in design to, and influenced by, systems like Ruby's Event Machine or Python's Twisted. Node takes the event model a bit further - it presents the event loop as a language construct instead of as a library. In this tutorial, we will scrape the YouTube home page, get all the regular sized thumbnails from the page as well as links and video duration time, send all those elements to a jQueryMobile template, and play the videos using YouTube embed (which does a nice job of detecting device media support (flash/html5-video).

Multithreading - What is the Haskell response to Node.js. Npm registry. Nowjs for Node - Directly call remote functions in Javascript. Jade - Template Engine. Joyent Node.js Workup: Office Hours. Felix's Node.js Convincing the boss guide. « Home / All Guides Now that you're all hyped up about using node.js, it's time to convince your boss.

Felix's Node.js Convincing the boss guide

Well, maybe. I have had the pleasure of consulting for different businesses on whether node.js is the right technology, and sometimes the answer is simply no. So this guide is my opinionated collection of advice for those of you that want to explore whether node.js makes sense for their business, and if so, how to convince the management. Bad Use Cases CPU heavy apps. Build Desktop Apps with Node.js Using WebApp. Node.js contributor Tim Caswell pushed an initial release of WebApp Topcube, a framework for building desktop GUI apps with Node.js, to GitHub.

Build Desktop Apps with Node.js Using WebApp

The stated goal is to "Give node developers a way to have a desktop GUI to their node servers using HTML5 + CSS3 as the GUI platform. " It's still very early in the project's life - Caswell notes that he's not even sure he will continue developing it. WebApp is currently built on WebKitGTK+. Caswell also has a GitHub repository for a project called node-gir, which he describes as: First steps with Node.js. With a colleague I was talking about Node.js.

First steps with Node.js

My first though, “yeah right, JavaScript on the server!”. But you have to be open minded if you want to learn new stuff. Therefore I thought about giving it a spin. I started looking for resources on the web, read a few of them and ended up at the article : express-mongo. Distributed Computing via Javascript. Socket.IO: the cross-browser WebSocket for realtime apps. Learning Node.js « JTeam Blog / JTeam: Enterprise Java, Open Source, software solutions, Amsterdam. For projects and for some experiments I want to get a better way to do server push.

Learning Node.js « JTeam Blog / JTeam: Enterprise Java, Open Source, software solutions, Amsterdam

With the new HTML 5 becoming the standard and therefore WebSockets becoming available in all mayor browsers, it seems that WebSockets is the way forward. Scraping the web with is a relatively new screen scraping framework that allows you to easily scrape data from websites using Javascript, a language that I think is perfectly suited to the task.

Scraping the web with

It's built on top of Node.js, but you don't need to know any Node.js to get started, and can run your jobs straight from the command line. The existing documentation is pretty good, and includes a few detailed examples, such as the one below that returns the number of google search results for some given keywords: Running this from the command line gives you the following output: $ google.js hello has about 878,000,000 results foobar has about 2,630,000 results weather has about 719,000,000 results OK: Job complete Scraping Multiple Pages Unfortunately some of the documentation simply says coming soon, so you're left to guess the best way to put together more advanced scraping workflows.

While my solution works I'm sure it's not optimal. The Node Beginner Book. Express - node web framework. Npm - Node Package Manager. 6 Free E-Books and Tutorials for Learning and Mastering Node.js. OpenSSL memory use in Node.js. Last Thursday I went to the Joyent office for Node Office Hours -- I wanted to talk to Isaac about running a private NPM registry.

OpenSSL memory use in Node.js

Isaac answered my questions about private NPM registries, but Matt Ranney explained a more interesting problem. He was dialed into a conference call line for Node Office hours (he is currently living in Hawaii.) Matt explained that he is using the new TLS module in Node v0.4, and it was using 1 megabyte of memory per connection! Using 1mb per connection made us think there must be something wrong in Node.js itself, so we wrote up a simple test case client and server.

The TLS server says "welcome" to a newly connected client, and then echos anything it receives back to the client: The client spawns 200 connections, and writes 'hello' to the server every 5 seconds for each connection: Running the client and server on my laptop, the server used almost 200 megabytes of memory.

Those Pesky Certificate Authority Certificates Zlib: Big Buffers "R" us Conclusion Share.