[00:02] kriszyp has joined the channel [00:03] davemo has joined the channel [00:05] simb has joined the channel [00:08] muk_mb has joined the channel [00:10] jimt has joined the channel [00:14] SetupLy: Compiled :] [00:14] possibilities has joined the channel [00:15] jesusabdullah: sweet [00:15] jesusabdullah: ! [00:16] davemo has joined the channel [00:19] McMAGIC-- has joined the channel [00:21] simb has joined the channel [00:21] Me1000 has joined the channel [00:24] brianloveswords has joined the channel [00:25] jimt_ has joined the channel [00:25] chapel: SubStack: I hate to say it, but the majority of people don't know about dnode, and seem to ignore it exists... [00:25] chapel: it saddens me [00:26] tbranyen: never heard of it [00:26] chapel: its awesome, you should take a look [00:26] tbranyen: looking [00:26] softdrink has joined the channel [00:27] tbranyen: oh nice that should make rpc piss simple [00:27] chapel: it does make it piss simple [00:27] simb: its slick. Its like what flash remoting opens up for swf's [00:28] jesusabdullah: Why doesn't anybody know about dnode? :( [00:28] Horofox has joined the channel [00:28] tbranyen: flash sounds familiar [00:28] chapel: jesusabdullah: idk [00:28] tbranyen: is that some old macromedia product? [00:28] chapel: Im sad that more people dont know about SubStack [00:29] jesusabdullah: I thought macromedia went out of business ages ago [00:30] Horofox: can somebody give me some simple mongoose help? : ) [00:31] SetupLy has left the channel [00:33] breccan has joined the channel [00:34] monokrome has joined the channel [00:34] monokrome: Has path.normalizeArray been replaced? [00:35] monokrome: I guess that I can just use map [00:36] Gigawatt: you know when using the util.inherits [00:36] Gigawatt: can i do: [00:36] Adman65 has joined the channel [00:36] Gigawatt: function (){} function b(){} [00:36] Gigawatt: util.inherits(a,b); [00:37] Gigawatt: and then do new a(b); and within a do b.call(this); [00:37] possibil_ has joined the channel [00:37] mynyml has joined the channel [00:39] [[zzz]] has joined the channel [00:39] Horofox: isn't there a way to know the methods of an object? [00:40] Horofox: (it's more js related but whatever) [00:42] tmzt_: wow, actually had redis crash [00:42] tmzt_: maybe it was out of ram [00:42] Adman65 has joined the channel [00:42] chapel: ACTION waves hand in front of tmzt_ [00:42] chapel: "Nothing to see here" [00:46] Lion2Leo: Horofox: I wish there was sometimes... I searched like 2 hours in source code of a framework to know what method an object had [00:48] Horofox: Lion2Leo: i miss ruby. [00:49] ghost has joined the channel [00:50] Lion2Leo: Horof [00:50] Lion2Leo: That word is banned here don't use it :P [00:50] Horofox: Hahah ^^ [00:51] bingomanatee has joined the channel [00:51] d_ch|away has joined the channel [00:52] herenowcoder has joined the channel [00:53] forest has joined the channel [00:56] chapel: not banned [00:56] chapel: ruby has its uses [00:57] DrDam: Horofox: Yeah there is, just loop through them like "for (var member in object)" [00:58] [[zz]] has joined the channel [00:58] sub_pop has joined the channel [00:58] Aria has joined the channel [01:02] visa has joined the channel [01:02] ngs has joined the channel [01:03] hosh_work has joined the channel [01:05] Evet has joined the channel [01:07] jacobolus has joined the channel [01:09] kdridi has joined the channel [01:11] Gigawatt: anyone fancy helping me with an issue of inheritance ? [01:12] drudge: no way [01:12] Gigawatt: :( [01:13] drudge: you are better off just asking your question :) [01:13] tbranyen: how about you inherit a solution [01:13] tbranyen: woot [01:13] forest has joined the channel [01:14] Gigawatt: lol, well i set up a test script, which worked as expected: http://pastebin.com/raw.php?i=CJW1Unc5 [01:14] Gigawatt: i have to js files in my app, ['system/controller.js','user/controller.js'] [01:15] Gigawatt: i require them both, without instantiating them to objects [01:15] Gigawatt: i then do util.inherit(userController,baseController); [01:15] Gigawatt: and then i do: new userController( baseController )l [01:16] Gigawatt: i send the reference of baseController to userController [01:16] jesusabdullah: Man, I forgot how long it takes to compile node on this laptop [01:16] Gigawatt: and within userController i do: baseController.call(this); [01:16] Gigawatt: but it does not inherit the methods [01:17] darshanshankar has joined the channel [01:18] Gigawatt: and my app code looks like: http://pastebin.com/raw.php?i=1EjJmxut [01:20] zachsmith has joined the channel [01:21] Hello71 has joined the channel [01:21] Hello71 has joined the channel [01:22] matschaffer has joined the channel [01:28] marcello3d has joined the channel [01:34] adamb has joined the channel [01:34] vipaca has joined the channel [01:35] lupomontero has joined the channel [01:35] matschaffer has joined the channel [01:39] SvenDowideit has joined the channel [01:39] adamb: anyone willing to help me with an issue I'm having with mongoose? [01:43] faulkner has joined the channel [01:44] sh1mmer has joined the channel [01:44] JianMeng1 has joined the channel [01:46] adamb: In my script I connect to a remote mongo server at mongohq.com, create a model, added a document and when I called save, I got the following error: "Cannot call method 'forEach' of undefined" [01:47] Gigawatt: whats the document ? [01:50] adamb: mongoose.model("User", new Schema({name : String})); [01:50] adamb: var User = mongoose.model("User"); [01:50] adamb: var adam = new User(); [01:50] adamb: adam.name = "Adam"; [01:50] adamb: adam.save(function(err) { [01:50] adamb: console.log("err is " + err.message); [01:50] adamb: }); [01:50] kevinliu has joined the channel [01:50] maushu has joined the channel [01:51] adamb: I can connect to the remote server using the mongo client [01:51] pcardune has joined the channel [01:52] Gigawatt: try using >>> throw err; [01:52] Gigawatt: this will give you a stack trace ! [01:55] davemo: hey guys, what's the frontrunner for couchdb modules in node? [01:55] adamb: oh man. thats a huge help. [01:55] kawaz_air has joined the channel [01:56] Gigawatt: you should create a lib that manages your errors depending on console vars, so instead of console.log you could have errorManager.manageException(err); [01:56] malkomalko has joined the channel [01:56] Juske_ has joined the channel [01:56] marcello3d: man. ipad2 looks crazy [01:57] Gigawatt: and then this could be thrown, logged, sent to the console depending on some settings [01:57] adamb: the error gets thrown from the node-mongodb-native module. insertAll --> insert --> collection [01:57] unlink has joined the channel [01:57] unlink has joined the channel [01:57] adamb: looking at the source to see what's going on [01:57] adamb: i dont need it in the console, this is just the first attempt at a seed script [01:57] davidascher has joined the channel [01:59] Gigawatt: what file + lin number isthe error thrown [02:01] rhdoenges has joined the channel [02:01] cloudhea has joined the channel [02:02] bingomanatee has joined the channel [02:02] sechrist has joined the channel [02:02] adamb: mongoose/1.1.4/package/lib/mongoose/drivers/node-mongodb-native/collection.js:65:25 [02:03] cloudhea has joined the channel [02:03] zachsmith: davemo: cradle probably [02:03] davemo: thx zach [02:03] zachsmith: davemo: the other ones don't seem to be as well maintained [02:07] DTrejo has joined the channel [02:08] Horofox has left the channel [02:08] bingomanatee has joined the channel [02:10] matschaffer has joined the channel [02:10] Gigawatt: adamb: THere is no forEach call in that file, read your stack closely [02:11] marcello3d: adamb: why mongoose? [02:11] marcello3d: (out of curiosity) [02:12] bingomanatee: Hey Marcello - I am presenting at the Mongo meetup in SF [02:12] bingomanatee: I'm putting a word in for Mongolian. [02:12] marcello3d: oh fun [02:12] adamb: this project was started this morning. mongoose was one of many decisions made based on a few factors including the amount of activity on the poject [02:12] bingomanatee: anything in particular you'd like me to highlight? [02:13] bingomanatee: Mongoose is not bad - but I wouldn't neglect learning the ins and outs of the native stack its built on. [02:13] bingomanatee: To the best of my knowledge you'll need to to do map / reduce for instance. [02:13] adamb: we have experience with ORMs so the docs made the mongoose seem real nice [02:13] marcello3d: I don't know, KISS, or porting from ruby can have dire consequences? :) [02:13] bingomanatee: It is fairly nice. [02:14] sechrist has joined the channel [02:14] monokrome: Hmm. What are the best ways to do inheritance with jade? [02:14] bingomanatee: If you are schema oriented and want to type proof your data passively and care about transactional integrity Mongoose is great. [02:14] Gigawatt: mono you mean extending the jade object [02:14] monokrome: No, I mean extending other templates. [02:14] adamb: i was just in collections.js and there is no 'forEach' on line 65. so i am confused but i chalked that up to my lack of understanding node [02:15] zachsmith: yeah, mongolian is awesome [02:15] monokrome: I am trying to find a good way to get rid of the repetition in this templates: https://github.com/monokrome/monokro.me-node/tree/master/templates [02:15] bingomanatee: However keep in mind - there is no way that all that transactional checking, schema validation et all can make your app run FASTER so the only question is, is the slowness Mongoose adds to your equation worth it? [02:16] visa has joined the channel [02:16] marcello3d: the main problem with ORM on mongodb is that essentially require you to pull the full document into memory, manipulate, and save out again [02:16] adamb: not worried about slowness. just worried about having a taller stack to search through if we have issues. [02:16] marcello3d: and as soon as you want to do partial updates or partial object retrievals, the advantages start to disappear [02:17] adamb: happy to abandon mongoose if it makes it easier for us. are there some cons besides performance? [02:17] adamb: interesting [02:17] zachsmith: Why put an orm on mongodb at all? the point of a document database it that there is no relational database to map to [02:17] SubStack: chapel: too much inferential distance I suspect with respect to dnode [02:17] chapel: inferential distance? [02:17] SubStack: http://wiki.lesswrong.com/wiki/Inferential_distance [02:17] marcello3d: orm can be nice. it gives you some peace of mind that your data is in the format you want [02:18] chapel: :P [02:18] boaz has joined the channel [02:18] SubStack: expectations of what rpc systems can do is really low [02:18] marcello3d: I think orm is fine if you understand what it's doing [02:18] chapel: yeah [02:19] chapel: I guess my sadness comes from the fact that people clamor for nowjs [02:19] marcello3d: but the only reason I don't like mongoose is they put their commas in funny places on their frontpage [02:19] chapel: well not clamor [02:19] SubStack: I think a prerequisite for understanding dnode is understanding the asynchronous nature of node [02:19] chapel: but see it as this awesome new thing, when dnode has done it, and better for much longer [02:19] chapel: yeah, there is that [02:19] SubStack: well nowjs has replication which dnode doesn't have yet [02:19] chapel: most people seem to not really understand the full asynchronous nature of node [02:20] chapel: yet :P [02:20] SubStack: once dnode gets ssh as a transport it should get some HN love [02:20] Gigawatt: Node is all about non blocking I/O [02:20] chapel: Im wanting to start up a blog again, and do some node posts [02:20] chapel: I will definitely be talking up dnode [02:20] chapel: :) [02:20] marcello3d: non blocking i/o, who'da thunk [02:21] marcello3d: SubStack: should I switch from socket.io to dnode? [02:21] Gigawatt: it would make the backbone libev redundant, [02:21] SubStack: marcello3d: if you find rolling your own dispatching on top of socket.io is getting messy [02:22] Gigawatt: i also believe in the passion that ralf dhal has, where the non blocking I/O with ibev over threadpools etc [02:22] cloudhead2: dnode uses websockets? [02:22] cloudhead2: SubStack: I thought nowjs would be built on top of dnode [02:23] chapel: uses socket.io [02:23] zachsmith: isn't dnode built on top of socket.io? [02:23] Gigawatt: rolf* [02:23] chapel: which can use websockets, flash, long polling [02:23] chapel: and so on [02:23] SubStack: the transport doesn't matter so much with dnode [02:23] cloudhead2: ah didn't know that [02:23] liar has joined the channel [02:23] SubStack: it's more about the protocol and data transformation hat trick [02:24] SubStack: dnode has socket.io and net.Stream transports [02:24] marcello3d: SubStack: does it support any mechanisms for serializing the client commands? [02:24] adamb: where is node.js? [02:24] marcello3d: and by serializing I mean [02:24] marcello3d: run commands in order after the previous finishes [02:25] zachsmith: So do things like dnode kill REST for web apps, or is there still a use for it? [02:25] marcello3d: e.g. if I want to authenticate, I send a command, but I want to pipeline additional commands after it that are dependent on the authentication command succeeding [02:25] pdelgallego has joined the channel [02:25] SubStack: zachsmith: pretty much you don't need to rest anymore [02:25] zachsmith: :-D [02:25] zachsmith: that makes me happy [02:25] SubStack: you can have state now! [02:26] marcello3d: zachsmith: you might still want rest for 3rd party apis [02:26] SubStack: marcello3d: you can just serve up the functions you want to sit behind the auth method by only returning those methods to the callback given to the auth method [02:27] SubStack: marcello3d: http://github.com/substack/dnode/tree/master/examples/auth [02:27] SubStack: yeah 3rd party apis are pesky but I do have perl and ruby adapters for dnode already [02:27] DTrejo has joined the channel [02:27] SubStack: and half of a python one [02:27] SubStack: jesusabdullah wrote that [02:28] zachsmith: SubStack: nice! [02:28] marcello3d: SubStack: why not provide rest versions? [02:28] SubStack: because rest is stateless [02:28] SubStack: and dnode is all about state [02:28] marcello3d: ah [02:28] marcello3d: that's annoying when you're scaling though [02:28] chapel: not really [02:29] marcello3d: if you have 4 servers that are load balanced [02:29] SubStack: well it's easy to distribute tasks across multiple servers [02:29] marcello3d: jsonp 1 goes to server 1, jsonp 2 goes to server 2 [02:29] SubStack: since your servers can just talk to each other over dnode too [02:29] chapel: the nice thing about dnode is not only can you have statebetween browser and server, but you can have state between processes [02:29] chapel: what SubStack said :) [02:29] marcello3d: yea but you have to do a lot more work [02:30] marcello3d: how do you handle the load balanced case? assuming you're not on websockets [02:30] SubStack: authenticating backends can be pesky still [02:30] zemanel has joined the channel [02:30] SubStack: but ssh keys will rock for that [02:30] fr0stbyte has joined the channel [02:30] SubStack: speaking of which, hacking on node-ssh some [02:31] jesusabdullah: I'm gonna start working on dnode-python again hopefully [02:31] SubStack: this one uses libssh [02:31] jesusabdullah: and then never code in python again ;) [02:31] SubStack: jesusabdullah: rawk! [02:31] jesusabdullah: Yeah [02:31] jesusabdullah: It needs to be done [02:31] jesusabdullah: I had someone watch it! How am I supposed to handle that? [02:31] jesusabdullah: PRESSURE D: [02:31] SubStack: hey now, I am watching that project [02:31] JasonCoffin has joined the channel [02:31] SubStack: plus I link to it in the readme [02:32] SubStack: I link to it in TWO readmes [02:32] jesusabdullah: You DO! [02:32] jesusabdullah: But someone I've never heard of watched dnode-python [02:32] hornairs has joined the channel [02:33] bingomanatee: marcello - that is an interesdting point. I'm going to quote you at my talk on that "partial update" thing. [02:33] marcello3d: uh oh D: [02:33] jasoncoffin has joined the channel [02:33] marcello3d: don't make me out to be a mongo expert, I really just started using it :) [02:34] marcello3d: but I was using mongo on scala before node.js [02:34] bingomanatee: No but that is a very defensible point about all ORMs in general. [02:34] bingomanatee: Nobody ever died of small doses of puffery. [02:34] marcello3d: hah [02:34] bingomanatee: Puffery is my middle name. [02:35] bingomanatee: well.. it is GOING to be my middle name. [02:35] bingomanatee: at some point. [02:35] marcello3d: apparently puffery is a legal term D: [02:35] marcello3d: see also: boosterism D: [02:36] reflectiveSingle has joined the channel [02:37] bingomanatee: too late - you've been puffed :D http://www.meetup.com/San-Francisco-MongoDB-User-Group/events/15585719/ [02:37] marcello3d: is meghan gonna be there? [02:38] marcello3d: probably not [02:38] marcello3d: kinda far ;D [02:38] bingomanatee: the RSVP list is open - see for yourself. [02:38] yonkeltron has joined the channel [02:39] bingomanatee: Though my knowledge of real name ... nick is not comprehensive. [02:39] yonkeltron: is ther some unified simple messaging library for node-to-node communication? like socket.io but not for the browser? [02:39] yonkeltron: i know i could just write it with ease but wondering what's there already [02:39] bingomanatee: REST? [02:40] fr0stbyte has joined the channel [02:40] bingomanatee: not to be coy but ... REST pattern communication is pretty much a no brainer for server to server comm. [02:40] zachsmith: what do you guys think about generating mongo objectIds on the client, is that a bad idea if I validate and sanitize them? [02:40] rrachel has joined the channel [02:40] marcello3d: zachsmith: they usually are generated on the client, aren't they? [02:40] SubStack: yonkeltron: well you can just open up a socket directly between processes [02:40] bingomanatee: To what end? [02:40] ParadoxQuine: anyone have a good link explaining the advantages/disadvantages of something like dnode's stated approach vs REST and stateless? [02:40] zachsmith: I mean browser [02:40] marcello3d: oh [02:41] marcello3d: that seems questionable at best [02:41] rrachel: Does node.js have any support for Diffie-Hellman key exchange? [02:41] zachsmith: but super useful! [02:41] zachsmith: lol [02:41] marcello3d: unless you're tying them to the user [02:41] SubStack: rrachel: hah! [02:41] SubStack: rrachel: working on that [02:41] SubStack: rrachel: do you need it for ssh? [02:41] f1lt3r_ has joined the channel [02:42] bingomanatee: ParadoxQuine - you do get the principle of sockets - once you open a socket, you don't have any overhead of continual encapsulation and de-encapsulation of your content. [02:42] rrachel: Yeah I wanna make an encrypted chat thing with node [02:42] bingomanatee: Sockets, once established, are the fastest conceivable way of sending data over the network. It is pure binary data [02:42] ParadoxQuine: makes sense [02:42] marcello3d: bingomanatee: faster than udp? :D [02:42] bingomanatee: hmmm. [02:42] zachsmith: marcello3d: For example, a user creates a "post" in the browser, I'd like to have an id tied to it without waiting for the server to get back to me [02:43] okuryu has joined the channel [02:43] bingomanatee: That sounds like something that I'd like to see some actual tests on. [02:43] marcello3d: zachsmith: I think it depends on the nature of the app. obviously if you trust the user, or if generating a bad id only hurts the client, then it's fine [02:43] marcello3d: bingomanatee: well, considering tcp is built on top... [02:44] rrachel: SubStack: What're you working on? [02:44] yonkeltron: SubStack: yeah, i was just wondering if someone had done something more clever. no worries. thanks. [02:44] zachsmith: right [02:44] bingomanatee: yes - but once a connection is made, wouldn't the trans pport layer be obviated by the binary stream? [02:44] marcello3d: udp doesn't have a connection [02:44] bingomanatee: I'm not an expert in this and would rather de-puff my understanding - SubStack - what do you thing? Sockets v. UDP? [02:44] marcello3d: https://secure.wikimedia.org/wikipedia/en/wiki/User_Datagram_Protocol#Comparison_of_UDP_and_TCP [02:44] dgathright has joined the channel [02:45] marcello3d: read that [02:47] marcello3d: I think it comes down to what your purpose is [02:48] bingomanatee: Fortunately these kind of tests are cheap to make and run. [02:48] zakabird: udp is just a socket protocol, i.e. a type of socket. not seperate thing. does less for you so can be faster [02:48] abraham has joined the channel [02:49] JusticeFries has joined the channel [02:50] zakabird: unless I misundetand question should be tcp vs udp? not udp vs sockets. whatever. back to lurking... [02:50] bingomanatee: no I think you are ded on [02:51] jspiros_ has joined the channel [02:51] zakabird: udp probably not worth it except for game or something where you can handle writing all the code to handle losses, out of order msg's etc... [02:52] tbranyen: zakabird: media streaming :) [02:52] zakabird: yep [02:52] tbranyen: interested in the udp multicast capabilities of node [02:52] tbranyen: haven't seen much info on it [02:53] fr0stbyte has joined the channel [02:55] monokrome: In package.json, can engines.node be a list? [02:56] kriszyp has joined the channel [02:57] fr0stbyte has joined the channel [02:57] forest has joined the channel [02:59] AAA_awright has joined the channel [02:59] froak has joined the channel [03:00] boaz has joined the channel [03:00] Hello71 has joined the channel [03:00] Hello71 has joined the channel [03:01] fr0stbyte has joined the channel [03:07] jasoncof_ has joined the channel [03:09] marcello3d: express 2.0, what gzip middleware should I use now? [03:11] themiddleman has joined the channel [03:11] jacobolus has joined the channel [03:11] JusticeFries: tbranyen: shouldn't be too hard to write something for UDP multicast. [03:13] boaz: can anyone point me to instructions for updating an existing installation of node? [03:14] boaz: ... to 0.4.2 [03:14] Utkarsh has joined the channel [03:14] tbranyen: boaz: you pull down latest, ./configure && make ; sudo make install [03:15] boaz: no issues with rebuilding from source over an existing build? [03:15] tbranyen: no [03:15] Lion2Leo: Anyone here is at ease with ejs could enlighten me on a question [03:15] tbranyen: your install will overwrite the node binary [03:16] boaz: cool [03:16] boaz: lol, it's 401ing [03:16] zachsmith: boaz are you on mac? [03:16] boaz: zachsmith: mhmm [03:16] zachsmith: use homebrew [03:16] zachsmith: unless you want to build it yourself [03:16] tbranyen: zachsmith: haven't had any issues doing what i just said on os x [03:16] boaz: is brew up to date? [03:17] boaz: git remote add joyent [03:17] boaz: fuckers [03:18] boaz: git remote add joyent https://github.com/joyent/node.git && git pull joyent && ./configure && make ; sudo make install [03:21] ParadoxQuine: hey im trying to understand dnode - is it just easy rpc? [03:27] perezd has joined the channel [03:28] fr0stbyte has joined the channel [03:30] fr0stbyte has joined the channel [03:31] fr0stbyte has joined the channel [03:32] kriszyp has joined the channel [03:33] fr0stbyte has joined the channel [03:33] yonkeltron: is there a way to run jasmine inside node? so i can use jasmine to test my node code or is jasmine only for browser-based type stuff? [03:34] hornairs has joined the channel [03:35] jimt has joined the channel [03:36] fr0stbyte has joined the channel [03:37] Evet: js.io and express are something overlapping? [03:39] nilyt has joined the channel [03:40] possibilities has joined the channel [03:40] redmind has joined the channel [03:40] echosystm has joined the channel [03:40] echosystm has left the channel [03:43] monokrome: How do people usually set up their 'engines' in packages.json? [03:43] monokrome: IE, I know this works on 0.3 [03:43] zakabird: yonkeltron: it says you can on the jasmine homepage... [03:43] monokrome: Do I need to put every version of 0.3? [03:44] pcardune has joined the channel [03:44] yonkeltron: zakabird: i see that's come along then. thank you. [03:46] shiawuentan has joined the channel [03:48] davemo: using express, rendering locals of { toon: { image_url : 'blah' } }, how can I get this to work? img(src='toon.image_url') ? it's giving me the literal string representation [03:48] boaz: has anyone gotten https running on osx? [03:48] zakabird: I started using it. kinda too lazy to write many tests as I should [03:48] zakabird: + [03:49] JianMeng1 has joined the channel [03:50] mikegerwitz: monokrome: $ man npm-json | grep -A15 ^engines [03:50] ParadoxQuine: anyone know of a version of lint for node that works with 0.4.x? [03:53] nonnikcam has joined the channel [03:54] zakabird: yonkeltron: yeah, I think this is new. nice. https://github.com/mhevery/jasmine-node [03:54] yonkeltron: hawtness [03:54] yonkeltron: i had used an older version [03:54] yonkeltron: and it kind of sucked [03:54] yonkeltron: maybe not even that project [03:55] Lion2Leo: Hey guys, I define a new prop on socket.io client object on the server side, wouldn't that property get set before the client side? Because client side I get undefined [03:56] yonkeltron: they are not the same object [03:56] DTrejo: Lion2Leo: there's some confusing naming [03:57] Lion2Leo: Well I access to the client object that I receive from the trigger event [03:57] Lion2Leo: So It should be the same obj [03:59] abraham has joined the channel [03:59] yonkeltron: Lion2Leo: if i call your cell phone, are our phones the same phone? [03:59] Lion2Leo: yonkeltron: No but I have your phone number, a reference to your cellphone [04:00] yonkeltron: right [04:00] yonkeltron: together, they make a call [04:00] yonkeltron: but what happens to one phone doesn't happen on the other [04:00] Lion2Leo: Ok well look, I'll make a quick pastie to make it clearer, I just started with JS so you will enlighten me [04:00] Lion2Leo: You are right about that :) [04:01] yonkeltron: that'd be fucking awesome, though [04:01] yonkeltron: my mom always calls me with questions about her phone [04:01] Astro has joined the channel [04:01] Lion2Leo: http://pastie.org/1665484 [04:02] monokrome: Hmm.. Does npm take some time to update packages after publishing? [04:03] yonkeltron: ok you think that they are the same object [04:03] Lion2Leo: yonkeltron: Well... it would seem logical to me [04:03] yonkeltron: Lion2Leo: the client object gotten by the server is an object which represents the client, it isn't actually the client [04:03] yonkeltron: it's the phone connected to my phone [04:03] Lion2Leo: yonkeltron: I did a lot of QT and passing objects with emits and connects which is why I'm confused [04:03] yonkeltron: you use it to send a message to my phone [04:04] yonkeltron: two separate processes [04:04] yonkeltron: two separate object spaces [04:04] Lion2Leo: Ok well could you suggest me a route [04:04] yonkeltron: ok [04:04] yonkeltron: i am trying to think of a way to explain it [04:04] yonkeltron: ok ready? [04:04] yonkeltron: ever used a tin-can phone system? [04:04] Lion2Leo: Aie [04:04] yonkeltron: like, when you were a kid? [04:04] Lion2Leo: I've heard of them in legends [04:04] Lion2Leo: But yeah I did [04:04] yonkeltron: hehe [04:04] yonkeltron: ok [04:05] yonkeltron: so if i have one to my neighbor's house and it's labeled "neighbor" [04:05] yonkeltron: is their end the same as my end? [04:05] yonkeltron: no [04:05] yonkeltron: that tin can represents my neighbor [04:05] yonkeltron: the client object your server gets represents your client [04:05] yonkeltron: it's not the same object [04:05] yonkeltron: but [04:05] yonkeltron: you can use it to send a message [04:06] yonkeltron: i may have given you a horrible example [04:06] Lion2Leo: Well the fact that you started talking about server on a tin-can kid example was a bit off [04:06] Lion2Leo: Otherwise that's good enough [04:06] yonkeltron: i might want to have some booze about now [04:06] yonkeltron: i'm working on a dataflow processing framework [04:06] yonkeltron: for function pipelines [04:06] Lion2Leo: Alright, but a message is a string of char's or anything I want? [04:07] yonkeltron: i'd guess that you should limit yourself to JSON [04:07] Lion2Leo: I have a simple problem and I do not know how to fix it. [04:07] Lion2Leo: I can explain it to you rather simply, you could give me insight on how I should proceed [04:07] MikhX has joined the channel [04:08] yonkeltron: sure, let me get my tin-cans out [04:09] Lion2Leo: Hmmm... [04:09] Lion2Leo: I ask the user for his name on the first message event, I would like to access this name on the client-side js script [04:09] zachsmith: Lion2Leo: if you want something where you can set a variable on an object, and have it show up on the client try nowjs [04:10] Lion2Leo: zachsmith: I will look into it, I'm currently using socket.io and express [04:10] sleeplessinc has joined the channel [04:10] zachsmith: nowjs is built on top of socket.io [04:11] Lion2Leo: zachsmith: Alright, good to know. Although I might have found a way to get my thing to work [04:11] zachsmith: oh, cool [04:11] Lion2Leo: Btw, socket.io docs blow. [04:11] mlncn has joined the channel [04:11] zachsmith: agreed [04:11] zachsmith: lol [04:12] Lion2Leo: Today I had an issue [04:12] Lion2Leo: Where data was repeated as I represhed the page [04:12] zachsmith: it's more like they don't exist really [04:12] yonkeltron: yeah [04:12] yonkeltron: agreed [04:12] JianMeng1 has left the channel [04:12] Lion2Leo: Turns out that addListener('clientConnected',Y) and on.('connect', Y) are two different things [04:13] Lion2Leo: I just replaced all my addEvent and addListener by on's and it fixed my problem [04:13] zachsmith: what's the difference? [04:13] Lion2Leo: zachsmith: Well the ones in the doc's act stangely [04:14] Lion2Leo: The server was replying x times the number of page jumps [04:14] Lion2Leo: Instead of flushing the connection [04:14] Lion2Leo: Even jumping from a page logged as a "disconnection" [04:14] Lion2Leo: Very odd behaviour [04:14] zachsmith: yeah [04:14] DevX101 has joined the channel [04:15] Lion2Leo: Just to say I followed the doc's and it got me in trouble hah... [04:15] Lion2Leo: I swear good doc's are QT's, QtAssistant was my best friend [04:15] Lion2Leo: You can search by tag's, class names, reserved names, articles etc [04:18] dyer has joined the channel [04:20] Lion2Leo: nowjs looks decent [04:20] zachsmith: have you looked at the mongoose docs? they're those annotated source docs. It's absolutely impossible to find what you're looking for [04:20] Lion2Leo: Not yet, but I will have to one day [04:21] Lion2Leo: Although I abide by the rule : "Bad docs = I don't use that ###" [04:21] Lion2Leo: Though stuff like socket.io can't be replaced so... I stick with it [04:21] sourcode has joined the channel [04:23] yumike has joined the channel [04:23] Lion2Leo: zachsmith: Hmm... npm install now isn't working... [04:23] Lion2Leo: zachsmith: Halting at node-proxy, which I cannot get to install [04:24] zachsmith: node proxy has to be built [04:24] zachsmith: that might cause problems [04:24] colinsullivan1 has joined the channel [04:29] jhonber has joined the channel [04:30] MikhX has joined the channel [04:32] brapse has joined the channel [04:32] kawaz_air has joined the channel [04:35] onar_ has joined the channel [04:39] davidascher has joined the channel [04:43] Ond has joined the channel [04:44] kawaz_ai_ has joined the channel [04:45] redmind has joined the channel [04:47] Evet_ has joined the channel [04:48] orospakr has joined the channel [04:50] sechrist has joined the channel [04:51] dgathright has joined the channel [04:53] kawaz_air has joined the channel [04:56] abraham has joined the channel [05:01] prof-freud has joined the channel [05:01] Evet_ has joined the channel [05:01] redmind has joined the channel [05:03] eMyller has left the channel [05:04] simb has joined the channel [05:05] PL-1 has joined the channel [05:06] simb has joined the channel [05:09] sivy has joined the channel [05:15] jimt_ has joined the channel [05:19] kawaz_air has joined the channel [05:21] jimt has joined the channel [05:22] abraham has joined the channel [05:28] datenaoto has joined the channel [05:31] stonecobra: is anyone aware of an etherpad like app written for node yet? [05:33] soulofpeace has joined the channel [05:36] Ond: cloud9? [05:38] zakabird: http://substance.io/ says their working on collaboration [05:42] abraham has joined the channel [05:44] Evet has joined the channel [05:53] soulofpeace has joined the channel [05:54] kawaz_air has joined the channel [05:58] Utkarsh has joined the channel [05:59] http402 has joined the channel [05:59] MikhX has joined the channel [06:00] nym has joined the channel [06:01] nym: if i add an event listener, and the object with the callback gets destroyed, will the eventListener stop trying to emit to it? [06:01] nym: that is, do i need to do additional cleanup [06:04] seivan has joined the channel [06:05] jimt_ has joined the channel [06:07] Evet has joined the channel [06:09] void_ has joined the channel [06:10] Croms has joined the channel [06:14] Juske has joined the channel [06:14] sirkitree has joined the channel [06:16] razvandimescu has joined the channel [06:17] AAA_awright has joined the channel [06:21] void_ has joined the channel [06:27] Evet_ has joined the channel [06:29] herbySk has joined the channel [06:30] maf: Anyone seen JimBastard around ? [06:30] maf: or Mar... was the other nick [06:30] bartt has joined the channel [06:37] f1lt3r_ has joined the channel [06:37] Sami_ZzZ_ has joined the channel [06:42] davidascher has joined the channel [06:43] dwww has joined the channel [06:55] unlink has joined the channel [06:55] unlink has joined the channel [06:57] sh1mmer has joined the channel [07:05] Twelve-60: regarding the http.get method, do i need to keep buffering on.("data") until the connection ends? [07:08] jimt has joined the channel [07:08] stagas has joined the channel [07:09] razvandimescu has joined the channel [07:10] ericM has joined the channel [07:10] ericM: Is there a standard way of sanitizing chat input in node? [07:13] jimt_ has joined the channel [07:22] tc77 has joined the channel [07:23] MikhX has joined the channel [07:23] zab has joined the channel [07:23] ngs has joined the channel [07:24] zab: i'm providing an api which expects certain types to be set on object properties [07:24] zab: is there anything to provide strong typing in JS? [07:24] zab: or should I just provide documentation and ignore things which don't adhere to the type I expect? [07:25] mscdex: Twelve-60: yep [07:25] konobi: zab: REST API? [07:25] zab: nah JS api [07:25] zab: so expecting JS types, like strings, objects and dates [07:26] zab: but this being JS, folks could just give me a string where I ask for a Date instance [07:26] konobi: so some custom serialization format? [07:26] zab: no, just setting some properties on a JS object [07:27] konobi: oh... a module [07:27] yumike has joined the channel [07:27] zab: yeah [07:27] zab: heh should've said that [07:29] konobi: i'd steal stuff from Moose Types/Coercions... but that's just me [07:29] foober1: Can't you just use 'if (typeof object == 'string') {/*something*/}'? [07:29] stagas: zab: you could use setters or a custom method on the object .setValue() etc [07:30] zab: konobi: interesting [07:30] zab: foober1: yeah was going to do this, but not sure if its that great to ignore things if they are not the correct type [07:31] zab: stagas: and throw an exception or something? [07:32] foober1: Well you put any further tests and the final error message for unhandled types in the else clause. No reason to allow just any old object. [07:33] stagas: zab: for a custom method you can return false and let the users check for it [07:33] foober1: I do like stagas' suggestion of custom setters/getters though. Much cleaner if you've got several types to worry about. [07:34] zab: hmm, but that doesn't prevent someone from setting the properties directly, bypassing the custom setters [07:34] zab: i guess theres always a tradeoff [07:34] stagas: you could use a combination of both [07:34] konobi: zab: well, if you use the actual get/set stuff and the language level [07:35] konobi: zab: http://ejohn.org/blog/javascript-getters-and-setters/ [07:35] zab: konobi: wow thats perfect [07:36] zab: still new to JS [07:36] Utkarsh_ has joined the channel [07:36] konobi: it's a _relatively_ recent addition to the language [07:37] zab: its nice. works for my purposes. [07:37] zab: thanks all :) [07:39] fayce has joined the channel [07:41] AAA_awright: zab: You should be doing sanity checks when you read values anyways [07:41] AAA_awright: Instead of at set time [07:41] zab: AAA_awright: yes thats true. I'm doing both. [07:42] zab: AAA_awright: I've got somewhat unique problems because I'm passing the JS values back to c++ land and converting the v8 values back into c++ native types [07:42] konobi: fail early, fail often [07:42] AAA_awright: zab: Check the dynamic type before you convert to a static type? [07:43] AAA_awright: I thought that's how it was done, but I haven't done V8 [07:43] dragunov11 has joined the channel [07:44] zab: AAA_awright: yeah doing that. you can ask v8 what type a value is pretty easily. would just like the JS devs to know when a value won't be successfully parsed as well. [07:46] stagas_ has joined the channel [07:49] konobi: zab: would libffi help aleviate some of that? [07:50] jimt has joined the channel [07:51] zab: konobi: seems like v8 takes care of everything libffi claims to [07:55] jacobolus has joined the channel [07:58] Tobias| has joined the channel [08:05] redmind has joined the channel [08:07] soulofpeace has joined the channel [08:07] qFox has joined the channel [08:08] sh1mmer has joined the channel [08:09] Druid_ has joined the channel [08:13] secoif has joined the channel [08:14] vandenoever has joined the channel [08:14] vandenoever has joined the channel [08:16] ParadoxQuine: is there a stylus file anyone knows of with functions fo easy centering of divs (within the page and within other divs) [08:17] secoif: Where can I find documentation on http.createClient? it doesn't seem to be in the docs anymore http://nodejs.org/docs/v0.4.2/api/http.html [08:17] secoif: perhaps it's moved? [08:19] secoif: ParadoxQuine: what do you mean by easy centering? margin: 0 auto is pretty easy? [08:19] secoif: you want some kind of javascript to do it? [08:19] teemow has joined the channel [08:22] ParadoxQuine has joined the channel [08:25] beawesomeinstead has joined the channel [08:27] TomY has joined the channel [08:27] TomY_ has joined the channel [08:29] torgeir has joined the channel [08:31] ParadoxQuine has joined the channel [08:33] Utkarsh_ has joined the channel [08:33] dve has joined the channel [08:35] Twelve-60: regarding the http.get method, do i need to keep buffering on.("data") until the connection ends? [08:35] ParadoxQuine: sorry, internet died, repeat question: is there a stylus file anyone knows of with functions fo easy centering of divs (within the page and within other divs) [08:36] mikegerwitz: Twelve-60: until the 'end' event [08:36] mikegerwitz: Twelve-60: http://nodejs.org/docs/v0.4.0/api/all.html#event_end_ [08:38] sh1mmer has joined the channel [08:38] secoif: ParadoxQuine: what do you mean by easy centering? margin: 0 auto is pretty easy isnt' it? [08:40] Utkarsh__ has joined the channel [08:41] torgeir has joined the channel [08:41] secoif: Managed to solve my own question, according to the following link, http.CreateClient is deprecated. It should still be in docs methinks. https://groups.google.com/forum/#!searchin/nodejs/createClient/nodejs/S1PTMAtx8DY/JqA_WsOGXrwJ [08:44] dahankzter has joined the channel [08:47] f1lt3r_ has joined the channel [08:48] zemanel has joined the channel [08:48] tomask has joined the channel [08:49] tomask has joined the channel [08:49] msucan has joined the channel [08:51] zemanel has joined the channel [08:51] pascalopitz has joined the channel [08:51] SubStack: ParadoxQuine: well I think it's easy [08:52] SubStack: dnode that is [08:52] ParadoxQuine: secoif: i'm thinking vertical+horizontal centering [08:52] fr0stbyte has joined the channel [08:52] secoif: ParadoxQuine: margin: auto auto? [08:53] fr0stbyte_ has joined the channel [08:53] ParadoxQuine: SubStack: haha async answer to my question :P [08:53] ParadoxQuine: secoif: if that works in all browsers and for nested divs than i have been doing wayyyy too much work making layouts. i was under the impression that that didn't work [08:54] dragunov11 has joined the channel [08:54] fr0stbyte has joined the channel [08:55] siaoeh2 has joined the channel [08:55] secoif: ParadoxQuine: IIRC there are some issues with vertical centering in IE [08:55] secoif: and you can't use it without a parent with explicit height/width [08:56] ParadoxQuine: right [08:56] secoif: I think you're probably looking for a client side js/css fix though [08:56] ParadoxQuine: well it can all be done with css can't it? i always have a hard time getting it all tweaked quite right so i figured a stylus function [08:57] ParadoxQuine: for example it could set the proper margins equal to negative half the height and width with the top/left 50% if it's the outermost div [08:57] fr0stbyte has joined the channel [08:57] ParadoxQuine: otherwise auto margins as appropriate [08:57] zentoooo has joined the channel [08:57] secoif: ParadoxQuine: I see [08:59] secoif: ParadoxQuine: perhaps see if any of the other libraries (eg sass/less) have such a function, then port solution to stylus [09:00] ParadoxQuine: good idea [09:00] ParadoxQuine: i'll check those out [09:00] secoif: :D [09:02] saschagehlich has joined the channel [09:03] fly-away has joined the channel [09:03] gozala has joined the channel [09:06] forest has joined the channel [09:06] ph^ has joined the channel [09:06] Druid_ has joined the channel [09:07] mhausenblas has joined the channel [09:12] froak has joined the channel [09:20] SamuraiJack has joined the channel [09:20] foober2 has joined the channel [09:21] Utkarsh has joined the channel [09:22] foober2_ has joined the channel [09:22] dve has joined the channel [09:22] adamt has joined the channel [09:26] Utkarsh_ has joined the channel [09:28] Spion_ has joined the channel [09:28] masahiroh has joined the channel [09:32] dguttman has joined the channel [09:33] forest has joined the channel [09:36] MikhX has joined the channel [09:42] dragunov111 has joined the channel [09:43] sveisvei has joined the channel [09:44] steffkes has joined the channel [09:44] q_no has joined the channel [09:50] Evet has joined the channel [09:50] Evet has joined the channel [09:50] sveisvei has joined the channel [09:55] Utkarsh has joined the channel [09:55] TomY has joined the channel [09:55] TomY_ has joined the channel [09:58] Utkarsh_ has joined the channel [09:59] mike5w3c has joined the channel [10:10] mikeal has joined the channel [10:12] eventi has joined the channel [10:14] eventi has joined the channel [10:20] sveimac has joined the channel [10:21] devrim has joined the channel [10:21] svenlito has joined the channel [10:25] mraleph has joined the channel [10:25] adamt: how am i supposed to use the error thrown by cradle? it just throws a list with two objects, with both objects yielding undefined. [10:26] swistak has joined the channel [10:27] razvandimescu has joined the channel [10:29] razvandimescu: hello, i would like to get some data from a webservice every 1 minute and then dump the data into a mongodb. How can i run this "service" with node? ( don't need to create a http or net server, right) [10:29] SubStack: setInterval [10:29] __tosh has joined the channel [10:30] razvandimescu: what i want is basically agregator_server.getRequest("url",callback,100) [10:30] SubStack: and there's http.get or http.request or modules like request for making web requests [10:31] SamuraiJack_ has joined the channel [10:33] eventi_ has joined the channel [10:33] xla has joined the channel [10:34] razvandimescu: SubStack: thanks, where can i find more info about this (and on what object do i set the interval function? require('sys') or on what) [10:35] adamt: you can just do it directly in your main file [10:36] adamt: so, on the global object, or w/e it's called. [10:37] sveimac has joined the channel [10:38] jelveh has joined the channel [10:39] MattJ has joined the channel [10:42] SubStack: razvandimescu: http://nodejs.org/docs/v0.4.1/api/all.html#http.get [10:42] liquidproof has joined the channel [10:42] mike5w3c has joined the channel [10:43] SubStack: just setInterval(function () { http.get(...) }, 1000 * 60) [10:43] SubStack: or recursively use setTimeout if you wnat to protect against requests stacking up [10:48] visa has joined the channel [10:50] Xano has joined the channel [10:50] darshanshankar has joined the channel [10:51] masahiroh has joined the channel [10:54] Utkarsh has joined the channel [10:55] jetienne has joined the channel [10:56] pdelgallego has joined the channel [10:57] daglees has joined the channel [11:01] fusspawn has joined the channel [11:01] stylus: hi, got a small conceptual question. i'm slowly but surely writing a chat server as a Node.js familiarisation exercise. im at the point where i want to incorporate channels (just like on irc) - coming from Java, i want to write a channel class in a separate file and import it into the server code so that creating channels is achieved by: chan = new Channel(name, etc.); [11:02] Country has joined the channel [11:02] stylus: this doesn't seem like the right approach in javascript though - how would the same thing be achieved? [11:03] skm has joined the channel [11:03] pascalopitz: stylus: I think you could do a module if you wanted to [11:03] stagas: stylus: make a module that exports a constructor function and then var Channel = require('channel') [11:04] pascalopitz: or define the "class" in the same file [11:04] pascalopitz: var Channel = new function() {} [11:05] stylus: that makes sense. I was wondering whether i could use modules, thanks :) [11:05] pascalopitz: does it need to be evented? [11:06] markwubben has joined the channel [11:06] stylus: how do you mean? a channel would be created when someone issued a comand like 'join channel' to the server [11:06] pascalopitz: well, you can make modules emit events [11:06] pascalopitz: there's the EventEmitter in node.js [11:07] pascalopitz: you'll have to work with prototypes though [11:07] pascalopitz: if you implement that, you can do: [11:07] pascalopitz: c = new Channel() [11:07] pascalopitz: c.on('foo', function() {}); [11:07] pascalopitz: and in the channel you can: [11:08] pascalopitz: this.trigger('foo', data) [11:08] pascalopitz: like that you can let other modules subscribe to events [11:08] pascalopitz: ] [11:08] Juske has joined the channel [11:10] guille_ has joined the channel [11:10] guille_: hi [11:10] suckerpunch has joined the channel [11:10] guille_: which lightweight module do you recommend to serve static files on development? [11:11] pascalopitz: guille_: I only used the connect middleware [11:11] pascalopitz: ] [11:11] pascalopitz: stylus: https://gist.github.com/868022 [11:11] stylus: ah, interesting. still very new to this so i'll have to do some reading before i try to implement that. [11:12] stylus: cheers! [11:12] razvandimescu: how can i do an update to my installed node instance (0.2.6) [11:13] pascalopitz: guille_: http://senchalabs.github.com/connect/middleware-static.html [11:13] pascalopitz: raz: just recompile it, no? [11:13] pascalopitz: ./configure, make, sudo make install [11:14] razvandimescu: pascalopitz: thanks ( i was hoping more for a node --update kind of thing :)) [11:14] pascalopitz: npm might do it? [11:14] pascalopitz: I just always recompile it [11:15] dominictarr: doy you want to install a new node version? [11:15] dominictarr: or have you changed code? [11:15] saschagehlich: what is tmpvar's name here on irc? [11:16] mlncn has joined the channel [11:17] razvandimescu: pascalopitz: it seems npm only updates the installed "gems" [11:17] razvandimescu: i'll have to recompile [11:17] pascalopitz: gems ... hehe [11:18] pascalopitz: well, it ain't that bad ... pretty easy compilation ... unless you run an old linux kernel [11:18] pascalopitz: :( [11:18] V1 has joined the channel [11:19] eventi: razvandimescu: Check out nave, n, or nvm [11:19] guille_: pascalopitz: thx [11:19] pascalopitz: np [11:19] pascalopitz: guille_: if you're using express, connect is already under the hood [11:20] FireFly has joined the channel [11:20] guille_: i just installed it, base stuff + npm. amazed by the way how easy is to install deps [11:20] pascalopitz: yeah, node took me by surprise as well [11:21] pascalopitz: it's piss easy to create something that npm installs as well [11:21] pascalopitz: all you need is a package.json [11:22] pascalopitz: buy yeah, express is pretty good [11:24] guille_: pretty cool indeed, also the v8 engine seems fast and glueing together some native lib looks easy with its ffi. let's see where this goes :) [11:24] hobodave has joined the channel [11:25] JianMeng1 has joined the channel [11:25] pascalopitz: haven't looked under the hood ... me can do no C or C+ [11:26] Evet has joined the channel [11:26] Evet has joined the channel [11:27] stylus: pascalopitz: i basically copy/pasted your code into a file called Channel.js -- https://gist.github.com/868029 [11:28] pdelgallego_ has joined the channel [11:28] stylus: but when i run the program it cannot find Module. must i require 'module' or something? [11:28] pascalopitz: yes [11:28] pascalopitz: Channel = require('/path/to/file.js'); [11:29] Utkarsh_ has joined the channel [11:29] pascalopitz: or add the location to the include path [11:29] pascalopitz: http://jherdman.github.com/2010-04-05/understanding-nodejs-require.html [11:30] torgeir: anyone into macvim ? [11:31] frodenius: yep [11:31] pascalopitz: textmate here [11:31] stylus: pascalopitz: cheers, helpful link too :) [11:32] D000 has joined the channel [11:32] torgeir: I have a makefile that runs expresso tests on 'make', which works fine from the command line, but using :make from macvim i get no colors in the output ? [11:32] Lorentz has joined the channel [11:33] torgeir: its all "[32m100% 8 test", which I recon is the green 100% expresso gives when not run from macvim, any ideas? [11:35] pascalopitz has left the channel [11:38] foober2 has joined the channel [11:40] foober2_ has joined the channel [11:44] torgeir: :make from the original vim shows colors, though [11:47] ravens16 has joined the channel [11:49] d0k has joined the channel [11:50] Stan____ has joined the channel [11:53] V1: Argh markdown fail! [11:55] V1: nvm my fat fingers typed the wrong syntax -_- [11:56] JianMeng1 has left the channel [11:57] V1: guille_: ping [12:00] Wizek has joined the channel [12:02] yumike has joined the channel [12:03] Evet has joined the channel [12:04] Evet has joined the channel [12:10] kristsk has joined the channel [12:10] hemanth has joined the channel [12:12] guille_: V1: pong [12:13] pascalopitz has joined the channel [12:22] lukus has joined the channel [12:22] [[zzz]] has joined the channel [12:25] eventi has joined the channel [12:26] Juske has joined the channel [12:32] Max-Might has joined the channel [12:33] FireFly has joined the channel [12:34] mlncn has joined the channel [12:34] pastak has joined the channel [12:34] shiawuentan has joined the channel [12:36] torgeir: ngen's package.jsons have commas both in front and at the back of half its lines [12:39] torgeir: but I agree, the comma-in-front-of-object-literal-keys-style is intriguing [12:41] Utkarsh has joined the channel [12:42] Utkarsh__ has joined the channel [12:44] guille_: Does exist a reference like Mozilla's one for the V8 Ecma implementation? Or is it compatible up to some degree? [12:49] matjas has joined the channel [12:55] q_no has joined the channel [12:55] Max-Might has left the channel [12:55] MattJ has joined the channel [12:56] jamescarr has joined the channel [12:57] eyesUnclouded has joined the channel [13:02] jamescarr: I forget... isn't there someway to specify locations to search for modules from the environment variables? [13:02] konobi: require.paths [13:02] jamescarr: nah I know that [13:03] jamescarr: I mean, setup global paths for all scripts to look in [13:03] konobi: node or npm? [13:03] jamescarr: vs. a script by script or app by app basis with require.paths [13:03] jamescarr: npm... apparently where it currently puts modules isn't where node looks [13:04] jamescarr: I've been doing npm bundle installs but I'd like to get the global ones too [13:04] konobi: yeah... check the docs for .npmrc [13:04] jamescarr: ah I figured it out [13:05] jamescarr: my setup was just weird because I was using links for the current node version to use [13:05] jamescarr: (since I switch between them [13:05] fangel has joined the channel [13:05] sh1mmer has joined the channel [13:09] barrychapman has joined the channel [13:09] barrychapman: does anyone know of any problems with connecting to a node server with websocket from https to http? [13:09] barrychapman: it fails in all browsers except firefox [13:10] datenaoto has joined the channel [13:12] ravens16 has joined the channel [13:12] p0ns has joined the channel [13:22] piscisaureus has joined the channel [13:25] dgathright has joined the channel [13:25] V1: barrychapman: use the wss protocol instead of the default ws ? [13:26] sh1mmer has joined the channel [13:26] V1: guille_: nvm I already found the answer to my question, also list: https://github.com/joyent/node/wiki/ECMA-5-Mozilla-Features-Implemented-in-V8 <-- list of ECMA5 goodness in V8 [13:27] barrychapman: V1: where do i do that? in this case, the CLIENT is on SSL, the server is on port 80 [13:27] guille_: V1: thanks [13:28] V1: barrychapman: YOu just change your websocket url from ws://example.com:80/path/ to wss://example.com:80/path/ [13:29] jamescarr: any expresso users here? [13:32] V1: jamescarr: yup [13:32] jamescarr: let me pastebin real quick [13:33] shaunau has joined the channel [13:33] jamescarr: https://gist.github.com/868090 [13:34] jamescarr: any idea why the test for /post would spit this to the console when running expresso!? [13:34] jamescarr: uncaught: Error: ECONNREFUSED, Connection refused [13:34] jamescarr: at Client._onConnect (net.js:545:18) [13:34] jamescarr: at IOWatcher.onWritable [as callback] (net.js:164:12) [13:34] jamescarr: it's borderline frustrating... the /post url does work [13:35] real_ate has joined the channel [13:35] jamescarr: or maybe I should just continue my path of not TDD'ing my controllers :) [13:36] shaunau: because your listening on 3000 and its connecting to 80? [13:36] foober2 has joined the channel [13:36] jamescarr: son of a bitch [13:37] jamescarr: TJ shouldnt trick me out of the box like that ;) [13:37] DevX101 has joined the channel [13:37] V1: =p [13:37] jamescarr: with a default app that goes to 3000 and tests that go to 80 [13:37] jamescarr: :) [13:38] shaunau: i was guessing.. you should probably check if you havent [13:38] jamescarr: wait a second, I thought that it didnt matter? [13:38] jamescarr: I thought it tests against the server object directly? [13:39] jamescarr: "app" in this case [13:39] brianloveswords has joined the channel [13:40] jamescarr: yeah, it's not the port. because / works even when the title changes [13:40] jamescarr: I mean, it reflects the change [13:43] shaunau: maybe its related to the headers.. [13:43] barrychapman: V1: still not working, do i need to use wss if the node server is not running on ssl? [13:43] shaunau: i think i saw that the headers were coming out lowercase from one of those frameworks [13:43] NickP has joined the channel [13:43] jamescarr: no. but I give up... I'll just stick with test driving the domain layer [13:44] shaunau: if you have node 4.x stick a debugger statemement in there [13:44] mAritz has joined the channel [13:44] jamescarr: nah, that shit just isn't worth it. In my experience tests against controllers are pretty brittle anyway. I'll just run webdrive centric tests against the site [13:45] shaunau: ahuh [13:45] shaunau: still.. if it were me.. i'd wanna know why its not working [13:45] jamescarr: yeah me too... at the same time, I'm putting together a demo site for a friend to show this afternoon [13:45] jamescarr: so I'll just get it done and come back to it ;0 [13:46] shaunau: :) [13:46] shaunau: actually.. the error is connection error.. so the headers thing is prob not relevant [13:50] Gigawatt has joined the channel [13:52] barrychapman: anyone know? a case of beer for whomever helps me resolve this issue! [13:52] [[zz]] has joined the channel [13:52] fairwinds has joined the channel [13:56] m64253 has joined the channel [13:59] aho has joined the channel [13:59] Gigawatt: barrychapmen: whats the issue, i just come on [13:59] http402 has joined the channel [14:00] barrychapman: i am having a problem with websocket connecting to my server. My server runs on port 80, and i am connecting from SSL [14:00] barrychapman: when the client is NOT on SSL it is fine [14:01] floby has joined the channel [14:04] pascalopitz: is it actually possible to create a server that runs both, non-ssl and ssl? [14:05] pascalopitz: I'd assume that you'd have to create an instance each? [14:05] barrychapman: well our site runs in SSL only - but our chat server runs on port 80 [14:05] pascalopitz: would it be a big deal to create two instances? [14:06] pascalopitz: and bind them to two different ports? [14:06] barrychapman: well in theory yes [14:06] pascalopitz: what client are we talking? a browser? [14:06] barrychapman: yes [14:07] pascalopitz: well, normally the browser would expect 443, right? [14:07] pascalopitz: if, just for fun, you change the port to 443, does it work? [14:07] barrychapman: let me test that [14:08] Gigawatt: pascal, you got a min to help me? [14:08] barrychapman: it wont let me bind to port 443 [14:09] Gigawatt: is the address already in use ? [14:09] stylus: hi, given i have an array of client session IDs stored in a variable that i'd like to broadcast to (using the socket.io module) - what's the most efficient method of doing this? [14:09] Gigawatt: instead of require("http"); do require("https").createServer(callback) [14:10] Gigawatt: and then bind that to port 80 or 443 [14:10] barrychapman: well 443 is already listened on by apache [14:11] Gigawatt: so does apache handle your chat ? [14:11] pascalopitz: well, try ANY other port [14:11] pascalopitz: just not 80 [14:11] pascalopitz: ;) [14:11] barrychapman: i am on port 81 and same issue [14:11] prof-freud has joined the channel [14:12] pascalopitz: Gigawatt: what is the problem you need help with? [14:12] pascalopitz: barry: try 8889 or so? [14:12] floby: barrychapman: the OS doesn't allow unprivileged user to bind to ports <1024. maybe ? [14:12] pascalopitz: floby++ [14:12] v8bot: pascalopitz has given a beer to floby. floby now has 2 beers. [14:13] barrychapman: thats not the issue floby, its because its an SSL to non-SSL connection [14:13] pascalopitz: whow, does it actually track beers? [14:13] kawaz_air has joined the channel [14:13] pascalopitz: barry: you got a pastie of where you instanciate the server? [14:13] barrychapman: my offer still stands, a case of beer to whomever resolves this issue [14:13] barrychapman: and its not fake beer either [14:13] sh1mmer has joined the channel [14:14] barrychapman: yes [14:14] tanepiper: oh nice: https://github.com/zpao/v8monkey [14:14] pascalopitz: url? [14:14] Gigawatt: pascalopitz: see this http://pastebin.com/LNB0nYYf [14:15] dve has joined the channel [14:15] pascalopitz: yeah, ok [14:15] pascalopitz: is that barries? [14:15] pascalopitz: barry's [14:15] pascalopitz: ? [14:15] floby: barrychapman: I sort of missed the beginning of your explanation. is it only a binding issue or is it browser-side ? [14:15] pascalopitz: then you're right: require("https") not require("http") [14:15] shaunau: barry - the client is asking for https and your doin http [14:16] kawaz_air has joined the channel [14:16] barrychapman: k hang on [14:16] pascalopitz: ACTION is facepalming [14:16] pascalopitz: LOL [14:16] Gigawatt: this was the test i set up, to testweather it works: http://pastebin.com/LNB0nYYf [14:16] pauls has joined the channel [14:18] Gigawatt: pascaloptiz: and it works fine, but in my application it does not inherit. http://pastebin.com/CKiBNghq [14:18] barrychapman: i do not think that is the issue though [14:18] barrychapman: hang on [14:19] unomi has joined the channel [14:22] Utkarsh has joined the channel [14:22] barrychapman: wait - isnt this going to be a problem since i dont have an ssl cert for the hostname it is connecting to? [14:23] Gigawatt: have you not created the certs [14:24] Gigawatt: barrychapman: http://www.silassewell.com/blog/2010/06/03/node-js-https-ssl-server-example/ [14:26] sourcode has joined the channel [14:26] barrychapman: can i create shared certs for use? i have private cert from comodo for our standard site [14:27] Gigawatt: pascalopitz: any look with my issue ? [14:28] mbrochh has joined the channel [14:28] Horofox has joined the channel [14:31] eaton has joined the channel [14:31] barrychapman: flashsocket connects fine from http to https [14:31] barrychapman: its just websocket that fails [14:31] pascalopitz: Gigawatt: I am not sure I understand the issue ... [14:32] pascalopitz: sorry, I am a bit slow [14:32] jelveh has joined the channel [14:32] floby: barrychapman: Doesn't socket.IO handle secure websockets? [14:33] barrychapman: i do not know [14:33] jetienne: barrychapman: i am interested by the result. if you succeed, please ping me [14:33] barrychapman: i will [14:33] jetienne: thx [14:33] floby: barrychapman: I'm afraid not actually. but that would be useful [14:34] barrychapman: i dont understand why it has to be secure websockets because its going to non ssl from ssl [14:36] D000 has joined the channel [14:36] pascalopitz: Gigawatt: this code works for me alright [14:37] shaunau: Gigawatt - have you used the debugger to step over the code and print the objecs before inherits? [14:37] floby: barrychapman: I Thought it was the other way around. Let me check in my project, I think I did something similar to your case once [14:38] shaunau: barry - if the client wants a secure connection adn you cant provide one.. what do you think should happen? [14:39] DevX101 has joined the channel [14:39] shaunau: going from if the client asked for http and you provided https then thats ok.. [14:40] Gigawatt: pascalopitz: it just does not combine the objects in my prototype 'd listener, the method from the baseController does nto go to the UserControlelr [14:40] floby: yes, since the rest of the website, can't you provide the chat over HTTPS as well ? [14:40] Gigawatt: shaunau: i can't get the debugger to work on my code, for some reason it just runs and i can't step through the project! [14:41] shaunau: Gigawatt - did you start it with node debug appname [14:41] shaunau: and put the debugger line in? [14:42] shaunau: i love the built in debugger :) [14:43] Gigawatt: yea [14:43] Gigawatt: node-inspector & [14:43] Gigawatt: node --debug app start [14:43] shaunau: Gigawatt - are you using 4.x? [14:44] sh1mmer has joined the channel [14:44] Gigawatt: i get the gui on 0.0.0.0/?port5858 but i can't step [14:44] Gigawatt: 4.2 yea [14:44] forest has joined the channel [14:44] Gigawatt: fresh install 2 days ago [14:44] shaunau: nah stuff that - use the built in one and the command line [14:44] shaunau: very easy [14:45] barrychapman: floby: thanks [14:45] shaunau: at line 21 put the word: debugger [14:45] Gigawatt: hold on its working now :0 [14:45] floby: Gigawatt: why 0.0.0.0 I usually go to localhost and also I use --debug-brk [14:45] barrychapman: floby: i am not sure, it would require us getting another cert for the chat server [14:45] shaunau: then start you code with: node debug appname [14:46] floby: barrychapman: can't you use the same one as the website ? [14:46] floby: barrychapman: it's an web chat server isn't ? [14:46] barrychapman: well the chat server runs on a different subdomain [14:46] barrychapman: chat.xxx.com versus www.xxx.com [14:46] floby: barrychapman: snap [14:47] barrychapman: huh? [14:47] floby: barrychapman: what if your cert is for only xxx.com. I'm really not sure about that, but maybe it'd work for subdomains as well [14:48] tanepiper: you need to get a wildcard cert [14:48] barrychapman: yeah id need wildcard [14:48] barrychapman: which is like... $799 [14:48] floby: barrychapman: oh, right... [14:50] tanepiper: http://www.startssl.com/?app=2 [14:50] eventi: godaddy's like $199/yr [14:50] eventi: for wildcard cert [14:53] ako has joined the channel [14:53] nyholt has joined the channel [14:54] Kingdutch has joined the channel [14:55] Gigawatt: is there any sort of caching going on, even after a server restart ? [14:55] Lorentz: godaddy's a cert authority? [14:55] Gigawatt: becuase the debugger is showing [14:55] Gigawatt: baseController: function () { //Models,loaders etc } [14:55] Gigawatt: but the actual file does not have those comments any more ? [14:55] Gigawatt: it has a single method called base [14:56] Lorentz: Ah, so they are, it seems [14:56] eventi: Lorentz: they are - though secondary [14:56] eventi: you may have to chain certs on some http servers [14:56] msucan- has joined the channel [14:58] barrychapman: where are my pem keys stored? [14:58] barrychapman: ill just move my chatserver to www [14:58] barrychapman: or do i have to generate them? [14:59] chrisb_ has joined the channel [15:00] chrisb_: a [15:05] eventi: hey - is there a way in the process.on('uncaughtException' ... handler to so a stack trace? [15:07] shaunau has joined the channel [15:07] kkaefer: is there a berkeley db implementation for node? [15:08] shaunau: barry - are you showing the user a url that says https in the browser location bar and then connecting to http via a websocket within the page? [15:08] shaunau: barry - are you showing the user a url that says https in the browser location bar and then connecting to http via a websocket within the page? [15:09] shaunau: whoops [15:11] JusticeFries has joined the channel [15:12] kkaefer: eventi: console.trace() [15:12] Sorella has joined the channel [15:13] schonyo has joined the channel [15:13] eventi: kkaefer: thanks - that tells me it was EventEmitter.emti() :) [15:14] kkaefer: eventi: https://github.com/tlrobinson/long-stack-traces might be interesting for you too [15:14] sh1m has joined the channel [15:14] eventi: yeah - kkaefer I was just lookign at that - you use it? [15:14] kkaefer: I use a modified version on node-sqlite3 [15:14] eventi: ah - ok - thanks again [15:15] vandenoever has left the channel [15:16] Astro has joined the channel [15:17] eventi: can someone please document mongodb-native? please? [15:17] squeeks: eventi: patches welcome [15:18] eventi: squeeks: you know why I'd get an error calling db.open(function(err,db) {...}); ? [15:19] squeeks: ... err got some more details? pastebin your code and the output. [15:19] eventi: but no error with db.open(function() {...} ); [15:19] eventi: I just need to know what the callback is supposed to take [15:20] squeeks: err, it's suppose to take two. [15:20] eventi: from the blog.js in examples, if looks like (err,db) [15:20] MrTopf has joined the channel [15:21] henrikh has joined the channel [15:22] henrikh: I have some questions regarding WebSockets and server load [15:23] eventi: but from the error, it looks like it thinks one of those is a callback - getting "TypeError: object is not a function" [15:23] squeeks: err is the callback iirc [15:24] eventi: oh weird [15:24] henrikh: I'm concerned with the performance impact of updating clients with information using WebSockets. I'm figuring that Node will have to keep a connection open to the clients, but what is the upper limit on the amount of connections? [15:24] maushu has joined the channel [15:24] squeeks: henrikh: whatever your OS's networking stack is set to. [15:25] lupomontero has joined the channel [15:25] squeeks: untweaked linux/bsd can hold a few thousand, do some work to it and you can easily do > 10k [15:25] eventi: what node really needs is another error handling pattern [15:25] perlmonkey2 has joined the channel [15:25] fayce has joined the channel [15:26] eventi: ACTION is being sarcastic [15:27] JusticeFries: hmm [15:27] JusticeFries: websockets support UDP, yeah? [15:28] squeeks: websockets are TCP. [15:29] adambeynon has joined the channel [15:30] zachsmith has joined the channel [15:31] hemanth: whats wrong with http://codepad.org/nVhhFIhB ? [15:32] squeeks: henrikh: no comma after "google.com" [15:33] henrikh: squeeks: sorry? [15:33] floby has joined the channel [15:33] squeeks: err, hemanth. [15:33] squeeks: autocomplete. [15:35] V1: floby & barry & jetinne socket.io was recently updated with HTTPS support so it should just work fine with the latest version [15:35] hemanth: squeeks, TypeError: Object # has no method 'request' :( after comma [15:35] eyesUnclouded has joined the channel [15:35] floby: V1: does it include WSS:// ? [15:36] V1: floby: yes [15:36] floby: V1: awesome [15:36] floby: V1: thanks [15:37] squeeks: hemanth: pastebin the entire code and the entire output from the error. [15:37] zachsmith: hemanth: also, you're killing your request as soon as it's created [15:38] foober2 has joined the channel [15:38] hemanth: http://codepad.org/84YAliFi with error squeeks [15:38] sveisvei has joined the channel [15:38] hemanth: zachsmith, you mean i need to have a wait till the request is completed? the event loop must take care ...no? [15:39] zachsmith: wait till the response is done [15:39] zachsmith: oh [15:39] zachsmith: wait [15:39] zachsmith: nope [15:39] zachsmith: sorry [15:40] hemanth: np [15:40] hemanth: Object # has no method 'request' means http has no request...hmm [15:40] hemanth: var http = require('http'); that fine, right? [15:40] hemanth: /that/that's [15:41] squeeks: err, yah. [15:41] hemanth: not able to figure out :( [15:41] stepheneb has joined the channel [15:42] hemanth: http.createClient() needed ? [15:42] squeeks: hemanth: get into the node repl and run console.log( require('http')); [15:42] squeeks: if that doesn't give you back a great big stinking object, your node install is hosed. [15:43] MrTopf has joined the channel [15:43] V1: or you are not using the latest version ----^ [15:45] pHcF has joined the channel [15:45] hemanth: STATUS_CODES: and other were printed in repl squeeks [15:46] hemanth: V1 v0.2.6 [15:46] possibilities has joined the channel [15:46] V1: update to v0.4.2 [15:46] V1: v0.2.6 is sooo 1995 [15:46] hemanth: ok! [15:47] kevinliu has joined the channel [15:49] vipaca has joined the channel [15:49] vipaca has joined the channel [15:49] mhausenblas has joined the channel [15:49] nonnikcam has joined the channel [15:50] hemanth: did make -j 4 on a dual core, duh! [15:51] brianloveswords has joined the channel [15:53] datenaoto has joined the channel [15:56] modular has joined the channel [15:57] sh1mmer has joined the channel [15:58] boogyman has joined the channel [15:58] henrikh has left the channel [15:58] hemanth: thank you squeeks,V1 and zachsmith [15:58] hemanth: works like cake with latest version [15:59] hemanth: any suggestions/links for parsing with node.js ? [15:59] [[zz]] has joined the channel [15:59] vipaca has joined the channel [15:59] vipaca has joined the channel [16:00] squeeks: parsing what? [16:00] hemanth: webpage [16:01] fusspawn: use the dom libs for node combined with jquery? [16:01] adamb has joined the channel [16:01] hobodave has joined the channel [16:01] adamb has left the channel [16:01] HerrTopf has joined the channel [16:02] hobodave has joined the channel [16:02] hobodave has joined the channel [16:02] eyesUnclouded has joined the channel [16:03] prof-freud has joined the channel [16:06] rfay has joined the channel [16:11] real_ate has joined the channel [16:12] eyesUnclouded has joined the channel [16:14] hemanth: squeeks, HTTP client with node.js ? [16:14] adamt has joined the channel [16:16] davidwalsh has joined the channel [16:18] herbySk has joined the channel [16:22] unomi has joined the channel [16:24] luke`_ has joined the channel [16:25] vipaca has joined the channel [16:26] fangel has joined the channel [16:27] Xano has joined the channel [16:27] sh1mmer has joined the channel [16:28] mAritz: how would i best clone an object in node.js? is there nothing in ecma 5 to do this? [16:30] modular has left the channel [16:31] V1: JSON.parse(JSON.stringify( object )) [16:31] davidascher has joined the channel [16:32] mAritz: V1: hah, i just thought about doing that 5 minutes ago. but isn't that horribly slow? [16:32] V1: Yes it probably is, but it would destroy the references to the other object's properties [16:33] mAritz: V1: yeah, it also has the problem that it doesn't work if the object contains functions. (which in my case it will) [16:34] V1: mAritz: true, so you want a deep copy or a shallow copy? [16:35] mAritz: deep [16:35] mAritz: slowness isn't a problem though as it's only called on app startup [16:36] V1: mAritz: I would just copy the extend function from jQuery than [16:36] V1: which can do a deep copy [16:36] V1: https://github.com/jquery/jquery/blob/master/src/core.js#L290-352 [16:37] mAritz: *off to the code-steal-o-mobile!* [16:37] mAritz: :D [16:37] mAritz: thanks [16:37] V1: and do something like var obj = jQuery.extend(true,{},objectToClone)' [16:37] timmywil has joined the channel [16:38] mAritz: yep :) [16:42] notostraca has joined the channel [16:43] mAritz: jesus christ, they're using tabs [16:43] Hello71 has joined the channel [16:43] Hello71 has joined the channel [16:44] kevinliu has joined the channel [16:44] lupomontero has joined the channel [16:45] kdridi has joined the channel [16:46] pz_f has joined the channel [16:46] pz_f: Anyone here can aid me, can't install the node-proxy package via npm [16:49] razvandimescu has joined the channel [16:52] c4milo1 has joined the channel [16:56] softdrink has joined the channel [16:56] floby: pz_f: what error does it give you ? [16:57] pz_f: floby: one sec [16:58] sh1mmer has joined the channel [16:58] pz_f: floby: http://pastie.org/1667204 [17:01] timmywil has joined the channel [17:01] langworthy has joined the channel [17:02] floby: pz_f: works on my machine but I've got a sudon't npm config. this looks like a $PATH problem except for line 8 [17:02] floby: pz_f: what does `which node-waf` give? [17:03] floby: just a min [17:03] pz_f: Ok [17:05] tjholowaychuk has joined the channel [17:07] fabian has joined the channel [17:07] zachsmith: is there a way to use/simulate weak references in node? [17:08] ph^_ has joined the channel [17:10] lupomontero: hi guys, i've been looking into implementing modules in C++. To get started I wrote an oversimplistic hello world example and though I'd share: http://lupomontero.e-noise.com/blog/writing-node-js-modules-in-cpp [17:12] jelveh has joined the channel [17:13] c4milo1 has left the channel [17:14] marcosvm has joined the channel [17:15] colinsullivan has joined the channel [17:16] zachsmith: lupomontero: very cool [17:16] lupomontero: zachsmith: thanks dude [17:17] pz_f: floby: [root@Z-Terminal local]# which node-waf [17:17] pz_f: /home/pz/local/node/bin/node-waf [17:17] d0k has joined the channel [17:18] jblanche has joined the channel [17:19] floby: pz_f: is it in your $path ? [17:19] floby: silly question [17:19] floby: it must be [17:19] floby: but I got to go unfortunately [17:19] floby: sorry [17:19] pz_f: floby: Np [17:21] jblanche: Hi guys, I'm having troubles with npm I just updated my node version from 0.2.5 to 0.4.2, I wanted to update npm too but I get the following error https://gist.github.com/868273 [17:21] jblanche: the npm ERR! Requires: node@0.4 || 0.5 You have: node@v0.4.2 looks kinda weird no ? [17:22] brianloveswords has joined the channel [17:25] Horofox has left the channel [17:25] dguttman has joined the channel [17:28] DEVX_ has joined the channel [17:28] eyesUnclouded has joined the channel [17:28] sh1mmer has joined the channel [17:29] jblanche: ok, I guess backward compatibility was the problem, I updated npm with 'curl http://npmjs.org/install.sh | sh' and everything looks OK [17:30] devrim has joined the channel [17:31] vipaca has joined the channel [17:32] jetienne: jblanche: which package did you try to install [17:33] jblanche: I tried to upgrade npm with 'npm install npm' when I was having an error [17:34] jblanche: But everything is OK now with node 0.4.2 and npm 0.3.15 [17:34] jetienne: "node": "0.4 || 0.5" :) [17:34] jetienne: jblanche: this is npm package which contain this [17:34] jetienne: jblanche: and this bug with semver [17:35] jetienne: do "nmod install npm", i dont check those things :) [17:35] jblanche: yes looks like the old version of npm did not consider 0.4.2 as a 0.4 version [17:37] jblanche: what's nmod ? some kind of new npm ? [17:37] davidascher: any recommendations for a node.js helper library to do recursive directory copying? [17:38] davidascher: i see wrench.js for example [17:40] unlink has joined the channel [17:40] unlink has joined the channel [17:41] Max-Might has joined the channel [17:41] tjholowaychuk has joined the channel [17:42] blueadept has joined the channel [17:43] strmpnk has joined the channel [17:44] muk_mb has joined the channel [17:46] adamt has joined the channel [17:46] lupomont_ has joined the channel [17:47] jblanche: OK nmod install packages and dependencies in the current folder if I understand well, it's kinda like 'bundle package' in ruby I guess [17:50] Evet has joined the channel [17:50] forest has joined the channel [17:50] fusspawn has joined the channel [17:50] jetienne: jblanche: node_modules is the new way to handle package since node 0.4 [17:51] aphelion has joined the channel [17:51] aphelion has joined the channel [17:51] jetienne: jblanche: you installed nmod ? [17:51] gazumps has joined the channel [17:51] jblanche: I just did [17:52] jblanche: no we should not use npm at all and always bundle our dependencies for each project ? [17:52] jetienne: btw put the nick of the person you talk with in the message, it makes it easier to answer [17:52] jetienne: jblanche: not sure at all [17:53] jetienne: jblanche: just saying that node_modules is how package are discovered in node now. [17:53] tjholowaychuk has joined the channel [17:53] tjholowaychuk: jblanche; yeah you kinda might as well\ [17:53] tjholowaychuk: a side from dev deps [17:53] tjholowaychuk: which should just be git submods IMO [17:54] jetienne: tjholowaychuk: with nmod, im considering a pure git install... not yet finalized on how to do it tho [17:55] tjholowaychuk: jetienne: yeah I just took a look, would be nice to have something that supports your package.json [17:55] tjholowaychuk: as well as something like [17:55] tjholowaychuk: "visionmedia/express": "some-git-sha" [17:55] tjholowaychuk: in the deps [17:55] tjholowaychuk: to grab the github tarball [17:55] maushu has joined the channel [17:55] fermion has joined the channel [17:55] tjholowaychuk: sometimes it is annoying to use npm [17:55] razvandimescu has joined the channel [17:55] tjholowaychuk: you have to publish a patch-level just to try something out or w/e [17:56] jetienne: tjholowaychuk: you would do by gitsha ? i was thinking about git tag. seems more natural as version handler [17:56] jblanche: ok, I think i get it right, I can install the libs i'm using in multiple projects in a upper folder of my different projects [17:56] tjholowaychuk: or if you have private stuff you just... cant [17:56] tjholowaychuk: jetienne: either [17:56] tjholowaychuk: the state of private stuff sucks right now though [17:56] tjholowaychuk: using npm for our learnboost repo sucks haha [17:56] tjholowaychuk: ive had days where i couldnt even work on our app due to issues with npm [17:56] jetienne: true there is the private/public arguement too [17:57] muk_mb has joined the channel [17:57] tjholowaychuk: wish we stuck to git submods [17:57] tjholowaychuk: npm is close, but not quite there [17:57] lupomontero has joined the channel [17:57] jetienne: tjholowaychuk: ok [17:58] Horofox has joined the channel [17:58] Horofox: anybody using jade? [17:58] tjholowaychuk: Horofox: yup [17:58] tjholowaychuk: whats up [17:58] Horofox: how do i create a hyperlink and where's a good resource to learn it? [17:58] tjholowaychuk: Horofox: the readme covers most of it [17:58] adamt: a(href="bleh") hello linky [17:58] Horofox: wow, it's tjholowaychuk! [17:58] sh1mmer has joined the channel [17:58] tjholowaychuk: Horofox: a(href='url') text [17:58] tjholowaychuk: adamt: beat me to it! [17:58] tjholowaychuk: haha [17:59] adamt: yeah i'm a real pro at this [17:59] Horofox: tjholowaychuk: Your screencasts are awesome : ) [17:59] adamt: or something. [17:59] tjholowaychuk: Horofox: ahaha, im always in here (mon-fri at least) took monday off so im working today [17:59] tjholowaychuk: Horofox: thanks man [17:59] tjholowaychuk: hope to have more soon [17:59] tjholowaychuk: now that I have real screencast software [17:59] tjholowaychuk: no more 5 min screencasts haha [18:00] adamt: i like the place you uploaded your screencasts, no crappy youtube, yay. [18:00] tjholowaychuk: adamt: screenr? [18:00] tjholowaychuk: adamt: it is really rad, but limits you to 5 minutes [18:00] Horofox: screenr is awesome, good quality [18:00] adamt: oh ok. [18:00] tjholowaychuk: 10 would be great, 5 is always a rush haha [18:00] adamt: i was just surpriced to see something assembly "hd" that was actually stream-able [18:01] tjholowaychuk: i asked them to increase it but no dice :( [18:01] adamt: *assembling [18:01] pdelgallego_ has joined the channel [18:01] pdelgallego has joined the channel [18:01] matschaffer has joined the channel [18:02] pz_f: Does nowjs and express function well together? [18:02] tjholowaychuk: pz_f: no clue [18:02] tjholowaychuk: havent tried [18:02] pz_f: I have an app using socket.io and express and I suddenly needed nowjs and my socket.io fires twice on start-up [18:02] tjholowaychuk: pz_f: sounds like it *should* work with anything [18:02] tjholowaychuk: hmm [18:03] pz_f: Well tj you might be able to help me, I have an array on the serverside and I need to access it's contents from a client-side js [18:03] pz_f: I might be able to do it without nowjs, I do not hold the knowledge on how to do it though [18:03] sstephenson: re: git shas in package.json - you can specify a github tarball url as an npm dependency, e.g. "express": "https://github.com/visionmedia/express/tarball/d867cc9" [18:04] tjholowaychuk: sstephenson: that works with npm right now? [18:04] adamt: pz_f: can't you just transform it to json? [18:04] sstephenson: yup [18:04] tjholowaychuk: nice! [18:04] tjholowaychuk: much better [18:04] sstephenson: i use it with npm bundle to lock to a specific rev of uglifyjs [18:05] pz_f: adamt: What good will that do? [18:05] tjholowaychuk: good to know [18:05] sstephenson: since the author never pushes updates to npm [18:05] tjholowaychuk: haha [18:05] tjholowaychuk: yeah its a big PITA sometimes, releasing JUST for npm [18:05] tjholowaychuk: prematurely just because our app needs something quick [18:05] sstephenson: yeah. would be cool if you could put a git url in there too [18:05] guybrush: git-url + branch-name [18:05] guybrush: or git-ref [18:06] guybrush: would be awesome [18:06] tjholowaychuk: yeah I would like to see "visionmedia/express": "d867cc9" expand to that [18:06] guybrush: right! [18:06] adamt: pz_f: json is rather easy to send to the client, that's what you could do with it [18:06] tjholowaychuk: but then again sometimes the names differ [18:07] tjholowaychuk: maybe "express": "visionmedia/express sha" [18:07] steph021 has joined the channel [18:07] atiti has joined the channel [18:07] pHcF has joined the channel [18:08] liar has joined the channel [18:08] pz_f: adamt: I shall try it. [18:11] jelveh has joined the channel [18:11] lupomont_ has joined the channel [18:12] V1: pz_f: If you just send a array to Socket.IO it will automagically be transformed to JSON and decoded on the client side. [18:13] pz_f: V1: Alright, using the regular .send from socket.io ? [18:13] dve has joined the channel [18:15] dve: anyone answer that? I got d/c'ed [18:15] V1: pz_f: I was wrong, it only does that automatically with objects, a [18:15] pz_f: V1: Well I just realised nowjs sits on top of socket.io so now I have to remove my socket.io implementation and replace it with the nowjs one [18:15] adamt: dve: no question reached the channel :) [18:15] V1: but just doing a JSON.stringify on the server and a JSON.parse on the client would probably solve that.. [18:15] dve: haha [18:15] dve: evening all.... how do I open a previously created nStore database? [18:15] pz_f: V1: Got a link that could provide me with some info on that? [18:16] V1: pz_f: The socket.io-node internals arent that well documented yet. But when you call the .send method of a client it will run the messages through the .encode method: https://github.com/LearnBoost/Socket.IO-node/blob/master/lib/socket.io/utils.js#L22-30 [18:17] V1: but the encode method also accepts an array, as it will see that as multiple messages.. [18:17] pz_f: V1: Ok thanks mate. [18:18] eb4890 has joined the channel [18:18] piscisaureus has joined the channel [18:18] pz_f: V1: That's probably how nowjs performs to send data from one side to the other [18:19] pz_f: V1: Although it's made in a simplified matter [18:19] guille_: does express use connect under the hood for middleware? [18:19] insin has left the channel [18:20] tjholowaychuk: guille_: yup [18:20] rachel has joined the channel [18:20] adamt: guille_: https://github.com/visionmedia/express#readme first line. ;) [18:21] V1: pz_f: nowjs uses it's own message parser [18:21] razvandimescu: i'm doing a http request with node and i have a function, on 'data' that adds data to a string. The question is, how can i know when there is no more data to receive? [18:22] hosh_work has joined the channel [18:22] guille_: adamt: dammit :), thx [18:22] V1: razvandimescu: the 'end' event [18:23] tjholowaychuk: guille_: Connect was derived from old Express "Plugins" [18:23] tjholowaychuk: vastly changed since then of course [18:23] maushu has joined the channel [18:23] tjholowaychuk: but yup [18:23] Horofox: Damn I hate being a n00b but... let's say I want to render 'index.jade' and pass the "book" variable, how do i create a link in jade that goes to "/:book/new"? [18:24] Horofox: I can't get jade for real, does the syntax really look like haml? [18:24] Horofox: I've used html my whole life : | [18:24] guille_: tjholowaychuk: ok thanks, i'm turning mad with all the options available [18:24] tjholowaychuk: guille_: haha understandable [18:24] jetienne: tjholowaychuk: for pure git, the sha1 version needs a branch, while the tag doesnt [18:24] jetienne: tjholowaychuk: do you see an issue with tag (about to code it, today or tomorrow) [18:25] tjholowaychuk: Horofox: you could just do something like Book.get(req.params.book blah blah [18:25] tjholowaychuk: Horofox: and then res.render('book'', { book: book }) [18:25] gerad: Horofox: a( href: "/" + book + "/new" ) my link to a new boo [18:25] tjholowaychuk: Horofox: and then a(href='/' + book.id + '/new') Whaterver [18:25] tjholowaychuk: yeah that should be fine [18:25] softdrink has joined the channel [18:25] Horofox: gerad and tjholowaychuk: yea that's it! [18:25] Horofox: : ) [18:26] softdrink has joined the channel [18:26] razvandimescu: V1: is there a list of events for this objects? [18:26] softdrink has joined the channel [18:27] msch has joined the channel [18:27] hlindset has joined the channel [18:27] hlindset has joined the channel [18:29] razvandimescu: V1: found it, thanks a lot [18:30] forest has joined the channel [18:33] mhausenblas has joined the channel [18:36] raphdg has joined the channel [18:46] springmeyer has joined the channel [18:46] pcardune has joined the channel [18:48] nodenoob has joined the channel [18:48] springmeyer has left the channel [18:49] nodenoob: why why why http://pastebin.com/5Esa2hrg [18:52] Evet_ has joined the channel [18:52] V1: Mabye because you close the connection before the data is saved? [18:53] V1: close the connection in your .save callback? [18:54] TheFuzzball has joined the channel [18:54] suckerpunch has joined the channel [18:55] nodenoob: oh man [18:55] nodenoob: gotta get used to asynchronicity [18:55] nodenoob: that worked. thanks. [18:56] nodenoob: thank you, thank you V1 [18:56] patcito has joined the channel [18:56] V1: =p [18:56] forest has joined the channel [18:57] exitdescription has joined the channel [18:57] pt_tr_ has joined the channel [18:58] pz_f: Anyone know why [18:58] pz_f: http://pastie.org/1667548 [18:59] pz_f: At the index I get submit a value then pass it down to my other page in post, when I pass it to Sys I get the value inside but I can't use it [18:59] dgathright has joined the channel [19:00] Phyllio has joined the channel [19:00] Ond has joined the channel [19:02] charlenopires has joined the channel [19:04] DEVX__ has joined the channel [19:06] msch has joined the channel [19:06] warz has joined the channel [19:07] rudebwoy has joined the channel [19:08] Me1000 has joined the channel [19:10] V1: pz_f: add quotes? Sys(<%= user %>) => Sys('<%= user %>') so the Sys function will receive a string, and a variable ;)? [19:10] V1: and not a variable* [19:12] pz_f: V1: Hmm I was doing Sys(String(...)) [19:13] V1: That's not what your code example says :) [19:13] pz_f: V1: Then I messed up and did "'"+var+"'"... [19:13] pz_f: V1: Yeah I'm mixing up languages right now... thanks [19:14] pz_f: V1: Thanks again, think I need to inject coffee into my brain soon [19:15] V1: =p [19:15] f1lt3r_ has joined the channel [19:19] ryanfitz has joined the channel [19:21] Wizek has joined the channel [19:21] msch_ has joined the channel [19:21] dyer has joined the channel [19:25] ceej has joined the channel [19:26] akellehe has joined the channel [19:27] akellehe: Hey guys. [19:27] Guest59207 has joined the channel [19:27] eb4890 has joined the channel [19:27] akellehe: How is everyone today? [19:28] jbpros has joined the channel [19:28] Ond: Not bad [19:28] akellehe: Good to hear. [19:28] f1lt3r_: akellehe, good here, working on a cool sockets.io http server for social webapps [19:29] totonex: Hello, i am a total noob, can i ask questions here? [19:29] akellehe: Oh, that's pretty rad. [19:29] Ond: What kind of webapps [19:29] Ond: Yeah, totonex [19:29] totonex: Thank you. [19:29] f1lt3r_: webapps that share a global application state [19:29] matschaffer has joined the channel [19:30] Ond: This community is pretty laissez, ask away [19:30] Ond: Ah, filt3r, that narrows it down [19:30] akellehe: How is sockets.io? [19:30] totonex: I have used PHP on the server-side, but the way people are introduced to PHP is skipping over implementation details. Using node.js as both server and server-side script would help me understand how everything works. [19:30] f1lt3r_: which is stored in couch, so when the server starts back up the application is in the same place you left it [19:30] f1lt3r_: i really like sockets.io so far [19:30] Ond: socket.io is great [19:30] Ond: But I've taken to SubStack's project on top of socket.io, DNode [19:31] akellehe: How is the compatibility? [19:31] Ond: Opera support is not great but V1 here has half a mind to change that [19:31] Ond: (And I hope he does) [19:31] V1: Yes I am, I talked to rauchg with it, and I'll start development of a new transport on monday [19:31] jbpros: Does someone tried and managed to run cucumber features against a node.js app? [19:32] Ond: Great, v1! [19:32] akellehe: I started getting into the websockets API from the HTML5 spec before it got 'put on hold' [19:32] akellehe: haha [19:32] jbpros: Did someone try...? [19:32] matschaffer has joined the channel [19:32] Utkarsh_ has joined the channel [19:33] f1lt3r_: akellehe, http://50.56.84.219/ -- update the contenteditable area [19:33] totonex: I would like to ask if there is anyone who would wish to waste 10 minutes of his time trying to explain me some things, i'd rather not use the main chat. [19:33] Ond: Sure [19:33] Riichard has joined the channel [19:33] f1lt3r_: click of the editable in the windoe to send [19:33] suckerpunch has joined the channel [19:33] totonex: thanks ! [19:33] msch_ has joined the channel [19:34] Riichard: <3 websocket [19:34] saikat has joined the channel [19:34] akellehe: Does anyone live in NYC and want to come chat at a the NYC JavaScript group? [19:34] akellehe: Give a talk, I mean. [19:34] akellehe: IM me if you're interested. [19:35] tim_smart has joined the channel [19:40] nyholt has joined the channel [19:41] eb4890 has joined the channel [19:43] TomY has joined the channel [19:43] TomY_ has joined the channel [19:44] brapse has joined the channel [19:44] suckerpunch has joined the channel [19:45] zemanel has joined the channel [19:46] zemanel has joined the channel [19:47] mynyml has joined the channel [19:50] astropirate has joined the channel [19:51] kuhrt: Doesn't look like marcello3d is here, is anyone else familiar with node-mongolian? I'm not clear on how to work with _id fields on documents, for instance how to use the objectId() function found on mongo cl [19:53] boaz has joined the channel [19:53] barrychapman has joined the channel [19:53] prettyrobots has joined the channel [19:53] richcollins has joined the channel [19:54] marcosvm has joined the channel [19:56] skm has joined the channel [19:57] MrTopf has joined the channel [19:57] prettyrobots: Does node-mysql by felixge support SSL? [19:59] brianloveswords has joined the channel [19:59] eventi has joined the channel [20:00] losing has joined the channel [20:01] c4milo1 has joined the channel [20:01] SetupLy has joined the channel [20:04] V1: Finally! It's done, completed the JSDoc integration in the Socket.IO client.. JSDoc parse errors made my eyes bleed :( [20:06] msch has joined the channel [20:06] kriszyp has joined the channel [20:06] D000 has joined the channel [20:07] mnbvasd: does anyone know how often v8 does garbage collection, or if it does it depending on load? [20:07] void_ has joined the channel [20:11] tjholowaychuk: mnbvasd: pretty sure it has some intelligence based on the heap usage [20:11] tjholowaychuk: not just some ad hoc interval [20:12] V1: You can use dtrace probes to find out when the GC is happening in your application [20:12] mnbvasd: V1: if I can use dtrace ;) [20:13] isaacs has joined the channel [20:13] mnbvasd: I was doing a load test, increasing memory usage by ~ 1MB/20 seconds using about 10% cpu time... it didn't seem to do any GC until I finished. [20:15] sivy has joined the channel [20:15] Utkarsh has joined the channel [20:15] dominic_ has joined the channel [20:16] felixge has joined the channel [20:16] felixge has joined the channel [20:16] felixge: tjholowaychuk: hi [20:16] tjholowaychuk: hey hey [20:16] felixge: tjholowaychuk: do you know if connect-static has been optimized for performance? [20:16] felixge: I'm getting 200-300ms response times on images locally [20:16] felixge: the images are ~300kb [20:17] felixge: from the looks of the code it seems like you just stream.pipe() ? [20:17] tjholowaychuk: felixge: a side from the range / conditional get support etc all it really does is pipe [20:17] tjholowaychuk: yeah [20:17] felixge: hmm ... that would mean that node's file i/o or piping sucks : ) [20:17] tjholowaychuk: yup :D [20:17] felixge: also concurrency seems to be bad [20:17] felixge: first file takes ~300ms to load [20:17] felixge: the next takes 1.1s [20:17] felixge: :) [20:17] tjholowaychuk: yikes [20:18] felixge: when trying to load both at once [20:18] felixge: yeah, it looks really weird [20:18] felixge: tjholowaychuk: do you know if sendfile() is working? [20:18] Hello71 has joined the channel [20:18] Hello71 has joined the channel [20:18] tjholowaychuk: not positive, I think tim smart was using it, but I also heard some people had issues as well [20:19] maushu has joined the channel [20:19] felixge: tim_smart: can you comment on sendfile() ? [20:19] tjholowaychuk: I used use readFile() before it used the fs.ReadStream [20:19] tjholowaychuk: based on a threshold and it was a bit faster [20:19] tjholowaychuk: but [20:19] tjholowaychuk: now that is just ReadStream as well [20:19] felixge: tjholowaychuk: btw. I'm writing a little productivity tool called node-screendiary right now, takes a screenshot every X seconds and allows you to review the whole day via a slick interface on top of express :) [20:20] tjholowaychuk: nice ! [20:20] tjholowaychuk: that's cool, OS? [20:20] felixge: tjholowaychuk: OSX initially [20:20] felixge: man screencapture [20:20] felixge: makes it really easy [20:20] Utkarsh_ has joined the channel [20:20] tjholowaychuk: slick, didnt know about that [20:20] felixge: but I'll let people contribute other os bindings for the screenshot taking if they like [20:20] felixge: yeah, neither did I [20:21] tjholowaychuk: oOoO very cool [20:21] tjholowaychuk: might put that to use some day [20:23] tjholowaychuk: to bad you cant specify dimensions [20:23] tjholowaychuk: or clipping etc [20:23] tjholowaychuk: oh well [20:23] pz_f: ImageMagick? [20:23] totonex has joined the channel [20:23] tjholowaychuk: yeah definitely could pass it through something like that [20:23] Utkarsh has joined the channel [20:24] pz_f: I dunno I use it at work with ActivePerl, I have no idea if it could be of use [20:24] msch has joined the channel [20:24] pz_f: I'm such a damn noob with node though atm haha... [20:26] dgathright has joined the channel [20:27] Evet has joined the channel [20:27] throughnothing has joined the channel [20:28] jimt_ has joined the channel [20:29] titus has joined the channel [20:29] pcardune has joined the channel [20:30] prettyrobots: felixge: Does the MySQL library support SSL? [20:30] dgathright has joined the channel [20:30] titus has joined the channel [20:31] pz_f: Anyone with socket.io knowledge can answer a few of my questions pm me [20:31] felixge: prettyrobots: no, but it should be easy enough to change [20:31] gwoo has joined the channel [20:31] prettyrobots: Is there a ticket for it? [20:31] stagas_ has joined the channel [20:31] prettyrobots: Or plans anywhere to reviews? [20:31] prettyrobots: review? [20:32] prettyrobots: I mean, have you done any groundwork that I could look at? Maybe its something I can contribute. *maybe* [20:32] gwoo has joined the channel [20:32] totonex has joined the channel [20:34] kixxauth has joined the channel [20:36] dominic_ has joined the channel [20:37] jetienne has joined the channel [20:38] Evet_ has joined the channel [20:39] prettyrobots: felixge: You'd have to add the TLS handshake. [20:40] felixge: prettyrobots: oh ... I was hoping I just have to tell node "use tls" :) [20:40] felixge: prettyrobots: anyway, no plans / ticket for it yet [20:40] prettyrobots: Can Node.js do a handshake on an unencrypted stream. All I can see from the docs is "tls" which appears to initiate handshake at the outset. [20:40] felixge: prettyrobots: I'd love to help if you want to do it so [20:40] kevinliu has joined the channel [20:41] felixge: prettyrobots: not sure, I don't know ssl very well [20:41] prettyrobots: felixge: At first glance, it looks like Node.js would have to have a smarter tls implementation. [20:41] prettyrobots: Or more versitle. Sorry, not smarter. Node.js is plenty smart. [20:43] prettyrobots: Hmm... [20:44] otaku_coder has joined the channel [20:44] prettyrobots: There's a lot going on in TLS. Looks like its a layer on top of other streams or something, which would be a nice way to do this. [20:45] prettyrobots: "tls" [20:45] felixge: I think the new API is supposed to be flexible [20:45] felixge: but I haven't used it much [20:45] JojoTheBoss has joined the channel [20:45] felixge: ryan would probably be able to give you some hints [20:45] richardhodgson has joined the channel [20:46] otaku_coder: hi, having an issue with jade and local javascript files. I have a standard express project layout, with stylesheets in public/stylesheets/style.css and scripts in /public/javascripts/script.js . my stylesheets load fine with a href='/stylesheets/style.css' but my scripts aren't loading with the equivalent src path. I can't see in the node logs where its trying to find the file [20:47] tjholowaychuk: otaku_coder: can I see a gist of your config? [20:47] tjholowaychuk: sounds funky [20:47] tjholowaychuk: script(src='/javascripts.script.js') should be fine [20:47] tjholowaychuk: whoops [20:48] tjholowaychuk: script(src='/javascripts/script.js') [20:48] otaku_coder: script(type='text/javscript', src='happy.js') is what i have [20:48] dnolen has joined the channel [20:48] tjholowaychuk: well you need /javascripts in there [20:49] tjholowaychuk: just like you have for the stylesheets [20:49] otaku_coder: i did, and it didnt work [20:49] tbranyen: jvascript [20:49] tbranyen: javscript* << this doesn't look quite right :-p [20:49] otaku_coder: however, i just removed the type attribute and it now suddenly works [20:49] tbranyen: because your type was incorrect [20:49] tjholowaychuk: otaku_coder: oh, haha yeah you have a typo [20:50] tjholowaychuk: didnt see that [20:50] tjholowaychuk: text/tjscript [20:50] otaku_coder: doh! [20:50] otaku_coder: thanks [20:50] Evet__ has joined the channel [20:51] otaku_coder: wierdly, i had that same typo in my google CDN call to jquery, and that worked fine [20:51] tbranyen: otaku_coder: client side? [20:51] zachsmith: is there a way to count the number of references to an object from javascript? [20:51] otaku_coder: tbranyen: yes [20:52] tbranyen: otaku_coder: browsers interpret the attribute differently [20:52] SetupLy has left the channel [20:52] zylo has joined the channel [20:52] otaku_coder: tbranyen: but if it worked with a remote hosted file, then surely the same would work for a local js file? [20:53] tbranyen: otaku_coder: i dunno the content-type from the cdn might have influenced the script execution [20:53] tbranyen: script tags with incorrect type attributes shouldn't execute [20:54] otaku_coder: tbranyen: fair enough [20:54] brianloveswords has joined the channel [20:54] razvandimescu has joined the channel [20:54] dominic_ has joined the channel [20:54] tbranyen: thats my guess at least heh [20:54] Croms_ has joined the channel [20:54] pz_f: Anyone with socket.io knowledge can answer a few of my questions pm me [20:55] tbranyen: pz_f: might be better off just asking [20:55] dominic_ has joined the channel [20:56] pz_f: tbranyen: Hmm well, I was wondering if it was possible to do something like socket.emit('customEvent') and on the client side do socket.on('customEvent', func...{}) [20:56] pz_f: Cause on each connection I push into an array the connected client, but I have no idea how to access the array on the client side [20:57] Evet has joined the channel [20:57] tbranyen: pz_f: yeah you won't want to send that array since it contains objects that have circular references [20:57] tbranyen: can't be serialized to json [20:58] tbranyen: might be better to use an object hash map pointing a token to a client and sending down the tokens so you can look them up ? [20:58] tbranyen: instead of an array [20:58] sh1mmer has joined the channel [20:58] tbranyen: then to get an array of all the connected clients you could do Object.keys( clients ) or something [20:59] dnolen has joined the channel [20:59] tbranyen: as for the emitting, i don't think that will work, since socket.io is normalizing the events it emits to work across different connection methods [20:59] tbranyen: its not a 1:1 [20:59] pz_f: tbranyen: I'm lost now haha... [21:00] tbranyen: pz_f: why do you want the clients array on the client side? [21:00] pz_f: The stuff I store inside my array atm are simple strings [21:00] tbranyen: 17:01 < pz_f> Cause on each connection I push into an array the connected client, but I have no idea how to access the array on the client side [21:00] pz_f: I want to have a list of currently connected people [21:01] pz_f: By "Connected client" I don't mean the client object from socket.io, I meant regular info I get from a submitted form prior to connecting [21:02] tbranyen: pz_f: ah okay gotcha, might be beneficial to keep a reference to that as well [21:02] tbranyen: easier to do private messaging with that [21:02] razvandimescu: i'm getting this error when trying to install the native mongodb for nodejs driver(Error: One argument required - number. [21:02] razvandimescu: at Object. (/usr/local/lib/node/.npm/mongodb/0.9.1/package/external-libs/bson/test_bson.js:25:23) [21:02] razvandimescu: what might be the problem? [21:02] teemow has joined the channel [21:02] pz_f: tbranyen: Does js provide pointers? [21:03] tbranyen: pz_f: no, but it has types that are only passed by reference [21:03] pz_f: tbranyen: I only have experience with c++ on the qt framework and perl programming, networking really isn't my cup of tea [21:03] isaacs: pz_f: not really. objects (including arrays and functions) have identity and are passed by ref. all others are passed by val. [21:03] tbranyen: isaacs: functions are passed by value not reference [21:03] tbranyen: arrays, objects, and host objects are passed by reference [21:04] isaacs: v8: function a(){} ; function b (argA) { return a === argA }; b(a) [21:04] v8bot: isaacs: true [21:04] isaacs: tbranyen: functions are passed by reference. [21:04] pz_f: Ok so how should I proceed? Let's say I have a simple array that changes depending on connections and disconnections and that I want to display it in a page? [21:04] isaacs: tbranyen: functions are objects. [21:04] forest_ has joined the channel [21:04] tbranyen: isaacs: you just compared values not reference? [21:04] isaacs: tbranyen: i mean, they refer to the same object. [21:04] tbranyen: isaacs: so are numbers [21:05] isaacs: tbranyen: that's not the same thing. when you compare numbers, you're comparing values. here's another test: [21:05] dve has joined the channel [21:05] Astro has joined the channel [21:05] isaacs: v8: function a(){} ; function b (argA) { argA.foo = "bar" }; b(a) ; a.foo [21:05] v8bot: isaacs: "bar" [21:05] tbranyen: v8: var a = function() {}; b=a; b.name = 'lol'; a.name [21:05] v8bot: tbranyen: "" [21:05] isaacs: v8: function a(){} ; function b (argA) { argA.foo = "bar" }; x = "foo" ; b(x) ; x.foo [21:05] v8bot: isaacs: SyntaxError: Unexpected token ILLEGAL [21:05] tbranyen: v8: var a = {}; b=a; b.name = 'lol'; a.name [21:05] v8bot: tbranyen: "lol" [21:05] tbranyen: ^^ isaacs you can see the difference right there [21:06] tbranyen: functions are passed by value which you have been illustrating [21:06] isaacs: tbranyen: no, that'sj ust because "name" is read-only [21:06] pz_f: Guys focus on my issue haha xD [21:06] tbranyen: ... [21:06] isaacs: tbranyen: qv: [21:06] tbranyen: v8: var a = function() {}; b=a; b.expandoTest = 'lol'; a.expandoTest [21:06] v8bot: tbranyen: "lol" [21:06] tbranyen: welp [21:06] tbranyen: this is fracturing my knowledge of js [21:06] tbranyen: sec [21:06] isaacs: v8: a = {}; Object.defineProperty(a, "name", {value:"foo", writable:false}); b = a; b.name="bar"; [a.name, b.name] [21:06] v8bot: isaacs: ["foo","foo"] [21:07] mscdex: heh [21:07] mscdex: v8bot++ [21:07] v8bot: mscdex has given a beer to v8bot. v8bot now has 17 beers. [21:08] astropirate has joined the channel [21:08] isaacs: if functions weren't passed by reference, then you'd have huge problems setting prototypes! [21:08] jetienne: mscdex: :) [21:09] tbranyen: isaacs: yeah that makes sense, could have sworn arrays/objects were the only types [21:09] isaacs: well, it's actually only Objects. [21:09] isaacs: functions ARE Objects. [21:09] isaacs: v8: function a(){}; a instanceof Object [21:09] v8bot: isaacs: true [21:09] isaacs: see? ^ [21:10] tbranyen: nah not what i meant [21:10] tbranyen: sure all js types are objects [21:10] isaacs: no [21:10] tbranyen: but there is a distinct difference between a literal object and a function object [21:10] isaacs: v8: "asdf" instanceof Object [21:10] v8bot: isaacs: false [21:10] isaacs: tbranyen: only objects are objects. Booleans, strings, and numbers are different. [21:10] isaacs: they can be *cast* to objects [21:11] isaacs: which is what happens when you do "asdf".length [21:11] pz_f: W3schools puts strings and arrays under the object category [21:11] isaacs: w3schools is on a mission to destroy understanding. [21:11] jetienne: v8: typeof new Boolean(true) [21:11] v8bot: jetienne: "object" [21:11] isaacs: they are evil. actual evil. [21:11] pz_f: Well that's good to know I based myself on it [21:11] tbranyen: isaacs: i don't think you can operate on just primatives in JS [21:11] Minos has joined the channel [21:11] jetienne: :) dont mess with js. no good for you :) [21:11] isaacs: tbranyen: what do you mean "operate on" [21:11] isaacs: ? [21:11] tbranyen: isaacs: do anything with [21:12] mscdex: node.js rules! [21:12] tbranyen: any operator will invoke a cast [21:12] isaacs: tbranyen: you can do *some* things with them [21:12] isaacs: tbranyen: not all casts are to object [21:12] isaacs: tbranyen: for instance: [21:12] isaacs: v8: 8 + "7" [21:12] v8bot: isaacs: "87" [21:12] isaacs: v8: 8 + (+7) [21:12] v8bot: isaacs: 15 [21:12] isaacs: v8: 8 + (+"7") [21:12] v8bot: isaacs: 15 [21:12] isaacs: lots of casts and operations that are just between primitives [21:12] jetienne: v8: 8 + "09" [21:12] v8bot: jetienne: "809" [21:12] isaacs: v8: !!0 instanceof Object [21:12] pz_f: ^The f is was that ... hah [21:12] v8bot: isaacs: false [21:12] jetienne: v8: 8 + "07" [21:13] v8bot: jetienne: "807" [21:13] jetienne: v8: 8 + "7" [21:13] v8bot: jetienne: "87" [21:13] tbranyen: isaacs: if you eff with the String.valueOf and then do that +"15" cast wonder if it would screw up [21:13] tbranyen: er prototype valueOf [21:13] isaacs: v8: String.prototype.valueOf = function () { return 10000 }; 8 + (+"7") [21:13] v8bot: isaacs: 15 [21:13] isaacs: nope. [21:13] isaacs: v8: String.prototype.valueOf = function () { return 10000 }; 8 + (+new String("7")) [21:13] v8bot: isaacs: 10008 [21:13] Ian_Corne has joined the channel [21:13] kriszyp has joined the channel [21:14] isaacs: +string is a direct cast from a string primitive to a number primitive. [21:14] jetienne: v8: ",,," == new Array(4); [21:14] v8bot: jetienne: true [21:14] isaacs: +new String() calls the String#valueOf [21:14] tbranyen: interesting [21:14] tbranyen: yeah [21:14] isaacs: jetienne: yeah, casting to string is super high priority for some reason [21:14] isaacs: v8: new Array(4) == ",,," [21:14] v8bot: isaacs: true [21:15] isaacs: no one ever said JS was sane. that's why it's so important to understand its quirks, since they make not a lot of sense. that's why w3schools is the most evil thing in software. [21:15] isaacs: seriously, i have a lot of disdain for that site. if the owners had any shred of decency, they'd just take it down. [21:15] mscdex: v8: ie-754 [21:15] v8bot: mscdex: ReferenceError: ie is not defined [21:15] pz_f: Well it was nice to read all of this [21:15] mscdex: heh [21:16] isaacs: pz_f: :) [21:16] tbranyen: isaacs: heh good thing they do more than js [21:16] tbranyen: hard to find a better resource for quick css at the top of google [21:16] pz_f: I still don't know what I should do though [21:16] isaacs: tbranyen: no, it's bad! they do DAMAGE to more than js! [21:16] mscdex: v8: typeof NaN [21:16] v8bot: mscdex: "number" [21:16] mscdex: :P [21:16] isaacs: tbranyen: css has just as many quirks as js, probably more, and w3schools gets THOSE wrong, too! [21:16] davidascher has joined the channel [21:16] tbranyen: isaacs: i was part of the w3fools movement thing, but! i can't deny i use it for css occasionally [21:16] isaacs: just don't trust it. [21:16] isaacs: check everything they say. [21:17] tbranyen: well yea [21:17] littke has joined the channel [21:17] pz_f: They try explaining in an over-simplistic matter so it's bound to skip things [21:17] isaacs: after doing that for a while, i realized that, since i had to check what w3schools said anyway, i was better off just not going there. [21:17] isaacs: and investigating myself [21:17] kixxauth: v8: (function () { return 2 + 2; }).toString() [21:17] v8bot: kixxauth: "function () { return 2 + 2; }" [21:17] isaacs: pz_f: no, more often than not, they don't skip over things, they cover them with a huge amount of incorrect information. [21:17] kixxauth: ^^ Try that in spider monkey [21:17] tbranyen: yeah was just gonna say kixxauth [21:18] tbranyen: you can't trust toString on functions since it differs per implementation [21:18] isaacs: pz_f: if you tried really hard to do significant damage to the global understanding of webdev technology, you'd have a hard time doing a better job than w3schools has done. [21:18] tbranyen: kixxauth: and toSource doesn't help either [21:18] isaacs: they're doing active harm. [21:18] mscdex: v8: 9999999999999999 [21:18] v8bot: mscdex: 10000000000000000 [21:18] kixxauth: you'll get "function () { return 4; }" [21:18] mscdex: :P [21:18] tbranyen: kixxauth: yes spidermonkey optimizes [21:18] pz_f: isaacs: I see you hate them with a passion [21:19] jetienne: mscdex: but this one is true in all languages [21:19] pz_f: isaacs: How about proposing me a route for my issue with such vigor please :) [21:19] isaacs: pz_f: read the ES5 spec. [21:19] tbranyen: ha... oh god [21:19] isaacs: pz_f: seriously, it's not as intimidating as it seems, and you'll learn a lot, even if you dont' retain it all at once, you'll remember where things are defined. [21:19] isaacs: same with the CSS spec. [21:19] tbranyen: you aren't anybody in the js community unless you've read the es5 spec [21:19] isaacs: once you get past the definitions and crap, it's very straightforward. [21:20] piscisaureus has joined the channel [21:20] possibilities has joined the channel [21:20] isaacs: tbranyen: there's a reason for that! along with the various HTTP rfc's, imo, it should be taught in schools! [21:20] isaacs: like, highschools [21:20] davidwalsh has joined the channel [21:20] isaacs: a requirement for graduation in a modern information-age society [21:20] pz_f: isaacs: I will read it, but can you answer me on this: [21:20] pz_f: Ok so how should I proceed? Let's say I have a simple array that changes depending on connections and disconnections and that I want to display it in a page? [21:20] tbranyen: isaacs: heh i should have known about the function reference, so perhaps i should read it as well [21:21] isaacs: ok [21:21] pz_f: I'm pushing usernames down an array and I want to display it's content on the page [21:21] isaacs: res.write(JSON.stringify(theArrayOfStuff)) ? [21:21] tbranyen: well he's using socket.io [21:21] isaacs: oh, ok [21:21] tbranyen: so you'd want to iterate an array of clients and send the array [21:22] tbranyen: it'll auto stringify [21:22] mscdex: better hope your array of clients doesn't get very big [21:22] mscdex: :p [21:22] isaacs: well, it'll JSONs stringify, and then parse it on the client [21:22] pz_f: What if it does? [21:22] tbranyen: right [21:22] mscdex: deleting from big arrays can be slow [21:22] pz_f: Yeah but I think db access would be slower? [21:22] muhqu has joined the channel [21:22] Phyllio has joined the channel [21:22] isaacs: pz_f: why are you using an array for this? why not an object with a key for each client? [21:23] mscdex: at least use a linked list if nothing else [21:23] mscdex: :p [21:23] isaacs: or, if you have to get super fancy, a linked list or something, but that's way more complicated :) [21:23] mscdex: nah [21:23] pz_f: isaacs: Well I come from perl and QT and I started doing js a few days ago so I'm glad you propose me a more sensible way of proceeding [21:23] mscdex: linked list is easy [21:23] isaacs: honestly, i'd recommend doing it with an array first, then when it matters, doing it with an object or linked list or something [21:24] mscdex: or you could go all out and use a b+tree! [21:24] isaacs: you have to feel pain to understand why it's painful :) [21:24] mscdex: :D [21:24] pz_f: I have coded a linkedlist in c++ with pointers [21:24] brianloveswords has joined the channel [21:24] tbranyen: use javascript generators if you wanna be even more dope [21:24] pz_f: tbranyen: Taking it in note [21:25] mscdex: var node = function(data) { this.next = null; this.data = data; } [21:25] mscdex: then create new instances of node and assign .next as necessary [21:25] mscdex: bam [21:25] tbranyen: does v8 even have generators/iterators? [21:25] tbranyen: i know its js 1.7 [21:26] pz_f: tbranyen: Ok so the array I will send, I will use socket's send() method to do it? [21:26] tbranyen: yea [21:26] pz_f: tbranyen: Cause the thing is [21:26] pz_f: tbranyen: I'm starting to have a lot of code in the on.('message') listener [21:26] tbranyen: break it out into functions or something then [21:27] pz_f: Ok so everything really gets piped inside that send method huh... [21:27] pz_f: Thought I could create my own events [21:27] tbranyen: its a sugarcoated socket [21:27] tbranyen: you get send/receive [21:28] tbranyen: you should be able to write your own wrappers to make it flexible [21:28] pz_f: Alright thanks mate. [21:28] Spion__ has joined the channel [21:28] dominic_ has joined the channel [21:28] AbtinF has joined the channel [21:28] AbtinF: howdy [21:29] tbranyen: yeah node doesn't appear to have iterators, generators, etc. [21:29] AbtinF: I'd like to list my company on the node.js wiki projects and applications page [21:29] tbranyen: bummer [21:29] ryah: AbtinF: go for it [21:29] AbtinF: wanted to know if there is any process before i do that - didnt want to just edit the page willy nilly [21:29] tbranyen: well i should say v8 [21:29] AbtinF: @ryah: great, thanks [21:30] AbtinF: I'm going to add a link to our startup, wompt.com [21:30] harth has joined the channel [21:30] AbtinF: a chat service [21:36] Stan____ has left the channel [21:36] littke has joined the channel [21:37] boaz has joined the channel [21:37] dnyy has joined the channel [21:38] sivy has joined the channel [21:38] dominic_ has joined the channel [21:39] foober2 has joined the channel [21:41] foober2_ has joined the channel [21:45] briznad has joined the channel [21:49] jlewis has left the channel [21:49] muk_mb has joined the channel [21:51] mape: Anyone here have any experience with graph databases? [21:53] ParadoxQuine has joined the channel [21:55] adamt has joined the channel [21:55] devrim has joined the channel [21:56] ParadoxQuine: is there any easy way to incude a stylus file in my jade file and have evrything get rendered properly automatically by my server.js? [21:58] adamt has joined the channel [21:59] Hello71 has joined the channel [21:59] Hello71 has joined the channel [22:01] eb4890 has joined the channel [22:01] dgathright has joined the channel [22:02] pcardune has joined the channel [22:04] D000_ has joined the channel [22:07] davidcoallier has joined the channel [22:11] secoif has joined the channel [22:12] pauls: question: I'm getting a strange error [22:12] pauls: 127.0.0.1 - - [Sun, 13 Mar 2011 22:11:10 GMT] "GET /javascript/jquery.clicknscroll.v1.0.js HTTP/1.1" 200 1247 "http://localhost:3001/share/photo/asdfas" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_6; en-us) AppleWebKit/533.19.4 (KHTML, like Gecko) Version/5.0.3 Safari/533.19.4" [22:12] pauls: node.js:63 [22:12] pauls: throw e; [22:12] pauls: ^ [22:12] pauls: 13 Mar 18:11:10 - [ERROR] Error [22:12] pauls: Error: Offset is out of bounds [22:12] pauls: at Stream._writeImpl (net:300:14) [22:12] pauls: at Stream._writeOut (net:732:25) [22:12] pauls: at Stream.write (net:665:17) [22:12] pauls: at ServerResponse.write (/usr/local/lib/node/.npm/connect/0.5.7/package/lib/connect/middleware/gzip-proc.js:46:28) [22:12] pauls: at ServerResponse.end (/usr/local/lib/node/.npm/connect/0.5.7/package/lib/connect/middleware/gzip-proc.js:51:25) [22:12] pauls: at /Users/paul/Sites/piqtr/node/server.js:249:13 [22:12] pauls: at doRead (fs:59:11) [22:12] pauls: at fs:88:7 [22:12] tbranyen: pauls: pastebin stuff longer than 2 or 3 lines :) [22:12] pauls: eep sry [22:13] tbranyen: common irc netiquette [22:13] pauls: sry, i managed to avoid irc for most of my life lol [22:14] pauls: http://pastebin.com/zmfvndMy [22:14] pauls: strange err -- any one seen something like it? [22:17] skm has joined the channel [22:18] briznad has joined the channel [22:18] hornairs has joined the channel [22:18] adamt: tried disabling the gzip middleware to see if that's to blame? [22:18] pauls: adamt: worked! [22:19] adamt: yeah well, you still have to figure out why the gzip-middleware makes it blow up :) [22:21] darshanshankar has joined the channel [22:22] markwubben has joined the channel [22:24] teemow has joined the channel [22:25] ParadoxQuine: is there any easy way to incude a stylus file in my jade file and have evrything get rendered properly automatically by my server.js? [22:27] pauls: adamt: it was blowing up because one of my js files was an empty file [22:27] pauls: sounds like a bug to me [22:28] pauls: *posting on github* [22:33] tbranyen: waf under cygwin seems to be compiling my node module as 32bit but is linking a 64bit version of kernel32.dll [22:33] tbranyen: do i need to specify g++ to compile it explicity as 32bit or something? [22:39] pz_f has joined the channel [22:39] themiddleman has joined the channel [22:39] yibter has joined the channel [22:44] nonnikcam has joined the channel [22:44] skohorn has joined the channel [22:45] Twelve-60 has joined the channel [22:47] briznad has joined the channel [22:47] marcosvm has joined the channel [22:49] marcosvm has joined the channel [22:50] eyesUnclouded has joined the channel [22:52] SetupLy has joined the channel [22:54] spaceinvader has left the channel [22:54] zorzar has joined the channel [22:55] Validatorian has joined the channel [22:55] ossareh has joined the channel [22:56] srid has joined the channel [22:56] srid has joined the channel [22:58] Draggor: SubStack: when's the next version getting pushed to npm? [22:58] swistak has joined the channel [22:59] rfay has joined the channel [22:59] ajpiaNOU has joined the channel [22:59] reflectiveSingle has joined the channel [23:00] langworthy has joined the channel [23:01] dgathright has joined the channel [23:01] SetupLy: I have string '\u001f10.42.43.10\u0000\u0000\u0000\u0000\u0000' how to remove all unicode chars ? [23:02] floby has joined the channel [23:03] barrychapman has joined the channel [23:03] SubStack: Draggor: as soon as isaacs resets my account [23:03] SubStack: seems to have gotten all buggered up [23:03] Draggor: whoops [23:04] isaacs has joined the channel [23:05] zachsmith: SetupLy: they are all unicode characters, aren't they? [23:05] Wizek has joined the channel [23:06] stagas: SetupLy: maybe you just want to extract the ip? [23:06] SetupLy: Yes [23:06] ParadoxQuine: anyone know how i can tell jade to compile my html files to /public like i can with stylus? [23:07] langworthy has joined the channel [23:07] SetupLy: zachsmith: and IP? [23:07] __tomb has joined the channel [23:07] stagas: SetupLy: var ip = string.split('\u0000')[0].substr(1) [23:08] stagas: or you can use indexOf [23:08] stagas: lots of ways [23:08] isaacs: SubStack: hey, your npm acct is busted? [23:08] forest has joined the channel [23:08] zachsmith: SetupLy: is the string a mongodb ObjectId? [23:09] isaacs: SubStack: email i@izs.me from the address on your acct and I'll reset it. your account is this: http://registry.npmjs.org/-/user/org.couchdb.user:substack [23:09] SubStack: ok! [23:09] saikat has joined the channel [23:09] SubStack: oh bugger, that email is forwarded to my gmail account [23:10] SubStack: but maybe I can invoke some trickery [23:10] SubStack: I'll get your response anyway if it's sent to mail@substack.net [23:10] SetupLy: zachsmith: no. stagas: thanks [23:10] barrychapman: anyone know how to set up an ssl server using an existing key for my website? [23:12] barrychapman: i am following this article: http://www.silassewell.com/blog/2010/06/03/node-js-https-ssl-server-example/ [23:12] barrychapman: but i already have a cert on my site for ssl [23:12] barrychapman: can i use that existing one? [23:12] D000_ has joined the channel [23:13] mape has joined the channel [23:13] Utkarsh has joined the channel [23:13] SubStack: oh sweet, gmail revamped their "send as" stuff [23:13] isaacs: SubStack: yeah, you can just add it as an account. [23:13] isaacs: and gmail verifies it, so if i see it came directly from google's servers, then that's as good as if it came from your server [23:13] isaacs: imo [23:14] SubStack: yep, did that [23:14] isaacs: hm.... not seeing it yet. [23:14] SubStack: sent [23:14] isaacs: ah, there it i [23:14] isaacs: s [23:15] isaacs: okie dokie, it is reset. [23:15] isaacs: npm adduser, use "substack" as the name [23:15] SubStack: \o/ [23:16] Utkarsh_ has joined the channel [23:16] SubStack: Username: (09����) [23:16] SubStack: o_O [23:16] isaacs: yeah, delete any auth stuff out of the .npmrc file. [23:16] isaacs: or just don't acept the defaults, that's fine, too [23:16] froak has joined the channel [23:17] pauls: adamt: https://github.com/visionmedia about a minute ago | link [23:17] pauls: the gzip middleware has been removed, it was to buggy [23:17] SubStack: hooray, it works! [23:17] SubStack: isaacs++ [23:17] v8bot: SubStack has given a beer to isaacs. isaacs now has 11 beers. [23:17] SubStack: Draggor: ok the new bigint is published with your patches [23:18] Draggor: \o/ [23:18] isaacs: SubStack: btw, http://github.com/cliftonc/npm-users [23:18] isaacs: reviewing this now [23:18] isaacs: cliftonc++ [23:18] v8bot: isaacs has given a beer to cliftonc. cliftonc now has 1 beers. [23:18] SubStack: nifty [23:21] user___ has joined the channel [23:21] Draggor: SubStack: woo I tested the npm install, it works! [23:21] jiveB has joined the channel [23:22] SubStack: hooray! [23:25] micheil has joined the channel [23:27] user___ has left the channel [23:29] barrychapman has joined the channel [23:30] Utkarsh_ has joined the channel [23:30] richardhodgson has joined the channel [23:33] [[zz]] has joined the channel [23:33] dguttman has joined the channel [23:36] eyesUnclouded has joined the channel [23:37] yibter has joined the channel [23:37] Epeli has joined the channel [23:39] eee_c has joined the channel [23:43] DevX101 has joined the channel [23:44] ParadoxQuine: anyone mind giving me some help getting express+jade+stylus set up correctly? [23:48] kosty_ has joined the channel [23:50] DevX101 has joined the channel [23:52] astropirate: ParadoxQuine, what's not working? [23:52] dgathright has joined the channel [23:52] ParadoxQuine: well i just figured out setting enable: true makes the compiler middleware work....was looking for docs on what fields i had to set to get that working [23:53] ParadoxQuine: my last task is to import my css file into my html file (by adding the import to the jade source file) [23:53] ParadoxQuine: and i'm not finding an example of that [23:53] jiveB has joined the channel [23:54] ParadoxQuine: i think i just found one in the nested filters example by coincidence [23:55] fisted_ has joined the channel [23:56] ParadoxQuine: nope, got a compile error: unknown filter stylesheets [23:56] tbranyen: i've about given up on compiling and linking a shared c project in windows [23:56] tbranyen: fuck windows andits needless complexities [23:56] ParadoxQuine: :) [23:57] ParadoxQuine: yea how do i add include like css and js files to my jade templates [23:59] lastk has joined the channel