Re: [nodejs] Re: node server can't show characters besides English

2013-10-25 Thread greelgorke
it depends on how your terminal is configured. on mac osX for example you 
can choose wich character encoding should be used. 

Am Freitag, 25. Oktober 2013 04:02:44 UTC+2 schrieb yougen zhuang:

 I write some Chinese character into the stdin, isn't it valid utf8?


 2013/10/24 mscdex msc...@gmail.com javascript:

 On Wednesday, October 23, 2013 11:35:51 PM UTC-4, yougen zhuang wrote:

 Even setting ReadableStream.setEncoding('**utf8'), node still can't 
 show Chinese or other chareacters.


 Are you sure the text is (valid) utf-8 and not some other character set? 
  
 -- 
 -- 
 Job Board: http://jobs.nodejs.org/
 Posting guidelines: 
 https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
 You received this message because you are subscribed to the Google
 Groups nodejs group.
 To post to this group, send email to nod...@googlegroups.comjavascript:
 To unsubscribe from this group, send email to
 nodejs+un...@googlegroups.com javascript:
 For more options, visit this group at
 http://groups.google.com/group/nodejs?hl=en?hl=en
  
 --- 
 You received this message because you are subscribed to a topic in the 
 Google Groups nodejs group.
 To unsubscribe from this topic, visit 
 https://groups.google.com/d/topic/nodejs/N_681AM3bXQ/unsubscribe.
 To unsubscribe from this group and all its topics, send an email to 
 nodejs+un...@googlegroups.com javascript:.
 For more options, visit https://groups.google.com/groups/opt_out.




-- 
-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups nodejs group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
nodejs group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to nodejs+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: [nodejs] Chef-like tool powered by node.js?

2013-10-25 Thread Jarrett Cruger
Hey Bruno, checkout out some of the systems that we have 
herehttps://github.com/opsmezzo/composer-systems. 
This might be closer to what you are looking for. We use the cli tool 
quillhttps://github.com/opsmezzo/quill (with 
composer https://github.com/opsmezzo/composer as the api endpoint) to 
install and manage these systems as well as the configuration that can go 
with them. Hop in #nodejitsu IRC if you have any questions. You can ping me 
@jcrugzz.

Cheers,
Jarrett

On Tuesday, October 22, 2013 8:19:35 AM UTC-4, Bruno Jouhier wrote:

 Thanks José and Aria. I took a quick look at opsmezzo. I'm actually more 
 interested by the cookbooks/recipe side than by the infrastructure and I 
 did not find it yet but I'll dig further.

 Bruno

 On Monday, October 21, 2013 11:57:22 PM UTC+2, Aria Stewart wrote:

 Thinking about it under the name qop.


 Bruno Jouhier bjou...@gmail.com wrote:

 I googled a bit but did not find anything like it. Did anyone consider 
 it?

 Cool features would be:

 * It's JavaScript
 * Windows is fully supported (Ruby isn't great on Windows).

 Bruno



-- 
-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups nodejs group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
nodejs group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to nodejs+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: [nodejs] Chef-like tool powered by node.js?

2013-10-25 Thread Arunoda Susiripala
Checkout nodemiral. I have not yet released yet.
https://github.com/arunoda/nodemiral

Build for a cloud automation service. Works pretty well.

On Friday, October 25, 2013, Jarrett Cruger wrote:

 Hey Bruno, checkout out some of the systems that we have 
 herehttps://github.com/opsmezzo/composer-systems.
 This might be closer to what you are looking for. We use the cli tool
 quill https://github.com/opsmezzo/quill (with 
 composerhttps://github.com/opsmezzo/composeras the api endpoint) to install 
 and manage these systems as well as the
 configuration that can go with them. Hop in #nodejitsu IRC if you have any
 questions. You can ping me @jcrugzz.

 Cheers,
 Jarrett

 On Tuesday, October 22, 2013 8:19:35 AM UTC-4, Bruno Jouhier wrote:

 Thanks José and Aria. I took a quick look at opsmezzo. I'm actually more
 interested by the cookbooks/recipe side than by the infrastructure and I
 did not find it yet but I'll dig further.

 Bruno

 On Monday, October 21, 2013 11:57:22 PM UTC+2, Aria Stewart wrote:

 Thinking about it under the name qop.


 Bruno Jouhier bjou...@gmail.com wrote:

 I googled a bit but did not find anything like it. Did anyone consider
 it?

 Cool features would be:

 * It's JavaScript
 * Windows is fully supported (Ruby isn't great on Windows).

 Bruno

  --
 --
 Job Board: http://jobs.nodejs.org/
 Posting guidelines:
 https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
 You received this message because you are subscribed to the Google
 Groups nodejs group.
 To post to this group, send email to 
 nodejs@googlegroups.comjavascript:_e({}, 'cvml', 'nodejs@googlegroups.com');
 To unsubscribe from this group, send email to
 nodejs+unsubscr...@googlegroups.com javascript:_e({}, 'cvml',
 'nodejs%2bunsubscr...@googlegroups.com');
 For more options, visit this group at
 http://groups.google.com/group/nodejs?hl=en?hl=en

 ---
 You received this message because you are subscribed to the Google Groups
 nodejs group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to nodejs+unsubscr...@googlegroups.com javascript:_e({}, 'cvml',
 'nodejs%2bunsubscr...@googlegroups.com');.
 For more options, visit https://groups.google.com/groups/opt_out.



-- 
Arunoda Susiripala

@arunoda http://twitter.com/arunoda
http://gplus.to/arunodahttps://github.com/arunoda
http://www.linkedin.com/in/arunoda

-- 
-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups nodejs group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
nodejs group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to nodejs+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


[nodejs] application/vnd.api+json - IANA specification for the json api

2013-10-25 Thread Gagle
This may be of your interest, IANA approved the mime type of a json api:

application/vnd.api+jsonhttp://www.iana.org/assignments/media-types/application/vnd.api+json

http://jsonapi.org/

*application/json is still valid, but if your server has a json api that 
can be consumed by clients I suppose *that 
application/vnd.api+jsonhttp://www.iana.org/assignments/media-types/application/vnd.api+jsonis
 more appropiate.

-- 
-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups nodejs group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
nodejs group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to nodejs+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


[nodejs] performance tuning trouble

2013-10-25 Thread Gary Bernstein
Anyone see what's slowing down this performance test? 

http://pastebin.com/Wy32u2T8

-- 
-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups nodejs group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
nodejs group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to nodejs+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: [nodejs] Re: node server can't show characters besides English

2013-10-25 Thread Tim Caswell
Also keep in mind that the native string type in JavaScript is UCS-16 which
means that any code points higher than 16 bits have to be encoded using
surrogate pairs. (Note that the native encoding is quite different from the
UTF-8 encoding commonly used when serializing strings to binary data)

A quick way to check your terminal's settings is to read stdin as node
buffers and inspect the bytes manually.  UTF-8 isn't too hard to recognize
and decode by hand for just a few chars.


On Fri, Oct 25, 2013 at 4:08 AM, greelgorke greelgo...@gmail.com wrote:

 it depends on how your terminal is configured. on mac osX for example you
 can choose wich character encoding should be used.

 Am Freitag, 25. Oktober 2013 04:02:44 UTC+2 schrieb yougen zhuang:

 I write some Chinese character into the stdin, isn't it valid utf8?


 2013/10/24 mscdex msc...@gmail.com

 On Wednesday, October 23, 2013 11:35:51 PM UTC-4, yougen zhuang wrote:

 Even setting ReadableStream.setEncoding('**ut**f8'), node still can't
 show Chinese or other chareacters.


 Are you sure the text is (valid) utf-8 and not some other character set?

 --
 --
 Job Board: http://jobs.nodejs.org/
 Posting guidelines: https://github.com/joyent/**node/wiki/Mailing-List-*
 *Posting-Guidelineshttps://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
 You received this message because you are subscribed to the Google
 Groups nodejs group.
 To post to this group, send email to nod...@googlegroups.com

 To unsubscribe from this group, send email to
 nodejs+un...@**googlegroups.com

 For more options, visit this group at
 http://groups.google.com/**group/nodejs?hl=en?hl=enhttp://groups.google.com/group/nodejs?hl=en?hl=en

 ---
 You received this message because you are subscribed to a topic in the
 Google Groups nodejs group.
 To unsubscribe from this topic, visit https://groups.google.com/d/**
 topic/nodejs/N_681AM3bXQ/**unsubscribehttps://groups.google.com/d/topic/nodejs/N_681AM3bXQ/unsubscribe
 .
 To unsubscribe from this group and all its topics, send an email to
 nodejs+un...@**googlegroups.com.

 For more options, visit 
 https://groups.google.com/**groups/opt_outhttps://groups.google.com/groups/opt_out
 .


  --
 --
 Job Board: http://jobs.nodejs.org/
 Posting guidelines:
 https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
 You received this message because you are subscribed to the Google
 Groups nodejs group.
 To post to this group, send email to nodejs@googlegroups.com
 To unsubscribe from this group, send email to
 nodejs+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/nodejs?hl=en?hl=en

 ---
 You received this message because you are subscribed to the Google Groups
 nodejs group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to nodejs+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.


-- 
-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups nodejs group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
nodejs group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to nodejs+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: [nodejs] Alleviating pressure on dependencies, the registry, and the module system

2013-10-25 Thread Sam Roberts
I think the fact that the right hand side of a dep specification can
be either a repo (user/repo in github, url), or a version spec
satisfied from a (single) registry, but not both, is a problem. I'd
particularly like a tool that allows git repos to be used as package
sources, with some convention about version tags allowing version
dependency specs to be applied, and npm update to work.

Not sure about your solution, but I do have a suggestion - don't fork
npm. Wrap it. You should be able to write a tool that implements your
solution to this, calling npm when necessary to leverage its install
capabilities, but not its decision making about where packages come
from.

Sam

-- 
-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups nodejs group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
nodejs group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to nodejs+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: [nodejs] Chef-like tool powered by node.js?

2013-10-25 Thread David Worms


Hi Bruno,

Simalar to the Chef resource lib, I build 
[mecano](https://github.com/wdavidw/node-mecano).


I use it dayly to deploy hadoop cluster.

d.

--
--
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups nodejs group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--- 
You received this message because you are subscribed to the Google Groups nodejs group.

To unsubscribe from this group and stop receiving emails from it, send an email 
to nodejs+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


[nodejs] Re: Does not accept mesage from REDIS?

2013-10-25 Thread Олег П
Somebody knows solution?

пятница, 25 октября 2013 г., 1:41:47 UTC+3 пользователь Олег П написал:

 Hello!
 I use Node.js with Redis.
 I want read channel Redis and send messages to client.

 This is fragment SERVER code:

  const *redis* = require('redis');
 const *client* = redis.createClient();

  const *subscribe* = redis.createClient()
 subscribe.subscribe('*realtime*');
  
 subscribe.on(*message*, function(channel, *message*) {
 socket.json.send({'event': 'messageSent', 'name': ID, 'text': 
 *message*, 'time': time});
 socket.broadcast.json.send({'event': 'messageReceived', 
 'name': channel, 'text': *message*, 'time': time})
 });

 Client code:

 socket.on('connect', function () {
 socket.on('*message*', function (msg) {

 // alert();
 });
 });

 Hope for you help! Thank you!


-- 
-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups nodejs group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
nodejs group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to nodejs+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: [nodejs] Re: Does not accept mesage from REDIS?

2013-10-25 Thread Bruno Fuster
I've been using redis pub/sub fine.
Go through the tutorials again. PS: const should not be used like that, use
var.

Publish / Subscribe

Here is a simple example of the API for publish / subscribe. This program
opens two client connections, subscribes to a channel on one of them, and
publishes to that channel on the other:

var redis = require(redis),
client1 = redis.createClient(), client2 = redis.createClient(),
msg_count = 0;

client1.on(subscribe, function (channel, count) {
client2.publish(a nice channel, I am sending a message.);
client2.publish(a nice channel, I am sending a second message.);
client2.publish(a nice channel, I am sending my last message.);
});

client1.on(message, function (channel, message) {
console.log(client1 channel  + channel + :  + message);
msg_count += 1;
if (msg_count === 3) {
client1.unsubscribe();
client1.end();
client2.end();
}
});

client1.incr(did a thing);
client1.subscribe(a nice channel);



On Fri, Oct 25, 2013 at 10:56 AM, Олег П ponomarchu...@gmail.com wrote:

 Somebody knows solution?

 пятница, 25 октября 2013 г., 1:41:47 UTC+3 пользователь Олег П написал:

 Hello!
 I use Node.js with Redis.
 I want read channel Redis and send messages to client.

 This is fragment SERVER code:

  const *redis* = require('redis');
 const *client* = redis.createClient();

  const *subscribe* = redis.createClient()
 subscribe.subscribe('*realtime*'**);

 subscribe.on(*message*, function(channel, *message*) {
 socket.json.send({'event': 'messageSent', 'name': ID, 'text':
 *message*, 'time': time});
 socket.broadcast.json.send({'**event': 'messageReceived',
 'name': channel, 'text': *message*, 'time': time})
 });

 Client code:

 socket.on('connect', function () {
 socket.on('*message*', function (msg) {

 // alert();
 });
 });

 Hope for you help! Thank you!

  --
 --
 Job Board: http://jobs.nodejs.org/
 Posting guidelines:
 https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
 You received this message because you are subscribed to the Google
 Groups nodejs group.
 To post to this group, send email to nodejs@googlegroups.com
 To unsubscribe from this group, send email to
 nodejs+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/nodejs?hl=en?hl=en

 ---
 You received this message because you are subscribed to the Google Groups
 nodejs group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to nodejs+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.




-- 
Bruno Fuster

-- 
-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups nodejs group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
nodejs group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to nodejs+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: [nodejs] Re: Does not accept mesage from REDIS?

2013-10-25 Thread Brian Di Palma
Const is the new var in the ES6 world, you should use it everywhere except
for mutable references.
On Oct 25, 2013 9:31 PM, Bruno Fuster brunofus...@gmail.com wrote:

 I've been using redis pub/sub fine.
 Go through the tutorials again. PS: const should not be used like that,
 use var.

 Publish / Subscribe

 Here is a simple example of the API for publish / subscribe. This program
 opens two client connections, subscribes to a channel on one of them, and
 publishes to that channel on the other:


 var redis = require(redis),
 client1 = redis.createClient(), client2 = redis.createClient(),
 msg_count = 0;

 client1.on(subscribe, function (channel, count) {
 client2.publish(a nice channel, I am sending a message.);
 client2.publish(a nice channel, I am sending a second message.);
 client2.publish(a nice channel, I am sending my last message.);
 });

 client1.on(message, function (channel, message) {
 console.log(client1 channel  + channel + :  + message);
 msg_count += 1;
 if (msg_count === 3) {
 client1.unsubscribe();
 client1.end();
 client2.end();
 }
 });

 client1.incr(did a thing);
 client1.subscribe(a nice channel);



 On Fri, Oct 25, 2013 at 10:56 AM, Олег П ponomarchu...@gmail.com wrote:

 Somebody knows solution?

 пятница, 25 октября 2013 г., 1:41:47 UTC+3 пользователь Олег П написал:

 Hello!
 I use Node.js with Redis.
 I want read channel Redis and send messages to client.

 This is fragment SERVER code:

  const *redis* = require('redis');
 const *client* = redis.createClient();

  const *subscribe* = redis.createClient()
 subscribe.subscribe('*realtime*'**);

 subscribe.on(*message*, function(channel, *message*) {
 socket.json.send({'event': 'messageSent', 'name': ID,
 'text': *message*, 'time': time});
 socket.broadcast.json.send({'**event': 'messageReceived',
 'name': channel, 'text': *message*, 'time': time})
 });

 Client code:

 socket.on('connect', function () {
 socket.on('*message*', function (msg) {

 // alert();
 });
 });

 Hope for you help! Thank you!

  --
 --
 Job Board: http://jobs.nodejs.org/
 Posting guidelines:
 https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
 You received this message because you are subscribed to the Google
 Groups nodejs group.
 To post to this group, send email to nodejs@googlegroups.com
 To unsubscribe from this group, send email to
 nodejs+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/nodejs?hl=en?hl=en

 ---
 You received this message because you are subscribed to the Google Groups
 nodejs group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to nodejs+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.




 --
 Bruno Fuster

 --
 --
 Job Board: http://jobs.nodejs.org/
 Posting guidelines:
 https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
 You received this message because you are subscribed to the Google
 Groups nodejs group.
 To post to this group, send email to nodejs@googlegroups.com
 To unsubscribe from this group, send email to
 nodejs+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/nodejs?hl=en?hl=en

 ---
 You received this message because you are subscribed to the Google Groups
 nodejs group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to nodejs+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.


-- 
-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups nodejs group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
nodejs group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to nodejs+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: [nodejs] Re: Does not accept mesage from REDIS?

2013-10-25 Thread Rick Waldron
On Fri, Oct 25, 2013 at 5:34 PM, Brian Di Palma off...@gmail.com wrote:

 Const is the new var in the ES6 world, you should use it everywhere except
 for mutable references.

What about block scoped primitive values? const is not the new var—that
implies s/var/const/, which is not true.

Rick

-- 
-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups nodejs group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
nodejs group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to nodejs+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: [nodejs] Alleviating pressure on dependencies, the registry, and the module system

2013-10-25 Thread mscdex
On Friday, October 25, 2013 12:38:59 PM UTC-4, Sam Roberts wrote:

 I think the fact that the right hand side of a dep specification can 
 be either a repo (user/repo in github, url), or a version spec 
 satisfied from a (single) registry, but not both, is a problem.


What's wrong with specifying the tag or branch for the repo, like: 
user/repo#v0.1.10 ?

-- 
-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups nodejs group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
nodejs group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to nodejs+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: [nodejs] Alleviating pressure on dependencies, the registry, and the module system

2013-10-25 Thread Stuart P. Bentley
On Friday, October 25, 2013 4:18:14 PM UTC-7, mscdex wrote:

 On Friday, October 25, 2013 12:38:59 PM UTC-4, Sam Roberts wrote:

 I think the fact that the right hand side of a dep specification can 
 be either a repo (user/repo in github, url), or a version spec 
 satisfied from a (single) registry, but not both, is a problem.


 What's wrong with specifying the tag or branch for the repo, like: 
 user/repo#v0.1.10 ?


Specifying a tag doesn't let you write an updateable version range like 
=3.2.15 4.0.0. 

-- 
-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups nodejs group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
nodejs group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to nodejs+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


[nodejs] Re: Node.js high level API needed

2013-10-25 Thread Martin K . Schröder
In node, the higher level apis are created by the users (by combining 
existing modules into a larger project). 

And if anyone ever say that async io has to go, then I'm going to shoot 
that person personally!

-- 
-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups nodejs group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
nodejs group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to nodejs+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


[nodejs] SiteBoot: new version is out

2013-10-25 Thread Martin K . Schröder
Hello there! 

I have released the new version of the siteboot node web development 
framework to the public domain on github and on npm. New version 0.2.0-beta 
is OUT. Many great improvements - I can't even start listing all the extra 
features since the last version because they are just too many...

Just type npm install siteboot in an empty folder and you siteboot will 
setup a working example site for you! (then edit config-local-sample.js and 
supply login and host for an empty database and save the file as 
config-local.js)

Intro video:  http://www.youtube.com/watch?v=U2XS8EgLxZo

SiteBoot is great! Here is why: 
- Easily build web interfaces using node js 
- Widgets can be created as separate modules that accept post data on the 
page and you can have several widgets on the same page and things like 
that. 
- There is support for a predefined directory structure that all modules 
and extensions are using - ie if john writes a widget component and 
provides it as a siteboot plugin then you will be able to just install that 
plugin and start using his widgets on your site. 
- Excellent code structure: all objects, views, models and behaviours are 
separate. 
- Siteboot comes with object relational mapper (sequelize) that maps 
database objects to javascript - so you never have to write any sql code 
and neither do you ever have to create any tables yourself. You just 
provide an empty database and siteboot automatically creates all the 
objects inside that database according to the object definitions that you 
have provided in your project. 
- You can write plugins for siteboot using the plugin architechture. 
- You can directly make use of the bootstrap layout features since 
bootstrap 3 ALSO comes siteboot (like fluid layouts for responsive websites 
that work just as well on mobile platforms as they do on desktop). 

So node + bootstrap + sql objects and a standalone web server - all in one 
- for writing apps and guis using node! 

Tell me this is not great? ;-)

Github page: https://github.com/mkschreder/siteboot.js

-- 
-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups nodejs group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
nodejs group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to nodejs+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: [nodejs] Alleviating pressure on dependencies, the registry, and the module system

2013-10-25 Thread Stuart P. Bentley


On Thursday, October 24, 2013 10:08:23 PM UTC-7, Alex Kocharin wrote:

  
 25.10.2013, 07:48, Stuart P. Bentley stu...@testtrack4.comjavascript:
 :

 The way I see it, the dependencies  hash in package.json right now is 
 pulling double-duty. In some cases (where the value of a dependencies field 
 is a semver), it's there to describe *generally* what module versions it 
 expects to be compatible with. In other cases (when the value of a field is 
 a URL), it's there to describe the *exact* version of a module it's used 
 with.

  
 Dependencies should specify an open version range (unless there is a 
 really good reason to do otherwise).
  

If someone wants an exact version, he should probably learn about 
 shrinkwrap.

  
Did you read the rest of the proposal? Take a look at the section that 
starts Loose semver ranges used to be a Big Important Deal. tl;dr: in 
Node, open version ranges only apply to updates, and there is a really good 
reason to shrinkwrap (you can't be sure about those updates before they're 
released, and once they are you should explicitly confirm you can use them).

  
 This mixed-purpose approach has a few shortcomings: for one, packages 
 outside the canonical registry can't specify version ranges.

  
 Why? I don't have any issues with that when I use version ranges for 
 packages in my private registry.

  
Because running and requiring a private registry is mega impractical, 
especially if you want to publish modules that are usable outside your 
registry.


- Use a different hash (let's call it wants) that handles 
future-looking package usage, where each package (by 
node_modules/package.json/require() name)

  
 Don't add any more hashes. Plase. Just modify a dependency hash to be 
 a hash of hashes like that:
  
 dependencies: {
 package1: {
version: '= 0.1.2-something',
isDevDependency: true,
isOptional: true,
wants: 'more cookies',
 },
 package2: {
 
 }
 }


Changing the read semantics of existing fields in package.json would break 
everything that currently reads package.json. That's untenable. That's why 
I'm talking about introducing a new hash:it doesn't require any changes to 
be compatible with what already exists.

  Current situation with multiple, but similar hashes 
(optionalDependencies, peerDependencies, devDependencies, etc.) ain't 
extensible and very much suck.
 
I agree that the optionalDependencies and devDependencies solutions suck- 
if you read the proposal, you'll notice that the wants hash allows an 
extensible alternative to those (one that doesn't break the compatibility 
with older systems).

The important thing here is backwards compatibility. Adding a future-proof 
hash keeps compatibility and utility of the existing hashes, in a way that 
still works with what's already out there. You don't just break 45,000 
packages because they weren't perfect.
 

  

 What does the community think? If npm wouldn't be willing to go ahead with 
 something like this, any interest in producing some kind of fork?

  
 Almost definitely yes. This feature alone hardly worth a fork, but there 
 are many things that are wrong with npm, so forks can be quite useful here. 
 Frankly speaking, I'd even be interested in remaking it from scratch 
 because some things are just too hard to fix.
  
  


npm works pretty well right now and still has tons of traction with module 
developers. Gently modifying it to work with what people are already doing 
it is a much more feasible approach than saying drop everything and come 
do my completely different thing.
 

-- 
-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups nodejs group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
nodejs group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to nodejs+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: [nodejs] Alleviating pressure on dependencies, the registry, and the module system

2013-10-25 Thread Stuart P. Bentley


On Friday, October 25, 2013 9:38:59 AM UTC-7, Sam Roberts wrote:

 I think the fact that the right hand side of a dep specification can 
 be either a repo (user/repo in github, url), or a version spec 
 satisfied from a (single) registry, but not both, is a problem. I'd 
 particularly like a tool that allows git repos to be used as package 
 sources, with some convention about version tags allowing version 
 dependency specs to be applied, and npm update to work. 

 The convention is tags that are in the form 'v' followed by a valid 
semver. Using npm version produces tags that fit this convention.
 

 Not sure about your solution, but I do have a suggestion - don't fork 
 npm. Wrap it. You should be able to write a tool that implements your 
 solution to this, calling npm when necessary to leverage its install 
 capabilities, but not its decision making about where packages come 
 from. 


A fork of npm would essentially be a wrapper- npm is itself largely a 
wrapper around the modules that provide npm's functionality.

I've been thinking a good approach might be making something like a set of 
grunt plugins that replicate npm's functionality, then building on top of 
that.

-- 
-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups nodejs group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
nodejs group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to nodejs+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: [nodejs] Alleviating pressure on dependencies, the registry, and the module system

2013-10-25 Thread Isaac Schlueter
On Thu, Oct 24, 2013 at 8:48 PM, Stuart P. Bentley
stu...@testtrack4.com wrote:
 The way I see it, the dependencies  hash in package.json right now is
 pulling double-duty. In some cases (where the value of a dependencies field
 is a semver), it's there to describe generally what module versions it
 expects to be compatible with. In other cases (when the value of a field is
 a URL), it's there to describe the exact version of a module it's used with.

Fair point.


 This mixed-purpose approach has a few shortcomings: for one, packages
 outside the canonical registry can't specify version ranges.

By canonical registry do you mean npmjs.org?  Because you definitely
can use ranges with a separate registry.


 What's worse,
 any discussion of these shortcomings inevitably devolves into a
 back-and-forth over the utility of the registry (with arguments over
 everything from naming techniques, to implied triviality, to diplomatic
 protocol).

Indeed.


 Loose semver ranges used to be a Big Important Deal, back in the packaging
 flatlands of Python and Ruby. In those worlds, every module in use had to
 agree to share one particular version of any module- every module had to
 accommodate any potentially outdated code. Where a dependency was coming
 from didn't matter, but the ways it would be acceptable to come was.

 In Node, however, packages, once installed, will never see their
 dependencies versions any older than the latest they were written (unless
 they're peerDependencies). The one purpose of ranges is to allow potential
 optimizations and bugfixes from any future revisions of dependencies,
 without having to explicitly declare it. At this point, keeping that
 looseness, as a core attribute of the runtime, is a weakness, one that's
 overshadowing the increasingly pressing issue of where that package is
 located.

You're neglecting the dedupe case.  That's very relevant for some use
cases, especially for frontend packages.


 dependencies is tightened up for repository packages (bringing them to the
 specificity non-repository packages are already subject to). New packages
 can't rely on ranges that can become invalid (due to either a too-loose
 semver requirement or a breaking change in a minor version). A guaranteed
 shrinkwrapped dependencies field means you know *exactly* what revisions the
 package was developed against at time of publication.

What's the point of doing that?  Just to have the metadata for
packages that aren't bundling their deps?

Changing the semantics of the dependencies field is completely out
of the question.  If there's a strong case for tracking that info, and
a field that's not already in use in the wild, then I'd consider doing
it as something other than dependencies.


 Packages outside the registry are no longer second-class citizens.

Well, yeah, they sort of are.  Users can't search for them, install
them by name, etc.


 Calling npm install or npm update with a package.json that uses semver
 ranges (or tagless git URLs) automatically shrinkwraps dependencies and
 converts the existing dependencies values to the equivalent wants.

Never gonna happen, sorry.  Way too much stuff depends on dependencies
working exactly like it does.


 `npm update` would have to read the wants field, and would need additions
 to find available semver tags in non-registry locations (like tags in a Git
 repo).

What cases is that relevant for?

npm update already re-fetches from git and urls.  If you specify a
url, then you want to update, well, ok, put a new thing at that url.
Same with git, just specify a branch, and it'll always pull the latest
from that branch.


 For developers, the listed semvers would need to be loosened/tightened
 appropriately, and `npm update` would be required to update a code's
 dependencies. (Good.)

Why is this good?  What's wrong with updating using `npm i asdf --save`?

-- 
-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups nodejs group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
nodejs group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to nodejs+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: [nodejs] Alleviating pressure on dependencies, the registry, and the module system

2013-10-25 Thread Alex Kocharin

On Saturday, October 26, 2013 4:26:43 AM UTC+4, Stuart P. Bentley wrote:


 On Thursday, October 24, 2013 10:08:23 PM UTC-7, Alex Kocharin wrote:

 This mixed-purpose approach has a few shortcomings: for one, packages 
 outside the canonical registry can't specify version ranges.

  
 Why? I don't have any issues with that when I use version ranges for 
 packages in my private registry.

   
 Because running and requiring a private registry is mega impractical, 
 especially if you want to publish modules that are usable outside your 
 registry.

 
My private registry currently eats 40 megabytes of memory and 57 megabytes 
of diskspace, including 33 lines of config file. Sounds impractical yeah.

 

   Current situation with multiple, but similar hashes 
 (optionalDependencies, peerDependencies, devDependencies, etc.) ain't 
 extensible and very much suck.
  
 I agree that the optionalDependencies and devDependencies solutions suck- 
 if you read the proposal, you'll notice that the wants hash allows an 
 extensible alternative to those (one that doesn't break the compatibility 
 with older systems).

 The important thing here is backwards compatibility. Adding a future-proof 
 hash keeps compatibility and utility of the existing hashes, in a way that 
 still works with what's already out there. You don't just break 45,000 
 packages because they weren't perfect. 

 dependencies: Object|String is backward-compatible in regard to 
existing packages. I thought it's obvious.

 

  What does the community think? If npm wouldn't be willing to go ahead 
 with something like this, any interest in producing some kind of fork?

  
 Almost definitely yes. This feature alone hardly worth a fork, but there 
 are many things that are wrong with npm, so forks can be quite useful here. 
 Frankly speaking, I'd even be interested in remaking it from scratch 
 because some things are just too hard to fix.
  
  


 npm works pretty well right now and still has tons of traction with module 
 developers. Gently modifying it to work with what people are already doing 
 it is a much more feasible approach than saying drop everything and come 
 do my completely different thing.
  


If npm was working well, we weren't be here discussing this right now. ;)

-- 
-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups nodejs group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
nodejs group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to nodejs+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: [nodejs] Alleviating pressure on dependencies, the registry, and the module system

2013-10-25 Thread tjholowaychuk
shrinkwrap doesn't really work well in practice, it almost never makes 
sense to not pin versions directly. Even bug fixes introduce 
non-deterministic behaviour in an application so if you're not uber 
rigorous at the QA level in stage it's pretty likely to screw you over

On Thursday, 24 October 2013 22:08:23 UTC-7, Alex Kocharin wrote:

  
 25.10.2013, 07:48, Stuart P. Bentley stu...@testtrack4.comjavascript:
 :

 The way I see it, the dependencies  hash in package.json right now is 
 pulling double-duty. In some cases (where the value of a dependencies field 
 is a semver), it's there to describe *generally* what module versions it 
 expects to be compatible with. In other cases (when the value of a field is 
 a URL), it's there to describe the *exact* version of a module it's used 
 with.

  
 Dependencies should specify an open version range (unless there is a 
 really good reason to do otherwise).
  
 If someone wants an exact version, he should probably learn about 
 shrinkwrap.
  
  

  
 This mixed-purpose approach has a few shortcomings: for one, packages 
 outside the canonical registry can't specify version ranges.

  
 Why? I don't have any issues with that when I use version ranges for 
 packages in my private registry.
  



- Use a different hash (let's call it wants) that handles 
future-looking package usage, where each package (by 
node_modules/package.json/require() name)

  

  
 Don't add any more hashes. Plase. Just modify a dependency hash to be 
 a hash of hashes like that:
  
 dependencies: {
 package1: {
version: '= 0.1.2-something',
isDevDependency: true,
isOptional: true,
wants: 'more cookies',
 },
 package2: {
 
 }
 }
  
 Something along these lines. Current situation with multiple, but similar 
 hashes (optionalDependencies, peerDependencies, devDependencies, etc.) 
 ain't extensible and very much suck.
  
  

 What does the community think? If npm wouldn't be willing to go ahead with 
 something like this, any interest in producing some kind of fork?

  
 Almost definitely yes. This feature alone hardly worth a fork, but there 
 are many things that are wrong with npm, so forks can be quite useful here. 
 Frankly speaking, I'd even be interested in remaking it from scratch 
 because some things are just too hard to fix.
  
  


-- 
-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups nodejs group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
nodejs group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to nodejs+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.