[00:00] whynoyum: Ok, closing my terminal session and reopened, now can execute ulimit -n 16192 [00:00] rchavik has joined the channel [00:00] niftylettuce has joined the channel [00:00] ctide: yeah, just noticed that too [00:00] rchavik has joined the channel [00:00] ctide: i guess i never tried to adjust more than once per session [00:00] ctide: bizarre [00:00] eee_c has joined the channel [00:01] thorsteinsson has joined the channel [00:01] whynoyum: That works, the trick was closing the session [00:02] ctide: i suppose that also means if you aren't running the process you're testing in that specific session, it's not doing a whole lot [00:02] Xeon06__ has joined the channel [00:02] guidocalvano has joined the channel [00:03] malkomalko has joined the channel [00:04] xerox: does no.de have a dedicated irc channel [00:04] isaacs: xerox: no, here's fine [00:04] isaacs: or #joyent [00:04] isaacs: depending on the nature of your issue [00:04] xerox: no issues : ) [00:04] isaacs: great! [00:06] aconbere has joined the channel [00:07] zeade has joined the channel [00:07] xerox: isaacs: well, one "issue", I asked there. [00:09] adnam has joined the channel [00:13] AvianFlu_ has joined the channel [00:15] Xeon06_ has joined the channel [00:18] johnduhart has joined the channel [00:18] nerdfiles1 has joined the channel [00:18] nerdfiles1 has left the channel [00:19] johnduhart has joined the channel [00:19] tokumine has joined the channel [00:19] Xeon06_ has joined the channel [00:21] SubStack: dshaw_: I am a bit San Franciscoed out for office hours tomorrow I think [00:21] SubStack: you asked on the githubbs [00:23] dshaw_: SubStack: booooo [00:23] dshaw_: SubStack: was planning on heading over [00:23] R4md4c has joined the channel [00:23] __directory: im coming over with some fishstix and hookers [00:24] jbrokc: is the following valid syntax for fs.watchFile? fs.watchFile(f, { "persistent": false }, function() { console.log("modified!") }); [00:24] skohorn has joined the channel [00:25] R4md4c: In node-sqlite (the Asynchronous one) is opening a database handle and closing it has a significant overhead in the server ? [00:25] nibblebo_ has joined the channel [00:25] bnoordhuis: jbrokc: yes [00:25] bradwright has joined the channel [00:25] monokrome: watchFile uses polling? :( [00:26] tbranyen: thought it listened for kernel events [00:26] bnoordhuis: only on linux [00:26] bnoordhuis: it polls on the bsds [00:26] tbranyen: i'm not aware of anything else [00:26] dshaw_: SubStack: staying in SF tonight? [00:26] jbrokc: on mac os x what events is it listening for? becuase i'm trying to use it for on save... [00:26] tbranyen: I'm going to SF tomorrow :-/ [00:26] monokrome: Why not on Linux? :/ [00:26] bengl has joined the channel [00:27] bnoordhuis: jbrokc: node polls on os x [00:27] jbrokc: bnoordhuis: i don't know what that means [00:27] bnoordhuis: jbrokc: it checks every second if the file has changed [00:28] bnoordhuis: jbrokc: linux has inotify, an event mechanism where the kernel notifies you of changes [00:28] jbrokc: bnoordhuis: i'm getting a log out that it's being changed every couple of seconds. i just want it to compile on save [00:28] konobi: bnoordhuis: osx and bsd have kqueue [00:28] ji0n has joined the channel [00:28] bnoordhuis: konobi: all in different states of brokenness [00:28] jbrokc: bnoordhuis: well, what i'd like to be able to do is use watchFile to see if a file has been saved and exec some arbitrary command when that's happened. unfortunately, it's doing it on some event not under my control [00:29] bnoordhuis: jbrokc: i think on os x it checks for changes with stat(2) [00:30] bnoordhuis: jbrokc: if you have something running that touches the mtime or inode, it'll trigger fs.watchFile() [00:30] Kai` has joined the channel [00:30] jbrokc: i have no idea if i have something that triggers those [00:31] bnoordhuis: jbrokc: is your file system mounted with atime on? [00:31] jbrokc: bnoordhuis: enlighten me as to how i would figure that out? [00:31] bnoordhuis: jbrokc: updated atime triggers it too [00:32] bnoordhuis: jbrokc: eh... `mount` on linux shows noatime if the fs is mounted with atime off [00:32] bnoordhuis: i assume os x has something similar [00:32] k1ttty has joined the channel [00:32] tomh- has joined the channel [00:32] tomh- has joined the channel [00:32] tomh- has joined the channel [00:33] daleharvey has joined the channel [00:33] SubStack: dshaw_: I'm in san francisco right now :p [00:33] whoops has joined the channel [00:34] SubStack: bikin around [00:34] _ralph has joined the channel [00:34] R4md4c: In node-sqlite (the Asynchronous one) is opening a database handle and closing it has a significant overhead in the server ? Any answer please ? [00:35] CIA-65: node: 03Ryan Dahl 07master * rbca6e35 10/ src/node.cc : [00:35] CIA-65: node: Don't always enable debug on startup [00:35] CIA-65: node: Improves startup time. Problem introduced in [00:35] CIA-65: node: 4ab5476e89266194d82215214a1a870c9b79e295 - https://github.com/joyent/node/commit/bca6e35b2b533ce220376d5db43893e14bb8dbf3 [00:36] metadaddy has joined the channel [00:36] losing has joined the channel [00:38] footyfish has joined the channel [00:39] terite has joined the channel [00:39] Xeon06_ has joined the channel [00:41] dekz has joined the channel [00:41] ajsie has joined the channel [00:42] ank has joined the channel [00:43] howdyhi has joined the channel [00:43] materialdesigner has joined the channel [00:44] hippich has joined the channel [00:44] howdyhi: Hey guys, I just discovered something very strange. Perhaps I could get some assistance? Basically, when I was calling socket.write() on the server I was seeing the first message coming in two messages. The old code was: [00:44] howdyhi: socket.write(JSON.stringify(message), 'utf8', function() { }); [00:45] howdyhi: Changing this to: message = JSON.stringify(message); then calling write() seems to have fixed the issue. Does that make any sense to anybody? [00:46] roidrage has joined the channel [00:47] nerdfiles1 has joined the channel [00:47] iaincarsberg has joined the channel [00:48] michaelh_ has joined the channel [00:49] ncb000gt has joined the channel [00:49] ank has joined the channel [00:50] shanebo has joined the channel [00:51] chunhao has joined the channel [00:51] beawesomeinstead has joined the channel [00:51] zakuni has joined the channel [00:53] xerox: can one use some other delimiters than /.../ for regexp that contain a lot of / to avoid having to escape them? [00:54] m2matson has left the channel [00:54] CrisO has joined the channel [00:54] HeikkiV_ has joined the channel [00:54] thepatr1ck: xerox: x = new RegExp("...") works too [00:54] rfay has joined the channel [00:55] xerox: oh yes, I could do that, right! [00:55] jmoyers has joined the channel [00:55] tmpvar has joined the channel [00:55] nibblebot has joined the channel [00:56] jmoyers: damn youuuuu lion [00:56] skm has joined the channel [00:57] xerox: jmoyers: you having problems too? [00:57] jmoyers: more or less [00:57] klovadis: xerox: using new RegExp requires you to escape all backslashes \\ choose carefully :*) [00:57] jmoyers: migration manager [00:57] jmoyers: completely broken [00:57] jmoyers: had to manually copy over applications and preferences that i cared about [00:58] jmoyers: (i should mention i also bought a new box, which by coincidence had lion on it) [00:58] xerox: it's the same every time there is a new release, I don't know why they bother giving the upgrade option — wipe and install from scratch is the only sane alternative [00:58] jmoyers: my snow leopard experience was much less rocky [00:58] thepatr1ck: lion worked fine as an upgrade for me on 4 computers [00:58] amiller has joined the channel [00:58] jmoyers: heh well [00:59] klovadis: howdyhi: if you send data through the stream, you should check when the data has arrived in its entirety and when the next one begins. if you use JSON.stringify, you could i.e. use a newline character as delimiter [00:59] jmoyers: i work on an mac desktop app in my day job [00:59] thepatr1ck: (2 of which ran all of the developer previews too) [00:59] jmoyers: and believe me, xcode 4.2 is a bitch in that situations [00:59] jmoyers: im sure it will all turn out for the best, but for now, my build is so, so broken [00:59] dnyy has joined the channel [00:59] klovadis: howdyhi: as used in https://github.com/aikar/wormhole [01:00] howdyhi: klovadis: Yeah I am seeing sometimes messages are half [01:00] howdyhi: Then the rest comes in on the next onData event [01:00] howdyhi: Its breaking them up [01:00] Alex_R has joined the channel [01:00] thepatr1ck: I've found Xcode 4.2 rather nice for the projects I've been working on (admittedly work wise I'm in iOS land with it, and my one user-oriented mac app hasn't had much attention bar "does it even compile?") [01:00] minimalist has joined the channel [01:01] jmoyers: i just have to deal with a bunch of cross platform code, with an enormous makefile etc [01:01] mattly has joined the channel [01:01] jmoyers: its like.. a serious undertaking for compatibility [01:01] jmoyers: but now that im lion i… have to do it ;-) [01:01] seivan has joined the channel [01:02] xerox: klovadis: haha turns out I have more or less the same number of / as . so it's more or less the same number of backslashes, oh god [01:02] brianloveswords has joined the channel [01:02] eventualbuddha_ has joined the channel [01:02] NickABusey has joined the channel [01:02] sridatta has joined the channel [01:02] thepatr1ck: jmoyers: ah, I have the joy of not having to deal with cross platform in Xcode. (our main product is written with node.js+ruby+more js so no dealing with Xcode there) [01:03] skm has joined the channel [01:03] jmoyers: indeed [01:03] jmoyers: i'd like to say that was the case [01:03] jmoyers: but alas [01:03] jmoyers: c++ is my friend [01:04] jmoyers: or perhaps.. . my frenemy? [01:04] xerox: you ought to choose better friends [01:04] jmoyers: hehe [01:04] thepatr1ck: C++ and I got along well enough to write a DVR that used the firewire SDK, but only in one small file that I could pretend didn't exist most of the time. node.js is a much better friend. [01:04] markmarkoh has joined the channel [01:04] jokil_ has joined the channel [01:05] CrisO has left the channel [01:05] jokil has joined the channel [01:05] willwhite has joined the channel [01:05] jokil: I'm getting a lot of "unaccounted ticks" from node's built in v8 profiler. anyone know what these are? [01:06] xerox: no idea [01:06] eirikurn has joined the channel [01:07] Hosh has joined the channel [01:08] cjm has joined the channel [01:08] kawaz_air has joined the channel [01:08] dscape has joined the channel [01:08] kawaz_air has joined the channel [01:08] seivan has joined the channel [01:09] jeremyselier has joined the channel [01:09] ank has joined the channel [01:10] thorsteinsson has joined the channel [01:10] meelash_ has joined the channel [01:10] niftylettuce has joined the channel [01:11] mundanity has joined the channel [01:11] sjbreen has joined the channel [01:12] bnoordhuis: jokil: that's probably v8 not knowing what library execution was in when the profiler thread woke up [01:13] pgte has joined the channel [01:13] Xeon06_ has joined the channel [01:16] skm has joined the channel [01:23] execution has joined the channel [01:24] jtsnow has joined the channel [01:25] johnduhart has joined the channel [01:25] nibblebo_ has joined the channel [01:27] cjm has joined the channel [01:27] thalll has joined the channel [01:27] DetroitBoy has joined the channel [01:28] DetroitBoy: How can I pass a string as a reference? [01:28] bradleymeck: wrap it in an object/array [01:30] steffan_ has joined the channel [01:30] kawaz_air has joined the channel [01:30] Drakonite has joined the channel [01:31] bksf has joined the channel [01:31] pongwon has joined the channel [01:32] rknLA has joined the channel [01:32] bksf: hi everyone. so i have this cool node.js app running. that's great. i try to use sockets.io on heroku and find my host that i love doesn't do http web socket handshakes/proxies how i need for socket.io. i've googled, and read - but most of the results like joyent (no.de) are "coming soon" or "request invite" etc. i'm looking for a managed node.js host similar to heroku that isn't in beta? [01:32] seivan has joined the channel [01:33] bksf: i don't mind paying obviously ... but working consulting and this project leaves no time to manage even an ec2 (sucks) or rackspace cloud instance ... [01:33] rauchg: bksf [01:33] rauchg: you can disable websocket [01:33] dreamdust1: ^^ Exactly why I can't deal with managed hosting. [01:34] rauchg: io.configure(function () { io.set('transports', ['xhr-polling']) }); [01:34] rauchg: the no.de approach is the way to go obviously [01:34] bradleymeck: just use longpolling fallback etc for now unless you hit true perf problems [01:34] rauchg: isaacs is working on it [01:34] rauchg: bradleymeck++ [01:34] v8bot_: rauchg has given a beer to bradleymeck. bradleymeck now has 1 beers. [01:34] catb0t: bradleymeck now has 1 beer [01:34] rauchg: in fact [01:34] rauchg: different antivirus software block websocket [01:34] rauchg: proxies block websocket [01:34] bradleymeck: rauchg the no.de approach? [01:35] rauchg: flashsocket is bloated, blocked by many users [01:35] bksf: well no.de actually seems to be invite or "coupon" only ... [01:35] Tobsn has joined the channel [01:35] rauchg: bradleymeck full port 80 [01:35] rauchg: access [01:35] bradleymeck: yea, some other hosts like us do the same, just forwarding, but what can ya do [01:36] alvaro_o_ has joined the channel [01:36] thepatr1ck: bksf: if you ask for a invite/coupon you should get one within a day or so (I think I had to wait an hour or so) [01:36] __directory: i've been waiting 4-5 days+ [01:37] bksf: thepatr1ck: i requested one mid afternoon today. thanks though - [01:37] mikeshark has joined the channel [01:37] __directory: perhaps im not dressed sexy enough for no.de [01:37] bksf: i havent been doing web the past year just ios ... the node.js community is MASSIVE [01:37] jacobolus has joined the channel [01:37] alvaro_o_: where is a good place / book to start learning node.js ? [01:39] sonnym has joined the channel [01:39] bksf: rauchg: i made the config change, locally cool - however on heroku after an initial poll firebug shows me a 503, 503 Service Unavailable [01:39] bksf: :/ [01:39] execution: i wasn't able to actually curl for a coupon with no.de [01:40] execution: kept getting an error [01:40] execution: about the page not existing [01:41] rauchg: bksf [01:41] bksf has joined the channel [01:41] rauchg: i wonder if heroku has some timeout [01:41] rauchg: can you change the polling duration [01:41] rauchg: to 10s ? [01:41] bksf: ahh my battery died - [01:41] bksf: rauchg: i'm not sure how on socket.io .. [01:41] rauchg: io.set('polling duration', 10); [01:41] bksf: i understnad obviously manually ... [01:41] bksf: ah [01:42] steffan__ has joined the channel [01:43] seivan has joined the channel [01:43] konobi: execution: sounds like you were missing your user credentials [01:43] ryah: rauchg: somehow the spaces in these configuration names bother me [01:44] thepatr1ck: ryah: they bug me too [01:44] rauchg: you prefer flashPolicyServer: false ? [01:44] rauchg: 'flash policy server': false reads much better [01:45] ryah: i'd prefer if you thought of one word names [01:45] jacobolus has joined the channel [01:45] konobi: underscores ftw [01:45] dreamdust1: Spaces ftw [01:45] rauchg: haha that's the thing, with all the different transports [01:45] rauchg: before they were namespaced [01:45] bksf: hah [01:45] rauchg: which made everything more complicated [01:45] thepatr1ck: being able to provide your configuration as a JSON object: ultimate win. [01:45] dreamdust1: Space is a character specifically meant for spaces… underscores are meant for underlining words. [01:45] rauchg: { transports: { flashsocket: { policyServer: false } } } [01:46] Cromulent has joined the channel [01:46] ryah: i'm not really sure why i don't like the spaces - it just annoyes me [01:46] rauchg: ryah i didn't like comma first at first [01:46] rauchg: then you sold me on it [01:47] rauchg: then you dropped it [01:47] rauchg: haha [01:47] d0k has joined the channel [01:47] tjholowaychuk: haha yeah i hated it at first too [01:47] tjholowaychuk: and now i like it [01:47] halfhalo-work has joined the channel [01:47] escii has joined the channel [01:47] tjholowaychuk: unifies the lines [01:47] bksf: rauchg: awesome that worked :P [01:47] Rox has joined the channel [01:47] ryah: the problem with spaces, i guess, is that I can't use * and # in vim [01:47] ryah: which i use often [01:47] rauchg: bksf [01:47] rauchg: can you create a wiki page [01:47] rauchg: on socket.io [01:47] tbranyen: no more comma first for me, explicit variable declaration 4 lyfe [01:47] rauchg: about [01:47] rauchg: Socket.IO and Heroku [01:47] rauchg: it should say: [01:47] mwilliams_ has joined the channel [01:48] _jhs has joined the channel [01:48] catshirt has joined the channel [01:48] rauchg: - enable transports ['htmlfile', 'xhr-polling', 'jsonp-polling'] [01:48] bksf: ok [01:48] rauchg: - set `polling duration` to 10(?) [01:48] mwilliams_ has left the channel [01:48] ryah: i also don't like how in the new socket.io and express that the configuration thing takes a callback [01:48] ryah: why a callback? [01:48] Rox: can somebody explain this to me? http://pastebin.com/8fCY5QUF [01:48] rauchg: (we should confirm whether its 10 or 15 or 18) [01:48] shanebo has joined the channel [01:48] ryah: why not just app.config("flashPolicyServer", false) [01:48] ryah: or something [01:48] rauchg: ryah separating between environments [01:49] rauchg: almost _always_ you want different settings [01:49] rauchg: for socket.io in production [01:49] rauchg: tahn development [01:49] rauchg: so the fact that it's built-in is nice [01:49] rauchg: io.configure('production', fn) [01:49] rauchg: i would almost say always [01:49] ryah: even then, it doesn't need a callback [01:49] tjholowaychuk: express apps should usually have at least 4 envs as well prod, stage, dev and test [01:49] rauchg: since you want to minify the client, gzip etc [01:49] bradleymeck: ryah when you get some time to talk about port discovery via something like in carapace let me know [01:49] ryah: app.config("production", "flashPolicyServer", false) [01:49] bksf: ok [01:49] dreamdust1: Yeah ^^ [01:49] ryah: bradleymeck: i talked to charlie about it yesterday [01:50] tjholowaychuk: ryah that doesn't work well with arbitrary stuff like middleware etc [01:50] ryah: bradleymeck: im find iwth adding it [01:50] tjholowaychuk: db settings etc [01:50] nkrantz has joined the channel [01:50] Tobsn: wow... people in ##php are still dicks [01:50] ryah: s/find iwth/fine with/ [01:50] Lorentz: Tobsn: They are? [01:50] Lorentz: never been there [01:50] Tobsn: its unbelievable how a the community of a single language can be a dick [01:50] bksf: sucks re #php [01:50] Tobsn: all php fanatics are dicks on irc [01:51] loveshine has joined the channel [01:51] bnoordhuis: hah, i used to troll in #php [01:51] bnoordhuis: it's too easy really [01:51] Tobsn: thats why i even with php.net svn account never tell anyone im a php user. i dont want to be related to those people hehe [01:51] bksf: ha [01:51] bradleymeck: ryah, ok ill write up a simple patch then [01:51] loveshine: is there a module for rar files? [01:51] Tobsn: loveshine sh.js [01:51] ryah: bradleymeck: cool [01:52] Lorentz: Tobsn: You told me now [01:52] Lorentz: I shall spread this [01:52] Lorentz: :D [01:52] Tobsn: hehe [01:52] Tobsn: just saying... [01:52] Tobsn: i was in the original php channel on ircnet since 1999 [01:52] Tobsn: for like 6 years [01:52] Tobsn: OP [01:52] tjholowaychuk: ryah: plus the config callbacks are totally optional (forgot to mention that) [01:52] Tobsn: together with rasmusen and zeev and all the others [01:53] Tobsn: and in the last 6-7 years all those kids who started learning php are complete dickheads. [01:53] Tobsn: thats why i love node.js [01:53] Tobsn: and thats why php fanatics hate node.js [01:53] Tobsn: hehe [01:53] loveshine: i used to code in php [01:53] klovadis: same here :-/ [01:54] klovadis: never want to go back [01:54] loveshine: i am so glad i found node.js [01:54] loveshine: but wished i found about it much sooner [01:54] Tobsn: i guess many switched just because the community arent assholes [01:54] Tobsn: hehe [01:54] Lorentz: I still code in php [01:54] Lorentz: work work [01:54] Lorentz: But I never hung at #php [01:54] Tobsn: yeah ##php here is just a bitch [01:55] Tobsn: the worst is, if you ask a serious complicated php core question, which is probably a bug, you dont get an answer because they have no experience [01:55] Tobsn: that's what bugs me the most [01:55] nibblebot has joined the channel [01:55] hippich has joined the channel [01:56] zackattack has joined the channel [01:56] mamund has joined the channel [02:01] mehtryx has joined the channel [02:01] mekwall has joined the channel [02:01] Xeon06_ has joined the channel [02:01] Tobsn: dickheads... anyway... my smarty version is just baked i guess... so they arent help either way. [02:01] Tobsn: brb [02:02] steffan_ has joined the channel [02:02] Lorentz: Don't use smarty anyway [02:03] ndunn has joined the channel [02:03] bruce has joined the channel [02:03] ndunn has left the channel [02:04] captain_morgan has joined the channel [02:04] amerine has joined the channel [02:07] othiym23 has joined the channel [02:08] xonev has joined the channel [02:08] zeekay has joined the channel [02:09] Nuck: Ugh [02:09] Nuck: Anyone here ever work with Nginx + Passenger? [02:09] Lorentz: ? [02:10] Nuck: That's Ruby under Nginx [02:10] Nuck: I'm not sure how to configure Nginx [02:11] Nuck: I'm just moving from apache2 stuff to nginx [02:11] kriszyp has joined the channel [02:11] Nuck: But I need my /chiliproject/ and my Node.js router stuffs [02:12] guidocalvano has joined the channel [02:12] fattytuna has joined the channel [02:14] Nuck: Maybe my SA can help :S [02:14] Lorentz: I have redmine running off of nginx + passenger [02:14] Lorentz: And thin, iirc [02:14] Nuck: Lorentz: Orly? [02:15] Nuck: Lorentz: I've got nginx + passenger [02:15] Nuck: And I want to set up the redmine fork ChiliProject [02:15] Nuck: Lorentz: I'm trying to figure out config on it so I can still use it as a static server and/or load balancer :V [02:16] Lorentz: Hmm hmm [02:16] Lorentz: I think nginx will do that well enough [02:16] __directory: Nuck: rails [02:16] Nuck: And the Redmine config seems rather specific :/ [02:16] Nuck: __directory: Yes, that's what Redmine's in. Very observant *pats* [02:16] socketio\test\66 has joined the channel [02:17] klovadis: lol .. Marak's colors.js + http://patorjk.com/software/taag/ make really good startup logos for your node.js scripts [02:18] loveshine: is it ok to emit a lot of events in an object? such as an event that's a shortcut for another event with certain arguments to the callback [02:19] jtsnow has joined the channel [02:21] klovadis: loveshine: technically it should not be a problem as the eventloop is very optimised and the main workload should happen in I/O anyway [02:21] Xeon06_ has joined the channel [02:21] mrryanjohnston: what's the npm command to add a dependency to package.json on install? [02:22] zackattack_ has joined the channel [02:23] loveshine: klovadis: im sure it wont add much workload but i read that emitting as many events as can be on an object is good practice because it makes your code more readable. and i wanna see what others think about this. [02:23] Tia has joined the channel [02:24] jerrysv has joined the channel [02:25] bradleymeck: ... add events where you may want to hook anything in, and after the event dont trust any cached values to stay the same as the object they referenced [02:25] klovadis: loveshine: Faster coding and better code readability and maintainability are often worth a potential performance loss, so yes : ) [02:25] nibblebo_ has joined the channel [02:29] jellosea: whats the node module for should?? require('should') [02:31] reid has joined the channel [02:32] perlmonkey2 has joined the channel [02:34] jmoyers: github is down i presume [02:35] jmoyers: well, i can commit, but viewing any of my repos is hanging, anyway... [02:36] meelash_ has joined the channel [02:36] mbrevoor_: isaacs: fyi that Object.keys fix is already a pull request by bramestein https://github.com/bramstein/npmjs.org/commit/3672f97f5d5ac3aec417a20db623d4ed97c32272 [02:37] execution has left the channel [02:37] bartt has joined the channel [02:38] amiller has joined the channel [02:39] Xeon06_ has joined the channel [02:40] StepanKuzmin has joined the channel [02:41] Elems has joined the channel [02:41] jacobolus has joined the channel [02:41] jmoyers has joined the channel [02:42] agnat_ has joined the channel [02:44] unomi has joined the channel [02:44] unomi has joined the channel [02:45] Xeon06_ has joined the channel [02:47] digman543 has joined the channel [02:47] digman543 has left the channel [02:47] digman543 has joined the channel [02:47] daleharvey: whats pretty looking node code to copy? [02:48] jacter has joined the channel [02:48] CStumph has joined the channel [02:49] zane has joined the channel [02:50] technoweenie has joined the channel [02:50] pNstK has joined the channel [02:52] jakehow has joined the channel [02:54] yept has joined the channel [02:55] wookiehang0ver has joined the channel [02:55] Xeon06_ has joined the channel [02:56] nibblebot has joined the channel [02:56] CIA-65: node: 03Ryan Dahl 07master * rea9ee1f 10/ (src/node.cc src/node.js test/simple/test-module-load-list.js): Add process.moduleLoadList for better startup transparency - https://github.com/joyent/node/commit/ea9ee1fb7e3f785c21d04a155e0f18a354fe0173 [02:56] CIA-65: node: 03Ryan Dahl 07master * r8527f00 10/ (3 files in 2 dirs): Lazy load a few modules - https://github.com/joyent/node/commit/8527f00c3c2beca11fe0c25048920ec50d177c28 [02:56] vikstrous has joined the channel [02:57] daleharvey: andalso, anyone know how to cancel node-cron jobs? [02:57] captain_morgan has joined the channel [02:58] xonev has joined the channel [03:01] patrickjst has joined the channel [03:02] rmustacc has joined the channel [03:02] SlexAxton has joined the channel [03:03] idefine has left the channel [03:03] Corren has joined the channel [03:03] CIA-65: node: 03Ryan Dahl 07master * r799c7bd 10/ (Makefile test/simple/test-module-load-list.js): Fix test-module-load-list for use-uv - https://github.com/joyent/node/commit/799c7bdcb6ecbaee36b33154d40305636100746f [03:07] Cromulent has joined the channel [03:08] thinkt4nk__ has joined the channel [03:09] thinkt4nk has joined the channel [03:09] aconbere has joined the channel [03:09] thinkt4nk has joined the channel [03:10] harthur has joined the channel [03:10] gazumps has joined the channel [03:10] thinkt4nk_ has joined the channel [03:11] hassox has joined the channel [03:12] tar_ has joined the channel [03:12] dexter_e has joined the channel [03:13] malkomalko has joined the channel [03:17] avalanche123 has joined the channel [03:17] Will| has joined the channel [03:18] MrGoodbyte has joined the channel [03:20] tig has joined the channel [03:20] tig: what happens if I try and do two database queries in parallel using gowiththeflow.js? [03:20] tig: is that a terrible idea? [03:20] tig: (using node-postgres) [03:21] Xeon06_ has joined the channel [03:22] monokrome: Why would it be a bad idea? [03:22] monokrome: Does one of them alter, delete, or insert something that might be related to the other one? [03:25] tig: they're all inserts so it doesn't matter [03:25] nibblebo_ has joined the channel [03:25] tig: just the fact that they're all on the same connection [03:25] tig: I mean they're all independent inserts [03:25] Xeon06_ has joined the channel [03:28] rmustacc has left the channel [03:31] lightcap has joined the channel [03:32] hassox_ has joined the channel [03:34] konobi: huh, cool.... https://github.com/joyent/node-http-signature [03:35] cjm has joined the channel [03:35] Xeon06_ has joined the channel [03:36] rknLA has joined the channel [03:36] rknLA: has anyone in here done any scraping with node? [03:37] rknLA: (i'm basically trying to do this: http://stackoverflow.com/questions/189555/how-to-use-python-to-login-to-a-webpage-and-retrieve-cookies-for-later-usage but with node instead of python) [03:37] tbranyen: rknLA: look at zombie? [03:37] tbranyen: its kind of useful for that kind of stuff [03:37] arlolra has joined the channel [03:38] rknLA: thanks, that looks like it could be quite useful! [03:38] catshirt has joined the channel [03:42] pyro1 has joined the channel [03:43] guillermo has joined the channel [03:43] amerine has joined the channel [03:43] pyrotechnick has joined the channel [03:44] pyrotechnick has left the channel [03:44] pyrotechnick has joined the channel [03:44] leeda has joined the channel [03:45] boaz has joined the channel [03:45] freewil has joined the channel [03:45] jzacsh has joined the channel [03:45] jzacsh has joined the channel [03:45] leeda: hi, using express, how should i link to public resources (images/stylesheets)? [03:47] mscdex: leeda: you can use the 'static' middleware [03:47] mscdex: to directly serve those [03:47] leeda: mscdex: is it safe for production? [03:48] mscdex: sure [03:48] leeda: mscdex: cool, thanks. [03:48] patrickjst has joined the channel [03:48] broofa has joined the channel [03:48] mscdex: isaacs: ping [03:49] AAA_awright: Is there a simple script to serve a directory with sendfile? [03:49] isaacs: yo [03:49] patrickjst has joined the channel [03:49] mscdex: isaacs: what is the reason npm would create the npm_modules directory in the parent directory when installing express? [03:50] isaacs: mscdex: if there's a node_modules folder, or a package.json file, then it uses that as the effective root [03:50] mscdex: hrm.. [03:50] isaacs: mscdex: you can "mkdir node_modules", or "npm init", or tack "--prefix $PWD" onto the cmd to make sure it uses the cwd [03:51] mscdex: alright [03:53] Spion has joined the channel [03:54] djw_ has joined the channel [03:55] nibblebot has joined the channel [03:55] ngs has joined the channel [03:56] kmiyashiro has joined the channel [03:56] kriszyp has joined the channel [03:56] Wizek has joined the channel [03:56] Corren has joined the channel [03:56] wookiehangover has joined the channel [03:57] zeade has joined the channel [03:57] rknLA: tbranyen, this might be kind of obvious, but i'm missing the bit on how to install zombie [03:58] rknLA: just pull from github? [04:00] mikeal has joined the channel [04:01] Ans5i has joined the channel [04:02] pyrotechnick has joined the channel [04:02] rknLA: nvm, figured it out. first time dealing with npm. #n00b [04:03] rpflo has joined the channel [04:03] Xeon06_ has joined the channel [04:05] amiller has joined the channel [04:06] vikstrous1 has joined the channel [04:08] perezd has joined the channel [04:09] dexter_e has joined the channel [04:11] isaacs has joined the channel [04:12] Ramosa has joined the channel [04:13] fr0stbyte has joined the channel [04:18] halfhalo has joined the channel [04:21] Xeon06_ has joined the channel [04:21] Destos has joined the channel [04:25] Xeon06_ has joined the channel [04:25] nibblebo_ has joined the channel [04:27] eduarbo has joined the channel [04:27] captain_morgan has joined the channel [04:28] hassox has joined the channel [04:28] jamescarr: so who all is participating in node KO in a month? [04:31] Dohsane has joined the channel [04:31] Xeon06_ has joined the channel [04:32] matomesc has joined the channel [04:33] mikeal has joined the channel [04:34] brianc has joined the channel [04:34] levi501d has joined the channel [04:35] dohsane_ has joined the channel [04:37] mscdex: not me, didn't get in early enough :p [04:37] domo1 has joined the channel [04:38] domo1: hey.. is there any way I can use the phantomjs API in node easily? or maybe theres an alternative for it built for node? [04:40] caiges has joined the channel [04:45] chapel: domo1: I just used the cli [04:45] pongwon has joined the channel [04:45] chapel: and child process [04:45] Xeon06_ has joined the channel [04:47] seivan has joined the channel [04:47] mscdex: i sure hope node doesn't receive websocket packets whose size > 2^53 [04:47] mscdex: with the latest websocket spec [04:47] mscdex: :p [04:48] chapel: hows it going mscdex? [04:48] _bat has joined the channel [04:49] mscdex: good, been working on implementing the latest websocket spec in node [04:49] mscdex: tonight [04:49] _bat: how's node compare for SSL termination? [04:50] chapel: in socket.io? [04:50] jgautier has joined the channel [04:50] mscdex: chapel: nah, this is just a separate project for now until i get it all working. a lot has changed since draft76 [04:50] chapel: yeah [04:51] chapel: I found that out with chrome dev channel [04:51] jgautier: is it possible to pass in a baud rate to http://nodejs.org/docs/v0.4.9/api/fs.html#fs.open if i were to use it to communicate with a serial port? [04:51] mscdex: i'll at least have pywebsocket to test with.... thankfully the chromium devs keep that project up to date [04:51] chapel: even not using websockets, it was still trying and causing my connection to get kicked [04:51] mscdex: yeah [04:51] chapel: so I moved to beta [04:51] chapel: which works great [04:52] mscdex: jgautier: i think there is a separate serial module out there for node [04:52] jerrysv has joined the channel [04:52] jgautier: yeah im already using that for my project, just curious if it would be possible to do it all with core node stuff [04:53] ekryski has joined the channel [04:53] mscdex: jgautier: not that i'm aware of off the top of my head, but then again there's not too many people in here doing serial port comm [04:54] jgautier: cool, the serial port library is working fine so ill probably stick with that [04:54] jgautier: any browserify experts in here? [04:54] daleharvey: anyone know use node cron? [04:55] SubStack: beep boop [04:55] jgautier: hahaha [04:55] nibblebot has joined the channel [04:55] mscdex: daleharvey: why not use the system's cron? [04:55] jgautier: so i want to browserify node-serialport...obviously i cant run the c++ code in the browser so ill need to use dnode or something for rpc calls [04:55] jgautier: is there anyway to auto startup something serverside when a file is browserified [04:56] jgautier: so when i use browserify to require the serial port it would start the dnode code at the same time [04:56] _bat: lul [04:57] jgautier: or any ideas for the best way to do it? [04:57] SubStack: jgautier: you can just do all of that as you normally would, I don't see how browserify would help or hinder your efforts [04:57] daleharvey: because I am just running a bunch of batch jobs and have a particular hate for cron [04:57] daleharvey: I mean, I dont think its even possible to setup a cron on most systems without root [04:58] mikeal has joined the channel [04:59] mscdex: i do it all the time as non-root [04:59] mscdex: on linux anyway [05:00] jgautier: SubStack how would i "normally" do it? [05:00] jgautier: or how should i do it [05:00] mscdex: i guess as long as you don't need to rely on necessarily having the job execute at the designated times, a node solution might work [05:03] Xeon06_ has joined the channel [05:04] SubStack: jgautier: just fire up a dnode listener and connect to it browser-side [05:04] chapel: jgautier: it doesn't matter if you use browserify or not, you can use browserfy cli and make a file and host it on a cdn or something [05:04] SubStack: you can browserify dnode if that's what you mean [05:04] meso_ has joined the channel [05:04] jgautier: i think thats what i mean [05:05] jgautier: and i want the dnode listener to know about the server in which the code was browserified with [05:05] jgautier: if that makes sense [05:06] SlexAxton has left the channel [05:07] thriple has joined the channel [05:09] SubStack: jgautier: I don't see what you mean [05:09] jgautier: ok let me try to explain myself a bit better [05:10] _bat: SubStack: hi, I'm benatkin on github/twitter [05:11] jgautier: i want to be able to write the same code client/server that access the serialport [05:11] zmbmartin has joined the channel [05:11] jgautier: not sure if browserify can do that for me? [05:11] gazumps has joined the channel [05:12] broofa has joined the channel [05:12] _bat: SubStack: I want to make sure browserify can do on-demand module loading efficiently…though I know with filters it can do anything :) [05:12] seivan: damn [05:13] SubStack: _bat: how do you mean on-demand? [05:13] SubStack: as modules are require()d they get loaded? [05:13] _bat: SubStack: maybe modules, definitely bundles [05:14] _bat: SubStack: the easiest thing, if I read the bundle code well, would be to have an option to leave off the front part of the bundle [05:15] _bat: SubStack: so an app could have 2 bundles, a first bundle that has the bundle infrastructure, and a second bundle that doesn't have the bundle infrastructure and uses the first bundle's [05:15] SubStack: _bat: not just that but also I'd have to make require() fetch additional deps [05:15] yozgrahame has joined the channel [05:16] SubStack: maybe we are thinking of different things [05:16] SubStack: I'm thinking browserify should eventually support an entirely transparent non-synchronous require that looks synchronous through AST trickery and restructuring [05:16] SubStack: and just browserify({ async : true }) on the user's end [05:17] chapel: well SubStack I think he means, he wants to have multiple files (lets say they are large and he wants to split them up) but doesn't want all the extra require stuff you have in there being loaded twice (or at least file size wise) [05:18] SubStack: oh that [05:18] SubStack: _bat: I think you want this: https://github.com/harthur/node-browserify/commit/348604bece36a3d85f91ae4cf46758dedab8e254 [05:18] smerrell has joined the channel [05:19] ap3mantus has joined the channel [05:20] pyrotechnick has joined the channel [05:20] _bat: SubStack: I think the dependency graph gets in the way of splitting bundles. For instance I had trouble getting jQuery removed from a bundle so I could just use the google CDN. [05:20] Country has joined the channel [05:21] newy_ has joined the channel [05:22] _bat: Hmm, the namespace thing seems like it solves a different problem. [05:22] SubStack: ah true [05:23] SubStack: _bat: it seems like an async flag would fix your problem then [05:23] dnjaramba has joined the channel [05:23] SubStack: it's just very trick to do [05:24] SubStack: but much easier with burrito [05:24] devaholic has joined the channel [05:24] mikl has joined the channel [05:24] mikl has joined the channel [05:24] dnjaramba has joined the channel [05:25] _bat: SubStack: what I'm thinking of is an app that loads its bundle for viewing & interacting (+CDN jQuery), but not actually editing, and then after clicking edit, loads its big bundle for editing [05:25] domo1: is the built in http server in node production ready/ [05:25] nibblebo_ has joined the channel [05:26] _bat: domo1: many find it to be. Node.js is still in beta though [05:27] dnjaramba has joined the channel [05:28] SubStack: _bat: yep, async could do that [05:28] akshatj_ has joined the channel [05:28] Chani: ACTION wishes Buffer had an append function. [05:29] akshatj_ has joined the channel [05:29] _bat: SubStack: ah. cool. Just for the ability to dig in I'd like to be able to output an array of json objects containing the strings that make up the file & metadata. [05:30] dnjaramba has joined the channel [05:30] SubStack: Chani: there are some modules on npm to make it *look* like buffers have destructive concatenation [05:31] Chani: "destructive"? [05:31] overra has joined the channel [05:31] ryah: anyone have a good sanitizor in js? [05:31] Chani: hmm. [05:32] SubStack: Chani: like this one I wrote https://github.com/substack/node-buffers [05:32] Chani: ACTION really ought to check out this npm thing soon ;) [05:32] er1c_ has joined the channel [05:32] _bat: SubStack: where bundle.toArray().map(function(section) { return section.js; }).join("\n") would return a string of the bundle [05:32] _bat: er, no "\n" [05:32] dnjaramba has joined the channel [05:32] _bat: just "" [05:32] fangel has joined the channel [05:33] SubStack: _bat: so just a way to pull out specific modules from the bundle? [05:33] Chani: hmm [05:33] Chani: come to think of it, I *could* use a simple array of buffers [05:34] Spion has joined the channel [05:34] Chani: half my code already does, due to other constraints [05:34] kmiyashiro has joined the channel [05:34] smerrell has joined the channel [05:34] _bat: SubStack: that's what it would enable. but it would enable other stuff too…like it would be easy to make a smaller bundle from a big bundle in another language like php. Just read in the JSON and filter the bundle. [05:34] Chani: ACTION wanders off into a forest of overgrown code [05:34] jacobolus has joined the channel [05:35] jstroem has joined the channel [05:35] dnjaramba has joined the channel [05:36] henbone has joined the channel [05:36] Wizek has joined the channel [05:39] dnjaramba has joined the channel [05:40] JumpMast3r has joined the channel [05:41] __directory: lololol [05:41] Xeon06_ has joined the channel [05:41] dnjaramba has joined the channel [05:42] Dreamer3 has joined the channel [05:44] dohsane has joined the channel [05:48] henbone has left the channel [05:48] herbySk has joined the channel [05:49] Xeon06_ has joined the channel [05:51] mikeal has joined the channel [05:54] stephank has joined the channel [05:55] nibblebot has joined the channel [05:55] boehm has joined the channel [05:55] _bat has joined the channel [05:56] margle has joined the channel [05:57] Remoun has joined the channel [05:58] joshthecoder has joined the channel [05:58] adam_ has joined the channel [06:00] framlin: asuming I wanted to write some kind of tutorial or or blog or somthing else that involves JavaScript-source-code. Is there any module, that is able to pritty-print that code (colors/bold-face/indent etc.)? [06:01] Xeon06_ has joined the channel [06:02] _bat: framlin: hijs is one. [06:02] daleharvey: just putting a gist up is generally the easiest way [06:02] __directory: pretty sure i saw some things in npm search earlier [06:03] tmzt_: the way so does it is pretty neat [06:03] neorab has joined the channel [06:05] Xeon06_ has joined the channel [06:06] jacobolus has joined the channel [06:07] abraxas: Mmm, Socket.IO is awesome. [06:08] mike5w3c has joined the channel [06:08] abraxas: But the websocket implementation in the latest Chrome build is incompatible with it. [06:08] abraxas: I wonder who's to blame. Socket.IO or Chrome. [06:08] loveshine: anyone use the irc module? [06:08] mendel_ has joined the channel [06:09] simenbrekken has joined the channel [06:10] loveshine: i can't figure out how to join a channel with a password [06:10] caiges has joined the channel [06:10] othiym23 has joined the channel [06:10] jerrysv has joined the channel [06:11] NickABusey has joined the channel [06:12] framlin: _bat: is this hijs a node-module? [06:13] mendel_ has joined the channel [06:14] _bat: framlin: no. it runs on the browser and has no dependencies [06:14] _bat: framlin: https://github.com/cloudhead/hijs [06:15] _bat: framlin: it runs itself. just has to be included at the end of the script. and it needs some css - an example can be copied & pasted from here: https://github.com/cloudhead/hijs [06:16] jhurliman has joined the channel [06:16] mendel__ has joined the channel [06:16] domo has joined the channel [06:17] domo has left the channel [06:18] mendel_ has joined the channel [06:19] mendel_ has joined the channel [06:20] SamuraiJack has joined the channel [06:21] framlin: _bat: Thnks! I want to use it on the server-side, but I will give it a try and test it together with jsdom .... [06:21] _bat: framlin: here's one that has a node package & highlights almost anything https://github.com/jgallen23/highlight.js [06:23] framlin: _bat: again, thanks for your help! [06:23] SubStack: harthur: I moved some stuff around in traverse, might possibly do what you need now https://github.com/substack/js-traverse/blob/master/test/siblings.js [06:24] zilch has joined the channel [06:24] brownies has joined the channel [06:24] tmzt_: SubStack: what would you recommend for sequencing a bunch of steps based on invidual critera on the server side? [06:25] admc has joined the channel [06:25] SubStack: tmzt_: a flow control library? [06:25] SubStack: depends on the character of the pieces you need to synthesize [06:25] tmzt_: yeah, and stateful [06:25] nibblebo_ has joined the channel [06:25] tmzt_: with server side session [06:25] tmzt_: an order/checkout process [06:26] tmzt_: but I'm hoping to make it generic so that it can be reconfigured with configuration or a little bit of node [06:26] zilch_ has joined the channel [06:26] SubStack: tmzt_: you might find my seq library useful [06:26] tmzt_: I also like the one that okcupid proposed [06:26] SubStack: I'm not sure what you want to do about configuration though [06:26] tmzt_: right, but I'm not talking about callbacks being called in order [06:27] SubStack: o_O [06:27] tmzt_: I'm actually waiting for user action (dnode wouldn't work here though) and then choosing the next step [06:27] SubStack: just use regular callbacks until it gets too complicated? [06:27] tmzt_: there's also integration with backend apis in various languages (but internallly all http) [06:27] svenlito has joined the channel [06:28] tmzt_: how would that work? [06:28] SubStack: https://github.com/caolan/async is popular too [06:28] zilch_ has joined the channel [06:28] tmzt_: what I want to avoid is /step/1 /step/2 /step/3 and serving a view for each, especially as the flow changes based on the actions changed [06:28] tmzt_: I'll have to look at that [06:29] tmzt_: maybe I could play with express and treat a .get() call as a potential callback [06:29] tmzt_: and then add a seq or similar [06:29] SubStack: oh you mean some sort of modal form thing [06:29] tmzt_: it would mean having per user routing, so maybe connect would be better (but I haven't worked with it) [06:29] SubStack: you want to persist state across an interaction? [06:29] tmzt_: something like that, it's a prototype of something already done in codeigniter [06:30] tmzt_: yeah [06:30] SubStack: what's wrong with just attaching that state to an object keyed with the session id? [06:30] tmzt_: and encode the sequence of steps/logic in a associative array [06:30] tmzt_: nothing, this is the controller portion I'm trying to work out [06:31] tmzt_: I get how to do the model and view [06:31] apalmer has joined the channel [06:31] ekryski has left the channel [06:31] tmzt_: ideally I would like to treat user interaction as events that get handled in the controller and the state updated, then the request is served the right view [06:31] SubStack: I don't think using those words :/ [06:32] tmzt_: ?? [06:32] tmzt_: mvc? [06:32] SubStack: yes I don't find mvc a useful way to think about web architecture [06:33] tmzt_: right, what about the router callback+events thing I proposed? [06:33] tmzt_: it is for simple things [06:33] tmzt_: but the logic gets out of hand [06:33] SubStack: tmzt_: what you are describing reminds me of snap http://snapframework.com/ [06:33] tmzt_: license? [06:33] SubStack: it's a thing for haskell using continuations [06:34] tmzt_: hmm, cool [06:34] Xano has joined the channel [06:34] tmzt_: I know you do haskell too, I learned enough to play with it a few years ago [06:34] tmzt_: but nothing practical [06:34] tmzt_: would this be a good port to node (or if I must, php 5.3 with anon funcs)? [06:35] SubStack: just look at the idea [06:35] groom has joined the channel [06:35] SubStack: here's another take on the same idea in smalltalk: http://en.wikipedia.org/wiki/Seaside_web_framework [06:36] SubStack: I don't see any continuation-based web frameworks on npm yet [06:37] shapeshed has joined the channel [06:37] AnytimeInnovator has joined the channel [06:37] simenbrekken has joined the channel [06:38] sgimeno has joined the channel [06:38] naughty_david has joined the channel [06:38] naughty_david: Hey node.ers [06:38] __directory: hi [06:38] tmzt_: SubStack: I"m actually waiting for evented php :) [06:40] luke` has joined the channel [06:40] AnytimeInnovator: Hi, all. I am coming here per direction of https://github.com/joyent/node/wiki/Building-node.js-on-Cygwin-%28Windows%29 "If you have followed all of the steps". [06:42] AnytimeInnovator: I am running into a showstopper to "make install". I am doing my first install of node.js, latest I am doing my first install of node.js , latest v0.5.2. Doing it to the computer I have working now, which happens to be an Win7 Starter netbook (yes, I've actually gotten Postgres to run on it). [06:42] davidbanham has joined the channel [06:42] steffkes has joined the channel [06:42] amerine has joined the channel [06:42] escii: I just installed the binary of node [06:43] escii: but maybe you want more advanced stuff as you'r going to compile it [06:43] AnytimeInnovator: All goes smooth until I run ./configure then I always get "node/wscript:211: error: could not configure a cxx compiler!" (one might want to update the wiki page with this exact error message as I missed the fix for it presented there at first as I was searching for "cxx".) [06:44] gvz has joined the channel [06:44] SvenDowideit has joined the channel [06:44] __directory: so it can't find a compiler? [06:44] zilch has joined the channel [06:45] cognominal_ has joined the channel [06:45] AnytimeInnovator: I have tried the fix there plus heavily searched the web and tried all additional fixes, well except for this one drastic one: Google Search[could not configure a cxx compiler] finds 2nd http://stackoverflow.com/questions/5596630/node-js-cygwin-windows-xp-error-configure saying "Yay! Sucess! I deleted cygwin and resintalled it and did the rebaseall again and everything is working now." -- that's a bit drastic, I will have t [06:46] ditesh|cassini has joined the channel [06:46] escii: I'll try it too quickly [06:47] localhost has joined the channel [06:47] tomtomaso has joined the channel [06:47] tmzt_: SubStack: I'm missing the continuation part of that snapframework [06:47] tmzt_: what are you referring to, is there an example? [06:47] luke` has joined the channel [06:48] tmzt_: AnytimeInnovator: native windows support is coming soon if you want to avoid this cygwin build [06:48] tmzt_: it will be officially supported [06:48] luke`_ has joined the channel [06:49] Circlefusion has joined the channel [06:50] AnytimeInnovator: @escii, thanks for responding with your experiences. Yes, the binary, http://nodejs.org/#download -> http://nodejs.org/dist/v0.5.2/node.exe , did run for me when I tried it 2days ago, but it crashed easily and the 2nd demo didn't run plus it said it was "unstable" and I worred that I wouldn't have any extensibility as npm, so that's why I went to the trouble of compiling, plus I run cygwin all the time (developed a lot of B [06:51] __doc__ has joined the channel [06:51] AnytimeInnovator: Were you able to make much use of the binary dist on Windows? Which version? What could you do? Could you run npm? Or what big probs did you find? [06:53] localhost has joined the channel [06:53] jensn has joined the channel [06:53] rurufufuss has joined the channel [06:53] davidbanham: I need to interact with a git repo, and it seems like gitteh is the best way to do that. If I want to push or pull, though, it looks like I have to shell out and use the CLI git tools. Is there any git library for node that will provide a nicer interface to really basic remote tasks? [06:54] apejens: davidbanham: I didn't find any a couple of weeks ago, and I ended up shelling out for all tasks [06:54] AnytimeInnovator: @tmzt_ , thanks for your thoughts & info. Actually in their native Windows support, I hope that it still includes Cygwin paths (as / not just \) and ideally runs in/well-with Cygwin, as I love Cygwin for its Unix compability. What sort of native support for Windows is being planned? [06:55] davidbanham: apejens: Thanks, that's a shame. There's a little bit of remote stuff in a branch of gitteh, but it still looks really raw. [06:55] nibblebot has joined the channel [06:55] davidbanham: apejens: Was there a particular reason you decided to shell out for commits etc rather than using a library? [06:56] apejens: davidbanham: gitteh kept crashing in c++-land [06:56] apejens: davidbanham: so I couldn't catch exceptions [06:56] davidbanham: apejens: Yeah that's not what you want. Thanks for the tip. My use case should be really, really simple so I might just shell everything out as well. [06:57] dshaw_ has joined the channel [06:57] kulor-uk has joined the channel [06:58] apejens: davidbanham: gitteh worked sweet in my initial tests, but when I started forking 130+ repos, walking all revisions of all of them, it began crashing randomly [06:58] apejens: davidbanham: but shelling out wasn't too bad for my usecase [06:58] apejens: I only wanted hash + title of log message [06:59] davidbanham: apejens: I'll be working with one repo, pulling it, adding stuff, committing then pushing. It shouldn't stress gitteh to the point it'll crash, but by the same token it should be really simple to shell out too. [06:59] AnytimeInnovator: Anyone, when one replies/messages somebody here, how does one mark the person's username so they know they have a message, like @user in twitter? [06:59] chickamade has joined the channel [06:59] davidbanham: AnytimeInnovator: They have to have their IRC client set up to notify them, but the general convention is just to mention their username in full and that will trigger an alert if they have one set. [06:59] apejens: AnytimeInnovator: the convention is to start with nick and then a colon or comma [07:00] davidbanham: AnytimeInnovator: The other option is to send them a message directly. [07:00] apejens: AnytimeInnovator: my client will for instance log any such messages when I am away [07:00] jobim: most clients highlight the username anywhere at all [07:00] guest_883 has joined the channel [07:00] mike5w3c has joined the channel [07:01] zackattack has joined the channel [07:01] AnytimeInnovator: davidbanham, thanks explaining this. I'm really new to IRC. I guess I have to get a real client instead of http://webchat.freenode.net/?channels=node.js . Any recommendations? [07:02] escii: xchat is good [07:02] zokko has joined the channel [07:02] davidbanham: AnytimeInnovator: No worries. Personally I use LimeChat on OS X because it's pretty. Back in the day on Windows I used to use mIRC. All the cool kids are using IRSSI in screen sessions. [07:03] apejens: I love screen (or tmux) + irssi [07:03] fangel has joined the channel [07:03] davidbanham: apejens: I tried that, but I used to forget which machine was running my session too often. [07:04] escii: ...I always ctrl+c in screen... X_x [07:04] apejens: davidbanham: haha, I have a machine that have been running my screen + irssi for years :p [07:04] apejens: hotkey in iTerm and all [07:05] Nuck: Apparently, my company is now named "limpdickstew.butt" [07:05] Nuck: Don't ask. [07:05] davidbanham: I had a client logged into freenode for like a month before I tracked it down. It was on one of my production servers for some reason. If I was smart I would have just pinged it through IRC, but I only thought of that after I found it. [07:06] k0stask has joined the channel [07:07] emattias has joined the channel [07:07] escii: hehe n1 :] [07:07] apejens: davidbanham: sounds like the good old quote of the dude who lost a machine in his appartment :p [07:08] apejens: it responded to ping, he couldn't physically find it [07:08] davidbanham: Haha, I reckon I can actually recite that one from memory. [07:08] davidbanham: "I just lost a machine. Like literally, _lost_. It responds to ping and everything, I just have no idea where in my apartment it is." [07:09] davidbanham: I think I might have spent too much time on bash.org [07:09] zokko: ;-) [07:09] zokko: it aint impossible :) [07:10] escii: Isn't there a apartment version of geoip? [07:10] djcoin has joined the channel [07:10] jobim: It's called 'cleaning your apartment once in a while so servers don't disappear.' [07:11] davidbanham: I guess you could have a router for each room with it's own IP block. [07:12] whyno has joined the channel [07:12] Lorentz: You know, that happened to me too [07:12] Lorentz: I had a machine connected somewhere, but I don't know where it was [07:13] whyno: Hey guys. Is it normal that sometimes sending packets via TCP server in high rates; sometimes the packet gets truncated, and the rest of it, comes in on the next onData event? [07:13] AnytimeInnovator: davidbanham, apejens, thanks for the recommendation of IRSSI --yes, it looks pretty full-featured in http://en.wikipedia.org/wiki/Comparison_of_Internet_Relay_Chat_clients so I just may give it a spin. I was unable to find "screen". I don't see the connection with tmux (which I hadn't heard of before, either, but found at http://tmux.sourceforge.net/ ) [07:15] `3rdEden has joined the channel [07:15] davidbanham: AnytimeInnovator: screen is a linux utility. It lets you keep a shell program (like IRSSI) running even after you've logged out of the machine. [07:15] davidbanham: AnytimeInnovator: http://en.wikipedia.org/wiki/GNU_Screen [07:17] c_t has joined the channel [07:17] Lorentz: Useful for quick nodejs dev thing if you're working on a dev server of sort [07:17] Lorentz: You'll want a proper daemonizer and manager for production, but works [07:17] Lorentz: Or if it's just irssi [07:17] AnytimeInnovator: davidbanham, thanks! (it was hard to Google). Yep, I'm planning to move from Win7 to KDE-based Kubuntu (as I love Kate editor). [07:18] ablomen has joined the channel [07:18] bergie has joined the channel [07:21] davidbanham: AnytimeInnovator: No worries! Nothing wrong with KDE, but I've always preferred Gnome. It tends to get more support in Ubuntu as well, since it's the default. While you're learning new things though, you could also consider going the whole hog and learning Vim as a text editor. I hated it when I first tried it, but then years later I did the vimtutor program and it all started making sense to me. I love it now. [07:21] Xeon06_ has joined the channel [07:22] brownies has joined the channel [07:22] hwinkel has joined the channel [07:22] perezd has joined the channel [07:23] fraserkillip has joined the channel [07:23] gozala has joined the channel [07:24] mrtrosen has joined the channel [07:25] uchuff has joined the channel [07:26] nibblebo_ has joined the channel [07:26] uchuff has joined the channel [07:26] ccare has joined the channel [07:26] escii: <3 gedit editor of gnome... dunno what I would do without it.. maybe get a mac to have textmate ^^ [07:27] __directory: gvim! [07:27] __directory: mvim! [07:27] AnytimeInnovator: davidbanham, yes, I was going Ubuntu until I disovered Kate which I love, and Kdiff3, which I like, and heard http://en.wikipedia.org/wiki/Node.js is based on http://en.wikipedia.org/wiki/V8_%28JavaScript_engine%29 featured in http://en.wikipedia.org/wiki/Google_Chrome which uses http://en.wikipedia.org/wiki/WebKit which came from http://en.wikipedia.org/wiki/KHTML layout engine which was in KDE (that last connection is a [07:27] dambalah has joined the channel [07:28] KellyM has joined the channel [07:28] davidbanham: AnytimeInnovator: Hah! Fair enough. I had no idea webkit had it's roots in KHTML, that's really interesting. [07:28] AnytimeInnovator: davidbanham, yes I vim, but never learned vi, as MIT taught me the other biggie, Emacs, and I've been a convert ever since; even coded a little elisp. [07:29] __directory: OSX doesn't have 'objdump'? [07:29] brownies has joined the channel [07:29] AnytimeInnovator: davidbanham, I meant to say "yes I know of vim", not "yes I vim". [07:30] davidbanham: AnytimeInnovator: Ah yeah I tried emacs before vim but just couldn't train my hands to love the crazy shapes with the ctrl-ing and meta-ing. I felt like I was personally insulting Richard Stallman when I gave up, too. [07:31] hwinkel has joined the channel [07:32] AnytimeInnovator: davidbanham, yes the emacs has gotten a lot more painful after intel hardware started placcing the ctrl & alt keys lower, instead of ctrl where about caps-lock is, but there is software to switch it around. Since I've been on Windows way too long, I've gotten away from Emacs, but with Kubuntu, I'll be back! [07:33] kmox83 has joined the channel [07:33] muhqu has joined the channel [07:34] booo has joined the channel [07:34] [AD]Turbo has joined the channel [07:35] Nuck: Lorentz: Was it you who said you had an nginx + passenger + redmine stack? [07:35] __directory: here we go with Nuck and his rails again... [07:36] dgathright has joined the channel [07:37] Lorentz: Nuck: Yes [07:37] AnytimeInnovator: escii, you wrote "[23:46] I'll try it too quickly" - so, were you going to try the "make install" of node.js to see if it works for you? Also would love to hear your reply to my msg at [23:51] "Were you able to make much use of the binary dist on Windows? ..." [07:38] Lorentz: There's nothing to it. It's just nginx, passenger = on, location @cluster { something thin something }, and have thin pointing to redmine installation, done [07:38] escii: I currently try to get an ssh server started cuz I can not handle this **** windows dos promt window [07:38] escii: :) [07:39] hellp has joined the channel [07:40] escii: AnytimeInnovator, allright ssh is working now :] going to compile it.. sec [07:41] eduarbo has joined the channel [07:42] svenlito has joined the channel [07:43] AnytimeInnovator: escii, great! Thanks. BTW, I hate the DOS prompt, too. So for a terminal window on Windows, I use http://sourceforge.net/projects/console/ - big improvement! Even can run emacs in it. And to get cygwin auto-running in that terminal, I used http://sourceforge.net/projects/consoletools . [07:43] loob2 has joined the channel [07:44] whyno: Is it normal that sometimes sending packets via TCP in high rates; sometimes the packet gets truncated, and the rest of the packet comes in on the next onData event? [07:44] zilch has joined the channel [07:44] whyno: Do I need to put a terminator on my packets? [07:45] __directory: hmm [07:46] jvduf has joined the channel [07:48] EvRide has joined the channel [07:49] escii: same here [07:49] escii: 0 [main] python 5916 fork: child 7356 - died waiting for dll loading, errno 11 [07:49] escii: /home/escii/node/wscript:211: error: could not configure a cxx compiler! [07:52] temp01 has joined the channel [07:52] escii: export PATH=/usr/bin:$PATH that fixes it [07:52] kulor-uk has joined the channel [07:55] nibblebot has joined the channel [07:57] whitman has joined the channel [07:59] NetRoY has joined the channel [08:00] chickamade has joined the channel [08:01] necrodearia has joined the channel [08:01] radiodario has joined the channel [08:01] unlink has joined the channel [08:01] unlink has joined the channel [08:02] level09 has joined the channel [08:03] ts___ has joined the channel [08:05] Murvin has joined the channel [08:05] Murvin: anyone here? [08:06] AnytimeInnovator: Escii, you wrote "[00:49] .. error: could not configure a cxx compiler!" then "[00:52] .. export PATH=/usr/bin:$PATH that fixes it" -- did this really fix that your error?! As I just tried ur fix for me but still got this error, and no suprise because $PATH already contains /usr/bin as the 5th entry. What's up? [08:06] tshpaper has joined the channel [08:06] escii: the cygwin shell did not find the compiler as someone else said before [08:06] Murvin: anyone can suggest me a Ubuntu (10.04) Amazon Ec2 image to run nodejs ? there are too many images.... I don't know which one is the best suitable one.. [08:07] escii: the export did help to refresh the environment variables and then it found the compiler [08:07] Murvin: I had one image before but too many other junks there. [08:07] escii: if it does not work for you you may have installed wrong cygwin modules.... [08:07] escii: fighting withit aswell hat now issues with the c compiler itself [08:08] hassox has joined the channel [08:09] escii: hmm now cygwin told me to reboot... maybe thats not the badest idea after install the whole cygwin stuff [08:09] escii: brb [08:09] Xeon06_ has joined the channel [08:10] davidbanham: Murvin: I use ami-06ad526f which is just a minimal, free-tier eligible, standard Natty image, then build node on it. The build takes ages on a micro, but at least you know what you're getting. [08:10] Murvin: davidbanham, is it 64 bit? [08:11] Sami_ZzZ__ has joined the channel [08:11] sjbogdan has joined the channel [08:11] AnytimeInnovator: escii, thanks 4da reply. I verified the modules installed against https://github.com/joyent/node/wiki/Building-node.js-on-Cygwin-%28Windows%29 , so as I mentioned in my [23:45] post, that guys fix of "deleted cygwin and resintalled it" is seeming my only drastic option. It is looking like cygwin gets corrupt/changed in some way that v0.52 of node.js gives this error and rebaseall won't fix at all. Nor that EXPORT thing you [08:11] sjbogdan: hi, [08:11] davidbanham: Murvin: No, that one's 32 bit. I only run micros so there's no real point to me running 64bit. [08:11] sjbogdan: does current release of socket.io work with chrome 14 ? [08:11] sjbogdan: I mean websockets [08:12] Murvin: davidbanham: do you know any 64 bits that is like the one you suggest? [08:12] escii has joined the channel [08:13] escii: back with: /home/escii/node/wscript:211: error: could not configure a cxx compiler! [08:13] escii: :) [08:13] davidbanham: Murvin: Yeah ami-1aad5273 looks like what you want. If you go to the Community AMIs tab in the Launch Instance bit of the EC2 web interface and search on ebs/ubuntu-images/ there's a whole bunch of basic, clean images. [08:14] davidbanham: Murvin: There's also a bunch of Lucid images in there if you prefer an LTS release. [08:14] sjbogdan: try: rebaseall -v [08:15] AnytimeInnovator: davidbanham, thanks for the specific ami-06ad526f reference -- if I can get node.js doing what I need under Windows (I want to kind of use it to replace my Bash scripts) then I'll be quite interested in getting it into the cloud as well, and your free-tier solution sounds great! [08:15] Murvin: davidbanham: thanks.. :) let me take a look at the community page there. [08:17] davidbanham: AnytimeInnovator: You can't beat free! You could also grab a free image, install emacs and then just ssh in as a development environment. [08:18] Murvin: davidbanham: is there a big difference between running on instance storage or EBS? I kinda know the difference but justnot sure which one I should use. and I just need to run a node.js on it. [08:18] davidbanham: Has anyone got any experience with git-fs? It's at https://github.com/creationix But the readme seems out of date and I can't make it do a damn thing. [08:19] davidbanham: Murvin: That one's out of my league, I'm afraid. I'm pretty new to AWS myself. [08:19] mikeshark has left the channel [08:19] Murvin: davidbanham: np. i used it before but never be an expert on it. lol [08:19] `3rdEden: sjbogdan no it does not [08:19] davidbanham: Sorry, that node-git URL should have been https://github.com/creationix/node-git [08:20] amiller has joined the channel [08:20] AnytimeInnovator: davidbanham, now you're talking (about the free image)! Yes, emacs, too. But note what's stopping me: my "if" of my [01:15] post. [08:20] `3rdEden: sjbogdan that spec is not supported yet, but we are working on it [08:20] TomY has joined the channel [08:21] shreekavi has joined the channel [08:21] sfoster has joined the channel [08:21] amerine has left the channel [08:23] davidbanham: AnytimeInnovator: We're 17 hours apart, but I think I see the line you mean. 18:15 for me. Yeah an instance of node running in an Amazon data centre won't do you much good if you want to script stuff on your local machine! [08:24] ambroff has joined the channel [08:25] AnytimeInnovator: davidbanham, I was planning to use https://github.com/creationix/node-git or equivalent git and other VCS bindings for node, if I can also use it to control the local machine including Windows. I've already written Bash extensions for SVN & TortoiseSVN to do some nifty stuff, but Bash is too limited --including on Windows your scripts can't get over ~70K and I've already blown that. [08:25] nibblebo_ has joined the channel [08:27] tig: what's a good way to share authentication information between socket.io and regular web requests (express) ? [08:27] jbpros has joined the channel [08:27] jomoho has joined the channel [08:29] Ans5i has joined the channel [08:31] eldios has joined the channel [08:32] Esteb has joined the channel [08:32] `3rdEden: tig sessions [08:32] tig: ? [08:32] hassox has joined the channel [08:32] `3rdEden: use sessions [08:33] mape: tig: http://www.danielbaulig.de/socket-ioexpress/#comment-1158 [08:33] cognominal_ has joined the channel [08:34] `3rdEden: ACTION adds that page to the socket.io wiki [08:35] tig: oh hm, I didn't think about multiple tabs. Though I was thinking about having extra tabs be unrelated... but I guess that's not the way cookie-based authentication works :P [08:35] tig: I'm considering just ignoring regular ajax and doing everything in socket.io, since I can do request/response pretty easily there too [08:36] versicolor has joined the channel [08:37] ngs has joined the channel [08:40] zackattack_ has joined the channel [08:41] ngs has joined the channel [08:41] Swizec has joined the channel [08:42] altamic has joined the channel [08:43] random123: Anyone node a good JS formatter that can be used from the CLI? [08:43] random123: now** [08:43] random123: know. [08:45] mscdex: source code formatter or ? [08:46] blup has joined the channel [08:46] ditesh|cassini has joined the channel [08:47] shenlok_: Hello guys, I was wondering if someone could help me implementing a little feature in node.js. I'm looking to allow an app to send a POST request with a certain word in it, and then depending on whether the node server receives a required amount of the same words in a short space of time, it will respond to each request with "TRUE" or such [08:48] shenlok_: otherwise if not enough requests were received within the time limit, it would response with an error/FALSE [08:48] shenlok_: i'm just not sure how to go about writing this in code [08:49] liquidproof has joined the channel [08:51] eldios: shenlok_, create a counter [08:51] eldios: and a timeout [08:51] eldios: when the timeout expires.. it resets the counter [08:51] eldios: if the counter reaches the specified amount, triggers the condition you want [08:51] eldios: I would do so [08:51] xippi has joined the channel [08:51] eldios: oh no.. timeout is not good.. use an interval [08:52] robhawkes has joined the channel [08:52] AnytimeInnovator: Via (Windows) http://nodejs.org/dist/v0.5.2/node.exe I've been able to get a dir listing via (var fs = require('fs'); fs.readdirSync('.')) and the pwd via fs.realpathSync('.') which is a quick test that http://nodejs.org/docs/v0.5.2/api/fs.html is working. BUT when testing the 1st example from http://nodejs.org/docs/v0.5.2/api/child_processes.html , (spawn = require('child_process').spawn) gives "Error: No such module \ .. [08:53] `3rdEden: AnytimeInnovator child process are not yet working on windows [08:53] jensn has joined the channel [08:53] `3rdEden: i'ts still wip [08:54] escii: allright, I can't get it to work on windows.. I'll try again in a few weeks maybe... [08:55] markwubben has joined the channel [08:55] shenlok_: eldios: I was thinking something like this pseudocode http://pastebin.com/jZ97d6UK [08:55] mikl has joined the channel [08:55] mikl has joined the channel [08:55] nibblebot has joined the channel [08:57] eldios: shenlok_, using that code you won't use real "timing" [08:57] eldios: meaning that you only increment/decrement the counter when you have a request [08:58] eldios: think of case where you have a request a day or where you have 1000 req/sec and see what happens with that code [08:58] shenlok_: yeah good point.. [08:59] shenlok_: so what functions are there for use in JS/node that would allow me to use a proper timing interval [08:59] shenlok_: I'm afraid i'm very new to JS programming [08:59] eldios: setInterval and setTimeout as in every JS language [08:59] eldios: you can also use the Date [08:59] eldios: and check against that [09:00] level09 has joined the channel [09:00] level09: where can I find the files installed by NPM ? [09:01] hassox has joined the channel [09:01] level09: latest version installs them globally ? [09:01] level09: by default [09:01] shenlok_: level09: %PROJECT_DIR/.node_modules i thought [09:01] shenlok_: oh [09:01] shenlok_: dunno then [09:01] level09: shenlok_: on my MAC they are installed globally [09:01] level09: i think in /usr/opt/node [09:01] Xeon06_ has joined the channel [09:01] gausby has joined the channel [09:02] mape: shenlok_: how about something like https://gist.github.com/08b1bfd423c5ad088cca ? [09:02] pickels has joined the channel [09:02] mehlah has joined the channel [09:04] random123: Any opinion on a good IDE for Node.js dev? [09:04] astrax: emacs [09:05] mape: any editor that has js syntax hilighting? [09:05] level09: aptana [09:05] level09: aptana is best one [09:05] astrax: with emacs you don't have to change the editor next time the New Best Thing comes [09:05] eldios: sublime editor v2 =) [09:05] random123: I can't use emacs or vim, I'm not really a touch typer, I do about 100 wpms free style though [09:05] AnytimeInnovator: escii, per "I can't get it to work on windows.. I'll try again in a few weeks maybe", you mean "make install"? What error message was the killer? (Thanks for trying this on your end, too, btw :-) [09:05] level09: it has auto complete and background compile [09:06] level09: tried cloud9 but it was crap [09:06] eldios: level09, would you say ta aptana is a good editor all around? for daily use I mean... or only for webapps/JS ? [09:07] eldios: cloud9 is the future.. today.. but is not yet as usable as it should be =) [09:07] bzinger has joined the channel [09:07] mhauri has joined the channel [09:07] random123: I'm download Aptana now [09:07] Nexxy: prepare to be disappointed! [09:07] random123: how come? [09:07] eldios: random123, give a try to sublime text editor too..it's light, nice and has some feature any other editor has [09:07] eldios: Nexxy! \o/ [09:08] Nexxy: eldios, wtf did you fall off the face of the earth?! [09:08] eldios: XD [09:08] androoid has joined the channel [09:08] Nexxy: ;P [09:08] Nexxy: how areyou? :D [09:08] eldios: kewl [09:08] shenlok_: mape: thanks for that, very helpful [09:08] eldios: you? [09:08] androoid: guys [09:08] Nexxy: frosty [09:08] androoid: what is node.js [09:08] eldios: lol [09:08] AnytimeInnovator: random123, Wikipedia and others say Jaxer development has ended by Aptana, though I saw it continuing a little on Github. [09:08] samyak__ has joined the channel [09:08] eldios: androoid, for you an IRC channel .. I sould say [09:08] eldios: would* [09:09] industrial: Anyone here used Mongoose [09:09] androoid: that doesn't explain what node.js is [09:09] Nexxy: androoid, node is evented IO for V8 [09:10] gausby: androoid: http://nodejs.org/ this page should explain a thing or two [09:10] industrial: I have a schema with title: [TranslatableStringSchema] where TranslatableStringSchema has language: String and value: String [09:10] eldios: oooh.. aptana looks cool level09 [09:10] eldios: =) [09:10] industrial: so I create a User object and the titles are empty because its an array of titles. How do I add titles? [09:10] shenlok_: mape: looking at that gist, it will respond with "false" to any request BEFORE the max word count has been reached? as opposed to waiting until the timeout, then responding as appropriate? [09:10] shenlok_: or am i reading it wrong [09:11] Nexxy: androoid, also see http://en.wikipedia.org/wiki/Nodejs for a brief overview :) [09:11] androoid: its confusing [09:11] random123: I don't think I could really ever get used to Emacs or Vim [09:12] random123: I feel really awkward touch typing [09:12] Nexxy: androoid: you may want to find your feet with something a little less cutting edge and modern... have you considered stopping by #RubyOnRails? [09:12] level09: eldios: it is the best [09:13] androoid: yes i have checked out rubyonrails [09:13] gausby: androoid: well, tldr: it's something you use to build servers, such as irc-servers, web servers, etc. [09:13] level09: just a bit heavy compared to textmate [09:13] AnytimeInnovator: `3rdEden, you write "child process are not yet working on windows" -thanks for the reply. Anyone, when will child processes on Windows be working? What's the hold up? They will be essential for me to call say subversion commands, and anything else for which there isn't yet a module/binding. [09:13] Nexxy: androoid, do you find the concepts presented in RoR to be confusing? [09:13] level09: is it true that ruby is a lot slower than node.js [09:13] androoid: Nexxy; yes it is [09:14] random123: That Apatana looks really promosing for web dev, it says only last week they released a new version with 210+ bug fixes [09:14] bnoordhuis has joined the channel [09:14] Nexxy: androoid, there are a wealth of tutorials and walk-throughs for both ruby/RoR and javascript/Node [09:14] eldios: level09, it is *SO DEFINITIVE!* [09:14] loveshine: does node need python to run or just to compile? [09:14] level09: it is not nodejs specific though, just general js IDE [09:15] androoid: so how is node.js better than iis? [09:15] level09: loveshine: I think just to compile [09:15] level09: loveshine: otherwise python would be faster [09:15] Nexxy: androoid, you'll have more success trolling places like #bash and #python [09:17] opus_: can node.js use regular unix sockets? [09:17] dnjaramba has joined the channel [09:18] bnoordhuis: opus_: yes [09:18] hassox has joined the channel [09:19] level09: what is the default behavior of latest NPM ? install modules locally or globally? [09:19] eldios: https://github.com/aptana/studio3 \o/ wooo [09:19] eldios: thanks level09 [09:19] eldios: you made my day! [09:19] level09: no problem [09:20] AnytimeInnovator: Ok, Google Search(node.js child process [on] Windows) found me the bug report, https://github.com/joyent/node/issues/1340 , saying "It's at least two 0.5.x releases away.", with users voting for sooner --count my vote, too :-) [09:21] bnoordhuis: AnytimeInnovator: with a bit of luck it'll be in the next release [09:22] bnoordhuis: AnytimeInnovator: i'm working on the windows spawn api right now [09:22] gausby: level09: it will install them into a folder in your project, use -g to install the module into the node_path. I would suggest using the pr. project install [09:22] bnoordhuis: (yes, me - your bearded unix hacker) [09:23] AnytimeInnovator: bnoordhuis, beared unix hacker, ==you're my hero! [09:24] shanebo has joined the channel [09:24] zilch_ has joined the channel [09:25] nibblebo_ has joined the channel [09:25] Xeon06_ has joined the channel [09:28] ps_jinx has joined the channel [09:28] zk has joined the channel [09:31] gozala has joined the channel [09:31] addisonj has joined the channel [09:32] AnytimeInnovator: Re my prior IM of "[child processes, including in Windows] will be essential for me to call say subversion commands": Google Search(node.js subversion bindings OR library OR api) finds 1 person wanting to work on it on it as of Feb http://stackoverflow.com/questions/5136111/how-to-build-a-svn-client-library-for-node-js . [09:33] Xeon06_ has joined the channel [09:35] mape: shenlok_: yes it does, but then just change it so that instead of returning false you save the res in an array, and when you find a match just loop through that array and .send on all o them [09:36] astrax: bnoordhuis. can you give also some insight on schedule of having UDP datagrams in the windows build? [09:41] ccare has joined the channel [09:41] sriley has joined the channel [09:42] futuredarrell has joined the channel [09:43] FireFly has joined the channel [09:47] seivan has joined the channel [09:48] bpierre has joined the channel [09:49] Xeon06_ has joined the channel [09:49] bruce_ has joined the channel [09:51] altamic has joined the channel [09:54] meso_ has joined the channel [09:54] christophsturm has joined the channel [09:55] Ans5i has joined the channel [09:55] nibblebot has joined the channel [09:56] AnytimeInnovator: I'm hittin the sack, fellow late nite coders. This my first install & real experience with node.js (stress testing it, as I'm on Windows). While it still has notable limits and a way to go Windows (no child process, and tried everything and still wasn't able to "make install"), still node.js does look like it will get there, and probaby in just a few months, as the overall development is impressive! And impressive is you, t [09:56] opus_: oh i was doing child process in unix the other day [09:56] yuroyoro has joined the channel [09:56] xerox: you were cut at "And impressive is you, t" [09:58] yept has joined the channel [09:58] AnytimeInnovator: Okay, as it didn't get thru in full: "probaby in just a few months, as the overall the node.js development efffort is impressive! And also impressive is you, the node.js community. Way to go, guys!" [09:59] cjroebuck has joined the channel [09:59] zilch_ has joined the channel [09:59] AnytimeInnovator: ---what my first message said but it got cut off. Thanks, guys! [09:59] samyak__ has joined the channel [10:02] mikedeboer has joined the channel [10:03] Xeon06_ has joined the channel [10:05] ngs has joined the channel [10:09] k0stask has joined the channel [10:09] Xeon06_ has joined the channel [10:09] aabt has joined the channel [10:12] socketio\test\78 has joined the channel [10:12] samyak__ has joined the channel [10:13] Xeon06_ has joined the channel [10:14] anubhaw has joined the channel [10:15] shreekavi has left the channel [10:18] alindeman has joined the channel [10:18] seivan has joined the channel [10:18] kuya_ has joined the channel [10:21] dexter_e has joined the channel [10:21] Xeon06_ has joined the channel [10:22] escii: AnytimeInnovator, use it on linux there it runs like a charm :] [10:23] level09 has joined the channel [10:24] bnoordhuis: astrax: udp's not on the roadmap yet [10:25] nibblebo_ has joined the channel [10:25] Metal3d has joined the channel [10:26] jbrokc_ has joined the channel [10:29] Vertygo has joined the channel [10:29] Xeon06_ has joined the channel [10:30] zilch_ has joined the channel [10:31] topaxi has joined the channel [10:31] andree has joined the channel [10:34] boaz has joined the channel [10:37] astrax: bnoordhuis. ok [10:39] industrial: Is https://github.com/indexzero on irc? [10:39] industrial: or has anyone else used api-easy ? [10:40] TechCel has joined the channel [10:40] industrial: I'm trying to write some tests but I need some of them to happen sequentially, using data from the last response body in the next request body [10:40] industrial: (e.g. fetch a session, log in THEN do this that etc) [10:42] liar has joined the channel [10:42] seivan: Damn I ham having some problem with connect-auth. When it returns from Twitter it does not supply any auth or user-info.. [10:43] Xeon06_ has joined the channel [10:45] jvduf has joined the channel [10:45] kuebk has joined the channel [10:45] kuebk: hi [10:46] kuebk: is there any way to rmdir with all of its content [10:46] kuebk: without first unlinking everything in it and then deleting dir [10:46] kuebk: ? [10:46] dexter_e has joined the channel [10:47] fraserkillip has joined the channel [10:48] industrial: How do I get to the last request data? Line 27; https://gist.github.com/9dada1db6c23ea973231 [10:48] industrial: its now undefined ofcourse. [10:48] kkaefer: kuebk: https://github.com/mapbox/tilemill/blob/master/lib/fsutil.js#L82-105 [10:48] luke` has joined the channel [10:48] seivan: Ugh [10:49] seivan: Damn connect-auth, is there anything better than that to get twitter login? [10:49] tbranyen: seivan everyauth? [10:49] johnhamelink has joined the channel [10:50] johnhamelink: Hey guys. I'm building a parent module, which I want to contain a bunch of submodules. What is the best way to require them? [10:51] tbranyen: johnhamelink: what do you mean submodules [10:51] tbranyen: are they your own code [10:51] johnhamelink: Yeah :) [10:51] tbranyen: just stick em in lib and require [10:51] johnhamelink: I'm just trying to work out the structure I want to use [10:51] johnhamelink: Yeah, that's what I was doing [10:51] johnhamelink: however [10:51] tbranyen: its typical to have a lib folder containing all your code [10:51] tbranyen: okay [10:52] johnhamelink: The problem with that is that is that I end up with API.auth.auth.login instead of API.auth.login [10:52] johnhamelink: I want to get rid of that second "auth" [10:52] tbranyen: then do module.exports = constructor; [10:52] luke`_ has joined the channel [10:52] tbranyen: instead of exports.constructor = constructor; [10:52] johnhamelink: Ahh, ok I'll give that a try, thanks! :D [10:52] tbranyen: np [10:53] tbranyen: note that assigning exports like that will completely override the object inside that file's scope [10:53] Metal3d: is it planed to have some db drivers in node repository ? or it's better to let other project to manage this ? [10:53] xonev has joined the channel [10:53] tbranyen: Metal3d: i can't think of a reason why that would ever be included in core [10:53] Metal3d: I don't know, that's why I ask this :) [10:54] tbranyen: and if it does, thats a sign of selling out [10:54] Metal3d: ok [10:54] johnhamelink: tbranyen, I'm still getting the same problem, unfortunately! [10:55] tbranyen: johnhamelink: pastie.org/gist.github.com some code [10:55] tbranyen: want to see what you're doing [10:55] johnhamelink: will do :) [10:55] tbranyen: jetblue doesn't have power outlets do they >_> [10:56] nibblebot has joined the channel [10:56] Metal3d: ACTION will make a conference on november in France, excuse him to ask some basics question sometimes [10:58] johnhamelink: tbranyen, https://gist.github.com/56a6cbcfd5a581a44a23 :) [10:59] incon has joined the channel [10:59] tbassetto has joined the channel [11:00] incon has joined the channel [11:01] jstroem has joined the channel [11:01] H4ns` has joined the channel [11:02] samyak__ has joined the channel [11:03] zilch_ has joined the channel [11:05] Xeon06_ has joined the channel [11:06] zackattack has joined the channel [11:08] kriszyp has joined the channel [11:08] blup: has anyone tried using node with Tor? [11:09] Xeon06_ has joined the channel [11:11] fly-away has joined the channel [11:12] kulor-uk has joined the channel [11:13] kulor-uk has joined the channel [11:14] johnhamelink: tbranyen, Never mind, I see now. Thanks for the pointer! :D [11:14] mhauri has joined the channel [11:16] incon has joined the channel [11:23] meso has joined the channel [11:25] nibblebo_ has joined the channel [11:26] threecreepio has joined the channel [11:26] fraserkillip has joined the channel [11:27] fairwinds has joined the channel [11:28] naughty_david has left the channel [11:31] c_t has joined the channel [11:32] samyak__ has joined the channel [11:34] okuryu has joined the channel [11:38] seivan: Anyone here familair with everyauth [11:38] seivan: tbranyen: Thanks man but I don't seem to get it to work [11:39] zemanel has joined the channel [11:39] [AD]Turbo has joined the channel [11:39] Xeon06_ has joined the channel [11:45] CrisO has joined the channel [11:46] jayfresh has joined the channel [11:46] maru_cc_ has joined the channel [11:47] materialdesigner has joined the channel [11:48] pen has joined the channel [11:49] Xeon06_ has joined the channel [11:51] alnewkirk has joined the channel [11:52] Scriptor has joined the channel [11:52] mgrayson has joined the channel [11:55] nibblebot has joined the channel [11:55] tcurdt has joined the channel [11:56] samyak__ has joined the channel [11:57] zilch_ has joined the channel [11:58] mapleman has joined the channel [12:01] thalll has joined the channel [12:05] Xeon06_ has joined the channel [12:06] fraserkillip has left the channel [12:06] eee_c has joined the channel [12:09] Xeon06_ has joined the channel [12:10] jshaw has joined the channel [12:12] seivan: tbranyen: Dude I am getting an infinite loop between twitters auth and my localhost redirecting to each other [12:14] ap3mantus has joined the channel [12:15] mape: tell one to stop [12:17] liquidproof has joined the channel [12:18] zilch_ has joined the channel [12:18] samyak__ has joined the channel [12:20] jonaslund has joined the channel [12:21] Scriptor has left the channel [12:21] Xeon06_ has joined the channel [12:22] brianseeders has joined the channel [12:25] nibblebo_ has joined the channel [12:27] fumanchu182 has joined the channel [12:30] kriszyp has joined the channel [12:31] jensn_ has joined the channel [12:32] unomi has joined the channel [12:32] jbpros has joined the channel [12:32] rhaen: hep! [12:32] temp02 has joined the channel [12:32] rhaen: good morning everyone [12:33] fermion has joined the channel [12:33] SamuraiJack has joined the channel [12:36] framlin: Enjoy your meal! ;) [12:36] c_t has joined the channel [12:36] b_erb has joined the channel [12:37] tuhoojabotti: Hello [12:38] xtianw has joined the channel [12:38] random123: Damn, that Sublime Text editor is bad ass [12:39] lukstr: random123: ? [12:39] tuhoojabotti: ? [12:39] random123: Someone suggested it to me earlier when I asked about something for Node.js dev [12:39] lukstr: vim? :P [12:39] Xeon06_ has joined the channel [12:40] random123: I've never been able to get into Vim or Emacs, even though I would like to be 1337.. [12:40] lukstr: random123: super easy. just install linux without X [12:40] lukstr: and then remove nano/pico [12:40] Aikar: then shoot yourself :P [12:41] TomY has joined the channel [12:41] seivan has joined the channel [12:41] b_erb: mikeal: in your request wrapper, how can i combine pipe() with a response callback? in all examples, you either use pipe or a callback. I'd like to pipe a response, given a certain response code [12:41] Aikar: porn over lynx wont be that great [12:41] random123: Yes, it is not the most intuitive user friendly program ever, it relies a lot of muscle memory [12:41] lukstr: Aikar: aalib (I think?) will render it in ascii [12:41] bpwnr has joined the channel [12:41] xtianw: I would use vim if someone could give me a vimrc that would make it behave mostly like Textmate. So much work to set up. [12:41] lukstr: random123: so do IDEs :) [12:42] lukstr: xtianw: in my experience learning to write your own vimrc is a good experience [12:42] lukstr: so I get to work [12:42] Aikar: im quite satisfied with komodoedit. it provides great project support. its fastt. doesnt eat alot of memory. and just works smoothly [12:42] xtianw: I got like halfway there [12:42] lukstr: coding, sipping my coffee [12:42] xtianw: And then gave up [12:42] xtianw: Would rather write code [12:42] lukstr: goddammn earwig prances out from under my keyboard and casually walks across my desk to under my phone [12:43] lukstr: what the crap. [12:43] random123: Being in Vim makes me feel trapped in 1980s trying to draw graphics with equations because there is no mouse [12:43] zokko: use gvim [12:43] Ans5i has joined the channel [12:43] lukstr: random123: it's sad because that means that in 30 years no one could make something better :) [12:43] rhaen: has someone already done some work on a node.js centric vim plugin? [12:44] jbrokc has joined the channel [12:44] lukstr: rhaen: the joyent/node github project has a link to vim resources [12:45] rhaen: lukstr: yep, saw it, some parts here and there but no full plugin (I'll check it,). [12:45] lukstr: rhaen: given the rate at which we are getting better debugging, I don't think it will be long until good editor plugins [12:45] rhaen: lukstr: thanks! [12:47] lukstr: any time [12:49] Charuru has joined the channel [12:51] indutny has joined the channel [12:52] indutny: hi everyone! [12:52] lukstr: hullo [12:52] indutny: ryah: probably I found one small memory leak in NPN feature [12:52] indutny: ryah: can you please help me with verifying my results? [12:53] indutny: ryah: I think npnProtos_ and selectedNPNProto_ should be disposed here: https://github.com/joyent/node/blob/master/src/node_crypto.h#L156 [12:54] AaronMT has joined the channel [12:54] indutny: or will these handles be automatically released once parent class will be destroyed? [12:54] mwilliams_ has joined the channel [12:55] nibblebot has joined the channel [12:55] framlin: rhaen: use eclipse it has an excelent remote-debugger for nodeJS as a plgin and some cod-completion/pritty-print-stuff ... and you can use JSLint as a plugin ... and ... [12:56] indutny: probably anyone else knows what's going on on instance destruction? [12:56] lukstr: framlin: but _eclipse_ [12:56] framlin: sorry, random123, use eclipse .... ;) [12:56] framlin: lukstr: ? [12:56] lukstr: the _devil_ [12:58] framlin: nahhhh ;) [12:58] framlin: eclipse is cool [12:58] lukstr: all IDEs are the devil [12:58] tuhoojabotti: Notepad++<3 [12:58] framlin: maybe textmate is better, but if you do not use a mac and do not want to use vim .... ist cool .... [12:59] framlin: lukstr: ahh, ok, I see ;) [12:59] lukstr: vim > * [13:00] indutny: tuhoojabotti: vim [13:00] indutny: vim vim vim! [13:00] johnhamelink: I use Gvim [13:00] rhaen: notepad <3 [13:00] tuhoojabotti: :D [13:00] indutny: johnhamelink: you'll die in flames [13:00] tuhoojabotti: nano<3 [13:00] indutny: :) [13:00] indutny: nano is evil too [13:00] jbpros has joined the channel [13:00] johnhamelink: indutny, I'm a monster, I know :( [13:00] tuhoojabotti: indutny: I am evil too. [13:00] rhaen: actually, I am using edlin or dd - however, for demo purposes I tend to use eclipse. [13:00] rhaen: This looks serious, too. [13:01] framlin: I use vim every day some times, but ist baehhh .... for huge projects to confusing [13:01] rhaen: framlin: use the projects plugin, then :) [13:02] framlin: the most valuable plugin within eclipse is mylin and that is not available for any other editor [13:02] johnhamelink: rhaen, which is the best projects plugin to use with vim? [13:02] framlin: and without mylin I would get lost within all that JIRAs ;) [13:02] lukstr: I simply prefer to not be dependent on my tools :) [13:03] cognominal_ has joined the channel [13:03] maru_cc_ has joined the channel [13:03] xtianw: Sublime is the Textmate of Windows [13:03] xtianw: Not Eclipse [13:03] catb0t has joined the channel [13:03] johnhamelink: xtianw, sublime is available on linux too ;) [13:03] bnoordhuis has joined the channel [13:03] xtianw: Yep [13:03] mikedeboer has joined the channel [13:04] xtianw: And on Mac, but I wouldn't use it over Textmate [13:04] framlin: lukstr: that depends on whre I am. If I am at the office of my customer, I depend in their tools, if I sit in a train, I prefere to be able to work with vim on the server via ssh ... [13:04] boaz has joined the channel [13:05] framlin: does Sublime has mylin and a remote-debugger-plugin for nodejs? [13:05] sfoster has joined the channel [13:05] rhaen: johnhamelink: oh, let me have a look [13:05] johnhamelink: thanks rhaen [13:05] indutny: ryah: https://github.com/joyent/node/pull/1410 [13:06] framlin: and is it possible to use sublime as a CVS and git client? [13:07] bnoordhuis: framlin: cvs! having a '90s flashback here [13:07] johnhamelink: I'm too young to remember cvs. Feeling old yet, guys? [13:07] lukstr: yes [13:07] rhaen: johnhamelink: hu, I am using a fairly old plugin - you should look for your own :) [13:08] johnhamelink: ok, I tried projects.vim, but I'm not a fan of it [13:08] xtianw: framlin: No, it edits text [13:08] boaz has joined the channel [13:09] thomblake has joined the channel [13:09] thomblake has left the channel [13:10] rhaen: johnhamelink: I am using project.vim - which is possibly the oldest of all. I like - maybe because of the lack of my knowledge [13:10] tech_ has joined the channel [13:11] framlin: bnoordhuis: me too, but I work on a project that evolves since over 15 years, so its just 90s ;) [13:11] johnhamelink: rhaen, I guess I'll need to do more research :P [13:12] loveshine: not sure why but i love looking through the modules list [13:12] Prism has joined the channel [13:15] hdon has joined the channel [13:15] framlin: loveshine: I allways get lost within that amount of modules ... I wished, ther wold be some validation/evaluation that helps me to see, what is worth to klick on and what not [13:15] michaelhartau has joined the channel [13:15] adambeynon has joined the channel [13:16] jensn has joined the channel [13:16] CIA-65: node: 03Fedor Indutny 07master * r759fb36 10/ src/node_crypto.h : crypto: dispose persistent properties on class destruction - https://github.com/joyent/node/commit/759fb36df33f3dd0fa85fe01fa7b260bd22be40f [13:16] loveshine: framlin: the amount of watchers can help you rank them. but i still like to look at the examples of the unpopular ones. [13:16] jed____ has joined the channel [13:16] indutny: ryah: thanks [13:17] indutny: my fault [13:17] pietern has joined the channel [13:17] indutny: bnoordhuis: oh [13:17] indutny: that was you! :) [13:17] framlin: loveshine: thats the point. Not everything erveryone is wathing is it worth ... [13:17] bnoordhuis: indutny: yes :) [13:17] indutny: working on SNI support for node.js [13:17] booo has joined the channel [13:17] indutny: should be quite cool once I'll finish it [13:19] jed____: hey all, i have a quick question about the querystring lib. [13:19] jed____: to use a custom encoding function for qs.stringify, you have to set qs.escape, [13:19] jed____: but wouldn't this change it for every other module using qs too? [13:20] jed____: see: http://nodejs.org/docs/v0.4.10/api/querystring.html#querystring.escape [13:20] bnoordhuis: indutny: i think most people still have an openssl without sni support? [13:21] indutny: bnoordhuis: hm... dunno, probably no [13:21] indutny: I'll investigate more [13:21] indutny: but a little bit later [13:23] samyak__ has joined the channel [13:23] Xeon06_ has joined the channel [13:23] zilch_ has joined the channel [13:24] ksheurs has joined the channel [13:25] maru_cc_ has joined the channel [13:26] patrickjst has joined the channel [13:27] ceej has joined the channel [13:28] piscisaureus has joined the channel [13:28] lukegalea has joined the channel [13:29] jeremy_c has joined the channel [13:31] Croms has joined the channel [13:31] Xeon06_ has joined the channel [13:31] ixti has joined the channel [13:32] ap3mantus has joined the channel [13:33] ps_jinx has joined the channel [13:33] jonaslund: bnoordhuis: gotten time to work on the buffers ? [13:33] xippi has joined the channel [13:34] bnoordhuis: jonaslund: no - i've been promoted to windows developer now [13:34] ixti has joined the channel [13:34] jonaslund: cool i guess [13:34] jonaslund: what are you working on there ? [13:34] doctorm: Anyone know if winston transports will log to just the level set, or to that level and below? [13:34] bnoordhuis: jonaslund: the child process api [13:35] jonaslund: ah [13:35] bnoordhuis: jonaslund: by popular demand [13:35] bnoordhuis: jonaslund: and because no one else wanted to :) [13:35] `3rdEden: mape: ping [13:35] mape: pong [13:35] `3rdEden: wow, real time! [13:35] jonaslund: bnoordhuis: just remember to keep an eye out on those cr/lf's [13:35] colinclark has joined the channel [13:35] mape: latency between the US and Sweden is bad though [13:36] `3rdEden: mape: for NKO are we allowed to prepare a site layout before the contest stats? [13:36] bnoordhuis: jonaslund: and wide chars... [13:36] jonaslund: (by default a normal pipe between a windows app and any process it spawns has some cr/lf conversions turned on..) [13:36] `3rdEden: ./design [13:36] ap3mantus has joined the channel [13:36] jonaslund: but i heard you did some other pipe stuff? [13:36] jonaslund: bnoordhuis: hmm.. where does wide chars come into play ? [13:36] mape: `3rdEden: you can have rough sketches, or use design assets that are open and free for all to use. But you can't assemble/create them beforehand [13:36] mbrevoort has joined the channel [13:37] mape: open assets = icon packs etc [13:37] `3rdEden: mape: k, good [13:37] `3rdEden: as I already need to start preparing my project :p [13:37] mape: and those should be free to use, ie no bought assets [13:37] bnoordhuis: jonaslund: yes, the unix side of pipes [13:37] bnoordhuis: jonaslund: wide chars: nearly every api call, it's maddening [13:38] jonaslund: bnoordhuis: umm [13:38] jonaslund: bnoordhuis: usually the win api calls have suffixes to select char types [13:38] jonaslund: MessageBox , MessageBoxA MessageBoxW [13:39] Corren has joined the channel [13:39] jonaslund: and a "funny" peculiarity of newer versions of MSVC is that they changed functions to use unicode by default [13:39] bnoordhuis: jonaslund: libuv uses utf-8 internally and that's converted to wchar_t [13:39] jonaslund: yeah.. i was just gonna say that using wide char functions will prolly get us unicode functionality for free :) [13:40] jonaslund: (hopefully.. :P) [13:40] diegoviola has joined the channel [13:40] TomY has joined the channel [13:40] xerox: http://pastie.org/2284554 why would node complain about "SyntaxError: Unexpected token ," pointing at line 3, the comma in "value, {" ? [13:40] jtrudeau has joined the channel [13:41] tuhoojabotti: $exists -> sexists? [13:41] xerox: hahaha [13:41] tmzt_: xerox: you're missing a label on the second part [13:41] xerox: you jokester [13:41] `3rdEden: xerox new Date().getTime() => (new Date()).getTime() [13:42] xerox: ooooh I see tmzt_ [13:42] mhausenblas has joined the channel [13:42] tuhoojabotti: Yeah [13:42] baudehlo has joined the channel [13:42] tmzt_: and you're bson query syntax is wrong [13:42] xerox: : ( dang [13:42] xerox: I see [13:43] `3rdEden: hm`, wtf why does my irc client see old pastie snippets [13:43] markwubb_ has joined the channel [13:43] tuhoojabotti: wot? [13:43] tmzt_: I think it should be { id: value, '$exists':{'confirmed':true }} [13:43] xerox: { 'id': value, 'confirmed': { '$exists': true } } [13:43] tmzt_: but that might be swapping them [13:43] tuhoojabotti: xerox: Why you add spaces between }}? :3 [13:44] tuhoojabotti: Do you use a bad editor that doesn't hilight them? [13:44] ap3mantus has joined the channel [13:44] tmzt: xtianw: what editor is Sublime based on? [13:45] xtianw: What do you mean? [13:45] xerox: tmzt: it's indeed 'key': { '$...': ... } [13:45] xerox: tuhoojabotti: good question, no my editor highlights them [13:45] tmzt: okay [13:46] tmzt: xerox: what editing component [13:46] tmzt: or do you have a link [13:46] tmzt: xtianw: [13:46] ngs has joined the channel [13:46] tmzt: oh I see it [13:46] xerox: tuhoojabotti: I use Coda, what do you use? [13:46] tuhoojabotti: Notepad++ o.O [13:47] xerox: o [13:47] tuhoojabotti: Mostly [13:47] tuhoojabotti: also nano sometimes if I have to use ssh. [13:47] tuhoojabotti: I'm not a vim freak [13:47] tuhoojabotti: :E [13:47] tuhoojabotti: though I admit it might be faster and easier if you learned how to use it. [13:48] jeremy_c: most editors are fast if you learn them. A lot of programmers simply do not learn their editor well. [13:48] tuhoojabotti: Also, having a keyboard usually helps. [13:49] zilch_ has joined the channel [13:49] samyak__ has joined the channel [13:50] ttpva has joined the channel [13:50] neorab has joined the channel [13:51] jonaslund: ACTION uses wed whenever he can [13:51] jonaslund: I just should fix the bugs in it some day [13:51] jbpros has joined the channel [13:51] jonaslund: (my own editor.. has simple identation support and cut-n-paste, search, goto line, multi-file editing) [13:51] tmzt: wed, what platfrom is that? [13:51] jonaslund: and it's small [13:52] jayfresh has joined the channel [13:52] tmzt: ah, because an editor I used in school was named that [13:52] tuhoojabotti: cloud9 ide! [13:52] tmzt: on the vax [13:52] jonaslund: tmzt: i use it on win32 and *nix (it once compiled on solaris, linux and freebsd) [13:52] jonaslund: and osX [13:52] jonaslund: tmzt: it's my own editor [13:52] tmzt: charactert based? [13:52] jonaslund: never released it [13:52] jonaslund: yeah [13:52] tmzt: hah, that's what github's fro :) [13:53] tmzt: random code [13:53] jonaslund: it's seriously unstable [13:53] jonaslund: press the wrong key-combo and it locks up :D [13:53] tmzt: hah [13:53] tmzt: anyway [13:53] tmzt: I mostly use cua but I'm looking for something with good featuers [13:53] jonaslund: nano is pretty good these days [13:53] xerox: tuhoojabotti: the two things I like about Coda are: transparent sftp browsing/editing just like the files were local, and code navigation (i.e. parses language's symbols and gives you a nice list to click on to jump to it) [13:53] jonaslund: on win32,etc.. [13:53] jbrokc: how do i get the basename of a string if I don't know what it's extension is? [13:54] jonaslund: my editor is slightly quicker though with multi-file editing [13:54] jbrokc: i just want to get everything before the filetype [13:54] liquidproof has joined the channel [13:54] Metal3d has joined the channel [13:54] xerox: wish it had code folding tho, I tried Xcode and its code folding is just awesome [13:54] ivanfi has left the channel [13:54] jonaslund: ACTION uses eclipse/msvc for "big projects" and wed when he's doing quick hacks or using ssh [13:55] xerox: (because it also does highlighting of a foldable piece on hover on the thin column on the right of the line numbers) [13:55] lukstr: xerox: vim has nice code folding :) [13:55] benvds has joined the channel [13:56] jbrokc: or would it be better for me to just substring until the '.' in the string? [13:56] xerox: lukstr: : ) [13:56] lukstr: In the defense of IDEs, there will always be some who just like their instant coffee [13:57] xerox: jbrokc: what if the name of the file has dots in it [13:57] xerox: I think you need something more robust [13:57] astrax: jbrokc. str = file.replace(/\.\w+$/, ''); [13:57] tuhoojabotti: xerox: Coda is for osx [13:57] jbrokc: astrax: that looks about right [13:57] astrax: jbrokc. where file has your filename [13:57] xerox: !npm search path [13:57] jhbot: packages (short format): file, webhookit-jsonpath, wildfile, node-static-maccman, paths, pathname, commondir, path, require-like, treelib [13:57] xerox: :D [13:58] astrax: ok, something else then [13:58] astrax: foo = bar jadajada [13:58] jbrokc: i'm not following [13:58] astrax: you shouldn't use "file" as a variable name [13:59] jbrokc: well i'm iterating through an array of strings that contain filenames, so f is my temporary index in the array [13:59] jbrokc: it works fine for the context i'm ine [13:59] jbrokc: in* [13:59] astrax: yeah [13:59] dexter_e has joined the channel [13:59] benvds has joined the channel [14:00] Poetro has joined the channel [14:00] Poetro has joined the channel [14:01] industrial: Is there a tool for restarting node instances that will stop when there's an error? [14:01] industrial: and then try again on the next wile write [14:02] benvds has left the channel [14:02] igl has joined the channel [14:02] tmzt: industrial: a few, forever, cluster, spark2 etc. [14:02] brianc has joined the channel [14:02] sub_pop has joined the channel [14:03] benvds has joined the channel [14:04] pzich has joined the channel [14:04] industrial: tmzt: checked the forever README but I don't see an option for not restarting when there's errors. I need this for development because its flooding my terminal. [14:05] industrial: s/need/would like/ [14:05] tmzt: well okay, cluster doesn't [14:05] Xeon06_ has joined the channel [14:06] christophsturm: when i install mongodb it tells me "To install with C++ bson parser do ". how do i do that with package.json and npm bundle? [14:06] JJMalina has joined the channel [14:06] maru_cc_ has joined the channel [14:06] dexter_e has joined the channel [14:07] EricL has joined the channel [14:07] temp01 has joined the channel [14:09] vortec has joined the channel [14:09] willwhite has joined the channel [14:11] madsleejensen has joined the channel [14:11] butu5 has joined the channel [14:11] Xeon06_ has joined the channel [14:12] explodes has joined the channel [14:12] yhahn has joined the channel [14:12] Drake_ has joined the channel [14:13] brez has joined the channel [14:13] explodes: My vows this.callback function is only passing the first argument to the next vow... [14:14] unlink has joined the channel [14:14] unlink has joined the channel [14:15] jstroem has joined the channel [14:15] Corren has joined the channel [14:15] explodes: Am I doing something wrong? http://pastie.org/2284697 line 44 (this.callback) line 52 (using the 2nd argument) [14:15] smtlaissezfaire has joined the channel [14:16] industrial: explodes: Do you know if it's possible with vows to make one request, then use data from the response body in the next request body? [14:16] industrial: for example to use the api you need to log in and after that you can access the other calls [14:16] whitequark has joined the channel [14:17] whitequark: is there a raw socket module for node.js? [14:17] whitequark: I mean, I can use Google, but just maybe someone wants to do the same thing... [14:17] explodes: industrial: I'm new to vows, but i think you could do something like: (one moment please) [14:17] industrial: explodes: sure :) [14:18] explodes: whitequark: yes http://nodejs.org/docs/v0.4.10/api/all.html#net.Socket [14:18] kuya_ has joined the channel [14:18] aconbere has joined the channel [14:19] aheckmann has joined the channel [14:20] madsleejensen has joined the channel [14:21] guillermo has joined the channel [14:22] explodes: industrial: http://pastie.org/2284720 If your api can return a request object and your request can return a response, use nested contexts... Otherwise, you'll have to use callbacks: (one moment please) [14:22] explodes: industrial: Note that callbacks are not working for me right now, but this should work in theory [14:23] industrial: okay, I'll check it out. Thanks! [14:23] scas has joined the channel [14:24] explodes: industrial: http://pastie.org/2284732 [14:25] whitequark: explodes: oh... you've misunderstood me. I meant this: http://linux.die.net/man/7/raw [14:25] balaa has joined the channel [14:26] newy_ has joined the channel [14:27] industrial: whitequark: net.createServer ? [14:27] industrial: createConnection even [14:29] mape: anyone here poked at everyauth? I'm having some issues with it in regards to using an anonymous function as a callback for findOrCreateUser [14:29] xerox: does node have devices for unicode normalization? [14:30] Xeon06_ has joined the channel [14:31] JJMalina has joined the channel [14:31] explodes: whitequark: net.socket is the closest thing you'll get, AFAIK. What are you trying to do? [14:31] meelash_ has joined the channel [14:32] explodes: xerox: Normalization? You mean transforming it to and from ASCII and the like? http://nodejs.org/docs/v0.4.10/api/all.html [14:32] explodes: xerox: er, that link, search for UTF, you might find something you want [14:33] xerox: explodes: something with which one can do this http://stackoverflow.com/questions/517923/what-is-the-best-way-to-remove-accents-in-a-python-unicode-string [14:33] aconbere has joined the channel [14:33] xerox: I need the equivalent of unicodedata.normalize('NFD', s) if unicodedata.category(c) != 'Mn' [14:34] xerox: (I don't know python it just came up in google) [14:34] apalmer_ has joined the channel [14:35] jtsnow has joined the channel [14:35] explodes: I don't know if that kind of stuff is supported in node... Sorry man [14:36] jakehow has joined the channel [14:36] explodes: Does anyone know vows pretty well [14:36] explodes: or at least well enough to work with this.callback ? [14:37] newy_ has joined the channel [14:37] xerox: np [14:38] zilch_ has joined the channel [14:38] leek- has joined the channel [14:39] butu5 has joined the channel [14:39] mapleman has joined the channel [14:39] marshall has joined the channel [14:39] marshall: hey node [14:39] leek- has joined the channel [14:39] industrial: llahsram yeh [14:40] svenlito has joined the channel [14:41] leek2 has joined the channel [14:42] RORgasm has joined the channel [14:42] bradleymeck has joined the channel [14:42] tizio has joined the channel [14:44] tizio: hello everybody. I'm just starting to work on a little service and I'd like to know if any of you have any experience with spawn.js, a lib by livelycode.com [14:44] supjeff: could somebody join me on http://codr.cc/c75a56 [14:44] supjeff: I have a quick question about executing an optional callback [14:45] tizio: spawn.js -- it is available in npm, it appears to make it easy to spawn functions as separate processes [14:45] hellp has joined the channel [14:45] supjeff: oh! thanks to whoever helped me on codr.cc [14:46] tuhoojabotti: supjeff: np [14:46] tuhoojabotti: :D [14:46] supjeff: :D [14:47] clifton has joined the channel [14:47] tuhoojabotti: ye [14:48] BillyBreen has joined the channel [14:49] tizio: spawn.js -- what I'd like to know is: is spawn.js here to stay? well maintained? good for prod? [14:50] ditesh|cassini has joined the channel [14:50] DatorZ has joined the channel [14:51] tar_ has joined the channel [14:51] bradleymeck: tizio, i would ask the maintainer in a message on github, email, w/e. However just using the child_process module forces separation of intents which is good [14:51] nibblebo_ has joined the channel [14:51] jbrokc has joined the channel [14:52] Metal3d has joined the channel [14:52] Cromulent has joined the channel [14:54] tizio: bradleymeck -- thanks, asking directly is a good idea. child_process is good, I guess I can always spawn a 'node' process with the code in the argument. Less elegant though [14:54] samyak__ has joined the channel [14:55] Dreamer3 has joined the channel [14:55] tuhoojabotti: supjeff: typeof(callback) === 'function' ? callback(result) : return; // Also works [14:55] tuhoojabotti: and those parentheses aren't required I guess. [14:55] socketio\test\71 has joined the channel [14:55] bradleymeck: tizio i know haibu-carapace is going to be maintained for a long time, but probably overkill [14:56] supjeff: tuhoojabotti: I'm not ready to return the function at that point yet though [14:56] [[zz]] has joined the channel [14:56] tuhoojabotti: Then it might be bad. :P [14:56] tuhoojabotti: Just use if. ;-) [14:56] supjeff: tuhoojabotti: that's why I put 'null' (which didn't work) [14:56] supjeff: yeah [14:56] supjeff: I'm using an if [14:56] tuhoojabotti: Ye [14:56] tizio: bradleymeck -- I'll take a look to it. thanks again [14:56] supjeff: thanks man [14:57] losing has joined the channel [14:57] supjeff: this co-ed coding should happen more often [14:57] tuhoojabotti: Sure [14:57] leek- has joined the channel [14:57] tuhoojabotti: Now he's stalking me on twitter :O [14:59] benvds has joined the channel [14:59] nibblebot has joined the channel [15:00] zanes has joined the channel [15:00] monokrome has joined the channel [15:00] kevwil has joined the channel [15:02] benvds has left the channel [15:02] bnoordhuis: xerox: node-iconv with //TRANSLIT? [15:05] k0stask has joined the channel [15:05] zemanel has joined the channel [15:06] slifty has joined the channel [15:06] Xeon06_ has joined the channel [15:07] markmarkoh has joined the channel [15:09] sonnym has joined the channel [15:10] supjeff: I'm trying to publish my package on npm, but it seems to want to remove all my globally installed packages (in ~/.npm/). Don't I need these? I have packages like nodester and color in there. [15:11] unomi has joined the channel [15:11] jayd3e has joined the channel [15:11] yumike has joined the channel [15:11] isaacs has joined the channel [15:11] hydrozen has joined the channel [15:11] jayd3e: is there an easy way to communicate between server-side javascript an python modules? [15:11] Xeon06_ has joined the channel [15:12] yumike has joined the channel [15:12] NickABusey has joined the channel [15:12] isaacs: christophsturm: there is no longer an "npm bundle" [15:12] patrickgamer has joined the channel [15:12] isaacs: christophsturm: npm installs locally by default [15:13] supjeff: jayd3e: you could make a python script that works with command line args, then call it from your node app [15:13] patrickgamer has left the channel [15:13] supjeff: as a subprocess [15:13] simenbrekken has joined the channel [15:13] christophsturm: isaacs: yeah, i just noticed that i had an ancient npm version [15:13] christophsturm has joined the channel [15:13] jayd3e: supjeff: yah I considered that, is that really my only option? [15:13] supjeff: Xeon06_: you from montreal? [15:14] supjeff: just quessing from the videotron hostname [15:14] supjeff: jayd3e: you could maybe use sockets? [15:14] supjeff: jayd3e: but I can't really help with that because I've never used them personally [15:15] jayd3e: supjeff: yah I see what you mean, but idk if I really want to make the python modules run as a daemon. You pretty much answered my question tho, thnx [15:16] progme has joined the channel [15:18] _sorensen_: good mornin nodeland [15:18] Corren has joined the channel [15:18] fangel has joined the channel [15:19] supjeff: morning sorensen [15:20] EyePulp has joined the channel [15:20] tjholowaychuk has joined the channel [15:20] dberlinger has joined the channel [15:21] liar has joined the channel [15:21] Xano has joined the channel [15:21] Xeon06_ has joined the channel [15:22] softdrink has joined the channel [15:22] ps_jinx has joined the channel [15:22] christophsturm: how do i track down an error message like this; https://gist.github.com/c2b1066b45f46376df7c [15:23] synkro has joined the channel [15:24] bnoordhuis: christophsturm: is that the whole stack trace? [15:24] albertosheinfeld has joined the channel [15:24] christophsturm: bnoordhuis: yes. [15:24] Ginlock has joined the channel [15:24] butu5 has joined the channel [15:24] whitequark: explodes: to ping without spawning an OS process [15:25] Ramosa: I get Error:ENOENT, No such file or dir: coffee-script/bin/coffee when doing "npm install coffee-script" on Debian node 0.5.3-pre npm 1.0.20 .. Noone in #coffeescript seemed to have had this error. Any pointers? [15:25] bnoordhuis: christophsturm: can you gist the code? (if feasible) [15:25] catshirt has joined the channel [15:25] christophsturm: bnoordhuis: i added some lines to the gist, please look again [15:26] christophsturm: and i can't paste the code because it only happens when i run my whole unit test suite, and only after all the tests have finished succesfully [15:26] bnoordhuis: christophsturm: sounds like a stray test that tries to connect after the server has shut down [15:27] christophsturm: yeah [15:27] jstroem has joined the channel [15:27] bksf has joined the channel [15:27] christophsturm: just wondering if theres a trick to get a better backtrace [15:28] alvaro_o has joined the channel [15:28] bnoordhuis: christophsturm: export NODE_DEBUG="net http" <- should print more details [15:29] supjeff: for some reason `npm publish` wants to rm everything in ~/.npm/. Is this normal? Why does it want to do this? [15:29] zippy has joined the channel [15:29] tizio: @bradleymeck -- if you are still there, I think I'll use node-webworker directly, but without prefork. I'll have to set some binding explicitly but that's all [15:29] zippy: i need some help installing node/npm on ubuntu. i ran the top script here but I get a project not configured (run 'waf configure' first) error [15:30] zippy: oops here - https://gist.github.com/579814 [15:30] eignerchris has joined the channel [15:30] boaz has joined the channel [15:30] augustl: isaacs: for https://github.com/isaacs/npm/issues/1182 does it make sense to make targetResolver completely pluggable? [15:30] augustl: isaacs: it's only npm link that needs a full tree and NODE_MODULES resolve, so it makes sense if it lives inside link.js [15:31] _dc has joined the channel [15:31] Illusioneer has joined the channel [15:31] Illusioneer has left the channel [15:31] margle has joined the channel [15:31] broofa has joined the channel [15:31] gazumps has joined the channel [15:31] Metal3d has joined the channel [15:31] blup: anyone experienced with cradle? i have a view with reduce '_count', and if i do a url query with group=true, it works fine, but with cradle's db.view('my/view', {group:true}, function(err, res)... it doesn't do grouping. [15:31] zippy: anyone able to help? [15:32] pixel13 has joined the channel [15:32] augustl: zippy: that gist is out of date afaik [15:33] blup: neither do {group_level:'exact'} nor {group_level:1} work... they all give me total count instead. [15:33] zilch_ has joined the channel [15:33] isaacs: augustl: i'm not sure. that sounds kind of complicated :) [15:33] augustl: zippy: after installing node, just do what http://npmjs.org/ tells you to (runn the shell script) [15:33] svenlito has joined the channel [15:34] zippy: augustl: the error is on the make install of that gist for node so i havent got that far [15:34] augustl: isaacs: I can't think of a better way. Is it likely that you'll accept a patch doing this? [15:34] augustl: zippy: so you haven't installed node yet? [15:34] isaacs: augustl: have you tried `npm link --link`? [15:34] zippy: i tried that gist but it errors [15:35] tizio has left the channel [15:35] zippy: it errors on the make install # ok fine...line [15:35] augustl: isaacs: just tried, same error - it tries to resolve the dependencies in the npm registry [15:35] augustl: zippy: forget about the gist, it's old ;) [15:35] augustl: zippy: follow http://nodejs.org/ and http://npmjs.org/ [15:37] isaacs: oh, no, that fais. [15:37] matt_taylor has joined the channel [15:37] markmarkoh has joined the channel [15:37] bergie has joined the channel [15:37] augustl: I just realized. I'm supposed to have the dependencies installed in node_modules in the package I'm trying to link, no? [15:38] augustl: or, that would be a solition at least, since npm link will look up node_modules before trying the registry [15:38] isaacs: augustl: right. so, i think "pluggable" might be too strong a term here. but this is defintely a bug. [15:38] isaacs: yeah [15:38] isaacs: augustl: so, a workaround, is to go into package-a, and do "npm link ../package-b" [15:38] balupton has joined the channel [15:38] isaacs: augustl: and then `npm link` [15:38] isaacs: that works [15:38] isaacs: unless, of course, package-b also depends on package-a :) [15:39] boehm has joined the channel [15:39] ixti has joined the channel [15:39] halfhalo-work has joined the channel [15:39] _dc has joined the channel [15:40] augustl: isaacs: what do you mean with pluggable being too strong a term? [15:40] pastak has joined the channel [15:40] isaacs: well, i mean, i don't want arbitrary folks to write random plugins for npm's resolver. [15:40] augustl: ah right [15:40] augustl: was thinking internally pluggable [15:40] isaacs: augustl: all the problems wiht `npm link` are also problems with `npm install . -g` [15:40] isaacs: since it's almost the same thing, ultimately [15:41] augustl: ah, I see [15:41] dexter_e has joined the channel [15:41] augustl: so it should probably be an option to npm.commands.install, then [15:41] isaacs: yeah [15:41] markdaws has joined the channel [15:41] augustl: I'll write a patch then \o/ [15:41] sooli has joined the channel [15:41] isaacs: another problem: let's say your'e in ~/src/node_modules/xyz [15:41] iammerrick has joined the channel [15:42] isaacs: and you do `npm install` and you depend on "abc", which is in ~/src/node_modules/abc [15:42] isaacs: when you do `npm ls` it should show it as satisfied. whenyou do `npm install` it should not re-install it [15:42] JumpMast3r has joined the channel [15:42] augustl: so in general it would make sense to resolve similar to what require.resolve does [15:42] isaacs: and, there should be a way to opt out of that, like a "local only realy i mean it" option [15:42] augustl: s/similar/in a similar way to/ [15:42] isaacs: ya [15:42] augustl: cool, sounds like a good solution [15:43] isaacs: but then that raises the "i want to bundle all my deps and deploy, why isn't xyz installing?" probem [15:43] augustl: --contained? [15:43] augustl: hmm [15:44] isaacs: yeah, don't sweat the config name [15:44] isaacs: that's easy to change [15:44] augustl: code name --blackfrog [15:44] isaacs: haha [15:44] jj0hns0n has joined the channel [15:45] augustl: Game Coding Complete, an awesome book, has a section on code names. Comes highly recommended, so you don't have the idling at "mkdir " uhm wtf should I call it stage :) [15:45] stephank has joined the channel [15:45] bradleymeck: fing race conditions [15:46] bradleymeck: anyone know a good way to see if a socket is already bound to an address and port? [15:46] bradleymeck: not by listening [15:46] augustl: set a variable to true in a callback.. [15:46] augustl: not sure if there's a built in property you can read [15:47] augustl: oh nvm [15:47] augustl: good question :) [15:48] Cromulent has joined the channel [15:49] eee_c has joined the channel [15:50] zippy: augustl: tried here https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager and get error Could not get lock /var/lib/dpkg/lock [15:50] indutny: hey!!!! [15:50] indutny: SNI branch is near to completion [15:50] indutny: running tests (crossed fingers) [15:51] indutny: yeah 100% [15:51] robertfw has joined the channel [15:52] matt_taylor_ has joined the channel [15:52] Metal3d has joined the channel [15:52] jarek has joined the channel [15:52] indutny: can somebody please test it? https://github.com/indutny/node/tree/sni [15:52] patrickgamer1 has joined the channel [15:53] patrickgamer1 has left the channel [15:53] alvaro_o has joined the channel [15:54] liar has joined the channel [15:54] Yuffster_work has joined the channel [15:54] indutny: ryah: https://github.com/joyent/node/pull/1411 [15:54] indutny: bnoordhuis: https://github.com/joyent/node/pull/1411/files [15:55] Spion has joined the channel [15:57] jakehow has joined the channel [15:57] hlindset has joined the channel [15:57] hlindset has joined the channel [15:58] Tobsn has joined the channel [15:58] isaacs: augustl: so, i think the immediate thing shoudl be (if you're interested in making a patch) If installing globally, and there exists a suitable globally-installed dep, skip it. if linking, and there exists a suitable globally installed dep, link it locally (like install --link) [15:59] isaacs: augustl: that'll take care of the majority use case [15:59] augustl: zippy: hmm, your dpkg has been force killed, or another dpkg thingie is running [16:00] patrickgamer has joined the channel [16:00] patrickgamer has left the channel [16:00] zippy: synaptic was open [16:00] augustl: isaacs: I'd suggest if linking, and there exists a suitable globally installed dep, don't do anything [16:00] isaacs: augustl: the next step should be: if the cached copy is not empty, and ! --force, and the server 404s, then use the cached copy [16:00] augustl: isaacs: since linkng is for dev, and I want to re-link later etc [16:00] isaacs: augustl: the problem is that then the dep won't be met [16:01] meandi2 has joined the channel [16:01] isaacs: augustl: since node realpath()s modules [16:01] zippy: augustl: node installs fine but I cant get npm to install [16:01] monokrome has joined the channel [16:01] isaacs: zippy: please gist output [16:01] augustl: zippy: you're installing npm with a debian package? Or apt-get perhaps? [16:01] Xeon06_ has joined the channel [16:02] isaacs: zippy: curl http://npmjs.org/install.sh | sh <-- then take whatever this outputs, and paste it at http://gist.github.com and then share the link [16:02] zippy: issacs: augustl: i'm usnig this curl http://npmjs.org/install.sh | clean=yes sh [16:02] mbrevoort has joined the channel [16:02] isaacs: zippy: ok. please gist the output if it fails. [16:02] augustl: isaacs: w00t? If I have ~/local/node/lib/node_modules/my-lib as a symlink, and that is in NODE_PATH, and I require("my-lib") that'll work no? I'm probably misunderstanding something. [16:02] isaacs: i need to see the actual characters to know what why it's failing. [16:02] ap3mantu_ has joined the channel [16:03] isaacs: augustl: right, but npm cannot rely on NODE_PATH [16:03] isaacs: augustl: npm relies on node_modules folders only [16:03] Ans5i has joined the channel [16:04] zippy: isaacs: https://gist.github.com/1111824 [16:04] isaacs: gracias [16:04] augustl: isaacs: oh, hmm, why is that? [16:04] isaacs: zippy: curl http://npmjs.org/install.sh | sudo clean=yes sh [16:04] isaacs: augustl: because that's how it avoids dependency conflicts. [16:05] isaacs: augustl: npm should always assume that NODE_PATH is null, and require.paths is gone. node_modules is all that exist to it [16:05] zippy: isaacs: THANKS!!!!!!!! [16:05] isaacs: augustl: that's the safest way to organize deps for node [16:05] isaacs: zippy: np :D [16:05] augustl: isaacs: ah, I see [16:06] isaacs: augustl: nesting node_modules folders is a very powerful solution to this problem, though [16:06] augustl: isaacs: so, the symlink to the linked npm package in node_modules - should it be a symlink to the symlink? Or a symlink to the resolved symlink? [16:06] cognominal_ has joined the channel [16:06] isaacs: there's really nothing it cant' do, it just takes a bit of careful planning. [16:06] isaacs: augustl: it should symlink to the global path. [16:06] augustl: isaacs: I hope future node versions support .node_modules as well. Would be very useful for ~/.node_modules [16:06] isaacs: augustl: since you may want ot change that [16:06] Country has joined the channel [16:06] zippy: i've just run this ubuntu@ubuntu:~$ node server.js but it can't find server.js. where do i put it [16:07] isaacs: augustl: my vote would be to keep the NODE_PATH environment variable, but don't default it to anything [16:07] augustl: since I'm annoyed by seeing ~/node_modules in ls and when browsing [16:07] isaacs: augustl: sure, but dot folders have their own peculiarities [16:07] zippy: no worries i got it [16:07] augustl: ah, didn't know node defaulted NODE_PATH [16:07] markmarkoh has joined the channel [16:07] augustl: isaacs: you seem to be the master of edge cases :) [16:07] augustl: s/the/a/ [16:08] isaacs: augustl: well, it defaults the require.paths (or, now, require("module").globalPaths [16:08] hamza has joined the channel [16:08] isaacs: augustl: heh. lots of practice :) [16:08] nibblebot has joined the channel [16:08] isaacs: augustl: i often feel like edge cases are the master of me, but whatever. [16:08] eignerchris has joined the channel [16:09] jbrokc_ has joined the channel [16:09] augustl: >< [16:10] dannycoates has joined the channel [16:12] isaacs: i think that if we 1) link global pkgs when linking, and 2) use the cache if the reg 404's, then your problem will go away, and we'll be a bit more resilient to registry failures in general. [16:13] leek2 has joined the channel [16:13] isaacs: augustl: ^ [16:13] augustl: isaacs: noted [16:13] othiym23 has joined the channel [16:13] guillermo has joined the channel [16:13] leek2 has joined the channel [16:13] isaacs: augustl: i probably won't be able to dig into this this week at all, but if you are interested in doing a patch and have any questions, feel free to ping me. [16:13] augustl: so npm has a cache parts or all of the npm registry? [16:14] augustl: isaacs: cool, tnx! [16:14] leek has joined the channel [16:14] isaacs: augustl: npm has a local cache of the requests it makes in ~/.npm/ [16:14] leek has joined the channel [16:14] isaacs: augustl: the lib/utils/npm-registry-client/request.js uses that to do etag caching, among other things [16:15] augustl: I see [16:15] isaacs: in some cases it actually doesn't make a request if the cache is fresh enough [16:15] isaacs: POST and DELETE invalidate the cache of the thing that they're pointing at [16:15] augustl: is there a npm command to install all dependencies to node_modules when cwd is the project root? [16:15] isaacs: i've been meaning to split that stuff out into a separate utility, cuz it's pretty general, but it's kind of wired into npm in a lot of places. [16:16] isaacs: augustl: that's what `npm install` does [16:16] isaacs: (no args) [16:16] augustl: ah, of course. The error that my package wasn't in the npm registry confused me [16:16] augustl: but it makes sense, it's not in the npm registry ,) [16:16] augustl: ;) [16:17] isaacs: augustl: and, `npm install --link` will prefer to symlink the globally installed packages if they're acceptable [16:17] augustl: need to get usted to man npm foo instead of npm foo --help [16:17] slajax has joined the channel [16:17] isaacs: augustl: `npm help foo` works, too [16:18] augustl: ah cool [16:18] isaacs: augustl: the --help just spits out a usage string, i believ [16:18] isaacs: maybe "--help" should be like "npm help foo", and -h|-? should do the usage string [16:19] augustl: Printing "see also man npm foo" also makes sense [16:19] jarek has left the channel [16:19] isaacs: augustl: the issue is that the direct `man npm-foo` doesn't work on all systesm. [16:19] zilch_ has joined the channel [16:19] augustl: ah [16:19] isaacs: oh, hey, that's another issue with windows, i guess. does windows have a "man" program? [16:19] augustl: neat.. no, not that I'm aware of [16:20] augustl: but I think nobody knows. Not even hardore windowsers know anything about cmd.exe since it sucks [16:21] rfay has joined the channel [16:21] unlink has joined the channel [16:21] unlink has joined the channel [16:22] brianm has joined the channel [16:23] Swimming_bird has joined the channel [16:23] pickels has joined the channel [16:24] vortec: is there a node module that handles WSGI stuff? i.e., executing WSGI middleware? [16:26] brianm has joined the channel [16:26] Xeon06_ has joined the channel [16:27] dtan has joined the channel [16:27] luke` has joined the channel [16:28] luke`_ has joined the channel [16:31] eresair has joined the channel [16:31] supjeff: hey isaacs, nice registry ya got there [16:31] isaacs: supjeff: thanks [16:31] Xeon06_ has joined the channel [16:32] ctrimm has joined the channel [16:32] ctrimm: Hello, everyone! [16:32] ctrimm: Does anyone know if there is a way to password protect a node.js app like one would .htaccess on apache? [16:33] caiges has joined the channel [16:33] losing has joined the channel [16:33] indutny: core guys! I need you to discuss SNI feature, please answer me! https://github.com/joyent/node/pull/1411 [16:34] indutny: now it's using configuration object SNIContexts [16:34] indutny: where keys are server names and values are ssl credentials [16:35] seivan has joined the channel [16:35] losing has joined the channel [16:36] losing has joined the channel [16:37] Cleer has joined the channel [16:38] markmarkoh1 has joined the channel [16:40] Metal3d: ACTION is away: Occupé [16:41] doctorm: How do you check if an error object is an error? I'm assuming there is some kind of standard. [16:41] Xeon06_ has joined the channel [16:42] doctorm: Err, maybe that's better phrased "How do you check if an object is an error object" [16:43] bradleymeck: are you trying to check if it is an Error? if(x instanceof Error) {...} [16:43] doctorm: bradleymeck: That should be it, thanks. [16:44] doctorm: I guess I'm assuming that most modules use that convention. [16:44] indutnyw has joined the channel [16:44] indutnyw: hi again! [16:44] indutnyw: some problems with irccloud [16:44] indutnyw: isaacs: ryah: what do you think about SNI API and, btw, should I add flag for it's support? [16:44] japj has joined the channel [16:44] pjacobs has joined the channel [16:45] bradleymeck: whats a way to submit a commit on a tag as a pull request instead of a full on pull request against master? [16:45] brianm has left the channel [16:46] indutnyw: bradleymeck: cherry-pick on a new branch [16:46] indutnyw: ? [16:46] theCole has joined the channel [16:46] pjacobs2 has joined the channel [16:46] Destos has joined the channel [16:47] rpflo has joined the channel [16:47] threecreepio has joined the channel [16:47] chapel: indutnyw: sni? [16:47] zeropx has joined the channel [16:48] indutnyw: chapel: SNI = Server Name Indication [16:48] greg has joined the channel [16:48] indutnyw: chapel: this is SSL TLS Extension [16:48] indutnyw: allows running one https server for multiple hosts (with multiple certs) [16:48] lukstr: isaacs: I'm currently in a predominately windows shop, you are screwed re: man pages :) [16:49] tuhoojabotti: http://urly.fi/dE [16:49] tuhoojabotti: lool [16:50] hij1nx has joined the channel [16:51] dgathright has joined the channel [16:51] chapel: cool indutnyw [16:52] sriley has joined the channel [16:52] ryah: indutnyw: SNI! [16:53] indutnyw: ryah: ! [16:53] ryah: indutnyw: yeah! can you open a ticket and suggest an API? i guess it should be in the TLS module [16:53] ryah: indutnyw: the http client can use the host header [16:53] alvaro_o has joined the channel [16:53] iaincarsberg has joined the channel [16:53] indutnyw: ryah: yeah, probably :) [16:53] ryah: indutnyw: probably one of the options to tls.connect () ? [16:54] indutnyw: hm... [16:54] indutnyw: looks fine [16:54] cl0udy has joined the channel [16:54] indutnyw: err [16:54] indutnyw: sounds good [16:54] indutnyw: btw [16:54] indutnyw: ryah: what about flags? [16:54] ryah: indutnyw: what flags? [16:55] indutnyw: ryah: now we have NPN_ENABLED flag and probably need to add SNI_ENABLED too [16:55] indutnyw: ryah: that looks inconsistent [16:55] vortec has left the channel [16:56] indutnyw: ryah: creating var like require('tls').flags or something looks better for me [16:56] indutnyw: .flags.NPN and .flags.SNI then [16:56] indutnyw: ryah: brb [16:56] ryah: indutnyw: hm - we have this process.features now [16:56] Xeon06_ has joined the channel [16:56] springmeyer has joined the channel [16:56] indutnyw: oh [16:57] ryah: indutnyw: maybe process.features.npn == true [16:57] indutnyw: ryah: yep and sni [16:57] ryah: indutnyw: maybe process.features.sni == true [16:57] indutnyw: sounds good [16:57] bradleymeck: ryah ignore that email i moved it to a pull request [16:57] indutnyw: ok, I'll correct this [16:57] indutnyw: number two question [16:57] indutnyw: ryah: SNI should use regexps as server names in the future [16:58] ryah: regexp? [16:58] indutnyw: ryah: but I don't know how to use them from C++ side [16:58] indutnyw: yep [16:58] indutnyw: '*.example.com' [16:58] indutnyw: like that [16:58] indutnyw: with wildcards and etc [16:58] lukstr: indutnyw: #include ^_^ [16:58] indutnyw: haha [16:58] indutnyw: thanks [16:58] bradleymeck: standard wildcarding is only for prefixes i thought, just having a '.' like '.example.com' [16:59] indutnyw: but I need javascript regexps [16:59] indutnyw: bradleymeck: hm... [16:59] dtan_ has joined the channel [16:59] krh: *.example.com isn't a regexp [16:59] indutnyw: sounds interesting [16:59] indutnyw: ryah: now I'm just doing look inside SNIContexts object: https://github.com/joyent/node/pull/1411/files#L1R726 [16:59] ryah: indutnyw: but i dont undersatnd - wildcards for what? [16:59] indutnyw: s/look/lookup [16:59] indutnyw: SNI allows you using different Cert for different host names, right? [16:59] indutnyw: what about wildcard SSL certificate? [16:59] lukstr: ryah: you want to match multiple domains [17:00] bradleymeck: indutnyw i remember it in the cookie spec, but idk if it originated from another rfc [17:00] eee_c has joined the channel [17:00] c4milo has joined the channel [17:00] indutnyw: that's how it works now: https://github.com/joyent/node/pull/1411/files#L3R47 [17:01] indutnyw: ryah: ah, btw. it's already tls.connect option, not https [17:01] lukstr: bradleymeck: it's in the rfc, I thought [17:01] indutnyw: ryah: so I'll need to implement SNI support in https too [17:01] dscape has joined the channel [17:02] skohorn has joined the channel [17:02] stephanepayrard_ has joined the channel [17:02] terite has joined the channel [17:02] ryah: indutnyw: 1sec - looking at your patch [17:02] indutnyw: ryah: ok, np [17:03] dgathright has joined the channel [17:04] ryah: SelectSNIContextCallback_ is only server-side? [17:04] sweetd has joined the channel [17:05] lightcap has joined the channel [17:05] ryah: indutnyw: what do you think about making a callback into javascript inside of SelectSNIContextCallback_ ? [17:06] ryah: then people can use JS regexp to find the conext... [17:06] indutnyw: ryah: that sounds very good for me [17:06] indutnyw: but I don't think that I can implement this with my current c++ knowledge [17:06] ryah: use MakeCallback from node.h [17:06] indutnyw: ah [17:06] indutnyw: ok [17:06] admc has joined the channel [17:06] kevwil has joined the channel [17:07] pgte has joined the channel [17:07] indutnyw: ryah: I'll return to that tomorrow, ok? [17:07] ryah: indutnyw: you'll have to proxy the callback to the tls.Server object - and the user should return the context in JS land from that callback [17:07] indutnyw: yep [17:07] ryah: (async lookup wouldn't be allowed) [17:07] ryah: does that seem right? [17:08] JumpMast3r has joined the channel [17:08] mehlah has joined the channel [17:08] markmarkoh has joined the channel [17:08] ryah: actually - it would be nice if at tls.Server the user didn't get a callback but rather just set contexts with regexp [17:08] Swimming_bird has joined the channel [17:08] bayousoft has joined the channel [17:08] indutnyw: ryah: https://github.com/joyent/node/pull/1411#issuecomment-1674451 [17:08] ryah: server.setConext(/*.google.com/, ctx) [17:09] ryah: or something? [17:09] dekz has joined the channel [17:09] indutnyw: ryah: hm [17:09] indutnyw: ryah: that looks good, but hard to implement in C++ side anyway [17:09] lukstr: I don't see why you want the callback [17:09] chunhao has joined the channel [17:09] beawesomeinstead has joined the channel [17:09] indutnyw: so I'll implement it in JS-land [17:09] ryah: indutnyw: yes in js-land [17:09] indutnyw: tls.js [17:09] niftylettuce has joined the channel [17:10] ryah: so the callback from MakeCallback in will walk through all the regexp, cert pairs [17:10] indutnyw: ryah: updated comment [17:10] ryah: in js [17:10] indutnyw: yep, everything further looks clean [17:10] indutnyw: ryah: please check this https://github.com/joyent/node/pull/1411#issuecomment-1674451 [17:10] indutnyw: I'll update it if I missed something [17:11] ryah: indutnyw: yes looks good [17:11] indutnyw: ok [17:11] zeade has joined the channel [17:11] indutnyw: ttyl [17:11] indutnyw: thanks [17:11] dnyy has joined the channel [17:12] bengl has joined the channel [17:12] augustl: anyone here npm contributors? Wondering if there are automated tests for npm link [17:12] metadaddy has joined the channel [17:12] daleharvey has joined the channel [17:12] tomh- has joined the channel [17:12] tomh- has joined the channel [17:12] tomh- has joined the channel [17:13] whoops has joined the channel [17:13] kulor-uk has joined the channel [17:13] jeremyselier has joined the channel [17:14] sub_pop has joined the channel [17:14] kevwil has joined the channel [17:15] bshumate has joined the channel [17:15] bradwright has joined the channel [17:16] footyfish has joined the channel [17:19] othiym23 has joined the channel [17:19] roidrage has joined the channel [17:19] ncb000gt has joined the channel [17:19] Alex_R has joined the channel [17:19] jhurliman has joined the channel [17:19] davemo has joined the channel [17:20] _ralph has joined the channel [17:20] davidwalsh has joined the channel [17:21] aconbere has joined the channel [17:21] blueadept: anyone here that works on FastLegS https://github.com/didit-tech/FastLegS ? [17:21] yumike has joined the channel [17:21] bradleymeck has joined the channel [17:22] whitequark has left the channel [17:23] zilch has joined the channel [17:24] bergie has joined the channel [17:24] mattly has joined the channel [17:24] eventualbuddha_ has joined the channel [17:25] colinclark has joined the channel [17:25] rfay has joined the channel [17:25] __main__ has joined the channel [17:26] thriple has joined the channel [17:27] yumike has joined the channel [17:28] bartt has joined the channel [17:28] wookiehangover has joined the channel [17:28] indutny has joined the channel [17:28] shanebo: hey guys, is the best way to add a callback to a function that doesn't have one, to pass a function in as an argument? [17:29] stagas_ has joined the channel [17:29] Chani: shanebo: I'm not aware of any other way to add a callback to a function in the first place :) [17:29] leeda has joined the channel [17:29] leeda has left the channel [17:30] shanebo: touche :D [17:30] captain_morgan has joined the channel [17:31] ps_jinx has joined the channel [17:31] Xeon06_ has joined the channel [17:34] Murvin has joined the channel [17:35] whitman has joined the channel [17:36] Xeon06_ has joined the channel [17:37] dherman has joined the channel [17:37] thorsteinsson has joined the channel [17:38] markmarkoh1 has joined the channel [17:38] raidfive has joined the channel [17:38] postwait has joined the channel [17:39] hybsch has joined the channel [17:39] albertosheinfeld has joined the channel [17:39] tar_ has joined the channel [17:40] `3rdEden has joined the channel [17:40] mikl has joined the channel [17:40] mikl has joined the channel [17:42] tristanseifert has joined the channel [17:44] AvianFlu has joined the channel [17:45] perlmonkey2 has joined the channel [17:45] captain_morgan has joined the channel [17:46] caiges has joined the channel [17:47] augustl: which editor are folks using for writing JavaScript in the node.js and npm style? [17:47] lukstr: vim [17:47] lukstr: :) [17:47] drudge: macvim [17:47] augustl: I see [17:47] augustl: emacs isn't particularly fond of that formatting out of the box [17:48] tjholowaychuk: augustl usually you just .. type [17:48] tjholowaychuk: whatever style you want [17:48] eastender has joined the channel [17:48] _sorensen_: i'm using sublime text [17:48] _sorensen_: or notepad++ [17:48] JakeWharton: sublime text FTW [17:48] lukstr: augustl: not fond in that it won't parse it [17:48] augustl: tjholowaychuk: that's pretty impractical imo, I like to rely on the indentation my editor does for me [17:48] lukstr: or it auto-does stuff :) [17:48] _sorensen_: i use it for python/django now too :P [17:48] zeade has joined the channel [17:48] augustl: lukstr: it parses it, the indentation rules doesn't like it though [17:48] tjholowaychuk: augustl indentation sure, but i mean most just detect that [17:49] lukstr: in vim usually I just flip a couple of flags when switching styles [17:49] balaa has joined the channel [17:49] mikl has joined the channel [17:49] mikl has joined the channel [17:50] augustl: time to learn vim perhaps ;) [17:51] thriple_ has joined the channel [17:51] Xeon06_ has joined the channel [17:52] jensn has joined the channel [17:53] lukstr: ooo a convert [17:54] augustl: we'll see :) [17:54] augustl: I can't imagine vim is that hard to learn [17:55] isaacs has joined the channel [17:55] drudge: macvim + taglist + nerdtree + command-t + conque + snipmate is nice [17:55] lukstr: why not just regular vim [17:55] augustl: indeed, I'm not on OS X ;) [17:55] augustl: not now, that is [17:55] drudge: because i like the directory browser, ctags and snippet support that those plugins provide :P [17:56] drudge: you can substitute macvim for vim tho augustl :) [17:56] doctorm: macvim and gvim are a bit easier to get started with than po vim. [17:57] augustl: gotta be possible to make js-mode on emacs work for the node/npm guidelines tho [17:57] augustl: hmpf [17:57] lukstr: doctorm: I find the opposite. I find when I show people gvim they are not as inclined to learn how to save files :) [17:57] isaacs: augustl: check out thom blake's thingie [17:57] isaacs: https://github.com/thomblake/js-mode [17:57] gtramont1na has joined the channel [17:57] isaacs: er, rather: https://github.com/thomblake/js3-mode [17:57] albertosheinfeld has joined the channel [17:58] augustl: isaacs: great! [17:58] doctorm: lukstr: heh, well, the ground up is usually the best way to learn, but not always practical. Afterall, I know javascript but not C, and am probably worse for it ;) [17:58] isaacs: augustl: specifically designed to work with npm-style, which thom seems to dig also :) [17:58] drudge: who doesn't [17:58] CrabDude has joined the channel [17:58] augustl: <== [17:59] shanebo: in the event where there's a callback from js from one required file to another, how should that be handled? firing an event? or requiring both files in each other? [17:59] pt_tr has joined the channel [17:59] alvaro_o has joined the channel [17:59] isaacs: augustl: try it for a while. it'll grow on you :) [17:59] lukstr: doctorm: go learn c at once [17:59] tiglionabbit_ has joined the channel [17:59] doctorm: lukstr: Sure thing, will you handle my bills while I do? [18:00] nibblebot has joined the channel [18:00] augustl: shanebo: thinking in files is probably not a good idea [18:00] mikl has joined the channel [18:00] mikl has joined the channel [18:00] augustl: shanebo: in the end they are just objects that are made available via require [18:00] augustl: so, do whatever you might normally to to send messages across objects [18:00] shanebo: augustl yeah I've noticed. it's been hard to like that :D [18:00] reid has joined the channel [18:01] lukstr: doctorm: obviously that's something FOSS can do, and as a C developer for an open source project surely you will make much more money than whatever mundane activity you currently waste your time with :) [18:01] doctorm: lukstr: Hahaha, surely. [18:01] augustl: isaacs: I'll have the decency to follow that style in my patch at least ;) [18:01] AvianFlu: shanebo: myFn(arg, arg2, cb) could just as well be myFn(arg, arg2, otherFile.otherFn) [18:01] shanebo: augustl it doesn't feel very DRY requiring files all over a project in more than one place [18:02] vns has joined the channel [18:02] mbrevoort has joined the channel [18:02] jacobolus has joined the channel [18:02] shanebo: right but that assumes that object is available in the other file [18:02] AvianFlu: shanebo: but if you put two things that frequently need to communicate in completely different parts of your program, you might want to re-think that [18:03] AvianFlu: or, Hook.io [18:03] isaacs: shanebo: in my experience, structuring my dependencies so that I *don't* have lots of require() statements in many places tends to guide my programs towards a better structure. [18:03] shanebo: AvianFlu, um, router, controllers, models, etc.? [18:03] NetRoY has joined the channel [18:03] shanebo: isaacs, well maybe i'm approaching this wrong [18:03] isaacs: shanebo: i start to get concerned (though sometimes it's unavoidable) when it reaches up to around 10 [18:04] isaacs: tends to mean that there's an opportunity to encapsulate some of them better [18:04] isaacs: or split this module into two so that it's not doing so mcuh [18:04] shanebo: i've only got 6 in my router/dispatcher [18:04] isaacs: yeah, that's not so bad, especailly if it's an entrypoint or something [18:04] figital has joined the channel [18:04] augustl: shanebo: well, that depends [18:04] shanebo: yeah it's an entry point [18:04] augustl: shanebo: I like files that require everything they need to require [18:04] augustl: shanebo: so that every file in the project can be required in isolation [18:05] _class_ has joined the channel [18:05] isaacs: augustl: right, but if module A and module B are always require()'ed together, and can't really be used in isolation, then maybe the interface is just wrong. [18:06] isaacs: augustl: either one of them needs to just wrap the other, or there perhaps needs to be some C module that depends on the both of them, etc. [18:06] isaacs: ("C" being an arbitrary name, not referring to the C language) [18:06] augustl: indeed [18:06] augustl: all my projects tend to have a tree structure [18:07] perezd has joined the channel [18:07] chjj has joined the channel [18:08] astrax: a stupid javascript question, if I have a function already defined and accepting parameters, how do I give it as callback or do I have to wrap it inside an anonymous function? [18:08] captain_morgan has joined the channel [18:08] shanebo: isaacs, and the prob is that I'm *trying* to use a default controller that defaults to a layout and views based on route, while allowing specific controller actions to override said settings. However when I dispatch and fire the specific controller action, if it has a method that has a built in callback (db call, require file, etc.) then the default controller fires before it's called back. So… I'm trying to pass a framework m [18:08] shanebo: into the specific controller action and from within that specific controller, that callback doesn't exist [18:08] markmarkoh has joined the channel [18:09] technoweenie has joined the channel [18:09] augustl: "You must byte-compile js3-mode before using it." [18:09] doctorm: astrax: Any function can be a callback, just pass it [18:10] augustl: byte compile? >< [18:10] caiges has joined the channel [18:10] doctorm: astrax: But if it's already accepting arguments, you need to know what arguments the callback will be passing it as well. [18:10] augustl: yay Mx byte-compile-file RET [18:11] slifty has joined the channel [18:11] astrax: doctorm. yes thanks, I'll try to get this right [18:12] malkomalko has joined the channel [18:13] mbrevoort has joined the channel [18:13] balaa has joined the channel [18:14] gvz has joined the channel [18:14] zackattack has joined the channel [18:14] kmiyashiro has joined the channel [18:15] shanebo: isaacs, basically I'm wondering if there's a recursive way to factor in controller actions with callbacks without have to middleware between framework code and project specific code. [18:15] shanebo: have = having [18:15] isaacs: shanebo: this is an express app? [18:15] shanebo: no [18:15] shanebo: using connect [18:16] isaacs: shanebo: ok... i don't actually know connect very well. [18:16] shanebo: and rolling my own router/dispatcher [18:16] isaacs: i've only used it through express, which i highly recommend for doing any kind of "serve html to web browsers" type app [18:17] tjholowaychuk: shanebo what is it that you're wondering about middleware? [18:17] tjholowaychuk: not sure i get the issue [18:17] shanebo: isaacs do you have to set layouts, views, etc. and fire a render method in every project specific controller action? [18:17] johnduhart has joined the channel [18:17] isaacs: tjholowaychuk: this started at "how do i not have a gazillion require() calls in every file?" [18:17] shanebo: tjholowaychuk, the issue is two fold [18:18] caolanm has joined the channel [18:18] tjholowaychuk: globals? [18:18] tjholowaychuk: haha [18:18] isaacs: or: refactor things into more meaningful bits. [18:18] isaacs: make higher-level apis for the things you're doing [18:18] shanebo: 1) i'm used to attaching events on window on the front end and using it as my mediator so that my logic stays decoupled. How is something similar possible with node when there's no global? [18:18] caiges_ has joined the channel [18:18] tjholowaychuk: we have probably a good 1000 requires or more [18:19] tjholowaychuk: probably more, it's fine though we still boot in maybe 500ms or so [18:19] tjholowaychuk: less [18:21] shanebo: 2) i'm wondering how I can use a default controller that sets a default layout (if not an ajax call), view (based on controller action) and still factor in the probability of actions having nested callbacks before firing the framework controller render action [18:21] shanebo: tjholowaychuk am I rambling? Or does that make sense? [18:21] dgathright_ has joined the channel [18:21] Xeon06_ has joined the channel [18:21] tjholowaychuk: shanebo makes sense, but I mean that's just basic logic you can build into your connect router [18:22] tjholowaychuk: connect/node wont stop you from doing that [18:22] k0stask has joined the channel [18:22] mape: tjholowaychuk: poked at them gzip? [18:22] tjholowaychuk: gzip? [18:22] mape: yeah, for node [18:23] mape: :P [18:23] shanebo: I have it all built. the only thing that's not working is when my project specific controller action has nested callbacks – the framework controller render fires before the callback does. [18:23] tjholowaychuk: what about it [18:23] tjholowaychuk: lol [18:23] mape: using gzip is still a pita with node :( [18:23] mbrevoort has joined the channel [18:24] drudge: who compresses stuff anyway [18:24] brolin has joined the channel [18:24] tjholowaychuk: shanebo: hm. i think i'd understand better if i saw some code but you should just be able to have a callback passed and say done() or something [18:24] mape: drudge: When I'm in a pickle [18:24] tjholowaychuk: mape: ah, yeah :D haha I've just ignored that for the last while [18:24] mape: tjholowaychuk: Dude, I was counting on you [18:24] tjholowaychuk: until it's in core and/or and actually works [18:24] mape: You just made me loose a bet [18:24] shanebo: tjholowaychuk, even if the controller action is in another file? [18:24] vivid007 has joined the channel [18:24] vivid007: hi [18:25] tjholowaychuk: shanebo sure, you just require() it in [18:25] mgrayson has left the channel [18:25] vivid007: hello [18:25] Druide_ has joined the channel [18:25] tjholowaychuk: shanebo you can also cache those as an object property to avoid subsequent require() calls [18:25] shanebo: tjholowaychuk so I'd need to require my framework file in every project specific controller? [18:25] tjholowaychuk: no [18:25] vivid007: anyone familliar with using cygwin and node ? i'm running into an issue with "WideCharToMultiByte" [18:25] tjholowaychuk: it just really depends on how you want to design your thing but that's 100% up to you [18:26] shanebo: I want to stay MVC [18:26] tjholowaychuk: you could have ./controllers/*.js [18:26] tjholowaychuk: auto-require all those in [18:26] nibblebot has joined the channel [18:26] tjholowaychuk: and construct the middleware from the exports etc [18:26] jmoyers has joined the channel [18:27] balaa has joined the channel [18:27] albertosheinfeld has joined the channel [18:28] shanebo: tjholowaychuk and then you're saying each controller would have access to framework code without requiring in each once? [18:28] shanebo: one? [18:28] tjholowaychuk: there's a few ways you could do that [18:28] anyone has joined the channel [18:28] tjholowaychuk: you could use the vm module and inject pseudo globals [18:28] tjholowaychuk: which IMO is nearly identical to just.. having globals [18:28] tjholowaychuk: but [18:28] tjholowaychuk: that's one way to clean things up [18:28] shanebo: dodo. that sounds awesome [18:29] tjholowaychuk: ultimately sharing stuff in node is a bit of a PITA without being a hack [18:29] tiglionabbit_ has joined the channel [18:29] shanebo: glad I'm not the only one who feels that way [18:29] tjholowaychuk: https://github.com/visionmedia/express/blob/master/examples/route-loading/routes/user.js [18:29] shanebo: so what's the vm module? [18:29] tjholowaychuk: take a look at the boot.js [18:30] tjholowaychuk: app etc there are passed to the vm context object [18:30] meelash_ has joined the channel [18:30] StepanKuzmin has joined the channel [18:30] dgathright has joined the channel [18:30] shanebo: you mean 'app' is used as the pseudo global? [18:30] tjholowaychuk: yeah and "db" in that example [18:31] tjholowaychuk: but it could be whatever you want [18:31] anyone has left the channel [18:31] tjholowaychuk: or you can do ugly stuff like module.exports = function(app, db, ...){ app stuff here } [18:31] jonaslund has joined the channel [18:31] alvaro_o_ has joined the channel [18:31] shanebo: and if that's in the server.js then all other required files would have that in scope? [18:32] skohorn has joined the channel [18:32] blueadept has joined the channel [18:33] tjholowaychuk: yeah it's a v8 context, so those are effectively just globals [18:33] shanebo: would it be dump to have an app.ee and attach custom events to that as the mediator? rather than passing callbacks all over? [18:33] shanebo: dump = dumb [18:33] clifton_ has joined the channel [18:34] malkomalko has joined the channel [18:34] hahaha has joined the channel [18:34] maushu has joined the channel [18:34] alvaro_o_ has joined the channel [18:36] cjm has joined the channel [18:37] ap3mantus has joined the channel [18:37] AvianFlu has joined the channel [18:38] V1 has joined the channel [18:39] markmarkoh has joined the channel [18:39] fumanchu182 has joined the channel [18:42] jakehow has joined the channel [18:42] blueadept has joined the channel [18:42] monokrome has joined the channel [18:43] harthur has joined the channel [18:44] threecreepio has joined the channel [18:44] matomesc has joined the channel [18:44] alvaro_o_ has joined the channel [18:45] kmiyashiro: so many mongodb libs [18:45] kmiyashiro: which one to use? [18:47] alvaro_o_ has joined the channel [18:49] shapeshed has joined the channel [18:50] jstroem has joined the channel [18:50] brolin_ has joined the channel [18:50] mape: kmiyashiro: the native one [18:52] tilgovi has joined the channel [18:52] tilgovi has joined the channel [18:53] Wizek has joined the channel [18:54] albertosheinfeld has joined the channel [18:55] brownies has joined the channel [18:55] jbpros has joined the channel [18:56] kjeldahl has joined the channel [18:57] yhahn1 has joined the channel [18:57] Metal3d has joined the channel [18:58] jstroem has joined the channel [18:59] blup has joined the channel [18:59] muhqu_ has joined the channel [19:00] captain_morgan has joined the channel [19:00] tomtomaso has joined the channel [19:01] nibblebot: kmiyashiro: most libs are layers on top of node-mongodb-native which is actually the mongodb driver [19:01] zilch has joined the channel [19:01] zilch_ has joined the channel [19:01] kmiyashiro: soo [19:01] patcito has joined the channel [19:02] kmiyashiro: npm install mongodb [19:03] progme: npm install express installed express to ./ relative to where i executed the command [19:03] progme: odd [19:03] Wa has joined the channel [19:04] JakeWharton: would a bradj by any other name small as sweet? [19:04] JakeWharton: *smell [19:04] tjholowaychuk: progme: yeah with new npm you need to kinda install it twice once for the lib locally and once with -g for the executables [19:04] JakeWharton: fail [19:04] Kinbote: i wish there was a node-based irc client [19:04] Kinbote: that was a usable as irssi [19:04] iammerrick has joined the channel [19:05] progme: JakeWharton: no. [19:05] iammerrick: Does npm have support for npm install -d -g [19:05] iammerrick: Mine does terrible things [19:05] JakeWharton: tjholowaychuk, so the new npm operates that way so that it can be used in a shared environment, correct? [19:05] progme: tjholowaychuk: gotcha [19:05] tjholowaychuk: yeah local deps are way better [19:05] tjholowaychuk: before it was kinda like gem / every other package manager [19:06] tjholowaychuk: with the one side-effect of being slightly annoying/confusing for executables [19:06] overra has joined the channel [19:06] dambalah has left the channel [19:06] JakeWharton: i was always curious how nodester and cloudfoundry and the like handled that [19:06] JakeWharton: before local dependencies, that is [19:06] tjholowaychuk: though it's useful for test stuff too you can set up `make test` to run ./node_modules/.bin/vows etc [19:06] mbrevoort has joined the channel [19:07] kmiyashiro: JakeWharton: each app was individual, you did nodester npm install blah [19:08] kmiyashiro: for each app [19:08] isaacs: tjholowaychuk, progme: you can also `npm link express` to install it globally and at the same time, symlink it locally [19:09] progme: osnap [19:09] markmarkoh has joined the channel [19:09] rknLA has joined the channel [19:09] iammerrick: tjholowaychuk: you were saying I should install dependancies locally? [19:10] tjholowaychuk: iammerrick yeah, that's what the new npm does [19:10] iammerrick: tjholowaychuk: interesting. Is there a video or a blog post on how to use? [19:11] tjholowaychuk: $ npm install [19:11] tjholowaychuk: with a package.json with deps in it [19:11] tjholowaychuk: though I always add -d since it takes a while sometimes [19:12] matbee: Are there examples on how to take a js class and make it a module? [19:12] iammerrick: tjholowaychuk: you are saying don't use the -g flag anymore [19:12] Draggor: any QT bindings for node.js? [19:13] tjholowaychuk: iammerrick for executables it's fine [19:13] iammerrick: tjholowaychuk: interesting [19:13] iammerrick: tjholowaychuk: ok thanks [19:13] iammerrick: so npm install -d -g is bad form :P [19:14] tjholowaychuk: -d is just logging [19:14] isaacs: -g is an alias for --global [19:14] isaacs: iammerrick: i wouldn't say it's "bad form", but it's a different thing [19:14] iammerrick: isaacs: Sure it just doesn't work [19:14] iammerrick: isaacs: at least for me [19:14] isaacs: iammerrick: it's installing the current project to the global space, as a copy rather than a symlink [19:14] isaacs: iammerrick: check out `npm help install` and `npm help folders` [19:15] iammerrick: isaacs: sure, I just noticed when I run npm ls -g [19:15] iammerrick: I have unmet dependancies [19:15] iammerrick: so i though oh npm install -d -g [19:15] iammerrick: and it breaks. [19:15] isaacs: well.. it should'nt *break* [19:15] isaacs: it should just install the current package to the global space. [19:15] Kai` has joined the channel [19:15] isaacs: it's like `npm install -g $PWD` [19:15] iammerrick: isaacs: Ah I see. [19:16] iammerrick: isaacs: great job on npm btw [19:16] augustl: isaacs: are there automated tests for npm link? [19:16] iammerrick: isaacs: I love it. [19:16] isaacs: augustl: `make test` [19:16] isaacs: augustl: they're not so great. [19:16] context: my npm is busted [19:16] isaacs: augustl: npm is a hard thing to test fully. if you want to make it better, i'd be much obliged. [19:17] augustl: isaacs: cool [19:17] madsleejensen has joined the channel [19:18] alvaro_o_ has joined the channel [19:19] fcambus has joined the channel [19:19] shapeshe1 has joined the channel [19:19] jbrokc has joined the channel [19:19] jensn has joined the channel [19:21] natdivad has joined the channel [19:21] isaacs: augustl: the test script is just a bash file that installs all the test packages, runs `npm test` on them, uninstalls them, links them, runs `npm test` on them [19:21] isaacs: augustl: if you `npm config set npm:publishtest true` then it'll also publish them to the registry, install from the registry, npm test, and unpublish [19:23] tar_ has joined the channel [19:23] shapeshe2 has joined the channel [19:23] augustl: I see [19:24] meelash_ has joined the channel [19:26] rknLA: does anyone have any suggestions or references for doing scraping other than zombie? i can't seem to get it to load the pages i want without erroring out [19:27] xtianw: rknLA: https://github.com/chriso/node.io [19:27] rknLA: xtianw: thanks, checking that out now! [19:27] alvaro_o_ has joined the channel [19:27] bradleymeck: rknLA, node.io / spider (I use spider)? [19:28] qard has joined the channel [19:28] augustl: isaacs: are there docs somewhere for npm development? [19:29] rknLA: bradleymeck: link to spider? [19:29] isaacs: augustl: not really [19:29] qard: Quick question; anyone know how to specify username/password to use for the mongodb-native module? [19:29] augustl: kk [19:29] qard: That info is mysteriously absent from the docs. >.> [19:29] Benvie has joined the channel [19:30] loveshine has joined the channel [19:31] AvianFlu has joined the channel [19:31] baudehlo has left the channel [19:31] baudehlo has joined the channel [19:31] japj: isaacs: did you fix the couchdb invalid json problem you mentioned on twitter btw? [19:32] isaacs: japj: nah, it's still mysterious. [19:32] augustl: isaacs: to make ~/code/npm my npm install in ~/local/node, I can just swap the symlinks I suppose? [19:32] isaacs: augustl: sure. [19:32] isaacs: augustl: "make link" [19:32] japj: isaacs: any of the couchdb developers looked into it? [19:33] isaacs: japj: it's on me to escalate at the moment [19:33] isaacs: japj: been meaning to [19:33] isaacs: japj: jan____ took a look at it, was somewhat stumped. [19:33] iammerrick: Has anyone played with Hook.io [19:33] isaacs: so, it's interesting, at least :) [19:33] japj: isaacs: hehe ;) [19:34] augustl: isaacs: ah, great [19:34] futuredarrell has joined the channel [19:34] augustl: isaacs: I'll start a wiki page on Github [19:35] alvaro_o_ has joined the channel [19:36] gozala has joined the channel [19:36] jan____: isaacs: have you heard from JasonSmith? [19:36] unomi has joined the channel [19:37] b_erb has joined the channel [19:38] mapleman has joined the channel [19:39] markmarkoh1 has joined the channel [19:39] supster has joined the channel [19:40] shapeshed has joined the channel [19:40] japj: isaacs: wanna play tag label on github for me? https://github.com/joyent/node/issues/1415 is crypto, https://github.com/joyent/node/issues/1416 is doc + windows, https://github.com/joyent/node/issues/1414 is doc [19:40] jbrokc: with async functions that return err, is it possible to just envelope the async function with try and then catch the err without having to result to a callback? would the statement outside of the try/catch be performed after the async one (from inside try/catch)? [19:40] ph^ has joined the channel [19:40] jtsnow has joined the channel [19:41] rfay has joined the channel [19:41] random123: Is there a program that will format all 3 HTML/JS/CSS ? [19:42] augustl: isaacs: is the only API npm provides the CLI? Real question: is it safe to alter the signature of stuff like the module.exports function of npm install? [19:42] random123: I can't really seem to find any good formatter, they all seem hacked together and unmaintained [19:42] ph^ has joined the channel [19:42] augustl: random123: format? [19:42] augustl: random123: as in prettify? [19:42] random123: Yes [19:43] augustl: random123: perhaps there are some none-node ones with a CLI you can shell out to [19:43] leek- has joined the channel [19:43] random123: I'm about to just create my own [19:43] random123: Its impossible to find anything good [19:44] random123: I guess people don't really use them? [19:44] augustl: I've never used something like that [19:44] augustl: quite the contrary, I'll gzip and minify the heck out of things ;) [19:44] mape: random123: http://jsbeautifier.org/ ? [19:45] pixel13 has joined the channel [19:46] random123: I tried it, its not very good, hardly any options, it would be really nice to have something that would do HTML/CSS/JS altogether, and allow you to choose <% %> for EJS [19:46] pixel13: Greetings fellow Node.js'ers! [19:47] augustl: isaacs: there is support for using the API programmatically, it seems. How do you feel about changing that API, if needed? [19:47] augustl: random123: a html prettifier that's aware of server side templating sounds odd [19:47] Stunt has joined the channel [19:47] rknLA: xtianw: it looks like node.io isn't particularly cookie savvy (neither is spider), any other thoughts? [19:47] Stunt: Hi [19:47] yozgrahame has joined the channel [19:47] pixel13: quick question for anyone who may know… so i've been running a node-static HTTPS server (using cluster) with awesome success :) …however, now I need to introduce vhosts WITH SSL [19:47] Stunt: who installed njs with cygwin in windows 7 64bit ? [19:47] rknLA: i need to be able to automate logging into the site i'm scraping [19:47] random123: augustl, it wouldn't be that hard, if you could just tell it to ignore everything between a beginning and end token [19:48] augustl: random123: so you're talking about something that actually alters your source code? [19:48] random123: [19:49] Stunt: I want to know what is best build version for install in cygwin [19:49] pixel13: can SSL (read: HTTPS) vhosts be used in Node? [19:49] Stunt: I tried installing HEAD version 0.5.2 [19:49] augustl: pixel13: one apache server can only use one set of https credentials per IP fyi [19:49] augustl: pixel13: also, if apache uses SSL, it's completely pointless (probably) to have node use SSL as well [19:50] japj: Stunt: master (0.5.2+) currently fails building on cygwin (32bit) for me due to a v8 issue [19:50] hybsch has joined the channel [19:50] japj: Stunt: but I can build fine with mingw [19:50] pixel13: be that as it may, I do still need to get vhost + ssl working (on a separate port, that is)… at least for this use case [19:50] augustl: pixel13: no you don't =P [19:50] pixel13: augustl: my vhost setup is based on this https://raw.github.com/LearnBoost/cluster/master/examples/vhost.js [19:50] augustl: pixel13: why would you need to run the node servers on https when they're only proxied on machines you control? [19:51] augustl: oh these aren't apache vhosts [19:51] mendel__ has joined the channel [19:51] augustl: nvm then [19:51] Stunt: @japj r u try older build in cygwin ? [19:51] pixel13: augustl: main reason is to bypass apache / threads [19:51] pixel13: ;) [19:51] japj: Stunt: but the windows support is currently under "heavy" construction, so you might want to just grab the official binary and start from there http://nodejs.org/dist/v0.5.2/node.exe [19:52] Stunt: jspj: thank you I try this one :- [19:52] augustl: pixel13: you do have one IP per hostname, ya? [19:52] pixel13: correct [19:52] augustl: pixel13: using that lib seems pretty pointless, then [19:52] pixel13: augustl: and I can only get SSL to work by passing the "options" object into the base var server = connect.createServer(); call [19:52] augustl: what does it do that's useful? [19:52] pixel13: which lib is that? [19:52] augustl: the vhost lib [19:53] augustl: app.listen(443, ip_one); app2.listen(443, ip_two); [19:53] pixel13: two separate domains, two separate vhosts / SSL certs [19:53] xtianw: rknLA: Spider passes the window object to the callback -> window.document.cookie [19:53] __class__ has joined the channel [19:53] qard has left the channel [19:53] augustl: pixel13: since they have to run on different IPs anyway, host name based routing is pointless [19:53] japj: Stunt: v8 broke in cygwin when we upgraded to v8 version 3.4.14 [19:53] augustl: pixel13: the requests will be routed to different sockets anyway [19:53] pixel13: aaah, I see [19:53] augustl: =D [19:53] fattytuna has joined the channel [19:54] pixel13: vhost = virtual, which I don't _need_ since distinct IPs…. DUH [19:54] augustl: yup [19:54] pixel13: so does that mean I have to now use multiple cluster(server) objects? (e.g. cluster(server1), cluster(server2) ) …for multithreading? [19:54] augustl: pixel13: cluster doesn't do multithreading? :O [19:55] pixel13: er, multiple "workers" [19:55] b_erb has left the channel [19:55] augustl: pixel13: ah, then you need to do some proxying thing yeah [19:55] augustl: pixel13: i.e. run n instances of the actual server on http, and run the proxy with https [19:55] mendel_ has joined the channel [19:55] pixel13: augustl: hmm…yeah, I'd read a little about that [19:55] augustl: and hope that the cluster lib, or something else, supports https (which would be silly if it doesn't) [19:56] augustl: pixel13: node is pretty capable of handling a quite large amount of requests though, so unless you're certain you need multiple workers then try without first [19:56] pixel13: augustl: is it very hard to setup a proxy like that? [19:56] pixel13: am using ".set('workers', 1)" atm [19:56] augustl: pixel13: don't think so. You could even use something super optimized like varnish, I think [19:56] augustl: or no, varnish doesn't do https [19:57] augustl: anyhow, you could split the two http servers into separate processes, for starters, and see how that works out [19:57] context: you cant really proxy https requests. [19:57] augustl: indeed [19:57] pixel13: yeah, I figured that'd work…was really hoping to get it all working via one "server" [19:57] pixel13: works great so far via vhosts w/o https [19:57] augustl: pixel13: if you use a monitoring system such as monit, having two processes has almost no maintenance overhead [19:58] context: augustl: or you could just run node over http:// and let your front facing web server (nginx?) handle https ... [19:58] augustl: nginx is pretty good for being a front end https server to n backend http servers too [19:58] augustl: =D [19:58] pixel13: nginx is next on the list ;) …for now, stuck w/ apache [19:58] augustl: you also run apache? [19:59] pixel13: si [19:59] context: pixel13: so have apache do https... node do http... [19:59] augustl: or just have node do the https, it's pretty good at it [19:59] pixel13: apache threads are killing us though… it _is_ doing https [19:59] context: doing https between apache and node is a waste of resources [19:59] augustl: indeed [19:59] skohorn has joined the channel [19:59] pixel13: yeah, this is an interim fix, at best…bypassing apache maxclients limitations, etc [19:59] augustl: unless you for some reason really need to verify the identity of your cluster servers.. which you probably don't [19:59] xtianw: rknLA: Maybe tobi? https://github.com/LearnBoost/tobi [19:59] pixel13: < Node.js to the rescue! > [20:00] malkomalko has joined the channel [20:00] augustl: pixel13: I can't imagine node scales https better than apache, really.. The bottleneck on https is mostly cpu and entropy afaik. [20:00] pixel13: the only reason HTTPS is even a factor is that it needs to run an an HTTPS web page…else cert warnings run rampant [20:01] jvduf_ has joined the channel [20:01] augustl: if you run a http web site you won't get cert warnings ;) [20:01] pixel13: it's not https, per se, rather higher connection through put (prevents bottlenecking) [20:01] pixel13: augustl: hence my dilemma ;) [20:01] augustl: I should definitely stop talking, I'm not a pro scaler [20:02] srid has joined the channel [20:02] augustl: final thought: use two processes, one for each node https server, have node listen on 443, volia [20:02] pixel13: no worries… anyhow, the solution thus far is great…just need to add another domain (e.g. vhost) to the mix…and that's where I hit the wall [20:02] whyno has joined the channel [20:02] augustl: cool [20:02] pixel13: yeah, I think I'll play with separate processes for now…especially if the overhead isn't a factor [20:02] pixel13: augustl: thx [20:02] rknLA: xtianw: tobi looks like it could do it [20:02] confoocious has joined the channel [20:02] confoocious has joined the channel [20:03] whyno: Howdy. I am sending JSON string across TCP and as I increase the benchmark, I am noticing some packets getting truncated, then the rest of the packet comes in on the next onData event. Is this normal? [20:03] Paul_tm has joined the channel [20:03] whyno: Basically two nodes processes, one a TCP client writing() the other a TCP server listening. [20:04] baudehlo: whyno: perfectly normal. [20:04] augustl: sounds completely normal to me. But I don't know enough about TCP to fully understand what you mean with packets getting truncated. [20:04] whyno: Do I need to then add a teminator to my JSON messages? [20:05] random123: Do the majority of people recommend Jade or EJS? What are the real advantages of Jade? Is the only advantage readability, which you sacrifice for not writing the HTML standard itself? [20:05] augustl: whyno: no, the packets arrive in order [20:05] whyno: Its strange though, cuts off exactly the last 5 bytes every message, I am sending the same exact message everytime for my benchmark [20:05] augustl: whyno: so just append the buffer objects to the previous buffer object [20:05] baudehlo: yes you'll need some way of delimiting them. [20:05] augustl: (if I understand this correctly) [20:05] baudehlo: I suggest network string. [20:06] augustl: random123: I'm a fan of EJS [20:06] augustl: random123: I fucking hate hipster templating languages.. [20:06] baudehlo: augustl: presumably the problem is sending >1 JSON object over the same connection. [20:06] baudehlo: so they have to be delimited. [20:06] augustl: oh right, indeed [20:06] sub_pop has joined the channel [20:07] augustl: or use a streaming JSON parser that does the work for you [20:07] augustl: not sure if one exists in JavaScript [20:07] zackattack_ has joined the channel [20:07] balaa has joined the channel [20:07] whyno: @augustl can you recommend one? [20:07] simenbrekken has joined the channel [20:07] augustl: only one I know about is written in C [20:08] augustl: whyno: ^^ [20:08] jacobolu_ has joined the channel [20:08] xtianw: random123: I just hate typing angle brackets :-0 [20:08] baudehlo: whyno: just use a network string. [20:08] baudehlo: it's a bit more complicated, but so is life. [20:08] baudehlo: or use dnode - I think it takes care of this stuff. [20:09] rknLA: xtianw: i'm a bit of a node noob, what is this app stuff in tobi? [20:09] shapeshe1 has joined the channel [20:09] markmarkoh has joined the channel [20:10] xtianw: rknLA: You can pass createBrowser a Server object [20:10] xtianw: Or a port and host [20:11] AvianFlu_ has joined the channel [20:12] xtianw: So to test an app you do module.exports = http.createServer(); [20:12] xtianw: And then require that file and pass it to tobi [20:13] iammerrick has left the channel [20:14] tar_ has joined the channel [20:16] whyno: @baudehlo Is there ever a case where muttiple messages are flushed in a single onData event? [20:16] darshanshankar has joined the channel [20:17] baudehlo: whyno: sure, but you can't control or guarantee it. [20:17] whyno: For example, I would have to split on my message terminator? Currently I have only seen truncatation [20:17] baudehlo: well they won't be truncated. The rest will come. [20:18] whyno: So this is a nightmare, don't want to code all this logic of checking for then if truncated storing and waiting for next onData, then coding for multiple messages. What is dnode? [20:18] baudehlo: google it. [20:21] robertfw has joined the channel [20:22] sveimac has joined the channel [20:22] sveimac has left the channel [20:23] darnold has joined the channel [20:24] kimico has joined the channel [20:24] pixel131 has joined the channel [20:25] smathy has joined the channel [20:27] Vaffles has joined the channel [20:30] pixel13 has joined the channel [20:32] hydrozen has joined the channel [20:32] liar has joined the channel [20:33] iammerrick has joined the channel [20:33] iammerrick: tjholowaychuk: I am trying to install cairo for node canvas can you confirm whether or not cairo runs on osx lion for you? [20:33] tjholowaychuk: iammerrick no clue, I'm staying away from lion for a while [20:34] iammerrick: tjholowaychuk: :-) Ok [20:34] context: i <3 lion [20:34] monokrome: ACTION concurs [20:36] jmoyers: if you do native code [20:36] jmoyers: lion is scurry [20:36] agnat has joined the channel [20:36] jmoyers: i wish to god i had downloaded the dev versions and fixed our build before it released [20:36] pixel131 has joined the channel [20:39] ap3mantus has joined the channel [20:40] markmarkoh has joined the channel [20:40] balaa has joined the channel [20:43] jbrokc: with async functions that return err, is it possible to just envelope the async function with try and then catch the err without having to result to a callback? would the statement outside of the try/catch be performed after the async one (from inside try/catch)? [20:43] Vaffles: /clear [20:45] bradleymeck: jbrokc, no, async is temporally different (aka after a stack has unrolled) there are some modules that have tried to make async look sync, but for the simple answer : no because that woulndt make sense given language semantics [20:45] bksf has joined the channel [20:46] bksf: im trying to figure out why this happens ... sometimes on my app. it might have to do with socket.IO but im using basic examples... the error doesnt give me a file name/line reference of my own, just for node libs - http://pastebin.com/g0W99RcM [20:47] adrianmg has joined the channel [20:47] jbrokc: bradleymeck: thanks :) [20:47] gazumps856 has joined the channel [20:47] bradleymeck: bksf probably some middleware fired off a .write before the static middleware occured [20:48] bradleymeck: if you .write / .end dont use next() [20:49] yhahn has joined the channel [20:50] bksf: bradleymeck: this is my whole app. pretty small. do you see anything that might cause that? http://pastebin.com/eb1ZnfEX [20:50] bksf: sorry, new to node.js but i dont see anything with a next etc? [20:52] fly-away has joined the channel [20:52] eee_c has joined the channel [20:53] dshaw_ has joined the channel [20:53] mjr_ has joined the channel [20:54] jakehow has joined the channel [20:55] SubStack: whyno: I'm using that in my talk [20:55] bradleymeck: bksf unsure, but in the node-static readme it had the serverFile after 'end' event [20:55] dgathright has joined the channel [21:00] kulor-uk has joined the channel [21:02] technoweenie has joined the channel [21:04] brianc has joined the channel [21:05] leek- has left the channel [21:08] materialdesigner has joined the channel [21:10] bksf has joined the channel [21:10] othiym23 has joined the channel [21:10] markmarkoh has joined the channel [21:11] pixel131 has left the channel [21:12] losing has joined the channel [21:16] dreamdust has joined the channel [21:18] natdivad has joined the channel [21:18] esteth has joined the channel [21:20] liquidproof has joined the channel [21:20] bksf has joined the channel [21:21] markstory has joined the channel [21:21] slifty has joined the channel [21:21] AvianFlu_ has joined the channel [21:23] albertosheinfeld has left the channel [21:24] mralsh has joined the channel [21:31] otaku_coder has joined the channel [21:32] otaku_coder: hi, has anyone used jade for rendering email templates? If not, what would you recommend? [21:32] Aikar: ~aconbere@mail.barackobama.com - he hax0red barackobama.com or works on the site and using the mail server as an IRC exit node?! lol [21:33] otaku_coder has joined the channel [21:36] Murvin: hey guys, i just find a cool Chrome App to see MongoDB live activity. this is so cool. just go Chrome and get Mongo Live :) [21:38] mikeputnam has joined the channel [21:40] mikeputnam: joyent no.de users: if i set my app to use a newer version of nodejs, do i need to reinstall the npm modules i was running? [21:40] isaacs: mikeputnam: not usually [21:40] isaacs: mikeputnam: you may need to rebuild anything that has a binary build step [21:40] markmarkoh has joined the channel [21:41] nerdfiles1 has joined the channel [21:41] aconbere has joined the channel [21:41] vikstrous has joined the channel [21:42] AvianFlu_ has joined the channel [21:46] jakehow has joined the channel [21:47] marshall_law has joined the channel [21:47] skohorn has joined the channel [21:47] alnewkirk has joined the channel [21:47] blueadept: is it better to store items in a database as all lowercase, like first and last names, then capitalize the letters in the application? [21:48] explodes has joined the channel [21:48] meelash_ has joined the channel [21:48] wadey has joined the channel [21:48] explodes: Hi. npm publish > socket hang up. any solutions. i know its vague. [21:49] isaacs: explodes: what does this output? `npm get registry` [21:49] explodes: http://pastie.org/2286705 [21:49] isaacs: explodes: k [21:49] isaacs: explodes: npm config set registry http://registry.npmjs.org/ [21:49] meelash_ has joined the channel [21:49] isaacs: ACTION starting to think that https support is still just not solid enough [21:49] explodes: https://registry.npmjs.org/ but package.json points to https://localhost:5984/registry/_design/app/_rewrite [21:49] explodes: Oh wow, you're isaacs. Nice to meet you [21:49] isaacs: explodes: aha, so you're not publishing to the public registry? [21:50] explodes: No, I'm not [21:50] isaacs: explodes: i am :) nice to meet you [21:50] Murvin: tjholowaychuk: hi.. I'm trying to use your connect-cluster. and I got error saying "unix_dgram bin of ...... " and steam not writable. i run the example (app.js and server.js) from your page. [21:50] stagas has joined the channel [21:50] isaacs: explodes: do you have your local registry set up to do https? (this requires a bit of couchdb trickery) [21:50] Murvin: tjholowaychuk: i also run in sudo so, what am I missing? [21:50] explodes: Whoops. I forgot I changed that. [21:50] tjholowaychuk: Murvin yeah there's an issue open for now it's probably best to try a bit older version [21:50] explodes: I haven't set up https locally. That would be the problem. Thanks the other pair of eyes, isaacs [21:51] isaacs: explodes: if you are going to localhost, the https is a bit unnecessary anyway, since it's a loopback, not going over the actual network [21:51] Murvin: tjholowaychuk: ok. which version is more stable? [21:51] isaacs: explodes: often that's all it takes :) [21:51] caiges has joined the channel [21:51] tjholowaychuk: Murvin you can try 0.6.8 if not then maybe try 0.6.4 [21:51] tjholowaychuk: i should have time to fix that tomorrow [21:52] Murvin: thanks. :) I'm going to test the cluster out and see if it fits my project. hohahahaoahoho.. [21:53] Murvin: tjholowaychuk: usually, how many workers you recommend? [21:53] saikat has joined the channel [21:53] tjholowaychuk: Murvin typically the default for the system so if you dont specify it will use one per cpu [21:54] davemo has joined the channel [21:54] Murvin: ok. [21:54] halfhalo-work: ngggggg..... I need to find me a good async flow control library [21:55] skm has joined the channel [21:56] Murvin: halfhalo-work: try seq? [21:56] pixel13 has joined the channel [21:57] halfhalo-work: not what i need. actually, what I REALLY need is a goddamn async if. so I shall make one and be happy. [21:57] alnewkirk has joined the channel [21:57] balupton has joined the channel [21:57] mikeshark has joined the channel [21:58] mgrayson has joined the channel [21:59] Destos has joined the channel [22:00] mgrayson has left the channel [22:00] DTrejo has joined the channel [22:00] explodes: thanks isaacs keep up the good work [22:00] Murvin: tjholowaychuk: i tried 0.6.8. failed. 0.6.4 prompt me not having /logs/ and /pids/ as soon as I make that two folders, I can run 0.6.4. then i tried 0.6.8. it works after that two folders exist. [22:00] isaacs: halfhalo: async if? [22:01] tjholowaychuk: Murvin yeah it doesn't create the dirs for you since that's a PITA with node right now [22:01] tjholowaychuk: lots of code duplication for a mkdir -p type thing [22:01] bksf: i asked this last night but i got disconnected. what's a good node.js host? heroku is totally failing as a node host. everyone else seems to be in private beta / wait list? so aside from spedning time setting up a node instance on rackspace/amazon ? [22:01] Murvin: ic ic. may be you should state it on the git page. :) [22:01] halfhalo-work: ACTION knows exactly how much code since he just wrote one to do that [22:01] pixel13: Hmm…. Error: ENOTSOCK, Socket operation on non-socket [22:02] jesusabdullah: bksf: For now, try joyent. [22:02] jesusabdullah: bksf: Or a vps like linode [22:02] Murvin: tjoholowaychuk: cool. 0.6.8 works. thanks :) [22:02] jesusabdullah: bksf: If you can wait a while, nodejitsu's offerings should be way nice [22:02] rhaen: hp. [22:02] bksf: i sent a request for a code for joyent yesterday, no response. linode .. configured? jesusabdullah yeah it seems nice but i cant wait :/ [22:03] bksf: im never going to get over /join ing this channel and seeing ~700 users. [22:03] __directory: im on a week wait on joyent [22:03] bksf: :/ [22:04] Murvin: tjholowaychuk: I have the repl(8888), but how to see the real0time administration? I go to my url with port 8888 but it is just in the "loading" stage. [22:04] __directory: they're either backlogged or my skirt's not short enough [22:04] tjholowaychuk: Murvin repl is a terminal thing [22:04] tjholowaychuk: not http [22:04] Murvin: aaaah [22:04] tjholowaychuk: Murvin it's best to use a local socket for that like repl('/var/cluster.sock') [22:05] tjholowaychuk: and $ rlwrap telnet /var/cluster.sock [22:05] Murvin: o. let me try [22:05] bksf: anyone using linode? i dont feel like installing everything i need (dns, git, etc)just to get up and running [22:05] Lorentz: I do, typing from it right now [22:06] bksf: Lorentz: you're on linode? [22:06] perlmonkey2 has joined the channel [22:06] NickABusey has joined the channel [22:07] Lorentz: My irc bot should be here, been here ever since this vps went up [22:07] Lorentz: Woop, I must leave for work [22:07] bksf: Lorentz: was it a bitch to setup node.js on it? [22:09] http402 has joined the channel [22:09] robertfw has joined the channel [22:10] markmarkoh1 has joined the channel [22:10] ap3mantus has joined the channel [22:11] brianseeders has joined the channel [22:12] pixel13 has left the channel [22:13] Murvin: tjholowaychuk: I try telnet or rlwrap telnet /var/cluster.sock or localhost:8888 (when i do repl(8888)), i get Name or service not known. hmmm [22:13] Murvin: any idea? [22:13] tetsuharu: Is there a way to get the `make test` in the nodejs source output JUnit or nunit, something for CI? [22:14] brownies has joined the channel [22:15] stagas has joined the channel [22:16] Xeon06_ has joined the channel [22:17] brianc1 has joined the channel [22:18] mscdex: node.js rules! [22:18] mikeal has joined the channel [22:19] tetsuharu: hi mscdex :p [22:20] threecreepio has joined the channel [22:20] clifton has joined the channel [22:22] mscdex: yo [22:22] Sorella has joined the channel [22:24] zemanel has joined the channel [22:24] NickABusey has joined the channel [22:24] maushu has joined the channel [22:24] nibblebo_ has joined the channel [22:25] Cromulent has joined the channel [22:28] xerox: is there a channel specific to Mongoose? [22:30] Murvin: xerox: not sure. i love and hate mongoose.. [22:30] xerox: I'm trying to understand why I can't .validate virtual attributes [22:30] xerox: it would clean up my code immensely [22:34] xerox: TypeError: Object # has no method 'validate' [22:34] xerox: : ( [22:35] markwubben has joined the channel [22:35] xerox: looking at the implementation I see it's really limited [22:36] matomesc has joined the channel [22:36] losing has joined the channel [22:37] thescooter has joined the channel [22:41] markmarkoh has joined the channel [22:41] Aaa_ has joined the channel [22:41] joelesko has joined the channel [22:41] joelesko: anyone know if there's an event I can capture to see if a longpolling connection has dropped? [22:42] joelesko: "close" doesn't seem to fire when the browser exits the page... [22:43] alvaro_o_ has joined the channel [22:43] jshaw has joined the channel [22:44] jhurliman: joyent office hours soon? [22:44] nerdfiles1 has joined the channel [22:44] nerdfiles1 has left the channel [22:44] Remoun has joined the channel [22:44] ap3mantus has joined the channel [22:45] V1 has joined the channel [22:45] monokrome: Is there a configure flag that I can use to build NodeJS for a different arch? [22:45] bnoordhuis: monokrome: it's... difficult [22:45] monokrome: bah [22:46] bnoordhuis: you can point ./configure to a cross-compiler [22:46] bnoordhuis: but the build script contains too much cleverness for it to really work [22:46] `3rdEden has joined the channel [22:46] Dreamer3 has joined the channel [22:46] alvaro_o_ has joined the channel [22:48] michaelhartau has joined the channel [22:50] hippich has joined the channel [22:51] willwhite has joined the channel [22:51] JasonSmith has joined the channel [22:52] dshaw_ has joined the channel [22:53] adelcamb1e has joined the channel [22:55] shanez has joined the channel [22:55] nibblebot has joined the channel [22:57] bksf: anyone else using linode for node.js? [22:57] alvaro_o_ has joined the channel [23:00] alvaro_o_ has joined the channel [23:00] __directory has joined the channel [23:01] _bat has joined the channel [23:02] __directory: mmm hmm [23:05] brianseeders has joined the channel [23:06] alvaro_o_ has joined the channel [23:09] alvaro_o_ has joined the channel [23:11] Foxster has joined the channel [23:12] darshanshankar has joined the channel [23:13] Foxster: I have a simple Websocket app using socket.io. I want to see how it responds to a few hundred websocket clients. Best way to do this? AB/JMeter etc don't do websocket requests... [23:13] Murvin: I have a situation here. i have two already developed server (express) running on port 3000 and 3001. however, now, I need to port them to production in which I'm only allowed to use port 80. [23:13] alvaro_o_ has joined the channel [23:14] loveshine has joined the channel [23:14] Murvin: so, is there a way that I create a simple server onport 80, and then require the code from the two already existing server? [23:15] mbrevoort has joined the channel [23:15] Murvin: in a simple way, wihtout rewriting to many codes [23:15] tjholowaychuk: Murvin try connect's vhost [23:15] tjholowaychuk: middleware [23:15] tjholowaychuk: it's pretty much exactly that [23:15] Murvin: do I have to run the two servers: 3000 and 3001? [23:16] Murvin: does it have any performance drawback? [23:17] tjholowaychuk: the performance loss of invoking one function [23:17] Murvin: so.. it is not doing someting like http request? [23:17] tjholowaychuk: no [23:17] tjholowaychuk: look at the code it's like 8 lines [23:18] Murvin: ok [23:18] Murvin: trying to find it in github now [23:18] darshanshankar has joined the channel [23:18] alvaro_o_ has joined the channel [23:21] Murvin: tjholowaychuk: would you point to me the URL? [23:21] richard__ has joined the channel [23:21] tjholowaychuk: connect's repo [23:21] othiym69 has joined the channel [23:23] Murvin: tjholowaychuk: cool.. looking at it now. [23:24] alvaro_o_ has joined the channel [23:24] tjholowaychuk: Murvin the app itself passed becomes a callback basically [23:26] euforic has joined the channel [23:28] hank_ has joined the channel [23:29] adrianmg has joined the channel [23:31] Murvin: tjholowaychuk: let say, if i have an app., and I export it, then in the vhost.js, I require it and just do connect( app1);? [23:31] tjholowaychuk: yeah you just pass a server [23:31] Murvin: tjholowaychuk: then what if I want to also use cluster (in vhost). hmmm [23:32] tjholowaychuk: you would use cluster for the top-level connect app [23:32] tjholowaychuk: since it's the only "real" server [23:32] crodas has joined the channel [23:32] tjholowaychuk: otherwise you'll need to proxy with nginx or similar to your processes [23:32] nightshift has joined the channel [23:33] dshaw_ has joined the channel [23:33] progme has joined the channel [23:34] Murvin: tjholowaychuk: hmmm .. so, in cluster, i do this cluster(app). and that app is from vhosts connect( ....), right? [23:34] tjholowaychuk: yeah [23:34] progme: sturvin murvin [23:34] _fat has joined the channel [23:35] Murvin: tjholowaychuk: ok. let me try it out now hahaha try so many things today. :) [23:35] progme: dont try heroin. [23:35] smathy has left the channel [23:35] Murvin: tjholowaychuk: in vhost, can i do this: connect.vhost('10.10.123.13:3001', blog) ? with port number [23:36] tjholowaychuk: no it's not a proxy [23:36] Murvin: OO [23:36] Murvin: ok [23:36] Murvin: got it [23:36] Murvin: Arrrr got it now. [23:36] Murvin: hahaah [23:36] MonsieurLu has joined the channel [23:37] tjholowaychuk: i dont think i support ports in there either actually [23:38] tristanseifert has joined the channel [23:38] mjr_ has joined the channel [23:41] cccaldas has joined the channel [23:41] CIA-65: libuv: 03Ryan Dahl 07master * ra0994ac 10/ src/uv-unix.c : Fix solaris build - https://github.com/joyent/libuv/commit/a0994ac8fb5933eda51e0b1415bfbb395c35a634 [23:42] __directory: using the docs for node-csv when im using node-csv-parser didn't work out well [23:43] Murvin: tjholwaychuk: another question. let say, I want app.get('/path1/*') go run app1, and inside app1, it has app1.get('/path1/mycall'), app1.get('/path1/mycall2'). how to handle it easily? [23:43] systemfault has joined the channel [23:43] systemfault has joined the channel [23:43] alvaro_o_ has joined the channel [23:43] tjholowaychuk: Murvin i dont get it [23:44] tjholowaychuk: what is the use-case what are you trying to do [23:44] markmarkoh has joined the channel [23:44] CrabDude has joined the channel [23:44] Murvin: basically, back to origin. i have two app servers, already developed. [23:45] Murvin: and then I need to create a new one, running on port 80. then take request. [23:46] Murvin: if the request is get ('/app1/* ') then call app1 . and app1 further handles the routing app1.get('/app1/func1') or app1.get('/app1/func2'). [23:46] bayousoft has joined the channel [23:47] DTrejo_ has joined the channel [23:47] Murvin: same as for request get('/app2/*) will call app2, and app2 do the further routing. [23:47] jbrokc has joined the channel [23:47] tjholowaychuk: i see,you can do that with app mounting [23:48] tjholowaychuk: connect().use('/app1', app1).use('/app2', app2) [23:48] DTrejo_: ACTION is at node office hours :) [23:48] tjholowaychuk: to each app GET /app1/foo/bar looks like /foo/bar etc [23:48] Murvin: oh.. [23:48] tjholowaychuk: so it's transparent [23:48] Murvin: ic ic [23:48] Murvin: and for in app1.js, I just need to module.exports.app1 = app;, right? [23:49] tjholowaychuk: export it however you want [23:49] Murvin: how about configuration? [23:49] tjholowaychuk: exports.app = app; module.exports = app; etc [23:49] Murvin: let say app1 has it own config [23:49] Murvin: app2 has it own config [23:49] tjholowaychuk: they should retain their config [23:50] Murvin: and for the top level app, (calling app1, and app2), does it config override the config for app1, and app2? [23:50] Murvin: or app1 & app2 override the top level app config [23:51] tjholowaychuk: well the top level connect one doesn't really have config [23:51] tjholowaychuk: just some middleware [23:51] Murvin: aarrr. got it. [23:51] tjholowaychuk: i have to run [23:51] Murvin: thanks. clear now. let me go back and code. :) thanks. [23:51] tjholowaychuk: good luck [23:51] Murvin: so much fun playing with node. hhheeheh [23:51] eastender has joined the channel [23:54] caiges has joined the channel [23:55] Metal3d has joined the channel [23:56] perlmonkey21 has joined the channel [23:57] NickABusey has joined the channel [23:58] alvaro_o_ has joined the channel