[00:01] blueadept: yeah if that's by Issacs i'd go with it [00:02] michaelhartau has joined the channel [00:02] illsci_ has left the channel [00:03] tvw has joined the channel [00:04] CiRlE has joined the channel [00:04] piscisaureus_ has joined the channel [00:07] jetienne has joined the channel [00:07] lyte_ has joined the channel [00:10] toopay has joined the channel [00:10] ph^ has joined the channel [00:10] jldbasa has joined the channel [00:13] prettyrobots has joined the channel [00:13] CarterL has joined the channel [00:13] criswell has joined the channel [00:14] justmoon has joined the channel [00:15] k1ttty_ has joined the channel [00:16] satyr has joined the channel [00:18] k1ttty__ has joined the channel [00:18] dthompso991 has joined the channel [00:19] gwoo has joined the channel [00:19] gwoo has joined the channel [00:20] k1ttty has joined the channel [00:24] megalomix has joined the channel [00:24] megalomix: hello [00:24] megalomix: can i declare a variable and export it in the same line ? [00:25] megalomix: like: var myVar = exports = function() { ... } [00:25] megalomix: ? [00:26] megalomix: is it possible? [00:26] jaitaiwan has joined the channel [00:27] devaholic: yes [00:27] megalomix: var myVar = exports = function() <--- correct? [00:28] megalomix: no..doenst work [00:29] megalomix: var myFunc = exports.myFunc = function(fr){ [00:29] megalomix: works [00:29] megalomix: :) [00:32] joshkehn has joined the channel [00:32] joshkehn has left the channel [00:33] lyte has joined the channel [00:35] k1ttty has joined the channel [00:37] ryanfitz has joined the channel [00:38] don_jones: "`make install` is not implemented yet. Bug bnoordhuis about it in #node.js" [00:38] don_jones: whats the alternative? [00:38] maxogden: don_jones: checkout latest tag [00:38] maxogden: instead of HEEAD [00:38] maxogden: HEAD* [00:39] megalomix: guys, is there a trim() function in JS ? [00:40] don_jones: maxogden: ah, thanks [00:40] k1ttty_ has joined the channel [00:40] Me1000 has joined the channel [00:42] mike5w3c has joined the channel [00:44] johnnywengluu has joined the channel [00:44] dual3nigma has joined the channel [00:44] timbl: hmmm npm install libxmljs fails on mac [00:45] dual3nigma: hi [00:45] timbl: make: scons: No such file or directory [00:45] isaacs: timbl: how'd you install node? [00:45] tommyvyo has joined the channel [00:46] isaacs: timbl: oh, nvm, you need to install scons [00:46] isaacs: timbl: maybe `brew install scons` or `port install scons`? [00:46] maxogden: timbl: thanks for the internet [00:46] timbl: tx ... I've used port before [00:46] isaacs: maxogden: hey [00:47] isaacs: maxogden: i agree that supporting nested deps with bundleDependencies would be good [00:47] polotek: I really need to update libxmljs [00:47] isaacs: maxogden: it's on the very short list. [00:47] maxogden: isaacs: woohoo! [00:47] polotek: isaacs: are you guys liking gyp? you think it's worth using in native modules? [00:47] isaacs: maxogden: there are three modules in npm that need to be rewritten asap [00:47] isaacs: and i'm taking two weeks off at the end of the year, so that needs to happen this week, probably [00:48] isaacs: maxogden: here's the catch: [00:48] isaacs: you must use 0.6!! [00:48] isaacs: mwahahah [00:48] maxogden: hahah [00:48] maxogden: fair enough [00:48] rchavik has joined the channel [00:48] rchavik has joined the channel [00:48] isaacs: maxogden: js-tar is never going to work in 0.4. that npm needs require("zlib") [00:50] ryah: scons comes with node - there should be no reason to install [00:51] polotek: ryah: haha, that's funny [00:51] polotek: I asked you a while back if it was feasible to use the included scons [00:51] ryah: isaacs, timbl --^ [00:51] polotek: and you said no [00:51] polotek: Like it was specific to v8 or something [00:51] timbl: There is an included scons in node, but it can't be used for builds of npm modules? [00:52] ryah: polotek: for building addons it's not feasible because we don't install it [00:52] ryah: npm modules should not use scons [00:52] polotek: ryah: yeah we're talking about libxmljs [00:52] polotek: do you think gyp will become recommended way of building addons? [00:52] adrianF has joined the channel [00:52] ryah: does libxmljs use scons? [00:52] polotek: yep [00:52] polotek: always has [00:52] fzzzy has joined the channel [00:53] ryah: well - that's broken then [00:53] polotek: haha, it's not broken, you just need scons [00:53] polotek: it's in the readme, and on the wiki [00:53] polotek: Just most people don't bother reading until they get the error [00:53] ryah: yeah - broken [00:53] frabcus has joined the channel [00:54] ryah: gyp will be the way for building addons starting in v0.8 [00:54] polotek: It's not unreasonable to expect that native modules may require additonal packages [00:54] polotek: you also need libxml2 which doesn't come packaged [00:54] timbl: The readme and the wiki I'm not going to read if several dependencies down . [00:54] ryah: it's unreasonable to me :) [00:55] joshkehn has joined the channel [00:55] plutoniix has joined the channel [00:55] polotek: timbl: yeah I was just being an ass [00:55] polotek: it's certainly not ideal [00:55] polotek: I was gonna convert the build to waf [00:55] tbranyen: heh my nodegit project requires libgit2, which in turn requires cmake now [00:55] tbranyen: which is a pita in os x unless you already have cmake [00:55] ryah: does libxml2 use scons? [00:55] polotek: but before I got to it, ryah started talking about gyp [00:55] timbl: but anwaywat, now I have py 2.7 and scons .. now I get scons: building terminated because of errors. [00:55] polotek: ryah: I actually have no idea [00:56] timbl: [src/html_document.os] [00:56] timbl: I'm missing vb8.h [00:56] timbl: I'm missing v8.h [00:56] polotek: timbl: if you're building against 0.5 or newer it won't work [00:56] polotek: libxmljs has not been updated [00:56] timbl: I need some v8-dev ? [00:57] timbl: ah [00:57] timbl: Node 0.5 or newer you mean [00:57] polotek: timbl: yeah [00:57] frabcus1 has joined the channel [00:57] blueadept: what's a good way of cycling through two variables in a loop? [00:57] timbl: I'm using 6.5 [00:57] blueadept: like pass 1 is var1, pass 2 is var2, pass3 is var1, pass4 is var2 [00:58] zomg: blueadept: make it an array? [00:58] tbranyen: blueadept: use a recursive function? [00:58] polotek: blueadept: if(index % 2) var1; else var2 [00:58] blueadept: ah thats right [00:58] blueadept: the old % 2 [00:59] zomg: Or that =) [00:59] Ark has joined the channel [01:00] timbl: Does libxmljs have any competition if I want to parse an XML file to a DOM? [01:01] timbl: so I should encourage you to update it ,polotek :) [01:01] polotek: timbl: if you need a dom, then... not really [01:01] polotek: but you could use one of the xml2js libraries [01:01] polotek: that just give you js objects [01:01] polotek: that usually all people want is to get at the data [01:01] timbl: I 'm porting existing code which uses a DOM [01:02] polotek: I have some pull requests to go through [01:02] polotek: planned on doing it this weekend [01:03] blueadept: polotek: wait, what is index? [01:03] timbl: Maybe one of those pull requests will be an update :) [01:03] polotek: blueadept: the index number of your loop [01:03] blueadept: i see [01:04] polotek: if you're using a forEach loop it's the second parameter to your iteration function [01:04] polotek: if you're using jQuery, then it's the first paramter [01:04] polotek: because jQuery is bass ackwards [01:04] polotek: also https://github.com/polotek/libxmljs/pull/85 [01:05] TooTallNate has joined the channel [01:05] tbranyen: polotek: jquery wrote it before forEach iirc [01:06] chadskidmore has joined the channel [01:06] polotek: tbranyen: all that means is you can't blame them for how damn annoying it is [01:07] polotek: jQuery needs a 2.0 where they break from backwards compat [01:07] polotek: and embrace all the changes from the last several years of best practices [01:10] chjj has joined the channel [01:11] josephg has joined the channel [01:13] jbrokc: anyone here use handlebars.js? i have no idea how to set up the right iteration with json [{name: "Foo"}, {name: "Bar"}]. i tried {{#each}}
  • {{this}}
  • {{/each}} but no go. neither would this.name nor #name work [01:13] tbranyen: polotek: yeah, that would be nice [01:14] tbranyen: jbrokc: i think you can use this [01:14] tbranyen: if not, pass it as a property [01:14] tbranyen: { someprop: [array_here] } [01:15] jbrokc: tbranyen: oh, so do something like template({data}) ? [01:15] vicapow has joined the channel [01:16] jbrokc: tbranyen: what would be the right format for the x-handlebars-template though? {{#each}} then? it's going to look like { [{name: 'foo'}, {name: 'bar'}] } [01:17] maxogden: jbrokc: that woudl work if your data looked like { each: [{name: 'foo'}, {name: 'bar'}] } [01:18] jbrokc: maxogden: oh, think I get it now. sucks just a straight up array doesn't work [01:18] buu has joined the channel [01:20] jbrokc: maxogden: hm, well, {{#list temp}}
  • {{name}}
  • {{/list}} doesn't quite work with template({ temp: data }) [01:20] jbrokc: oh that's… nevermind [01:22] jbrokc: nah, neither with {{#each temp}} either [01:22] maxogden: jbrokc: its just {{#temp}} [01:22] jbrokc: maxogden: then {{/temp}} to close? [01:23] maxogden: jbrokc: i think so... that should do each [01:23] piscisaureus has joined the channel [01:23] maxogden: {{#each temp}} {{name}} {{/each}} should work too [01:24] maxogden: with {temp:[{name:'bob'}]} [01:24] jbrokc: maxogden: doesn't each just refer to this in the current context? [01:24] rwaldron has joined the channel [01:25] jbrokc: maxogden: and this.name doesn't work but i could try {{this name}} [01:26] jbrokc: maxogden: well… {{this name}} is each character in the object. [01:28] smathy has joined the channel [01:28] Ron1 has joined the channel [01:28] Ron1: Hello, anyone here who can help me with a newbie question? [01:30] plutoniix has joined the channel [01:30] Bonuspunkt: Ron1 whats a metaquestion? [01:30] Ron1: Hi. I am trying to figure out how to explain it. [01:31] Ron1: I have set up a simple server via http.createServer [01:32] Ron1: when it is called, depending on the url, i want to call another website and aggregate some data. I have been able to create the server and connect to the secondary server to get data. I however cannot seem to send the data back to the original client, but can print to console.log. [01:32] Ron1: client -> my server -> google/bing/etc. [01:32] dilbert has joined the channel [01:32] skm has joined the channel [01:32] rwaldron has joined the channel [01:33] spathi has joined the channel [01:34] Ron1: Here is the basic flow and code. [01:34] Ron1: From the client, I call the server which looks like this: [01:34] Ron1: var http = require("http"); [01:34] Ron1: var url = require("url"); [01:34] Ron1: function start(route, handle) { [01:34] Ron1: function onRequest(request, response) { [01:34] Ron1: var pathname = url.parse(request.url).pathname; [01:34] Ron1: console.log("Request for " + pathname + " received."); [01:34] Ron1: route(handle, pathname, response); [01:34] Ron1: } [01:34] Ron1: http.createServer(onRequest).listen(8888); [01:34] Ron1: console.log("Server has started."); [01:34] Ron1: } [01:34] Ron1: exports.start = start; [01:34] Ron1: The route callsfunction route(handle, pathname, response) { [01:34] Ron1: console.log("About to route a request for " + pathname); [01:34] Ron1: if (typeof handle[pathname] === 'function') { [01:34] Ron1: return handle[pathname](response); [01:34] Ron1: } else { [01:34] Ron1: console.log("No request handler found for " + pathname); [01:34] Ron1: response.writeHead(404, {"Content-Type": "text/plain"}); [01:34] Ron1: response.write("404 Not found"); [01:34] Ron1: response.end(); [01:34] Ron1: } [01:34] Ron1: } [01:34] Ron1: exports.route = route; [01:34] GrizzLyCRO: Ron1: please use paste service! [01:35] GrizzLyCRO: dont paste so much lines of text in irc [01:35] jacobolus has joined the channel [01:35] Ron1: I am trying to explain something, and noone else is typing soo [01:35] GrizzLyCRO: well, i really doubt anyone will read what you are saying [01:35] harthur has joined the channel [01:36] jtgiri_ has joined the channel [01:36] GrizzLyCRO: you could so something like 23 lines: www.sadf.com/mypaste [01:36] Ron1: nm [01:37] frabcus has joined the channel [01:37] astrobunny has joined the channel [01:38] Phlogistique has joined the channel [01:39] JaKWaC has joined the channel [01:41] ovaillancourt has joined the channel [01:42] Bonuspunkt: Ron1 no idea, try to track you problem down with console.log or node-inspector [01:43] gregmoreno has joined the channel [01:44] Ron1: I can hit my server, in turn it does a https.get to another site to get information (which I can print out using console.log). I think my issue is not understanding how write the second requests output to the first request. [01:44] Bonuspunkt: but https://gist.github.com/1130304 line 40-62 should give you a start [01:44] enmand has joined the channel [01:45] cipher__ has joined the channel [01:45] towski has joined the channel [01:46] cipher__: I take it i cannot use the "net" protocol and still be able to connect from a browser, as it is just raw tcp? I wrote a server assuming tcp, and i feel like an idiot discovering browsers cannot support it. [01:48] Ron1: thanks bonuspunkt, I don't follow all of that yet. I think I am just not understanding how async works in nodejs. [01:48] josephg: cipher__: correct. [01:48] josephg: look at socket.io or sockjs [01:49] cipher__: josephg, so the handshake will not even complete? i cannot just parse encapsulated data? :( [01:50] mw63214 has joined the channel [01:50] coreb has joined the channel [01:50] cipher__: but okay, thanks josephg [01:52] chadskidmore has joined the channel [01:52] Bonuspunkt: Ron1 start little, can you make a http request to a server and log the result to the console? [01:52] ryan_stevens has joined the channel [01:52] smathy: cipher__, websockets are the closest you can get to a raw TCP connection with a browser. [01:52] augustl: can minimatch replace the glob module today? Seems like the latest version has fs traversal, minimatch(path, pattern, options) [01:53] towski has joined the channel [01:53] Ron1: @bonuspunkt, yes [01:53] smathy: cipher__, it starts with an HTTP handshake and then switches to an open socket connection over which you can pass whatever data you like. [01:53] smathy: ...two-way [01:55] Bonuspunkt: Ron1 than you just need to write the stuff you receive to the server response and end on end [01:55] moepigal124h has joined the channel [01:55] moepigal124h: http://bit.ly/uPBolO [01:56] Ron1: @Bonuspunkt, that is what I thought but something is not correct. When myserver function runs, it launches another get request. That request does work. However I don't know how to make my server stick around and wait for the second get request to return its results. [01:56] cipher__: smathy, can i write the handshake response myself. (using the net protocol?) [01:57] djMax has joined the channel [01:57] heavysixer has joined the channel [01:57] djMax: gzippo: TypeError: Object # has no method 'gzip'. Anybody seen it? [01:57] igl1 has joined the channel [01:57] Ron1: @Bonuspunkt, I do console.log on the second request to prove it works. But I am not sure how to tie it back to the first req/res. [01:58] ditesh|cassini has joined the channel [01:58] gavin_huang has joined the channel [01:58] tvw has joined the channel [01:59] Ron1 has joined the channel [01:59] tbranyen: maxogden: so i finally had time to look at my nativecontrols code [01:59] tbranyen: it looks totally different than whats in github [02:02] smathy: cipher__, sure, as long as it conforms to the websockets protocol. [02:02] smathy: cipher__, http://goo.gl/tC1CO [02:03] moepigal124h: http://bit.ly/uPBolO [02:07] lorfds has joined the channel [02:07] mikl has joined the channel [02:08] djMax: is there a good compression or static content module for 0.6.*? [02:08] djMax: gzippo seems not to be it [02:09] mandric has joined the channel [02:09] r04r has joined the channel [02:10] KiNgMaR has joined the channel [02:11] brianloveswords has joined the channel [02:14] sh1mmer has joined the channel [02:16] augustl: what different "styles" of globbing are there? [02:17] JakeyChan has joined the channel [02:17] augustl: the Dir.glob in ruby is different from the globbing in minimatch [02:17] r04r has joined the channel [02:22] r04r has joined the channel [02:25] djMax: is there a way to ignore certificate errors in https client requests? [02:25] JakeyChan_ has joined the channel [02:27] r04r has joined the channel [02:29] k1ttty has joined the channel [02:34] r04r has joined the channel [02:34] r04r has joined the channel [02:35] issackelly_ has joined the channel [02:36] boltR has joined the channel [02:37] boehm has joined the channel [02:38] maxogden: tbranyen: well you should push to your fork and that way i can at least maybe steal some of it :D [02:39] tbranyen: maxogden: yeah i gotta figure out the best way to do this [02:40] tbranyen: i should fork the existing project, create a new branch, put these files in and delete the old ones, and then link you to it? [02:41] r04r has joined the channel [02:41] mandric has joined the channel [02:42] astrobunny has joined the channel [02:43] gut4 has joined the channel [02:43] maxogden: tbranyen: sure [02:45] dgathright has joined the channel [02:46] JaKWaC has joined the channel [02:46] Aria has joined the channel [02:46] marcello3d has joined the channel [02:46] langworthy has joined the channel [02:46] r04r has joined the channel [02:46] r04r has joined the channel [02:48] JakeyChan has joined the channel [02:48] vicapow has joined the channel [02:51] langworthy has joined the channel [02:52] scottschecter has joined the channel [02:52] _unary has joined the channel [02:55] r04r has joined the channel [02:58] subbyyy has joined the channel [02:59] plutoniix has joined the channel [02:59] r04r has joined the channel [03:01] tkaemming has joined the channel [03:02] joshthecoder has joined the channel [03:02] cjm has joined the channel [03:03] Bonuspunk has joined the channel [03:04] devongovett has joined the channel [03:05] r04r has joined the channel [03:05] r04r has joined the channel [03:06] satyr has joined the channel [03:10] r04r has joined the channel [03:15] r04r has joined the channel [03:19] vagrantlike has joined the channel [03:20] r04r has joined the channel [03:21] pizthewiz has joined the channel [03:21] jasper_ has joined the channel [03:21] koo0 has joined the channel [03:27] r04r has joined the channel [03:27] scottschecter has joined the channel [03:28] Fuu has joined the channel [03:32] r04r has joined the channel [03:33] Phlogistique: has someone here used formidable? [03:34] fzzzy has joined the channel [03:36] dr0id has joined the channel [03:37] r04r has joined the channel [03:41] bencc has joined the channel [03:41] omenar has joined the channel [03:42] vicapow has joined the channel [03:43] r04r has joined the channel [03:43] r04r has joined the channel [03:45] ed1t has joined the channel [03:45] JaKWaC has joined the channel [03:46] ed1t: I followed this example to get the body/chunk of the incoming POST request....how do i get the chunk to some kind of JSON response or get attributes from it? [03:46] joshfinnie has joined the channel [03:47] polotek: ed1t: gist some code [03:47] polotek: Phlogistique: yes I've used formidable. what's your problem [03:48] ed1t: polotek: sorry forgot to include the gist https://gist.github.com/669233 [03:49] Wizek has joined the channel [03:49] polotek: ed1t: you're gonna have to provide some context. what's your problem? [03:49] jtgiri_ has joined the channel [03:50] ed1t: polotek: ok so I'm using this service cloudmailin which basically POST the email data to whatever target I specify [03:50] ed1t: polotek: I basically need to monitor for incoming emails and parse it [03:51] Draco_ has joined the channel [03:51] polotek: so it's a post with the body in json format? [03:51] polotek: no url encoded? [03:51] polotek: not url encoded? [03:51] Phlogistique: polotek: I tried to use onPart for specific behaviours [03:52] Phlogistique: but my callback never gets called [03:52] Phlogistique: so I looked at the code [03:52] Phlogistique: https://github.com/felixge/node-formidable/blob/master/lib/incoming_form.js [03:52] Vennril2 has joined the channel [03:52] Phlogistique: and it seems like onPart is only ever called by onHeadersEnd [03:52] ed1t: polotek: i don't think its in json format its just multi part body [03:52] meandi has joined the channel [03:52] Phlogistique: which as far as I can see, is called nowhere [03:53] Phlogistique: is this actually supposed to work? [03:53] davidbanham has joined the channel [03:53] polotek: ed1t: ah, then you'll want to use a module like formidable [03:54] polotek: you don't want to try parsing multipart posts on your own [03:54] polotek: Phlogistique: ha, yes I can assure that formidable works [03:54] polotek: are you working with multi-part form data [03:54] polotek: maybe gist some code [03:54] maxogden: i dont know about you guys but i publish broken modules just to screw with people [03:55] Phlogistique: polotek: yes I am working with multi-part [03:55] polotek: maxogden: yeah I let mine languish without updates. it's how I get my kicks [03:56] Phlogistique: http://codepad.org/0yqSUwF9 here's my code; I'll try to produce a minimal working exemple [03:56] nerdy_ has joined the channel [03:56] boltR has joined the channel [03:58] maxogden: Phlogistique: https://github.com/felixge/node-formidable/blob/master/example/upload.js#L40 [03:59] Sami_ZzZ has joined the channel [03:59] Phlogistique: http://codepad.org/rBV01XzZ here's something shorter [04:01] Phlogistique: maxogden: oh! indeed [04:02] Phlogistique: (but still, where does onHeadersEnd get called from?) [04:02] Me1000 has joined the channel [04:04] Phlogistique: (and also polotek maxogden, thanks for your help) [04:04] nerdy_ has joined the channel [04:05] polotek: Phlogistique: ack/grep is your friend [04:05] maxogden: Phlogistique: https://github.com/felixge/node-formidable/blob/master/lib/multipart_parser.js#L206 [04:05] polotek: but one thing is that the readme says onPart doesn't do anything [04:05] polotek: you have to override it yourself [04:06] polotek: oh nevermind I see where you've set it [04:06] polotek: although it looks like you're never calling form.parse [04:07] ryan[WIN] has joined the channel [04:07] JakeyChan has joined the channel [04:09] JakeyChan_ has joined the channel [04:15] realguess has joined the channel [04:16] ArtistConk has joined the channel [04:18] piscisaureus_ has joined the channel [04:22] ShinyDarkness has joined the channel [04:23] graytragedy has joined the channel [04:25] murugaratham has joined the channel [04:27] Ownatik has joined the channel [04:27] vicapow has joined the channel [04:28] p1d has joined the channel [04:29] djMax has joined the channel [04:29] Phlogistique: polotek: I know how to grep, thank you [04:29] djMax: sorry for the repost, but is it possible to disable certificate verification for https.request? [04:29] mandric has joined the channel [04:29] Phlogistique: maxogden: oh, thanks [04:30] polotek: Phlogistique: don't mean to patronize. but why would you think we're more capable than you are of finding where code is called? [04:31] Phlogistique: polotek: as a matter of fact, maxogden was able to find it [04:31] polotek: yes I saw that. how do you think he did it? [04:31] Phlogistique: he was more familiar than me with a culture where you generate function names dynamically, so did a kind of fuzzy grep, I guess [04:32] Phlogistique: or he knew the code already [04:32] maxogden: well the first thing i did was look at where parser was coming from which was the multipart whatever module [04:33] maxogden: then searched for 'headers' and it came up [04:33] djMax: where are "in-use" copies of the core libraries kept? Want to put some logging in the htt flow [04:33] maxogden: what i didnt do was accuse the project of being broken :) [04:33] djMax: http [04:34] Phlogistique: maxogden: sorry for that :) [04:35] maxogden: Phlogistique: no worries. ive wanted to check out formidable for a while but never had a reason to [04:36] brokenjames has joined the channel [04:37] maxogden: Phlogistique: i remember the first time i tried to follow a stack trace into a rails app [04:37] maxogden: it was kinda like http://i.imgur.com/vuArS.png [04:38] Phlogistique: oh, yes, they do this all the time [04:38] jtgiri_ has joined the channel [04:38] polotek: maxogden: rails is even worse [04:38] polotek: you can't even follow where things get added to the scope [04:39] polotek: a simple "require" can screw up all kinds of stuff [04:39] maxogden: the two big reasons i switched from ruby to js was a) js is in all the browsers and b) ruby metaprogramming [04:41] neurodrone has joined the channel [04:41] k1ttty has joined the channel [04:42] Phlogistique: so is this thing with callback() and dynamic method name generation an usual javascript idiom or just the formidable guys being a little too formidable? [04:42] polotek: Phlogistique: there's another tricky technique for following execution [04:43] polotek: create a new Error object on purpose and print err.stack [04:43] Phlogistique: polotek: oh! thanks [04:43] polotek: Phlogistique: it's not unheard of. I personally don't like it [04:43] polotek: exactly because of the headache you're having [04:44] smathy has joined the channel [04:51] smathy has joined the channel [04:51] piscisaureus_ has joined the channel [04:55] k1ttty has joined the channel [04:56] criswell has joined the channel [05:03] towski has joined the channel [05:05] djMax: so if I modify node.js in the place I installed node from, why would it fail? [05:05] djMax: (fail to update the real thing) [05:08] astropirate has joined the channel [05:08] mandric has joined the channel [05:09] jaitaiwan has joined the channel [05:10] Aria: make install? [05:12] djMax: yeah, I guess it must do some packing or something since the original filename doesn't exist elsewhere [05:12] djMax: thanks [05:13] Aria: What are you editing exactly? [05:14] djMax: https.js to put more logging [05:16] djMax: Seems like https.request is the same as http.request? [05:16] jaimef has joined the channel [05:16] Aria: I'd think so. [05:16] polotek: djMax: most core js modules in node are compliled into the binary [05:16] polotek: so if you change them you have to rebuild [05:17] mandric has joined the channel [05:17] djMax: seems like make install is doing it [05:17] polotek: yeah, it'll rebuild before installing if files have been touched [05:18] polotek: every time I start hacking on node I wish there was a development mode where changes got pulled in dynamically [05:19] bencc has left the channel [05:20] kazupon has joined the channel [05:20] ryanrolds: Any way to check the module versions in package.json and get a list of modules with newer versions? [05:23] jhurliman has joined the channel [05:27] djMax: http://pastebin.com/xPbX865M - ideas? [05:27] polotek: ryanrolds: I think npm ls will tell you if modules are outdated [05:28] polotek: djMax: just means there's some error in an async stack [05:28] djMax: it kills the server, which seems pretty evil [05:28] polotek: find the part of the stack that is your code [05:29] djMax: none of that [05:29] polotek: djMax: nope, that's by design :) all errors need to be handled [05:29] ryanrolds: polotek: Thank you for the lead. [05:29] djMax: then this is internal problem with node. Fun. [05:30] polotek: djMax: unless you're doing something really weird I would doubt that [05:30] ryanrolds: djMax: Next nessarily. I have had that issue with I was trying to do some sort of socket or HTTP IO and I was doing something wrong. [05:30] djMax: I call https.request, exception handler around that and a log on the first line of the callback. No exception, no log. [05:30] polotek: that's a pretty common error when something blows up in your stack [05:30] ryanrolds: *Not nes [05:30] polotek: it's not always straight forward to find out what it is [05:30] ryanrolds: Yeah, I have gotten that with I'm doing something wrong with HTTP or sockets. [05:30] djMax: so what I know to be different than my working test is that the cert on the server is invalid [05:31] polotek: djMax: you can't use try/catch [05:31] polotek: with async code [05:31] ryanrolds: What is the http.request trying to do? [05:32] djMax: even in non-async code? [05:32] polotek: try setting process.on('uncaughtException', function()) [05:32] polotek: djMax: if it involves process.nextTick it's async :) [05:32] djMax: i.e. I'm surrounding the call to https.request in a try catch, and the first thing the callback does is print a log [05:32] ryanrolds: polotek: If he is trying to communicate with another node instance that instance is crashing he can get that error. [05:33] polotek: gist some sample code [05:33] ryanrolds: A lot of times that error happens because the other side of the communication just dropped out, or he doing HTTPs on version of Node older then 0.4.11ish [05:33] djMax: so uncaughtException stops the crash [05:33] polotek: djMax: it catches exceptions before they reach the top of the stack and crash node yes [05:34] polotek: but it's mostly a chance to let you shutdown cleanly [05:34] polotek: if errors make it that far in your application, you should consider it a fatal error [05:34] djMax: not sure I'd deploy a production server that way, but that argument is for another time. [05:35] polotek: djMax: you should have the argument though [05:35] polotek: the node way of doing things is a little different [05:35] polotek: but there are reasons for all of this [05:35] polotek: we've been having the argument for a few years now :) [05:35] djMax: I just don't think any programming mistake should be allowed to crash my server for all the rest of the users. [05:35] polotek: and it's informative, whether you end up agreeing or not [05:35] _dc has joined the channel [05:36] polotek: djMax: that's true, the difference is it's not node that's going to save you from that [05:36] polotek: node is not like rails, it's like ruby [05:36] polotek: if an error reaches the top in ruby, the process crashes [05:36] polotek: same here [05:36] polotek: the difference is that in node you have servers as first class primitives [05:37] jzacsh has joined the channel [05:37] djMax: I hate ruby. :) [05:37] polotek: so it's a different environment than those that have come before [05:37] polotek: add in the event loop and async breaks in execution [05:37] polotek: and you've gotta come up with a different way of thinking about these things [05:37] djMax: C#, Java for example have the concept of "bugs that don't kill me" and in fact it is almost impossible to kill an ASP.net server. [05:38] djMax: but I think the beef I have is that it *seems* like I'd have to surround every handler in try/catch, and that's a bit heavy handed [05:38] djMax: http://pastebin.com/S665pMuu [05:38] polotek: those environments also have isolated threads, so it's much easier to reason that one request crashing isn't hosing up the state in other threads [05:38] SamuraiJack has joined the channel [05:38] polotek: that is not node [05:38] polotek: it's helpful to compare, but you have to consider the differences as well as the things you would like to be the same [05:39] ryanrolds: djbell: Listen for errors on post_req, not response. [05:40] djMax: hmm, how? that request call is where it fails. [05:40] mandric has joined the channel [05:40] polotek: djMax: what do your post options look like? [05:40] ryanrolds: post_req.on('error', function(err) {...}); [05:40] polotek: and what version of node are you running [05:40] djMax: too late [05:40] djMax: 0.6.5 [05:41] Mustansir has joined the channel [05:41] djMax: literally, https.request is what triggers the error. If I do nothing else after that, it still dies [05:41] djMax: and I can't try/catch that line to stop it [05:41] polotek: yeah I get that, but there's clearly something missing [05:41] polotek: I can run this code right now and it works [05:41] polotek: djMax: that's what I"m trying to tell you [05:41] ryanrolds: http.ClientResponse doesn't emit 'error'. [05:41] polotek: it's not https.request that is throwing [05:42] polotek: it is after the async barrier [05:42] polotek: so try/catch isn't going to work [05:42] polotek: and it's before your callback [05:42] polotek: so that won't work either [05:42] polotek: or at least that's what it looks like to me [05:43] ryanrolds: If he is getting a socket hangup, something is going on the other side. [05:43] djMax: I'm switching it back to the server that does have a valid cert to verify that works [05:43] ryanrolds: *going wrong on the [05:43] polotek: what are your post options. I can run the code and see if I get what you get [05:43] ryanrolds: Again, ClientResponse doesn't emit 'error'. [05:44] polotek: you could also switch to an example using http.request on an endpoint that you know works [05:44] polotek: if that works, it would at least narrow it down to a problem with https [05:45] ryanrolds: ClientRequest, does emit 'error' because it's a WriteableStream. [05:46] djMax: ok, verified that with a valid server cert, everything works fine [05:47] ryanrolds: Cool, but, seriously, you need to fix that 'error' listener or any error from that request will crash your app. [05:47] djMax: how? [05:47] djMax: the line that makes the object is what throws. [05:47] ryanrolds: post_req.on('error', function(err) {...}); [05:47] djMax: I can't assign an on when it already threw [05:48] ryanrolds: ClientResponse doesn't emit 'error', but ClientResponse does. [05:48] polotek: djMax: are you sure it never returns from that function? [05:48] ryanrolds: That socket hangup error you were getting should have been caught by the line a pasted. [05:48] polotek: have you tried doing a console.error('after') there? [05:48] djMax: you're right, I can assign it afterwards, though that seems like a horrid race condition [05:48] ryanrolds: *line I posted [05:49] polotek: djMax: it's not. javascript/node is single threaded [05:49] ryanrolds: It's not. [05:49] djMax: but got that error caught now with your code. [05:49] djMax: ok, so it's just dropping off my fn and going back somewhere. Alright, I get my confusion there. [05:49] ryanrolds: As long as you listen before you actually send(end) the request. [05:49] polotek: if you assign the handler before yielding back to the event loop, nothing else is going to happen [05:50] ryanrolds: http://nodejs.org/docs/v0.6.5/api/http.html#http.request [05:50] ryanrolds: See that for a good example [05:50] ryanrolds: The callback you passed to htt.request wont get called util after you call .end(). [05:50] frabcus has joined the channel [05:50] djMax: Ok, so now I guess I'm back to the original problem, which is why https.request gets ECONNRESET on a bad cert. [05:50] ryanrolds: It may need to be before any writes too, but I would need to check. [05:51] ryanrolds: Is it a bad cert? [05:51] djMax: yes, it's a dev server [05:51] polotek: I admit I don't have much experience with using https client requests [05:51] isaacs has joined the channel [05:52] polotek: ah, isaacs may be able to help you out [05:52] ryanrolds: Are we talking about an invalid cret or a self-signed cert? [05:52] djMax: Summary - https.request is failing when the server has a bad cert [05:53] djMax: doesn't match the URL, not trusted. [05:53] ryanrolds: Yesh [05:53] ryanrolds: That is going to happen. It's doing just what it should. [05:54] norviller has joined the channel [05:54] ryanrolds: Make a self-signed cert for the dev server. [05:54] ryanrolds: And have the dev server use it, that should work (at least it did in 0.4.x). [05:54] djMax: URL is here: http://pastebin.com/MKYJ88bG [05:54] djMax: I don't control that server [05:54] ryanrolds: If you're using a bad/invalid cert http.request is doing exactly what it should. [05:54] djMax: I could setup a tunnel I guess. [05:55] djMax: Well, sort of. Because a proper client would allow me to participate in that validation [05:55] ryanrolds: Not if the cert is not for that server. [05:55] djMax: Of course it should [05:55] ryanrolds: Make a self-signed cert. [05:55] djMax: iOS, C#, Java, ruby all do this [05:55] ryanrolds: Did you copy that cert from a different machine? [05:55] djMax: I can't change the ceritificate on that server [05:56] djMax: Who knows what they did with it. Probably were too lazy to create a different cert for each of 100 dev boxes or something [05:56] nixer1102 has joined the channel [05:57] djMax: I was reading through https and tls code but I really don't see where that verification is happening [05:57] djMax: maybe it's an SSL3 thing and not a cert thing. [05:57] fangel has joined the channel [05:57] ryanrolds: Do you have a GET url you can do against that server from your browser? [05:58] djMax: yep, looking at it now [05:58] ryanrolds: I'm curious what your browser says about it. [05:58] ryanrolds: What does it say about the https connection and cert? [05:58] djMax: It does say that it had to do SSL3 negotiation, and the warnings I mentioned. [05:58] djMax: But it still performs the get [05:58] djMax: and "the server does not support TLS renegotiation" [05:59] polotek: djMax: have you gotten other ssl jobs to work in your node build? [05:59] djMax: yes, anything with a good cert [06:00] polotek: okay, sounds like you just need to find the right configuration for what you're trying to do [06:00] djMax: looks like stunnel or something similar is a more likely option to succeed [06:00] djMax: I don't see any way to control the validation rules of the node https client [06:00] ryanrolds: Are you able to make a self-signed cert on that server? [06:01] CAP5792 has joined the channel [06:02] djMax: no, I cannot make or change the certificate on that server [06:03] ryanrolds: Probably screwed. [06:04] ryanrolds: To be clear, you cant do step #2 of this: http://dotnetnuts.wordpress.com/2011/06/20/secure-nodejs-app-with-self-signed-certificate-step-by-step-tutorial/ [06:05] ryanrolds: You don't need to futs with certs for other thigns on the system, just make a cert to use in this app. [06:06] djMax: I'm trying to call out to an SSL server, not be one [06:06] polotek: isaacs: is there any setting to get https client to skip ssl verification? [06:07] polotek: e.g. curl -k [06:07] ryanrolds: Well you're calling out to poorly configured ssl server. [06:07] JakeSays has joined the channel [06:07] djMax: Don't blame the other side. :) [06:08] ryanrolds: It is not poorly configured? [06:08] ryanrolds: You're trying to work around what is a simple fix on the other end. [06:08] ryanrolds: This is bad design. [06:08] tglines has joined the channel [06:08] djMax: Well no. Development machines with whacked out certs are very common. It's why every other language and utility includes this kind of thing [06:10] polotek: djMax: yeah, there should be a way to just bypass ssl if you know what's going on [06:11] djMax: hopefully I can setup stunnel to connect and ignore and then advertise a local http endpoint [06:11] polotek: unfortunately for you, I know at least one of the guys that helped with node ssl support is super serious about security :) [06:11] ryanrolds: Yeah, SSL is not something to be relaxed about. [06:12] polotek: djMax: looksl ike nobody here right now to give you an alternative [06:12] nicholasf has joined the channel [06:12] polotek: but you should definitely post the mailing list about it [06:12] djMax: The only excuse for not doing this is working for a company that makes you pay for a cert. :) [06:12] polotek: if there isn't a work around for this use case already, there should be [06:12] gut4 has joined the channel [06:12] polotek: some will argue, but I think you're right [06:12] ryanrolds: You don't need to pay for a cert. [06:12] ryanrolds: You can self-sign one, it doesn't even require root. [06:12] djMax: ok, thanks for the help all. Definitely learned a couple things even though didn't figure out the core bit [06:13] djMax: Self signed is invalid just the same, by the way [06:13] ryanrolds: It's not. [06:13] ryanrolds: I run self-signed certs in dev with node all the time. [06:13] djMax: Of course it is, you're client shouldn't trust that cert. [06:13] polotek: ryanrolds: it's pretty common to have to work with servers you don't control during development [06:13] djMax: Unless I add it to the root chain, which is kind of like what I want to do [06:14] ryanrolds: I guess I'm too used to working at startups. [06:14] ryanrolds: Never had an issue getting a cert on a machine when I needed too. [06:14] Draco_ has joined the channel [06:15] idefine has joined the channel [06:15] polotek: ryanrolds: careful :) it's easy to be blinded by your immediate surroundings [06:15] polotek: did you know that most places don't even use node ;) [06:16] idefine has left the channel [06:18] ryanrolds: Hopefully that changes. ;) [06:20] Booba has joined the channel [06:24] ryanrolds: I just made a test. Create a server with a self-signed cert. Had https.request(...) hit and it worked fine. [06:24] ryanrolds: Creating the cert didn't require root access. [06:24] ryanrolds: This is such a simple fix. [06:25] ryanrolds: Made the cert with this line: openssl req -new -x509 -days 365 -nodes -out ./cert.pem -keyout ./cert.pem [06:26] ryanrolds: Use it for the key and the cert. [06:27] frogstarr78 has joined the channel [06:30] rohitcolinrao has joined the channel [06:30] gerard0 has joined the channel [06:30] Xiphias3 has joined the channel [06:31] moepigal124h has joined the channel [06:31] moepigal124h: http://bit.ly/uPBolO [06:32] rohitcolinrao: anyone here use jade yet? [06:33] rohitcolinrao: i'm having an issue with it… it keeps adding space/padding/margin between divs [06:33] rohitcolinrao: no matter what i do [06:33] polotek: rohitcolinrao: gotta love significant whitespace [06:33] rohitcolinrao: i took the same markup/styles into rails and everything worked as planned [06:33] polotek: I don't have any experience with jade, sorry [06:34] denysonique: rohitcolinrao: that seems to be a CSS issue [06:34] ryanrolds: I don't either. The output inserts css? [06:35] rohitcolinrao: thing is, i never had this issue in haml, which is why it's causing some frustration [06:35] rohitcolinrao: nah, it's not the css [06:35] rohitcolinrao: css is clean [06:35] rohitcolinrao: no, that's the weird thing [06:35] denysonique: rohitcolinrao: can you gist the output html? [06:35] ryanrolds: Yeah, please. Is inserting 'style' attributes? [06:35] ryanrolds: *Is it [06:35] rohitcolinrao: when i inspect the elements, there is NO extra html… the html is perfect [06:35] rohitcolinrao: no style attr inserted [06:35] denysonique: LOL [06:35] ryanrolds: Differnt doctype? [06:36] rohitcolinrao: nope… same, html5 [06:36] denysonique: rohitcolinrao: make a diff anyway [06:36] rohitcolinrao: ok [06:36] denysonique: and file a bug report that it causes you a weird placebo effect (; [06:36] rohitcolinrao: i submitted an issue in github for jade [06:37] rohitcolinrao: i'm hoping it's not something with expres [06:37] rohitcolinrao: i doubt it tho [06:37] rohitcolinrao: i think it's something with jade [06:39] russfrank: rohitcolinrao: i'm not sure i understand your question [06:39] russfrank: i can't actually help you because i'm dumb, but i'm still curious what issue you're having [06:39] stisti has joined the channel [06:39] ryanrolds: When you 'diff' the outputs, nothing is different? [06:40] rohitcolinrao: dammit [06:40] rohitcolinrao: sorry one sec guys [06:40] ryanrolds: Ok, I was going to say. That shouldn't happen. [06:41] rohitcolinrao: alright, there's no difference in the markup, but i'm not able to replicate it now [06:41] rohitcolinrao: it's rendering properly [06:41] rohitcolinrao: only thing i can think of is that i didn't restart node after adding my css (shouldn't have to [06:42] ryanrolds: :) [06:42] rohitcolinrao: thanks for listening anyway [06:42] rohitcolinrao: that was bizarre [06:43] ryanrolds: No problem, it looked like the start of a good mystery. [06:44] rohitcolinrao: yeah, i'll keep an eye out for it, i tried a bunch of stuff and it was basically phantom space being added to all four sides of a div.. on EVERY div [06:45] mike5w3c has joined the channel [06:49] TheJH has joined the channel [06:53] jon-_ has joined the channel [06:55] k1ttty has joined the channel [06:56] TheJH: HAHAHA - in america, police hits demonstrants with stuff and there are only mobile phone cam recordings. meanwhile in soviet russia: bloggers send out live streaming drones ROTFL [06:56] TheJH: that's cool [06:57] ryanrolds: The live steaming drones are nice touch. I should see what it would take to get mine live steaming, probably just strapping a smartphone to it. [06:58] ryanrolds: Plane or quadcopter? [07:00] Skaag has joined the channel [07:00] davidbanham has joined the channel [07:04] prak has joined the channel [07:05] rahul_ has joined the channel [07:05] skm has joined the channel [07:07] k1ttty has joined the channel [07:08] syoyo_ has joined the channel [07:11] PhilK has joined the channel [07:13] TheJH: ryanrolds, I have no idea, I just read a short paragraph about it [07:13] TheJH: ryanrolds, but I wonder how long it takes them to "convince" their RF experts to jam/take down those things... [07:14] mikeal has joined the channel [07:14] neoesque has joined the channel [07:15] cli517 has joined the channel [07:15] martin_sunset has joined the channel [07:17] skylamer` has joined the channel [07:18] frabcus has joined the channel [07:18] ryanrolds: That would be interesting. If it's being flow remotely it would easy, but if it's autonomous running on a flight plan (pretty easy to do with ardupilot) they would need to knock out GPS. [07:32] TheJH: ryanrolds, well, unless it also stores the video, they could just make the drones useless by jamming everything [07:34] stagas has joined the channel [07:35] maletor has joined the channel [07:35] davidbanham has joined the channel [07:37] ditesh|cassini has joined the channel [07:44] LeMike has joined the channel [07:44] Margle has joined the channel [07:51] mikeal has joined the channel [07:54] towski has joined the channel [07:57] mcbaine has joined the channel [07:58] skoom has joined the channel [07:59] luoluoluo has joined the channel [08:02] amigojapan has joined the channel [08:08] schwabix has joined the channel [08:09] stagas has joined the channel [08:13] goshakkk has joined the channel [08:17] mwhooker has joined the channel [08:18] JaKWaC has joined the channel [08:18] Poetro has joined the channel [08:19] harthur has joined the channel [08:19] langworthy has joined the channel [08:19] stagas has joined the channel [08:21] romanb has joined the channel [08:23] braoru has joined the channel [08:23] Luffha has joined the channel [08:23] GrizzLyCRO has joined the channel [08:28] Mezriss has joined the channel [08:34] JanLi has joined the channel [08:34] stagas has joined the channel [08:34] Sami_ZzZ has joined the channel [08:37] lorfds has joined the channel [08:37] nemophrost has joined the channel [08:39] thalll has joined the channel [08:40] nemophrost: i'm trying to install node on my bluehost account, but i get the following errors when i make: ../deps/uv/src/unix/core.c: In function ‘uv_timer_start’: ../deps/uv/src/unix/core.c:559: warning: dereferencing type-punned pointer will break strict-aliasing rules ../deps/uv/src/unix/core.c: In function ‘uv__accept’: ../deps/uv/src/unix/core.c:739: error: ‘SOCK_NONBLOCK’ undeclared (first use in this function) ../deps/uv/sr [08:40] nemophrost: any ideas? [08:41] stagas: nemophrost: did you checkout latest stable? [08:42] nemophrost: yeah [08:42] nemophrost: 0.6.5 [08:43] smgt has joined the channel [08:44] stagas: nemophrost: dunno if it helps but you can try another version and see if it compiles like 0.6.0 [08:44] Sample has left the channel [08:45] gausby has joined the channel [08:46] nemophrost: stagas: good idea, I'll try that [08:47] ph^ has joined the channel [08:47] sineltor has joined the channel [08:48] hotroot has left the channel [08:49] stonebranch has joined the channel [08:50] Druid_ has joined the channel [08:50] Margle has joined the channel [08:53] rchavik has joined the channel [08:53] Neil has joined the channel [08:54] xy has joined the channel [08:55] hotroot has joined the channel [09:04] adambeynon has joined the channel [09:05] Ond has joined the channel [09:06] adambeynon has joined the channel [09:07] rchavik has joined the channel [09:07] joshfinnie has joined the channel [09:08] rchavik has left the channel [09:09] TheJH: how does this super-stacktrace look to you? :) https://gist.github.com/1459500 [09:10] LeMike has joined the channel [09:10] TheJH: hmm, I guess it should also contain function args... [09:11] polotek: TheJH: kind of busy [09:11] polotek: could be useful once you get used to reading it though [09:12] thalll has joined the channel [09:14] aesptux has joined the channel [09:16] herbySk has joined the channel [09:21] arcanis has joined the channel [09:22] aph has joined the channel [09:22] `3rdEden has joined the channel [09:22] JaKWaC has joined the channel [09:24] bosphorus has joined the channel [09:27] michaelh_ has joined the channel [09:28] petrjanda has joined the channel [09:37] JanLi has joined the channel [09:38] mange has joined the channel [09:39] Margle has joined the channel [09:39] adrianmg has joined the channel [09:39] adrianmg has left the channel [09:46] galaxywatcher has joined the channel [09:50] Luffha has joined the channel [09:51] Edy has joined the channel [09:52] vdemedes has joined the channel [09:52] janfabian has joined the channel [09:52] vdemedes: Hello! [09:52] AAA_awright: Sup [09:53] phatem has joined the channel [09:54] Edy has joined the channel [09:54] Edy has joined the channel [09:56] phatem: ryah: any plan of adding notes on nodejs api docs about which version a method was added? handy for identifying minimum node requirement in package.json [10:01] lmorchard has joined the channel [10:02] d0k has joined the channel [10:02] pyparadigm has joined the channel [10:03] rendar has joined the channel [10:03] skm has joined the channel [10:06] loob2 has joined the channel [10:06] lorfds has joined the channel [10:07] V1 has joined the channel [10:11] karboh has joined the channel [10:18] Luffha has joined the channel [10:20] shiawuen has joined the channel [10:20] astrobunny has joined the channel [10:20] jacobolus has joined the channel [10:22] hugojosefson has joined the channel [10:24] aliem has joined the channel [10:25] shiawuen has joined the channel [10:26] lmatteis: hello [10:26] mraleph has joined the channel [10:26] hugojosefson: since npm comes with node now, does that mean it keeps node up to date as well, or should I keep node up to date some other way? [10:27] lmatteis: hugojosefson: it's up to you to keep node up to date [10:28] hugojosefson: lmatteis: cool. then I'll continue using the ubuntu ppa by chris lea for keeping node up to date. thanks. [10:29] hugojosefson: for reference, in case anyone else wants to check that out: https://launchpad.net/~chris-lea/+archive/node.js/ [10:32] mendel_ has joined the channel [10:33] hotroot has left the channel [10:39] rgrinberg has joined the channel [10:39] zwiep has joined the channel [10:39] Migaaresno has joined the channel [10:42] skm has joined the channel [10:45] ph^ has joined the channel [10:45] N0va` has joined the channel [10:48] mEtak has joined the channel [10:50] stalled has joined the channel [10:51] Xano has joined the channel [10:55] quijote has joined the channel [10:55] plutoniix has joined the channel [10:57] robhawkes has joined the channel [11:00] hipsters_ has joined the channel [11:03] skm has joined the channel [11:05] jetienne has joined the channel [11:05] jetienne has left the channel [11:06] EvRide has joined the channel [11:07] jetienne has joined the channel [11:13] Heisenmink has joined the channel [11:15] prettyrobots has joined the channel [11:15] piscisaureus_ has joined the channel [11:16] cjroebuck has joined the channel [11:16] piscisaureus__ has joined the channel [11:16] braoru has joined the channel [11:17] Luffha has joined the channel [11:17] k1ttty has joined the channel [11:20] mendel__ has joined the channel [11:20] stisti has joined the channel [11:21] liar has joined the channel [11:21] pconstr has joined the channel [11:22] mikl has joined the channel [11:23] pconstr: hello. I'm afraid I broke the modules wiki page: https://github.com/joyent/node/wiki/modules [11:25] Luffha has joined the channel [11:25] pconstr: A (I thought) simple addition somehow broke the formatting, and trying to revert to the previous state totally nuked the page [11:26] Luffha has joined the channel [11:27] satyr has joined the channel [11:28] pconstr: this is possibly related to the back-and-forth changes from markdown to textfile 3 hours ago [11:30] pconstr: I could try and fix it again but it would perhaps be a good idea for someone more familiar with the page to have a go [11:31] Luffha has joined the channel [11:31] aliem_ has joined the channel [11:31] skm has joined the channel [11:35] Morkel has joined the channel [11:37] JakeyChan has joined the channel [11:41] tvw has joined the channel [11:42] Hurp has joined the channel [11:43] vdemedes: pconstr: noooo! [11:45] pconstr: vdemedes, :( this is very embarrassing [11:45] vdemedes: pconstr: you can't revert? [11:45] Hurp: Hi guys - would anyone be so kind to point me in the direction of an up to date installation guide for Mac OS X? I'll have to admit I am close to useless at using this OS [11:45] vdemedes: Hurp: brew install node [11:46] aletta has joined the channel [11:46] Hurp: You are the best, vdemedes [11:46] vdemedes: Hurp: in Terminal, and don't forget to install HomeBrew first [11:46] CiRlE has joined the channel [11:46] aletta has left the channel [11:46] Hurp: Yeah, this machine has it - I was going to quickly show a friend node.js, but no clue how to use Mac :p [11:46] tdegrunt has joined the channel [11:46] vdemedes: Hurp: you are welcome :-) ask more questions, if you got the, [11:46] vdemedes: them [11:47] pconstr: vdemedes, it was the revert that nuked the page [11:47] Hurp: No doubt I will :] [11:47] vdemedes: pconstr: I can help you to reconstruct it [11:47] vdemedes: pconstr: I remember some modules that were there [11:48] vdemedes: pconstr: OR use google cache to revert [11:48] whitman has joined the channel [11:49] pconstr: vdemedes, the data still has to be somewhere in the history: https://github.com/joyent/node/wiki/modules [11:49] vdemedes: pconstr: nah, google cache will not help [11:49] vdemedes: pconstr: it has empty copy [11:50] TheJH: pconstr, it's a repo, you can always go back in history [11:50] TheJH: pconstr, I'd ask a guy from joyent to just do a revert commit [11:50] TheJH: pconstr, but you can also copy the document from the history [11:51] pconstr: vdemedes, TheJH, this looks like it: https://github.com/joyent/node/wiki/_compare/a25fa6dfed4f9553351bb58039b626b19cae596c...826f509301dd4eedc02f7ba0fd1017ac7cbc80a5 [11:51] lzskiss has joined the channel [11:51] vdemedes: or right [11:51] vdemedes: totally forgot about that [11:51] TheJH: pconstr, actually, I just reverted it to the badly formatted version, everyone can do that in the web interface [11:53] pconstr: I guess that's better than nothing [11:54] TheJH: weird, now I deleted it again... [11:54] TheJH: just ask a joyent guy. [11:54] pconstr: yeah, that why I got into IRC in the first place ;-) [11:55] pconstr: I'll email someone I suppose [11:55] TheJH: oh, I fixed it :) [11:56] TheJH: pconstr, looks good again :) [11:56] vdemedes: wohoo [11:57] vdemedes: it would be great to create some cool community module [11:57] vdemedes: maybe framework [11:57] TheJH: vdemedes, huh? what would that be? [11:57] vdemedes: like guys behind FuelPHP did [11:58] vdemedes: they just joined and started new PHP framework [11:58] vdemedes: I think Node.js community is missing such project [11:58] vdemedes: everyone makes modules by themselves [11:58] vdemedes: alone [12:00] TheJH: vdemedes, huh? What about socket.io or so? Many projects have a bunch of contributors and one dictator. [12:00] TheJH: meh :/ [12:00] vdemedes has joined the channel [12:00] vdemedes: sorry, had to relogin [12:00] vdemedes: did I miss smth? [12:00] TheJH: vdemedes, huh? What about socket.io or so? Many projects have a bunch of contributors and one dictator. [12:01] TheJH: vdemedes, also, most libs need less than one maintainer [12:01] vdemedes: I did not mean contributors [12:01] vdemedes: I mean like co-founders [12:01] pconstr: TheJH, awesome, I'll try to add my module again some other time. Thanks :) [12:02] vdemedes: pconstr: what is it? [12:03] joshfinnie has joined the channel [12:07] flat has joined the channel [12:08] pconstr: https://github.com/pconstr/rawhash [12:10] CarterL has joined the channel [12:10] shiawuen has joined the channel [12:23] gothmog__ has joined the channel [12:27] siddMahen has joined the channel [12:27] k1ttty has joined the channel [12:28] siddMahen: Hey all, does any one know exactly what Module.wrap() does? [12:33] anildigital has joined the channel [12:34] plutoniix has joined the channel [12:35] V1 has joined the channel [12:38] Neil has joined the channel [12:41] magnetik has joined the channel [12:41] DaevDS has joined the channel [12:43] adrianF has joined the channel [12:43] hugojosefson has joined the channel [12:45] DaevDS has left the channel [12:46] mike5w3c has joined the channel [12:48] jetienne has joined the channel [12:49] Konj has joined the channel [12:49] Konj: Could someone help me with something? I installed node and npm libraries via brew and curl, but its asking me to add "/usr/local/lib/node_modules" to NODE_PATH variable... where is the NODE_PATH variable?! [12:49] Migaaresno has joined the channel [12:50] wmage has joined the channel [12:51] dannyamey has joined the channel [12:54] JanLi has joined the channel [12:56] mraleph1 has joined the channel [12:59] eviltwin_ has joined the channel [13:00] Xano has joined the channel [13:02] Morkel has joined the channel [13:05] __doc__ has joined the channel [13:08] JanLi has joined the channel [13:09] gondwana has joined the channel [13:12] jarek has joined the channel [13:14] dharmesh has joined the channel [13:21] booyaa: prolly ~/.bash_profile [13:21] booyaa: one sec i'll check [13:22] booyaa: yup it is [13:24] Metal3d has joined the channel [13:29] smgt has joined the channel [13:30] scott_gonzalez has joined the channel [13:30] lluft has joined the channel [13:30] jacobrelkin has joined the channel [13:30] Wizek has joined the channel [13:31] neurodrone has joined the channel [13:31] neurodrone has joined the channel [13:33] fairwinds has joined the channel [13:33] lluft has left the channel [13:33] lluft has joined the channel [13:33] lluft has left the channel [13:34] gondwana: hi, where can i ask some noob questions about node? [13:34] lluft has joined the channel [13:35] lluft: hi I'm having troubles getting the help of npm to work [13:35] jacobrelkin has joined the channel [13:35] lluft: I alway get this error Error: ENOENT, no such file or directory '/usr/local/lib/node_modules/npm/man/man1/' [13:35] loob2 has joined the channel [13:35] lluft: even tough I changed the viewer to browser [13:35] lluft: any suggestios? [13:35] sk3l3t0n has joined the channel [13:37] jacobrelkin has left the channel [13:38] GrizzLyCRO: gondwana: google should be good at answring those :) [13:40] lluft: yeah it is I searched yesterday for quite a bit and couldn't fin anything I tried it directly after writing here and found a soltution [13:41] lluft: don't know what I did wrong yesterday -_- [13:42] mAritz has joined the channel [13:42] lluft: sorry for bothering [13:42] gondwana: GrizzlyCRO: eh, google? whats that [13:45] JakubRacek has joined the channel [13:45] vdemedes has joined the channel [13:53] LeMike has joined the channel [13:55] pickels has joined the channel [13:55] Sorella has joined the channel [13:55] karboh_ has joined the channel [13:55] joshfinnie has joined the channel [13:57] warris has joined the channel [13:58] petrjanda has joined the channel [13:58] robi42 has joined the channel [14:00] aesptux has joined the channel [14:00] Wizek has joined the channel [14:02] adrianmg has joined the channel [14:03] CiRlE has joined the channel [14:06] jbrokc has joined the channel [14:09] gavin_huang has joined the channel [14:12] churp has joined the channel [14:13] IrishGringo has joined the channel [14:15] chirag has joined the channel [14:15] warris: visa [14:15] zomg: mastercard [14:17] chirag: I have created a server and rending html file..but the css and the javascript in the html is not rendered..? [14:18] zomg: If they are external files you need to be actually serving those files [14:19] chirag: yes they are external files [14:19] booyaa: chirag: have a look at the http-static module or serve them up using nginx/ [14:19] chirag: i have this solution http://thecodinghumanist.com/blog/archives/2011/5/6/serving-static-files-from-node-js [14:19] chirag: but from the comments seems like this is not the best solution [14:19] joemccann has joined the channel [14:20] chirag: booyaa: ok i will look into them [14:20] warris has left the channel [14:21] booyaa: man nodester's really not liking my code...okay lets pick a random port number [14:22] mcbaine has joined the channel [14:22] criswell has joined the channel [14:29] styol has joined the channel [14:30] mange has joined the channel [14:32] hipsters_ has joined the channel [14:33] arcanis has joined the channel [14:34] garrensmith has joined the channel [14:39] knifed has joined the channel [14:40] mAritz has joined the channel [14:40] simpluci` has joined the channel [14:41] meso has joined the channel [14:41] magnetik has joined the channel [14:41] vdemedes: booyaa: process.env.PORT ? [14:41] meso_ has joined the channel [14:42] chirag has joined the channel [14:43] chirag: any login script example in node.js [14:44] booyaa: vdemedes: already did this, logs imply the port i get is still in use [14:44] zomg: chirag: pretty easy at least if you use Express. Just use the session middleware and store some flag in there [14:45] chirag: zomg: yes i was considering moving to express for a full blown web app now.. [14:45] chirag: any example of full blown app using express? [14:45] xajler has joined the channel [14:46] zomg: There are various examples on express' github repo [14:46] chirag: ok cool..i will take a look..got some tutorials via google [14:46] chirag: thanks btw..;) [14:46] zomg: np [14:47] Brandon_R has joined the channel [14:47] Brandon_R: hi guys [14:48] kazupon has joined the channel [14:48] frabcus has joined the channel [14:50] mAritz has joined the channel [14:50] frabcus has joined the channel [14:51] simplucid has joined the channel [14:51] ShinyDarkness has joined the channel [14:51] plutoniix has joined the channel [14:52] thalll has joined the channel [14:52] ArtistConk has joined the channel [14:53] booyaa: it's bloody annoying. the same code works on cloudnode (which is a nodester fork), nodejitsu and heroku [14:54] vdemedes has left the channel [14:55] rurufufuss has joined the channel [14:55] simplucid has joined the channel [14:56] ixti has joined the channel [14:57] simplucid has joined the channel [14:58] Brandon_R: what's up guys [14:59] adambeynon has joined the channel [15:02] gondwana has left the channel [15:02] hipsters_: is there any reason why my app should be consuming more and more ram - all it does is pull down a webpage every 5 minutes, parse it, send a tweet possibly, and log to file. woke up this morning to my server at 100% and swapping [15:02] hipsters_: 0.6.5 [15:03] aliem has joined the channel [15:03] mange has joined the channel [15:04] Phlogistique: hipsters_: I hear it is easy to leak memory in Javascript; if you can provide a minimal working exemple people might be able to help [15:04] Brandon_R: memory leaks maybe [15:04] NetRoY has joined the channel [15:04] jarek has joined the channel [15:04] Brandon_R: that seems to be the only explanation unless you are storing data in raw memory without copying to disk and deleting [15:05] Brandon_R: is your code on github? [15:06] warris has joined the channel [15:07] hipsters_: one sec [15:07] hipsters_: going to put a gist up [15:07] hipsters_: https://gist.github.com/1461021 here we go [15:10] hipsters_: already up to 11% RAM in 3 hours :v [15:12] hipsters_: i assume i should probably be doing something with each jsdom.env after i've finished using it - but I don't see anything in their docs [15:13] marlun has joined the channel [15:13] marlun has joined the channel [15:13] ArtistConk has joined the channel [15:13] simplucid has joined the channel [15:17] warris has joined the channel [15:18] satyr has joined the channel [15:18] co_dh has joined the channel [15:18] co_dh has left the channel [15:20] co_dh has joined the channel [15:21] co_dh: greeting. I have a question about jade template . how can I have a css class from a variable ? like - var cls = "foo" \n label.#{cls} ? [15:21] simplucid has joined the channel [15:22] isaacs has joined the channel [15:22] weissmag has joined the channel [15:22] GrizzLyCRO1 has joined the channel [15:23] simplucid has joined the channel [15:24] simplucid has joined the channel [15:24] weissmag: Hello everyone [15:25] co_dh: I found the answer myself : label(class= cls) hell [15:25] co_dh: s/hell/hello [15:25] weissmag: ia have some very strange issue with setInterval and setTimeout [15:25] madhums has joined the channel [15:26] nils_r has joined the channel [15:26] hunterloftis has joined the channel [15:26] weissmag: both callbacks hapenning imediatly after calling the set.. even when i set it to 1000 [15:27] weissmag has joined the channel [15:27] weissmag: and especially the setInterval which start "flodding" the console with my debug console.log [15:27] weissmag: any ideas ? [15:28] simplucid has joined the channel [15:30] _unary has joined the channel [15:31] AnthonyCat has joined the channel [15:32] AnthonyCat: Is there a way to trigger a break point using a language construct? [15:32] astrobunny has joined the channel [15:32] subbyyy has joined the channel [15:34] mmalecki: AnthonyCat: breakpoint; [15:35] AnthonyCat: Thanks [15:36] hipsters_ has joined the channel [15:39] simplucid has joined the channel [15:42] lietu has joined the channel [15:43] plutoniix has joined the channel [15:43] JanLi has joined the channel [15:43] adambeynon has joined the channel [15:45] mAritz has joined the channel [15:45] enmand has joined the channel [15:46] simplucid has joined the channel [15:46] sheng_ has joined the channel [15:47] Draco_ has joined the channel [15:47] jetienne has joined the channel [15:50] joemccann has joined the channel [15:51] tdegrunt has joined the channel [15:52] lwille has joined the channel [15:54] jetienne has joined the channel [15:56] jtsnow has joined the channel [15:56] Raul_ has joined the channel [15:56] idefine has joined the channel [15:56] sheng_ has joined the channel [15:57] maletor has joined the channel [16:00] idefine has joined the channel [16:01] Ownatik has joined the channel [16:01] lorfds has joined the channel [16:01] tomtomaso has joined the channel [16:02] tomtomaso has joined the channel [16:03] jomoho has joined the channel [16:10] warris has joined the channel [16:11] aliem_ has joined the channel [16:12] ppcano has joined the channel [16:16] weissmag: is anyone familiar with a bug in setTimeout and setInterval causing them to fire the event immediately and not waiting the specified millis ? [16:16] gchristensen has joined the channel [16:16] Ond: No [16:17] gchristensen: is there a way to use NPM to manage dependencies of a project I'm not publishing? [16:17] isaacs: gchristensen: yes [16:17] isaacs: gchristensen: jsut the same way. write a pacakge.json, run `npm install` [16:18] gchristensen: hrmm.. alright, thank you isaacs [16:18] isaacs: gchristensen: you can even set "private":true in the package.json to prevent accidental publishing [16:18] weissmag: ive tried both setInterval and setTimeout even with 10000 and they fire on the spot [16:19] weissmag: i'm knocking my head here [16:20] cjm has joined the channel [16:21] weissmag: i have my env setup on debian inside VirtualBox on win7, waht can cause the setInterval/setTimeout to think that millis has already passed ? [16:22] topaxi: weissmag: you got a small example to reproduce? [16:22] dr0id has left the channel [16:22] gchristensen: isaacs: beautiful! thank you so much [16:22] weissmag: just a sec [16:23] weissmag: exports.fetch = function(){ [16:23] weissmag: console.log("Start Fetching..."); [16:23] weissmag: setTimeout(fetchBulk(),10000); [16:23] weissmag: }; [16:23] weissmag: function fetchBulk(){ [16:23] weissmag: console.log("Fetching bulk from DB..."); [16:23] weissmag: WebPage.find({status:0},crawlPages); [16:23] weissmag: setTimeout(fetchBulk(),10000); [16:23] weissmag: } [16:23] topaxi: yeah you call it right away... [16:24] topaxi: try setTimeout(fetchBulk, 10000) [16:24] topaxi: (without the parens :) ) [16:25] mikl has joined the channel [16:25] weissmag: lol [16:25] topaxi: ^^ [16:25] chadskidmore has joined the channel [16:25] weissmag: it works, i feel so #$^%#$ [16:26] devongovett has joined the channel [16:28] stefpb has joined the channel [16:30] weissmag: is this the right place for mongoose questions ? [16:30] PyroPeter has joined the channel [16:30] wtfizzle has joined the channel [16:31] liar has joined the channel [16:32] hellp has joined the channel [16:32] stonebranch has joined the channel [16:33] devaholic: perhaps [16:33] devaholic: there is also #mongoosejs [16:33] ppcano: i am writing a node script ( #!/usr/bin/env node), wondering whether which is the way to require installed global modules. [16:33] devaholic: require('modules') [16:33] confoocious has joined the channel [16:33] confoocious has joined the channel [16:35] warris has joined the channel [16:36] ppcano: devaholic: it is not working. Currently, i am using nvm and i thought the problem was because require is called from a script. [16:37] devaholic: node -v [16:37] JmZ: so i have an app which processes items in a queue (using async), processing an item involves passing a callback to yet another function call. items get inserted into the db. problem is, mongodb requires the connection to be closed manually otherwise it never exits (node never exits) [16:37] devaholic: echo $PATH [16:38] JmZ: how on earth am i supposed to be able to close the connection when everything has been processed? The number of items queued is dynamic, changes per run. The callbacks run in any order. [16:39] ppcano: devaholic: it is using the nvm installed version. it was setup with ( nvm use default ), however packages seems not to be found [16:39] JmZ: nobody replied the last 3 times i asked this so i assume nobody understands or has a clue [16:39] wtfizzle: There are tools to handle this logic for you (async, step, etc.) [16:39] devaholic: !gh async.js [16:39] devaholic: hmm [16:39] devaholic: JmZ thats not very nice [16:40] JmZ: wtfizzle are you talking to me? im using async, as i said. [16:40] wtfizzle: The way I generally do it is I check the call count manually [16:40] wtfizzle: Ah, sorry, I missed that [16:40] wtfizzle: I don't have too much experience using async for this [16:40] wtfizzle: I've always handled it manually [16:40] devaholic: JmZ use async.anything and close the connection in the final callback [16:40] JmZ: I use async's queue. i figured i could close the connection on the drain event, but the queue drains multiple times [16:40] devaholic: simple as that [16:40] JmZ: oh [16:41] devaholic: series, parallel, auto, whatever [16:41] wtfizzle: I just set a count limit to the total number of requests, and close the account when that number of callbacks is reached [16:41] wtfizzle: close the connection* [16:41] mAritz has joined the channel [16:41] JmZ: devaholic: yeah thats a good idea, run all the main code in a callback inside a series call [16:42] JmZ: then a separate one to close the db [16:42] JmZ: devaholic: although, won't it claim to have finished when it really hasn't? because there will be callbacks waiting to execute [16:43] devaholic: read async docs [16:43] JmZ: devaholic: if the function you pass to async.series first, calls functions within its self which take callbacks [16:43] JmZ: the parent function will complete before the callbacks [16:43] devaholic: It doesnt matter, as long as you call the async callback eventually [16:43] JmZ: so async.series will surely think it is done and close the db [16:43] devaholic: no [16:44] JmZ: as for saying read the async docs, i did. if it had an answer i wouldn't be here [16:44] JmZ: i assumed it ran.. asynchronously, which would mean the function finishes before the callbacks inside it [16:45] ppcano: devaholic: nvm problem, must setup with v0.4 ( export NODE_PATH="$NVM_DIR/$VERSION/lib/node_modules" [16:45] ppcano: ), thanks for your help [16:46] devaholic: JmZ: go implement async.parallel [16:46] JmZ: that'd make no sense, it needs to be serial not parallel [16:47] JmZ: why would you close the db connection.. while querying the db? [16:47] devaholic: JmZ: if it doesnt work GIST your code, and ask nicely for help [16:47] asoltys has joined the channel [16:47] devaholic: you dont understand how async works [16:47] devaholic: (the lib) [16:47] JmZ: of course I do [16:47] devaholic: or its methods [16:47] EhevuTov has joined the channel [16:47] JmZ: parallel runs the callbacks in parallel, clearly [16:47] devaholic: ppcano: ? [16:48] JmZ: running a callback to close the db connection in parallel to the main code.. really? [16:48] JmZ: i understand it. [16:48] devaholic: JmZ: the finally callback is run after everything is completed [16:49] devaholic: ppcano: what is your actual path [16:49] JmZ: devaholic: the 'finally callback'? you mean the final block? async has no 'finally callback' [16:49] JmZ: in which case, no, it doesn't. it runs after the functions have completed, not the callbacks they initiate at a later stage [16:50] devaholic: hope you are trolling me [16:50] ppcano: devaholic: i need to setup the path, the problem is mentioned at https://github.com/creationix/nvm/issues/56 [16:50] JmZ: devaholic: see above [16:50] ph^_ has joined the channel [16:50] satyr has joined the channel [16:50] devaholic: ppcano type echo $PATH [16:50] devaholic: and paste that shit here [16:50] JmZ: i assume you meant to say 'final', then [16:50] devaholic: and then make it clear where you are running your script [16:50] JmZ: as in, the final callback, the last one [16:51] ppcano: devaholic: /Users/pepe/.nvm/v0.4.7/bin [16:51] devaholic: JmZ: final, yes [16:51] mraleph has joined the channel [16:51] devaholic: what os are you on ppcano [16:53] ppcano: my script is a (#!/usr/bin/env node) under a folder already on my PATH, using MAC. When i manually setup NODE_PATH, the problem was fixed [16:53] devaholic: >_> [16:53] eb4890 has joined the channel [16:54] iBooyaa has joined the channel [16:54] criswell has joined the channel [16:54] vandenoever has joined the channel [16:54] vandenoever: is there a build system based on node.js? [16:54] warris has left the channel [16:55] SoulRaven has joined the channel [16:55] rwaldron has joined the channel [16:55] JmZ: yep [16:55] JmZ: devaholic: async.series will not work for this [16:56] CarterL has joined the channel [16:56] JmZ: just as i thought, the function completes but obviously the callbacks it initiates are still waiting to execute [16:56] JmZ: so it isn't really complete, making async.series useless for this problem [16:57] herbySk has joined the channel [16:57] romanb_ has joined the channel [16:57] devaholic: JmZ you are trolling [16:57] JmZ: you're terrible at spotting trolls, because i'm clearly not [16:57] JmZ: do you not understand what i'm saying? [16:58] JmZ: i can clarify if you wish [16:58] devaholic: clarify with a gist [16:58] JmZ: sure thing man [17:01] JmZ: devaholic: https://gist.github.com/1461559 [17:01] JmZ: there you go [17:01] JmZ: simple logic, the callback is executed once the request completes. the function calling request() completes way before that point though [17:01] JmZ: making async.series of no use in this situation [17:02] k1ttty has joined the channel [17:02] devaholic: you arent using async.series properly [17:02] devaholic: once sec [17:02] devaholic: one [17:03] JmZ: considering it is almost identical to the example given on async's github, i assumed it was valid [17:03] JmZ: the callbacks execute with no params because there is no error and no data to return [17:03] marcello3d has joined the channel [17:03] Renegade001 has joined the channel [17:03] devaholic: https://gist.github.com/1461569 [17:04] JmZ: oh so i was using it properly, just not the way required for this situation [17:04] TheJH: devaholic, you failed to spot the issue [17:04] TheJH: devaholic, you rewrote it, but didn't fix it [17:04] devaholic: all i did was add the callback [17:04] TheJH: JmZ, call `c();` inside the requests callback [17:05] TheJH: JmZ, not below it [17:05] JmZ: ahh [17:05] JmZ: sense, some has been made [17:05] TheJH: JmZ, https://gist.github.com/1461580 [17:05] devaholic: thats also going to be necessary, good catch [17:05] TheJH: devaholic, not "also" [17:06] devaholic: ahem [17:06] JmZ: TheJH: I see now, so the function is "completed" once the callback is called [17:06] TheJH: devaholic, "series" is called "series" because it works in series, not parallel [17:06] zivester has joined the channel [17:06] TheJH: JmZ, yes, somewhat like that [17:06] MacDiva has joined the channel [17:07] JmZ: going to be pretty hard implementing it in my code though [17:07] devaholic: TheJH, I see what you are saying, but regardless of series or parallel or auto or anything, the final callback is what i was pointing JmZ towards, ofc you can also do it in a "final" callback in a series [17:07] JmZ: since it'll be a queue running in a series [17:07] devaholic: why am i explaining this... [17:07] JmZ: calling callbacks [17:08] konobi: think of it as an exception handler [17:08] TheJH: devaholic, true [17:08] TheJH: konobi, good point [17:08] TheJH: didn't think about exceptions [17:09] brianseeders has joined the channel [17:09] gsmcwhirter has joined the channel [17:09] devaholic: JmZ http://vimeo.com/32851269 [17:10] JmZ: no time, sorry [17:10] JmZ: will watch it another time if i get chance [17:10] prettyrobots has joined the channel [17:11] konobi: bah... hate having to load up on stuff before train journeys since you never know what the hsdpa service is going to be like [17:11] JmZ: flow control is easy until you want something to run in serial after something which runs in parallel [17:11] TheJH: JmZ, that's not hard :D [17:11] JmZ: you haven't seen my code or what im trying to do [17:11] JmZ: it is quite difficult [17:12] konobi: async does that out of the box [17:12] enmand has joined the channel [17:12] JmZ: yeah i simplified the explanation [17:12] JmZ: can't explain my whole application of course [17:12] TheJH: JmZ, mmmhm... do you know streamlinejs? although you should NOT use it if you don't know flow control, it's quite useful [17:12] konobi: paralell([ , ], ) [17:12] JmZ: i do know flow control [17:12] JmZ: parallel* [17:12] devaholic: isnt streamline like fibers? [17:13] JmZ: yep konobi that wouldn't work for this case [17:13] TheJH: devaholic, no, streamline is a precompiler, and it has explicit markers for "pausing" execution [17:13] JmZ: i'd explain but it'll take too long [17:13] TheJH: JmZ, alternatively, if you like coffeescript or so, try coco, it has a backcall feature that allows you to "pause" execution, too [17:13] devaholic: yeah... i saw it on github once... that stuff seems trollish tbh [17:13] TheJH: ("pause" as in "wait for a callback") [17:14] JmZ: i don't need to pause execution [17:14] JmZ: ah [17:14] TheJH: JmZ, it doesn't really pause [17:14] JmZ: yeah ill figure it out with async [17:14] JmZ: i don't need anything else [17:14] TheJH: JmZ, it can't even do that [17:14] mAritz has joined the channel [17:14] TheJH: JmZ, it just rewrites your sync code to callbacks [17:14] JmZ: good to know [17:14] JmZ: lol [17:17] JmZ: basically, i have a function which reads some file, inserts each item into a queue, the queue callback request()'s each item's URL and does something in request's callback [17:18] JmZ: so getting all that to run in a series... [17:19] JakubRacek has joined the channel [17:20] liar has joined the channel [17:20] jrogers has joined the channel [17:21] brianloveswords has joined the channel [17:21] ovaillancourt has joined the channel [17:24] JakubRacek: Hello guys :P Please what library is good for password crypting with salt ? :) [17:24] konobi: bcrypt [17:28] JakubRacek: @konobi: thank you [17:31] josh-k has joined the channel [17:38] satyr has joined the channel [17:41] igl1: whats the advantage of bcrypt over crypto? [17:41] cjroebuck has joined the channel [17:42] mAritz has joined the channel [17:42] ppcano has joined the channel [17:42] jetienne_ has joined the channel [17:43] cognominal_ has joined the channel [17:43] pyparadigm has joined the channel [17:44] fzzzy has joined the channel [17:46] marcello3d has joined the channel [17:46] cognominal___ has joined the channel [17:47] dubenstein has joined the channel [17:55] rektide: writing SMTP severs for fun and no profit [17:55] rektide: yaay [17:56] shedinja: igl1: bcrypt is more secure for passwords and other sensitive data becauser it takes more time [17:59] nodebiscut has joined the channel [18:00] johnnywengluu has joined the channel [18:02] omenar has joined the channel [18:02] lzskiss has joined the channel [18:02] booyaa: y0 [18:03] konobi: rektide: haraka? [18:06] tkaemming has joined the channel [18:07] andrewfff has joined the channel [18:07] EhevuTov has joined the channel [18:10] jacobolus has joined the channel [18:11] chadskidmore has joined the channel [18:12] megalomix has joined the channel [18:13] megalomix: hello [18:13] madhums has joined the channel [18:14] marcello3d: this channel is so lively and exciting sometimes :D [18:15] TheJH: anyone ehre who has nothing to do and wants to fix https://github.com/mishoo/UglifyJS/issues/241 ? :D [18:15] TheJH: *here [18:15] TheJH: ACTION is too lazy [18:15] djcoin has joined the channel [18:16] codygray has joined the channel [18:16] Skaag_ has joined the channel [18:18] polotek has joined the channel [18:18] dshaw_ has joined the channel [18:19] megalomix: guys how to check a string with a regex? [18:19] megalomix: string.match(regex) [18:19] megalomix: ? [18:20] idoru has joined the channel [18:21] mAritz has joined the channel [18:22] polotek: megalomix: if you just want to test for match you can do regex.test(string) [18:22] polotek: returns a boolean [18:22] megalomix: aah ok [18:22] megalomix: perfect [18:22] Skaag_ has joined the channel [18:23] megalomix: polotek, [18:24] megalomix: i get an error [18:24] megalomix: polotek, TypeError: Object /^[a-z0-9._%+-]+@[a-z0-9.-]+.[a-z]{2,6}$/i has no method 'test' [18:24] megalomix: (i need to test a string with an email) [18:25] polotek: megalomix: is the object a true regex [18:25] megalomix: ops [18:25] megalomix: nothign [18:25] megalomix: i added "regex" [18:25] megalomix: :D [18:25] galaxywatcher has joined the channel [18:25] Sample has joined the channel [18:26] marcello3d: nuts http://www.youtube.com/watch?v=G5dOB3VSyC8&feature=player_embedded [18:26] Lingerance: megalomix: That fails on some valid email addresses. [18:26] megalomix: Lingerance, why? [18:27] Lingerance: I strongly suggest just using the method of "send an email with a validation link" [18:27] Lingerance: "robin '|' stamer"@xiennith.com [18:27] Lingerance: That's my email address. [18:27] jtsnow has joined the channel [18:28] marcello3d: with quotes and everything? [18:28] megalomix: �_� [18:28] marcello3d: I've never seen such email D: [18:28] polotek: Lingerance: ha, why would you do that to yourself? [18:28] megalomix: me too [18:28] marcello3d: seems like having a space in there would have to be encoded [18:28] Lingerance: polotek: Because I have aliases. [18:29] Renegade001 has joined the channel [18:29] Lingerance: It's the one I give out on IRC because no bot is coded in a way to grab it correctly. [18:29] djMax has joined the channel [18:29] megalomix: Lingerance, i must use a regex to validate the sintax [18:29] megalomix: i'm writing a custom module to check form values [18:29] Lingerance: Then just confirm the domain part. [18:29] polotek: Lingerance: sounds like you want it to fail regexes [18:29] marcello3d: you probably want to escape the . at the end... [18:30] Lingerance: Aye, regex checking on emails is stupid unless you dig up the borg-cube. [18:30] Lingerance: Note: you can have multiple @'s in an email. [18:30] djMax: Is there any way to get https.request to ignore cert validation? [18:30] _directmiss_ has joined the channel [18:31] marcello3d: aha [18:31] marcello3d: here you go [18:31] polotek: Lingerance: there's spec, and then there's practical use [18:31] marcello3d: http://ex-parrot.com/~pdw/Mail-RFC822-Address.html [18:31] marcello3d: that's the regexp for email [18:31] marcello3d: from http://stackoverflow.com/questions/201323/what-is-the-best-regular-expression-for-validating-email-addresses [18:31] polotek: If your email is so complicated that no one wants to type it or write it [18:31] polotek: you should expect problems in general [18:31] Morkel has joined the channel [18:32] Lingerance: I only give it out on electronic mediums [18:32] aliem has joined the channel [18:32] Lingerance: I have aliases for other situations... [18:32] megalomix: http://ex-parrot.com/~pdw/Mail-RFC822-Address.html ahahahahaahahah [18:32] megalomix: :D [18:34] _directmiss_: exit() [18:36] MacDiva has joined the channel [18:36] lorfds has joined the channel [18:37] mike5w3c_ has joined the channel [18:37] mnutt has joined the channel [18:38] idefine has joined the channel [18:38] AndreasMadsen has joined the channel [18:38] LeMike has joined the channel [18:39] mAritz has joined the channel [18:43] boltR has joined the channel [18:44] subbyyy has joined the channel [18:45] patcito has joined the channel [18:48] arcanis has joined the channel [18:48] flat has joined the channel [18:49] N0va` has joined the channel [18:49] Eber has joined the channel [18:50] Eber has joined the channel [18:51] Rabbi_Meish has joined the channel [18:51] cjm has joined the channel [18:51] Rabbi_Meish: What is this channel about? [18:52] towski has joined the channel [18:52] MacDiva has joined the channel [18:54] kei has joined the channel [18:54] Rabbi_Meish: hello [18:56] lightcap has joined the channel [18:56] djMax: it's about the node.js web server [18:57] chrisbuchholz has joined the channel [18:57] gkatsev: node.js isn't a webserver [18:57] djMax: well, I figured it was a reasonable simplifying assertion for that question [18:58] djMax: but if you want to answer it semantically correctly, go for it [18:58] jgornick has joined the channel [18:58] chrisbuchholz has joined the channel [18:59] jtrudeau has joined the channel [18:59] gusman has joined the channel [18:59] igl1: where were we without nitpicking? [18:59] gkatsev: :D [19:00] omenar has joined the channel [19:00] moogoo: this chan is about cybersex [19:00] djMax: trying to find a reverse proxy to deal with node's shortcomings in regards to ssl validation [19:01] djMax: now THAT is a simplifying assertion for the internet as a whole. :) [19:01] cheapRoc has joined the channel [19:01] vicapow has joined the channel [19:02] vicapow: any good documentation on the migration of node src from EventEmitter to MakeCallback ? [19:03] triptec has joined the channel [19:03] gkatsev: moogoo: just because that's what you do here doesn't mean that's what the whole channel is about. :> [19:03] langworthy has joined the channel [19:04] moogoo: a/s/l??? [19:04] stagas has joined the channel [19:04] kei has joined the channel [19:04] JaKWaC has joined the channel [19:05] ceej has joined the channel [19:05] criswell has joined the channel [19:06] isaacs has joined the channel [19:06] ryanrolds: djMax: If this is the same issue as last night, it would be best to create an issue about this. [19:06] ryanrolds: https://github.com/joyent/node/issues [19:06] Leemp has joined the channel [19:06] djMax: still trying to verify that some other proxy can do it so I know if it's a validation thing or a protocol thing [19:07] mmalecki: isaacs: hey. if mikeal is around, tell him that I hotfixed planetnodejs.com in production. nothing important, but it'd be better for him to know. [19:07] isaacs: ok [19:08] mmalecki: isaacs: https://github.com/mikeal/planet/blob/master/main.js#L125 failed, so it's in a try catch now [19:09] mekwall has joined the channel [19:10] stonebranch has joined the channel [19:11] ArtistConk has joined the channel [19:11] jacobrask has joined the channel [19:12] ovaillancourt has joined the channel [19:13] JaKWaC has joined the channel [19:14] rektide: konobi: that word, haraka, i do not know it [19:14] jergason has joined the channel [19:14] isaacs has joined the channel [19:16] ryanfitz has joined the channel [19:20] quijote has joined the channel [19:21] Sami_ZzZ has joined the channel [19:22] jjd has joined the channel [19:23] stagas has joined the channel [19:27] idefine: hi, will cluster (from learnboost) let me fork my current process over my machine cores? it's not a tcp or http server [19:28] `3rdEden: idefine it works with every node.js file [19:28] mikeal: thanks mmalecki [19:29] mikeal: i checked a fix in [19:29] pizthewiz has joined the channel [19:30] maletor has joined the channel [19:31] idefine: `3rdEden: hmm I'm not sure how I would do that?, docs say to pass in the server object to cluster (http or tcp server) [19:31] hugojosefson has joined the channel [19:32] `3rdEden: Oh you where talking about the learnboost one :$ i totally skipped that part of your sentence [19:32] stereosteve has joined the channel [19:33] mmalecki: mikeal: ok! :) [19:33] `3rdEden: idefine yes the learnboost cluster requires a server that can accept file descriptors [19:33] mmalecki: mikeal: have you deployed it? [19:33] AndreasMadsen: idefine: the LearnBoost cluster module do support UDP if that is what you are searching for. [19:33] `3rdEden: so that would be a tcp, http, or spdy server etc [19:33] idefine: `3rdEden: ok, any ideas on learboost cluster support for 0.6? [19:33] TheJH: to the joyent guys: what's the traffic limit on a free no.de instance? [19:34] mikeal: yes [19:34] mmalecki: mikeal: ok, awesome [19:34] `3rdEden: idefine would that even be needed? as Node 0.6 has it's own build in cluster module [19:34] TheJH: e.g. how much constant traffic for 3h or so is ok? [19:35] AndreasMadsen: idefine: There is no plans for LearnBoost/cluster in 0.6 and the native will properly be extended in 0.8 [19:35] TheJH: isaacs, ^ ? [19:35] d0k has joined the channel [19:36] idefine: `3rdEden: learn boost cluster offers quite a few nice features, which we are currently using in development. So we haven't been able to move to 0.6. [19:36] socketio\test\34 has joined the channel [19:37] idefine: `3rdEden: Anything like node's 0.6 cluster for 0.4? Any libraries that you'd recommend? [19:37] `3rdEden: idefine idk, I haven't made the step to 0.6 yet as most some of my `core` modules are not compatible with it yet [19:38] AndreasMadsen: idefine: there is currently no cluster module for 0.6, but in 0.7 this is what the we have on the drawing board: https://github.com/AndreasMadsen/node-1/blob/master/doc/api/cluster.markdown [19:39] MrNibbles has joined the channel [19:43] JaKWaC has joined the channel [19:45] Phlogistique: does anyone here use watchit under Linux? [19:45] Phlogistique: does it work well for you when writing the file with vim? [19:46] insin has joined the channel [19:46] davidwalsh has joined the channel [19:46] idefine: AndreasMadsen: I thought there was cluster support in 0.6: http://nodejs.org/docs/v0.6.0/api/cluster.html [19:47] AndreasMadsen: idefine: there is and it works, but i do not rock [19:47] jbpros has joined the channel [19:47] dgathright has joined the channel [19:48] zmbmartin has joined the channel [19:48] idefine: AndreasMadsen: ah ok, is there anything for multi-core in 0.4? any packages maybe? something like learn boost's cluster? (except not for servers) [19:48] justin_ has joined the channel [19:48] AndreasMadsen: No you will have to use the child_process.spawn method [19:48] CarterL has joined the channel [19:49] AndreasMadsen: But that is not so difficult the main point in the LearnBoost/cluster was to share a port between node processes and that is difficult. [19:50] aaronmcadam has joined the channel [19:52] sorensen__ has joined the channel [19:53] marcello3d: what modules are people using that lock them to 0.4? [19:54] Renegade001 has joined the channel [19:54] AndreasMadsen: marcello3d: LearnBoost/cluster [19:57] salva has joined the channel [19:57] salva has left the channel [19:58] idefine: `3rdEden & AndreasMadsen: there is actually a way to do it without having to pass in a http/tcp server, don't know why it's not in the docs! but found it in an the examples folder: https://github.com/LearnBoost/cluster/blob/master/examples/standalone.js [19:58] idefine: for when you just want to parallelize over cores :) [19:59] joshfinnie has joined the channel [19:59] stonebranch has joined the channel [19:59] AndreasMadsen: Well sorry about that, I will make sure this is somehow supported in the native cluster 2.0 module there is in 0.7+ [20:00] tdegrunt has joined the channel [20:02] idefine: AndreasMadsen: hmm, i'll be back in a few minutes - i think there may be a little confusion. It looks like the native cluster is able to do that already, i'll be back in 20 min. [20:05] AndreasMadsen: idefine: I might not be back then, but yes the current native cluster module do support that, however there is almost no reason to use it, you should use child_process.fork. But in native cluster 2 there will be a listening in the master, there will emit when a given server is listening in the worker. I have to make sure not to rely on that event since there might not be a server in the worker. [20:06] idefine: AndreasMadsen: ok, i think I understand what you are saying. [20:06] hij1nx has joined the channel [20:06] idefine: AndreasMadsen: I'll have to look into it more. Thanks for your input! [20:06] idefine: :) [20:07] idefine: `3rdEden: thanks for your input! :) [20:07] TheJH: isaacs, konobi, piscisaureus__, pquerna, ryah: can one of you tell me what the bandwidth limit for free no.de instances is? [20:07] trotter has joined the channel [20:07] isaacs: TheJH: i'm not sure what the bandwidth limit is. [20:08] isaacs: TheJH: i think just the cpu, ram, and disk are explicitly limited. bandwidth is "until we get annoyed with you" or somethign. [20:08] ken-ignite has joined the channel [20:09] nicholasf has joined the channel [20:09] TheJH: isaacs, mhm... are two or three hours of audio streaming with, like, 8000 kbits per user "we get annoyed with you"? (where number of users is how many people listen to nodeup) [20:10] isaacs: TheJH: i'm not really too knowledgeable about that side of things. email support@joyent.clm [20:10] isaacs: *support@joyent.com [20:10] skm has joined the channel [20:10] TheJH: isaacs, ok [20:10] isaacs: TheJH: they'd probably know what's appropriate [20:10] blueadept: anyone know of a way to cycle through two variables with mustache, i'm trying to achieve an evenrow, oddrow css scheme [20:12] blueadept: wait n/m [20:12] merlin83 has joined the channel [20:13] smgt has joined the channel [20:16] Xano has joined the channel [20:16] tommyvyo has joined the channel [20:16] KiNgMaR: is anyone aware of a *nix ping utility that supports machine-readable output? exec(ping) + regex magic feels dirty. [20:17] ken-ignite: can anyone point me toward some tutorials or demos using a jquery ajax post to send info to node and onward to a mongo database? i'm stuck currently [20:18] caioketo: hey there, if someone got a tutorial or example of a proxy server done with socket.io and node.js that redirect websocket connection to a normal socket connection, or some articles that reading i can make it my own, ill apreciate [20:18] polotek: ken-ignite you should gist some code you're having trouble with [20:18] moogoo: KiNgMaR: what exactly do you want from the ping output [20:19] ph^ has joined the channel [20:19] KiNgMaR: moogoo: as much as I can get. I have it all up and running with some regular expressions but ain't sure if I have covered all possible outputs [20:20] meandi2 has joined the channel [20:20] ken-ignite: polotek, this is the stackoverflow question thats piqued my interest in the subject: http://stackoverflow.com/questions/4696657/ajax-post-to-node-js-express-app [20:20] ken-ignite: it's incomplete though and i can't make the full connection [20:21] thax has joined the channel [20:21] moogoo: pings all look the same to me [20:22] idefine_ has joined the channel [20:22] ken-ignite: in theory i want to track button click events in my view, pass the json to node through a jquery post, and then pass that on to mongo for storage. [20:22] polotek: ken-ignite: there are several problems with the code there. did you read the answers? [20:22] moogoo: but I think besides the 64 bytes from somehost.come (1.2.3.4): [20:23] moogoo: everything afterwards is key=val anotherkey=anotherval [20:24] ken-ignite: i did, i understand the OP needed to use an server.post [20:24] kriszyp4 has joined the channel [20:25] wmage has joined the channel [20:25] lorfds has joined the channel [20:26] polotek: also res.stuff is not what you want [20:26] poxd has joined the channel [20:26] polotek: you want to pull the parameters off of request [20:27] LeMike has joined the channel [20:27] ken-ignite: alright, that makes more sense [20:28] josephg has joined the channel [20:28] polotek: and then you need to actually return the response to the client [20:29] poxd: hello, I'm trying to use less but faces a cannot find module 'less' when using the lessc script built in. when I require the less module in node repl I get no error, any hint? [20:29] joshthecoder has joined the channel [20:29] ken-ignite: thanks polotek, i'll begin working that angle [20:30] marcello3d: ryah: what's the story with long stack traces, is that planned or available? [20:30] JaKWaC has joined the channel [20:31] grampajoe has joined the channel [20:32] mandric has joined the channel [20:33] djbell has joined the channel [20:34] Aria has joined the channel [20:34] maletor has joined the channel [20:36] killtime has joined the channel [20:37] JaKWaC has joined the channel [20:38] fangel has joined the channel [20:38] localhost has joined the channel [20:41] konobi: rektide: google it and nodejs... you'll find something [20:41] maletor has joined the channel [20:45] hij1nx has joined the channel [20:45] TheJH: marcello3d, I think it's work in progress [20:45] TheJH: marcello3d, but afaik, some essential parts are still needed, like fast domains [20:47] bibabot has joined the channel [20:47] spathi has joined the channel [20:47] gchristensen has joined the channel [20:47] darkenco has joined the channel [20:48] stagas has joined the channel [20:50] marcello3d: TheJH: fast domains? [20:50] mendel_ has joined the channel [20:50] TheJH: marcello3d, well, there's the domains2 branch which implements domains, but it's pure JS and too slow [20:50] TheJH: marcello3d, so someone has to reimplement them in C++ [20:50] marcello3d: what are domains in this case? [20:50] marcello3d: grabbing the stack trace? [20:50] TheJH: marcello3d, I think piscisaureus__ is working on them, but I could be mistaken [20:51] TheJH: marcello3d, tracking function origin across binding callbacks [20:51] marcello3d: hmmm [20:52] Wizek has joined the channel [20:53] marcello3d: it's a matter of capturing the stack trace when you fork off to the actual async task, no? then when you call the callback if there's an uncaught exception, you tack on the captured trace? [20:53] perezd has joined the channel [20:54] poxd has left the channel [20:54] malkomalko has joined the channel [20:54] hij1nx has joined the channel [20:55] rektide: http://groups.google.com/group/nodejs/browse_thread/thread/7736461763314b7b/9d5af3f7640991b5?lnk=gst&q=domains2#9d5af3f7640991b5 [20:55] rektide: cool [20:56] rektide: "I built some stuff for showing network connections, writes and [20:56] rektide: incoming data events. It uses domains to show what read caused what [20:56] rektide: write. " i'm not really sure what domains are exactly for, but that's one thing i stumbled upon [21:00] chadskidmore has joined the channel [21:02] TheJH: rektide, yes, I built that one, but it uses the slow domains [21:02] gchristensen has joined the channel [21:02] TheJH: rektide, wrote that before I got told that that stuff would be redone :/ [21:03] Me1000 has joined the channel [21:03] rektide: where is the domain stuff used inside node-ioprofiler? [21:04] rektide: ah https://github.com/thejh/node-ioprofiler/blob/master/index.js#L45 [21:04] cedeon_ has joined the channel [21:05] pilgo has joined the channel [21:06] rektide: fuck yes unit tests [21:09] uberdog has joined the channel [21:09] rektide: so, domains is kind of about context within a process [21:10] rektide: isolates is about creating multiple process contexts [21:10] rektide: c/d? [21:10] tomtomaso has joined the channel [21:10] TheJH: rektide, yes, sounds roughly right [21:10] rektide: i don't know where to turn to read about the purpose of these two branches. any suggestions? [21:11] tomtomaso has joined the channel [21:11] TheJH: rektide, not really... look at who's the main committer in the branch and bug him here :D [21:11] TheJH: rektide, e.g. ryah for domains2 [21:12] rektide: i'm awful at picking out merge commits from real commits. major git pain point for me. [21:12] TheJH: rektide, go to https://github.com/joyent/node/branches and click a compare button [21:13] Sample has joined the channel [21:13] Sample has joined the channel [21:13] rektide: TheJH: good advice, thanks [21:13] jarek has joined the channel [21:13] jarek has joined the channel [21:14] Drakonite has joined the channel [21:15] Luffha has joined the channel [21:17] slajax has joined the channel [21:21] Phlogistique: As a javascript noob, I'm at a biss at a loss wrt how to avoid race conditions everywhere [21:21] Phlogistique: is there any resource on the matter? should I use node-fiber? [21:21] TheJH: Phlogistique, noooo! [21:21] TheJH: Phlogistique, do you know that nodejs is single-threaded? [21:21] isaacs: Phlogistique: check out node-async [21:22] isaacs: Phlogistique: only one thing can be happening at a time. there's no break-in [21:22] isaacs: but, if you want to coordinate async stuff, node-async is a pretty good solution. [21:22] e-1 has joined the channel [21:22] e-1 has joined the channel [21:22] Luffha has joined the channel [21:23] Phlogistique: TheJH: oh. then no function is reentrant? [21:23] Phlogistique: no event can be fired when a callback is already running? [21:23] Phlogistique: OK, now that makes sense [21:23] TheJH: Phlogistique, right, until that callback is over [21:24] Phlogistique: thanks TheJH isaacs_away [21:24] TheJH: Phlogistique, like `while (true) { var event = getNextEvent(); handleEvent(event); }` [21:24] TheJH: Phlogistique, eventloop [21:24] ovaillancourt has joined the channel [21:27] hipsters_ has joined the channel [21:29] lorfds has joined the channel [21:29] galaxywatcher has joined the channel [21:29] ph^_ has joined the channel [21:29] skm has joined the channel [21:30] cognominal___ has joined the channel [21:30] grekko has joined the channel [21:30] tonymilne has joined the channel [21:31] tomtomaso has joined the channel [21:34] Draco_ has joined the channel [21:38] SamWhited has joined the channel [21:38] michaelhartau has joined the channel [21:42] pilgo: The archive (source code download) of v 0.6.5 seems corrupt [21:42] pilgo: I get this when I try to untag it: tar: Error exit delayed from previous errors. [21:43] gde33 has joined the channel [21:44] Wizek has joined the channel [21:44] tomtomaso has joined the channel [21:45] towski has joined the channel [21:45] Brandon_R has joined the channel [21:45] tomtomaso has joined the channel [21:45] Brandon_R: hi guys [21:45] gsmcwhirter: pilgo: try downloading it again? works for me... [21:46] markwubben has joined the channel [21:47] Brandon_R: what's wrong? [21:47] Brandon_R: im starving [21:48] dreamdust has joined the channel [21:48] kainosnoema has joined the channel [21:51] sh1mmer has joined the channel [21:52] moogoo: yea [21:52] moogoo: and node still cant make me a sandwhich [21:52] halfhalo: it makes me toast [21:53] Draco_ has joined the channel [21:53] mikeal has joined the channel [21:53] dreamdust: Is there a way to tigger a socket.io server event, from the server? [21:54] nils_r has joined the channel [21:54] wtfizzle has joined the channel [21:55] bartt has joined the channel [21:57] gausby has left the channel [21:57] JaKWaC has joined the channel [21:58] enmand has joined the channel [21:59] tomtomaso has joined the channel [22:00] scottmizo has joined the channel [22:02] rwaldron has joined the channel [22:02] tdubellz_ has joined the channel [22:02] pilgo_ has joined the channel [22:05] dreamdust has joined the channel [22:05] magnetik_ has joined the channel [22:06] Vekz has joined the channel [22:06] mwhooker has joined the channel [22:07] Vekz: this is probably more of a bash shell question [22:07] Vekz: but any way i can clear output from node? [22:07] Vekz: i'm writing a cli tool that will output a bunch of stuff to the terminal [22:07] Vekz: and i want to have the node program clear it at times [22:08] adambeynon_ has joined the channel [22:08] moogoo: might want to look into terminal control codes.... [22:08] moogoo: or just output 100 newlines [22:08] moogoo: that should do it [22:08] torm3nt has joined the channel [22:08] Vekz: thanks i was hoping i wouldn't have to do anything like outputing backspace characters or newline insanity [22:09] eviltwin_ has joined the channel [22:09] moogoo: insanity is how the terminal works [22:09] cjm has joined the channel [22:10] moogoo: CSI n J ED – Erase Data Clears part of the screen. If n is zero (or missing), clear from cursor to end of screen. If n is one, clear from cursor to beginning of the screen. If n is two, clear entire screen (and moves cursor to upper left on MS-DOS ANSI.SYS). [22:10] Vekz: woah what is this? you got a link? [22:10] moogoo: http://en.wikipedia.org/wiki/ANSI_escape_code [22:10] Vekz: thx [22:11] scottmizo has joined the channel [22:12] Vekz: oh man is this DOS only? [22:12] moogoo: hm? [22:12] moogoo: no way [22:13] mehlah has joined the channel [22:13] moogoo: \x1b[2J [22:13] Vekz: thx [22:14] moogoo: I think at least... [22:14] matti: Vekz: What about ncurses? Can you use it in your case? [22:15] moogoo: yup works [22:15] tdubz has joined the channel [22:15] moogoo: ncruses seems a bit heavy for just clearing a screen [22:16] matti: True. But more portable. Terminals are wacky... :) [22:16] joshfinnie has joined the channel [22:16] moogoo: terminals are insanity [22:16] matti: Agreed :) [22:16] brainproxy: recommendations for simple node.js tool/lib that will listen for post receive hook from github and issue a git pull? [22:17] moogoo: but on the otherhand, you can hook up a teletype machine to your nix box ez [22:17] vnguyen has joined the channel [22:17] gsmcwhirter: brainproxy: strangely enough I have been working on something like that for the last couple days as a part of another project. Nowhere near usable yet though =( [22:17] paq has joined the channel [22:17] vnguyen: for the new node.js core cluster module, is there a way to bind diff variables to each fork? [22:17] gsmcwhirter: though I also didn't look very hard for an existing solution, so something may exist that is usable [22:18] Ragnis has joined the channel [22:18] digiwano_ has joined the channel [22:18] mikegerwitz has joined the channel [22:18] pavelz_ has joined the channel [22:18] jn has joined the channel [22:18] mde_ has joined the channel [22:18] mikegerwitz has joined the channel [22:18] indutny has joined the channel [22:18] hipsterslapfight has joined the channel [22:18] messju has joined the channel [22:18] messju has joined the channel [22:18] pandark_ has joined the channel [22:18] shachaf_ has joined the channel [22:18] DRMacIve1 has joined the channel [22:18] evxd has joined the channel [22:18] visnup_ has joined the channel [22:18] Riton has joined the channel [22:18] zz_shykes has joined the channel [22:18] metellus has joined the channel [22:18] Ibuprofen has joined the channel [22:18] lifty has joined the channel [22:18] ben_alman has joined the channel [22:18] medice has joined the channel [22:18] nopnop has joined the channel [22:18] inarru has joined the channel [22:18] stylus has joined the channel [22:18] lukstr has joined the channel [22:18] zed0 has joined the channel [22:18] izz_ has joined the channel [22:18] konobi has joined the channel [22:18] chapel_ has joined the channel [22:18] korch has joined the channel [22:18] ollie has joined the channel [22:18] maxogden has joined the channel [22:18] al_ol has joined the channel [22:18] voodootikigod has joined the channel [22:18] ddollar has joined the channel [22:18] Lartsa has joined the channel [22:18] VesQ has joined the channel [22:18] maru_cc has joined the channel [22:18] _mdp has joined the channel [22:18] Kingdutch has joined the channel [22:18] tankpilo` has joined the channel [22:18] jpdery has joined the channel [22:18] michaelhartau has joined the channel [22:18] llrcombs has joined the channel [22:18] don_jones_ has joined the channel [22:18] balgarath_ has joined the channel [22:18] eviltwin_ has joined the channel [22:18] Draco_ has joined the channel [22:18] Wizek has joined the channel [22:18] SamWhited has joined the channel [22:18] tonymilne has joined the channel [22:18] grekko has joined the channel [22:18] malkomalko has joined the channel [22:18] idefine has joined the channel [22:18] aaronmcadam has joined the channel [22:18] insin has joined the channel [22:18] hugojosefson has joined the channel [22:18] patcito has joined the channel [22:18] madhums has joined the channel [22:18] lzskiss has joined the channel [22:18] jetienne_ has joined the channel [22:18] zivester has joined the channel [22:18] _unary has joined the channel [22:18] ixti has joined the channel [22:18] garrensmith has joined the channel [22:18] petrjanda has joined the channel [22:18] adrianF has joined the channel [22:18] tvw has joined the channel [22:18] rgrinberg has joined the channel [22:18] gerard0 has joined the channel [22:18] jaimef has joined the channel [22:18] brokenjames has joined the channel [22:18] ryan[WIN] has joined the channel [22:18] Bonuspunk has joined the channel [22:18] igl1 has joined the channel [22:18] justmoon has joined the channel [22:18] JesusRosso has joined the channel [22:18] alnewkirk has joined the channel [22:18] koo3 has joined the channel [22:18] omni5cience has joined the channel [22:18] ^rcaskey has joined the channel [22:18] srid has joined the channel [22:18] ryanj has joined the channel [22:18] MrNko has joined the channel [22:18] freewil has joined the channel [22:18] tjfontaine has joined the channel [22:18] sindresorhus has joined the channel [22:18] anoop has joined the channel [22:18] joestein has joined the channel [22:18] fearphage has joined the channel [22:18] JasonSmith has joined the channel [22:18] mrtazz has joined the channel [22:18] azend has joined the channel [22:18] nphase has joined the channel [22:18] akujin has joined the channel [22:18] lmatteis has joined the channel [22:18] tlrobinson has joined the channel [22:18] daleharvey has joined the channel [22:18] majek has joined the channel [22:18] Fabryz has joined the channel [22:18] sveisvei has joined the channel [22:18] bradwright has joined the channel [22:18] Dmitrijus has joined the channel [22:18] TheDeveloper has joined the channel [22:18] msch has joined the channel [22:18] ernie_r has joined the channel [22:18] FMJaggy has joined the channel [22:18] Dreamer3 has joined the channel [22:18] Gekz has joined the channel [22:18] zamolxes has joined the channel [22:18] cha0s has joined the channel [22:18] markatto has joined the channel [22:18] thisandagain has joined the channel [22:18] duffman has joined the channel [22:18] jperras has joined the channel [22:18] Pilate has joined the channel [22:18] zz_roger_raymond has joined the channel [22:18] Ezku has joined the channel [22:18] nw` has joined the channel [22:18] przemoc has joined the channel [22:18] WarheadsSE has joined the channel [22:18] silky has joined the channel [22:18] Corey has joined the channel [22:18] Luffha has joined the channel [22:18] arcanez has joined the channel [22:18] d_low has joined the channel [22:18] stride has joined the channel [22:18] btipling has joined the channel [22:18] hoodow_ has joined the channel [22:18] mape has joined the channel [22:18] tomtomaso has joined the channel [22:18] Edy has joined the channel [22:18] Leemp has joined the channel [22:18] criswell has joined the channel [22:18] gsmcwhirter has joined the channel [22:18] PyroPeter has joined the channel [22:18] zwiep has joined the channel [22:18] scottschecter has joined the channel [22:18] jlaire has joined the channel [22:18] cp42 has joined the channel [22:18] shapeshed has joined the channel [22:18] seebees has joined the channel [22:18] orospakr has joined the channel [22:18] Hamms has joined the channel [22:18] apoc has joined the channel [22:18] tuhoojabotti has joined the channel [22:18] jspiros has joined the channel [22:18] raz has joined the channel [22:18] tanepiper has joined the channel [22:18] levi501d has joined the channel [22:18] _th_n has joined the channel [22:18] gopher has joined the channel [22:18] mmalecki has joined the channel [22:18] cryptix has joined the channel [22:18] apejens has joined the channel [22:18] racar has joined the channel [22:18] mrkurt has joined the channel [22:18] suzuken has joined the channel [22:18] ktos has joined the channel [22:18] prudhvi has joined the channel [22:18] ryanrolds has joined the channel [22:18] spurge has joined the channel [22:18] jnbek has joined the channel [22:18] sorensen has joined the channel [22:18] janne has joined the channel [22:19] eddict has joined the channel [22:19] __doc__ has joined the channel [22:19] franksalim has joined the channel [22:19] Industrial has joined the channel [22:19] Dulak has joined the channel [22:19] zpao_ has joined the channel [22:19] mikey_p has joined the channel [22:19] jeedey has joined the channel [22:19] mikey_p has joined the channel [22:19] markeeto has joined the channel [22:19] gsmcwhirter has joined the channel [22:19] russell_h has joined the channel [22:19] tauren has joined the channel [22:19] RushPL has joined the channel [22:19] bentruyman has joined the channel [22:19] duckspea1er has joined the channel [22:19] franck34 has joined the channel [22:19] teadict has joined the channel [22:19] gkatsev_ has joined the channel [22:19] ovaillancourt has joined the channel [22:19] Sample has joined the channel [22:19] kriszyp4 has joined the channel [22:19] jacobrask has joined the channel [22:19] jomoho has joined the channel [22:19] churp has joined the channel [22:19] anildigital has joined the channel [22:19] Slashbunny has joined the channel [22:19] baudehlo1 has joined the channel [22:19] halfhalo has joined the channel [22:19] Kiryaka has joined the channel [22:19] Epeli has joined the channel [22:19] quackslike has joined the channel [22:19] Raynos has joined the channel [22:19] Nomon__ has joined the channel [22:19] slpsys has joined the channel [22:19] finsken has joined the channel [22:19] chrisdickinson has joined the channel [22:19] killfill has joined the channel [22:19] topaxi has joined the channel [22:19] bugfree has joined the channel [22:19] ByteCrunch has joined the channel [22:19] jvolkman has joined the channel [22:19] er1c_ has joined the channel [22:19] L_star has joined the channel [22:19] tellnes has joined the channel [22:19] T-Co has joined the channel [22:19] dantaliz1ng has joined the channel [22:19] willwh has joined the channel [22:19] fson_ has joined the channel [22:19] arkx has joined the channel [22:19] kloeri has joined the channel [22:19] ashb has joined the channel [22:19] TheNumb has joined the channel [22:19] samstefan_ has joined the channel [22:19] hotspants has joined the channel [22:19] sstreza has joined the channel [22:19] mattp_ has joined the channel [22:19] mattijs has joined the channel [22:19] Lingerance has joined the channel [22:19] Blorb has joined the channel [22:19] stisti has joined the channel [22:19] krazyivan has joined the channel [22:19] Connorhd has joined the channel [22:19] hcchien has joined the channel [22:19] rphillips has joined the channel [22:19] jackyyll has joined the channel [22:19] zinkem has joined the channel [22:19] ircretary has joined the channel [22:19] paq has joined the channel [22:19] mehlah has joined the channel [22:19] pizthewiz has joined the channel [22:19] weissmag has joined the channel [22:19] cli517 has joined the channel [22:19] PhilK has joined the channel [22:19] Fuu has joined the channel [22:19] koo0 has joined the channel [22:19] KiNgMaR has joined the channel [22:19] munro has joined the channel [22:19] Magnars has joined the channel [22:19] Guest16849 has joined the channel [22:19] drey has joined the channel [22:19] trupppOFF has joined the channel [22:19] SirFunk has joined the channel [22:19] forzan has joined the channel [22:19] tylergillies has joined the channel [22:19] creationix has joined the channel [22:19] ambroff_ has joined the channel [22:19] zorzar has joined the channel [22:19] matjas has joined the channel [22:19] lukegb has joined the channel [22:19] stbuehler has joined the channel [22:19] nail_ has joined the channel [22:19] swaj has joined the channel [22:19] blueadept has joined the channel [22:19] freeformz has joined the channel [22:19] f1gm3nt has joined the channel [22:19] kraft has joined the channel [22:19] wao has joined the channel [22:19] tg has joined the channel [22:19] mertimor has joined the channel [22:19] naneau- has joined the channel [22:19] Astro has joined the channel [22:19] `10` has joined the channel [22:19] kimico has joined the channel [22:19] Lorentz_ has joined the channel [22:19] chilts has joined the channel [22:19] jesusabd1llah has joined the channel [22:19] torm3nt has joined the channel [22:19] merlin83 has joined the channel [22:19] tkaemming has joined the channel [22:19] johnnywengluu has joined the channel [22:19] hellp has joined the channel [22:19] stefpb has joined the channel [22:19] ShinyDarkness has joined the channel [22:19] Metal3d has joined the channel [22:19] EvRide has joined the channel [22:19] JakeSays has joined the channel [22:19] Phlogistique has joined the channel [22:19] diminoten has joined the channel [22:19] JackNorris has joined the channel [22:19] mspahn has joined the channel [22:19] innociv_ has joined the channel [22:19] ryah has joined the channel [22:19] ryanseddon has joined the channel [22:19] owenb has joined the channel [22:19] otih has joined the channel [22:19] flamboz has joined the channel [22:19] crodas has joined the channel [22:19] epa_ has joined the channel [22:19] xerox has joined the channel [22:19] Martz has joined the channel [22:19] vimja has joined the channel [22:19] Glenjamin has joined the channel [22:19] yorick has joined the channel [22:19] tmm1 has joined the channel [22:19] ^robertj has joined the channel [22:19] maeldur has joined the channel [22:19] davv3_ has joined the channel [22:19] isufy has joined the channel [22:19] Sembiance has joined the channel [22:19] rektide has joined the channel [22:19] zigidias has joined the channel [22:19] Guest18468 has joined the channel [22:19] joeytwiddle has joined the channel [22:20] jdparker has joined the channel [22:20] pickels has joined the channel [22:20] dmwuw has joined the channel [22:20] bartt has joined the channel [22:20] Tobbe has joined the channel [22:20] rgmarcha has joined the channel [22:20] zhware has joined the channel [22:20] Aria has joined the channel [22:20] joshthecoder has joined the channel [22:20] meandi2 has joined the channel [22:20] ceej has joined the channel [22:20] lightcap has joined the channel [22:20] Druid_ has joined the channel [22:20] harthur has joined the channel [22:20] jon-_ has joined the channel [22:20] gregmoreno has joined the channel [22:20] TooTallNate has joined the channel [22:20] jimt_ has joined the channel [22:20] iFire has joined the channel [22:20] Swizec has joined the channel [22:20] _baton_ has joined the channel [22:20] toabi has joined the channel [22:20] ammurorei has joined the channel [22:20] coffeecup has joined the channel [22:20] JKarsrud has joined the channel [22:20] fcoury has joined the channel [22:20] wereHamster has joined the channel [22:20] metadaddy has joined the channel [22:20] jyp has joined the channel [22:20] tekky has joined the channel [22:20] rudolfrck has joined the channel [22:20] Typo has joined the channel [22:20] sdboyer has joined the channel [22:20] christine has joined the channel [22:20] callumacrae has joined the channel [22:20] ekes has joined the channel [22:20] aapelip has joined the channel [22:20] stegro has joined the channel [22:20] HardPhuck has joined the channel [22:20] progrock` has joined the channel [22:20] Kami_ has joined the channel [22:20] srijan4 has joined the channel [22:20] txxt has joined the channel [22:20] tim_smart has joined the channel [22:20] oleyb has joined the channel [22:20] aakour has joined the channel [22:20] zenazn has joined the channel [22:20] mbruce has joined the channel [22:20] xbddc has joined the channel [22:20] s0enke has joined the channel [22:20] ianl` has joined the channel [22:20] pquerna has joined the channel [22:20] aude|away has joined the channel [22:20] moogoo has joined the channel [22:20] Kester has joined the channel [22:20] rook2pawn has joined the channel [22:20] SlexAxton has joined the channel [22:20] tomaw has joined the channel [22:20] dawolf has joined the channel [22:20] a_meteorite has joined the channel [22:20] keyvan has joined the channel [22:21] jarek has joined the channel [22:21] jarek has joined the channel [22:21] brainproxy has joined the channel [22:21] inimino has joined the channel [22:21] parse has joined the channel [22:21] kadoppe_d has joined the channel [22:21] jcarouth` has joined the channel [22:21] killtime has joined the channel [22:21] jjd has joined the channel [22:21] Sami_ZzZ has joined the channel [22:21] kei has joined the channel [22:21] lwille has joined the channel [22:21] marlun has joined the channel [22:21] lmorchard has joined the channel [22:21] Mezriss has joined the channel [22:21] r04r has joined the channel [22:21] issackelly_ has joined the channel [22:21] tapas has joined the channel [22:21] riven has joined the channel [22:21] grom358 has joined the channel [22:21] tobmastr has joined the channel [22:21] pdonald has joined the channel [22:21] else1 has joined the channel [22:21] SuMarDi has joined the channel [22:21] odyniec has joined the channel [22:21] fastest963 has joined the channel [22:21] jgallen23 has joined the channel [22:21] russfrank has joined the channel [22:21] purr has joined the channel [22:21] tahu has joined the channel [22:21] __root__ has joined the channel [22:21] marienz has joined the channel [22:21] alexhanh has joined the channel [22:21] clickthem has joined the channel [22:21] moogoo: why do I always get stuck on the wrong side of netsplits [22:21] SoulRaven has joined the channel [22:21] SoulRaven has joined the channel [22:22] cnu has joined the channel [22:23] Ragnis has joined the channel [22:23] ag4ve has joined the channel [22:23] Miko2 has joined the channel [22:23] don_jones_: ^^ [22:24] arcanez has joined the channel [22:24] htoothrot has joined the channel [22:24] stalled has joined the channel [22:24] coreb has joined the channel [22:25] moogoo: _ _ _ _ [22:25] moogoo: | |__ __ _(_) _____ _____ _ __ _ _| |__ ___ __| |_ _ [22:25] moogoo: | '_ \ / _` | | / _ \ \ / / _ \ '__| | | | '_ \ / _ \ / _` | | | | [22:25] moogoo: | | | | (_| | | | __/\ V / __/ | | |_| | |_) | (_) | (_| | |_| | [22:25] moogoo: |_| |_|\__,_|_| \___| \_/ \___|_| \__, |_.__/ \___/ \__,_|\__, | [22:25] moogoo: |___/ |___/ [22:25] pagameba has joined the channel [22:25] flexd has joined the channel [22:25] Clex has joined the channel [22:25] ec has joined the channel [22:25] beejeebus has joined the channel [22:25] __directory has joined the channel [22:25] thedjinn has joined the channel [22:25] peyton has joined the channel [22:25] zedas has joined the channel [22:25] pigdude has joined the channel [22:25] Aikar has joined the channel [22:25] xtat has joined the channel [22:25] rhizmoe has joined the channel [22:25] zemm has joined the channel [22:25] flagg0204 has joined the channel [22:25] gf3 has joined the channel [22:25] jslatts has joined the channel [22:25] kwmiebach_ has joined the channel [22:25] einaros has joined the channel [22:25] benvie has joined the channel [22:25] stelcheck has joined the channel [22:25] dubenstein has joined the channel [22:25] tek has joined the channel [22:25] Ragnis has joined the channel [22:25] DoNaLd` has joined the channel [22:25] ivaldi has joined the channel [22:25] ralphholzmann has joined the channel [22:25] mraleph has joined the channel [22:25] ding has joined the channel [22:25] JHartig has joined the channel [22:25] magnetik_ has joined the channel [22:25] niclone has joined the channel [22:25] thalll has joined the channel [22:25] mekwall has joined the channel [22:25] gde33 has joined the channel [22:25] Rushing has joined the channel [22:26] chunhao_ has joined the channel [22:26] ivan` has joined the channel [22:26] pradeepto has joined the channel [22:27] `3rdEden has joined the channel [22:27] imarcusthis has joined the channel [22:27] matt_c has joined the channel [22:28] shedinja: hai [22:28] Glenjamin has joined the channel [22:28] btipling has joined the channel [22:28] ceej has joined the channel [22:29] moogoo: catb0t fill in this silence [22:29] catb0t: silence no verbosity fill [22:29] Druid_ has joined the channel [22:29] JmZ_ has joined the channel [22:29] deoxxa has joined the channel [22:29] robinduckett has joined the channel [22:30] rektide: hello room full of super excited windows node.jsers [22:30] JmZ_ has joined the channel [22:30] pkrumins has joined the channel [22:30] moogoo: I'm sensing tumbleweeds [22:30] buu has joined the channel [22:30] fson has joined the channel [22:30] rektide: your receiver is much better than mine if you have a sizable confidence coefficient [22:31] shedinja: tumbleweeds are good, it means there are no problems [22:31] MrNibbles has joined the channel [22:32] JmZ: does anyone have experience with mongode? [22:32] ncb000gt has joined the channel [22:32] footyfish has joined the channel [22:32] tiglionabbit has joined the channel [22:32] JmZ: i wish it wouldn't prevent my app from finishing -_- [22:33] caioketo has joined the channel [22:33] ryanfitz has joined the channel [22:33] JmZ: why's it have to require you to close the damn connection to finish execution [22:33] makeInstallBot has joined the channel [22:33] coreb: how do I get npm to add dependencies to package.json? [22:33] vicapow has joined the channel [22:33] arcanez has joined the channel [22:33] dshaw_ has joined the channel [22:34] olegp has joined the channel [22:34] kwmiebach has joined the channel [22:34] Phlogistique: JmZ: dunno what mongode is; it means "mydildo" in French though so it must be awesome [22:35] vicapow: what's the best way to create an event listener in a c++ plugin now with v0.6? [22:35] JmZ: -.- [22:35] JmZ: mongode, mongodb-native, etc [22:35] shedinja: JmZ: because it needs to keep the connection to the db opened, most databases are like that [22:35] JmZ: its a wrapper around mongodb-native fyi [22:35] vicapow: it's been really hard to find an example in node source or docs [22:35] isaacsanders has joined the channel [22:35] JmZ: shedinja: it needs to keep it open while the app is running, it shouldn't prevent it from finishing [22:35] JmZ: other languages don't do this [22:36] BruNeX has joined the channel [22:36] lzskiss has joined the channel [22:36] devaholic: hey isaacsanders [22:36] JmZ: requiring you to close the connection in a language where things can run in any order makes it rather confusing and difficult [22:36] skm has joined the channel [22:36] fbartho has joined the channel [22:37] mmalecki: JmZ: it's because mongo connection is persistant [22:37] mmalecki: *persistent [22:37] JmZ: when everything else has completed, it never exits, because of mongodb-native. [22:37] JmZ: all i need to do is stop when everything else finishes [22:38] Ned_ has joined the channel [22:38] dwhittle has joined the channel [22:38] blissdev has joined the channel [22:38] shedinja: JmZ: is there a way for you to tell when everything else is competed in your app? [22:38] Skaag has joined the channel [22:38] andrewfff has joined the channel [22:38] brainproxy_ has joined the channel [22:38] JmZ: shedinja: no, it processes two queues, each item gets processed and involves the use of further callbacks [22:38] insin: .on('ALLthethings', function() { }) [22:38] JmZ: it could execute in any order, not predefined [22:39] JmZ: even if i keep a count of how many have completed, there's no predetermined number of 'tasks' to reach [22:40] JmZ: the app works perfect without mongodb, i just need it to close when everything else has finished [22:40] co_dh has joined the channel [22:40] shedinja: JmZ: is there a way to tell when a queue has finished? [22:41] JmZ: using async.queue, no. it could drain multiple times and often does [22:41] JmZ: meaning it becomes empty, then further items are added [22:41] JmZ: i can see this requiring some major code changes just to close a silly db connection [22:41] cedeon_ has joined the channel [22:42] prettyrobots has joined the channel [22:42] asoltys has joined the channel [22:44] shedinja: JmZ: ah. a dirty way to do it would be to set a timeout if you expect workers in the queue to each take a certain time to finish [22:44] JmZ: one thing i don't understand is.. [22:44] JmZ: mongodb-native requires that you close the connection to finish execution. mongode is a wrapper around mongodb-native, but the examples don't close the connection [22:45] JmZ: and it appears mongode has no close method, but it just remains "running" forever [22:45] JmZ: if i put it back to using mongodb-native alone, not the mongode wrapper, it has the same issue if i don't close it [22:46] coreb: npm ls shows what modules are installed, but how do I get npm to automatically update the package.json file with those deps? [22:47] shedinja: JmZ: another inefficient way would be to open the mongodb connection each time you want to query the db and then close it when it responds [22:47] JmZ: yeah i really don't want to do that [22:47] joshthecoder has joined the channel [22:47] vandenoever has left the channel [22:48] webben has joined the channel [22:51] hipsters_ has joined the channel [22:51] CarterL has joined the channel [22:51] SirFunk has joined the channel [22:52] JmZ: ooh maybe onto something here [22:53] tdegrunt_ has joined the channel [22:53] dshaw_ has joined the channel [22:53] alper has joined the channel [22:54] Renegade001 has joined the channel [22:54] flat has joined the channel [22:56] Xano has joined the channel [22:57] lightcap has joined the channel [22:57] dshaw_ has joined the channel [22:58] ken-ignite has joined the channel [22:58] _bat has joined the channel [22:59] aroman has joined the channel [23:01] tonymilne: Best node module for merging and packing/minifying static JS files into 1 file (for browser include)? [23:03] magnetik__ has joined the channel [23:03] bbttxu has joined the channel [23:03] k1ttty has joined the channel [23:04] Wa has joined the channel [23:04] ArtistConk has joined the channel [23:05] shedinja: tonymilne: https://github.com/balupton/buildr.npm [23:06] tonymilne: yeah, just rolling with uglify [23:06] tonymilne: but, thanks. [23:06] shedinja: tonymilne: uglify has merging capabilities? or are you doing that manually? [23:07] aroman has left the channel [23:07] tonymilne: i can do it manually pretty fast. [23:07] tonymilne: so not worried either wya. [23:07] lzskiss has joined the channel [23:09] Wizek-other has joined the channel [23:09] te-brian has joined the channel [23:10] devongovett has joined the channel [23:14] maushu has joined the channel [23:14] Aria: back [23:14] stereosteve has joined the channel [23:16] thepatr1ck has joined the channel [23:16] rwaldron has joined the channel [23:17] iamcorpix has joined the channel [23:17] riven` has joined the channel [23:18] riven has joined the channel [23:18] malkomalko has joined the channel [23:20] isaacsanders has joined the channel [23:21] trotter has joined the channel [23:21] marcello3d: is there a way to compile a reusable regexp in js? [23:21] jbrokc has joined the channel [23:22] Guest67559: marcello3d: var r = /regex/ [23:22] marcello3d: dynamic regexp [23:22] marcello3d: made from a string [23:22] isaacsanders: yep [23:22] isaacsanders: new Regexp(str); [23:22] Guest67559: var r = new RegExp('regex', 'flags') [23:22] isaacsanders: that^ [23:23] marcello3d: hmmm [23:23] marcello3d: how does that work with the 'g' flag? [23:23] marcello3d: when you call exec multiple times [23:24] marcello3d: I guess it just resets when you hit the end of it [23:24] isaacsanders: can you explain marcello3d [23:24] isaacsanders: ? [23:25] marcello3d: must be a different bug in my code [23:25] Lingerance: Same as a normal regex [23:25] issackelly_ has joined the channel [23:25] isaacsanders: or give an example [23:25] davidbanham has joined the channel [23:25] marcello3d: well if you have: var r = new RegExp('ho'); r.exec('ho'); r.exec('ho'); r.exec('ho'); [23:26] isaacsanders: mhm [23:26] marcello3d: first exec returns result, second returns null (and I now learned that), third returns result again [23:26] marcello3d: sorry, 'ho','g' [23:26] mwhooker has joined the channel [23:26] Aria: Yay! RFC 6455 is out! [23:26] Aria: Websockets! [23:27] marcello3d: what's new? [23:28] isaacsanders: hmm... marcello3d idk what to say. JS is odd [23:28] marcello3d: isaacsanders: I figured it out, cheers :) [23:28] isaacsanders: marcello3d: what happened? [23:28] riven` has joined the channel [23:28] marcello3d: oh, the wrong string was getting passed in :) [23:28] marcello3d: hurray for (lack of) type safety problems [23:28] isaacsanders: ah :] [23:29] isaacsanders: well... duck typing is more fun anyway. [23:29] isaacsanders: :D [23:29] isaacsanders: btw http://dochub.io is my new love. [23:30] TooTallNate has joined the channel [23:30] caioketo has joined the channel [23:30] marcello3d: nice loading spinner o_O [23:30] isaacsanders: what is the cool kids way of testing in node? [23:30] marcello3d: IE6 [23:31] yorick: isaacsanders: there's testling [23:32] Lingerance: marcello3d: Are you stuck on Win98? [23:32] johnnywengluu: isaacsanders: mocha [23:32] marcello3d: Lingerance: yes [23:33] Lingerance: FF 2.x works on Win98 IIRC [23:33] mikl has joined the channel [23:33] Lingerance: FF 3.6.x (which still gets updates) might as well [23:33] Wizek has joined the channel [23:33] isaacsanders: what about server side code? [23:33] marcello3d: Lingerance: cool kids definitely don't test on FF 2.x [23:33] isaacsanders: (btw /me is a total noob_ [23:34] yorick: isaacsanders: https://github.com/isaacs/node-tap [23:34] Lingerance: Responding to the spinner comment. [23:35] yorick: also, your name is very unfortunate. isaacs has it already :P [23:35] isaacsanders: eh [23:35] isaacsanders: yorick: I prefer isaacsanders [23:35] IrishGringo has joined the channel [23:35] isaacsanders: i just wish the guy who owns the domain would give it up.. [23:36] boltR has joined the channel [23:36] yorick: I mean there's Isaac Schlueter and he's one of the cool kids [23:36] elijah-mbp has joined the channel [23:37] Aria: isaacsanders: I like node-tap like yorick. Very simple. [23:38] mmalecki: I use vows every day. [23:38] Lingerance: http://testanything.org/wiki/index.php/Main_Page <-- Redirect loop detected! [23:38] aroman has joined the channel [23:39] aroman: any tools for doing HTML parsing in Node? [23:39] Aria: Heh. Yes. [23:39] aroman: something like BeautifulSoup, except in Node. [23:39] Aria: I wrote https://github.com/aredridel/html5/ [23:39] aroman: O____O [23:39] Aria: It's relatively complete and mostly un-crashy. And does the full HTML5 parsing spec, at least as much as was defined when I wrote it. [23:39] yorick: https://github.com/joyent/node/wiki/modules#wiki-parsers-other <-- probably [23:40] aroman: Aria: this does look really awesome but, a few questions" [23:40] aroman: *: [23:40] Aria: There's a faster parser, too, called htmlparser, but it parses bad HTML poorly. [23:40] isaacsanders: RE: testanything.org W00T perl! [23:40] aroman: So does it really only work with HTML5? :P I'm going to be feeding it some really shitty-tasting HTML4 that is likely not very compliant. [23:41] aroman: but as you said 'the browser makes sense of it'. [23:41] Aria: HTML5 is a much more tolerant parser. [23:41] aroman: I'm currently doing this parsing in Python w/ BeautifulSoup, but it's a _massive_ PITA to get Node to talk with Python properly. [23:41] Aria: It should do fine. I've found a few edge cases I don't yet handle, but it works. [23:42] Aria: Heh. To talk to python, open a socket and push json back and forth. [23:42] aroman: i'm using zeromq with a haphazard async rpc pattern atm, which is giving me all sorts of headaches. [23:42] Sample has joined the channel [23:42] Sample has joined the channel [23:42] aroman: Aria: eh? [23:42] aroman: that's basically what I'm doing, but with ZeroMQ sockets. The trick is making it async [23:42] Aria: Hehe. On the python side, yes. [23:42] yorick: aroman: but is it async? [23:42] Aria: (I might just hack it and use a thread + queue.) [23:42] yorick: hrm [23:42] jaitaiwan has joined the channel [23:42] aroman: yorick: my poor implementation is, yeah. [23:42] aroman: but it's bad. [23:43] yorick: Aria: but is it async [23:43] Aria: Which? [23:43] aroman: I really want to use socketio RPC as here: http://alogicalparadox.com/backbone.iobind/ [23:43] yorick: the html5 parser [23:43] Aria: The parser? Yes it is. [23:43] yorick: aroman: heh, tab-fail :) [23:43] aroman: yorick: oh derp xD [23:43] Aria: Well, synchronous, but partial. So you can hand it chunks as they arrive and it'll add them to the DOM [23:43] aroman: anyhow html5 looks pretty delicious [23:43] yorick: I seem to be unable to tab-complete to Aria [23:44] Aria: It's good. Patches welcome, of course, but it's getting there, and quite usable already. Speed's my next focus. [23:44] yorick: Aria: why are you not in my nick-list? [23:44] aroman: okay next question, async http requests? [23:44] yorick: teach me your dark magic. [23:45] isaacsanders: vows looks like the best to me... [23:45] Lingerance: yorick: I see them in the list. [23:46] Aria: yorick: bug in your IRC client? [23:46] Aria: aroman: Async http requests? request, or node's built in http client. No magic needed there. [23:46] yorick: Aria: probably. [23:46] yorick has left the channel [23:46] yorick has joined the channel [23:47] yorick: Aria: there you are :) [23:47] Aria: I am. [23:47] eeemsi: hi [23:47] yorick: my nick list went from 112 users to 661 :/ [23:47] cody-- has joined the channel [23:48] yorick: oh well... off to sleep. [23:48] spathi has joined the channel [23:49] lorfds has joined the channel [23:49] subbyyy has joined the channel [23:51] eeemsi: i am facing a problem with finding out whether there is a an url or not … the according nopaste: http://pastebin.com/YtETXkH4 [23:51] killtime: node.js is fucking SERIOUS!!!!!!! [23:51] killtime: u guys are the shit! [23:51] killtime: i cant entirely figure it all out yet but the apps im seeing is mindblowing [23:51] boltR has joined the channel [23:52] eeemsi: is it "dont feed the troll"-time again? [23:52] killtime: and exactly the ideas i was coming up while i been in prison for 10yrs with no internet access@ [23:52] killtime: its all about taking the internet off the internet [23:52] killtime: and allowing ppl to really use this tool together [23:52] pquerna: The following options from tls.connect() can also be specified. However, a globalAgent silently ignores these. [23:52] pquerna: oh the rage [23:52] killtime: thanks again! [23:52] pquerna: lets just silently ignore client key/cert params [23:52] pquerna: :| :| :| [23:54] isaacsanders: killtime is no troll, he just drank the node-kool-aid. and it is good [23:54] mAritz has joined the channel [23:54] dgathright has joined the channel [23:55] eeemsi: isaacsanders: ah i see ;) [23:58] eeemsi: according to grep that should be a working regexp for urls: ^\([^:/?#]\+:\)\?\(//[^/?#]*\)\?[^?#]*\(?[^#]*\)\?\(#.*\)\?