[00:00] tjholowaychuk: it basically lets that app live at /blog/*
[00:00] tjholowaychuk: with no knowledge that it's not at /
[00:00] tjholowaychuk: so you can put it anywhere you want
[00:00] bbigras__: Anyone know of something like async.queue that can limit the number of operations per minutes (to repesct an api's connection rate limit)?
[00:00] Tobsn: shimondoodkin hmm
[00:01] shimondoodkin: bbig: i think http agent does this
[00:01] shimondoodkin: alread
[00:01] shimondoodkin: y
[00:01] bbigras__: shimondoodkin: nice, thanks!
[00:02] shimondoodkin: bbig: its in nodejs documentation
[00:02] te-brian: I need to look at what dev-seed's bones does. I think they have a module-like structure.. but I can't bring myself to name my files *.bones :)
[00:02] matyr has joined the channel
[00:03] tjholowaychuk: te-brian hehe
[00:03] tjholowaychuk: yeah i've seen a few attempts
[00:03] tjholowaychuk: nothing polished enough that i would use
[00:03] CIA-48: node: 03Igor Zinkovsky 07master * rcc2ac1c 10/ (5 files in 2 dirs): remove node_io_watcher - http://git.io/4-lvFQ
[00:03] Nuck: What's bones?
[00:04] te-brian: https://github.com/developmentseed/bones
[00:04] kriszyp has joined the channel
[00:04] shimondoodkin: bones sould be cool, havent tested it
[00:04] shimondoodkin: bones is Backbone and nodejs integration
[00:04] dylang has joined the channel
[00:04] Nuck: ahh
[00:05] eignerchris has joined the channel
[00:05] shimondoodkin: Backbone has client side mvc
[00:05] Nuck: I think sammyjs looks better
[00:06] Nuck: It reminds me of Express, but for the client-side
[00:06] tjholowaychuk: Nuck there's davis.js as well
[00:06] tjholowaychuk: i've been helping him clean it up a little but i dont think
[00:06] Nuck: (and it appears to handle pushstate for me)
[00:06] tjholowaychuk: he's released a new one yet
[00:06] Tobsn: wow
[00:06] Tobsn: im even writing JS into the page now with innerHTML
[00:06] Tobsn: and its still not working
[00:06] Tobsn: this is amazing
[00:07] Nuck: tjholowaychuk: Oooh I approve
[00:07] shimondoodkin: tobsn:would you like to show me the issue
[00:07] hebot has joined the channel
[00:09] pizthewiz has joined the channel
[00:10] Aphelion has joined the channel
[00:10] daneroo has joined the channel
[00:11] tomlion has joined the channel
[00:12] shimondoodkin: personaly intutivley i dont get nor sammy js nither backbone, it takes time to get into it
[00:12] daneroo has joined the channel
[00:13] te-brian: shimondoodkin: I know what you mean.. I really wanted to get into Backbone.. but was having trouble. Recent though I have been working on a node.js one-page-app blog (just for the hell of it) and it just *clicked*.
[00:13] CarterL has joined the channel
[00:14] replore has joined the channel
[00:14] replore_ has joined the channel
[00:15] shimondoodkin: you mean you did it with backbone? or just nodejs?
[00:15] te-brian: both
[00:15] te-brian: its still in the very early phases lol
[00:16] Tobsn: hmm is there any way i can rewrite the script into the page again on a specific trigger?
[00:17] HardPhuck has joined the channel
[00:17] shimondoodkin: maybe mouse move
[00:17] pointlessjon has joined the channel
[00:17] Tobsn: nah i kinda know the trigger
[00:17] Tobsn: i just need to refresh on DOMSubtreeModified
[00:18] Tobsn: hmm actually
[00:18] shimondoodkin: maybe onreadystatechange
[00:18] shimondoodkin: yes this also looks good
[00:19] shimondoodkin: but i think maybe it will work better if you reexecute the scripts
[00:19] Tobsn: can i watch
?
[00:19] Tobsn: yeah but how?
[00:20] hebot has joined the channel
[00:20] shimondoodkin: like foreach script tags , eval ontent
[00:20] shimondoodkin: content
[00:21] Tobsn: hmm
[00:21] Tobsn: the problem is
[00:21] Tobsn: see i have a setTimeout
[00:21] Tobsn: it keeps running
[00:21] Tobsn: until something happens
[00:21] Tobsn: like a push state
[00:21] Tobsn: and it stops
[00:21] Tobsn: and i dont know why
[00:21] Tobsn: it doesnt stop when you click on messages
[00:21] Tobsn: or events
[00:21] Tobsn: but it stops when you go on a profile
[00:22] shimondoodkin: mabe to check if timeout is running , hehe
[00:22] Tobsn: or you click on a single post to see the permalink to that element from the newsfeed
[00:22] Tobsn: yeah but you cant because that wont run either
[00:22] JSManiacs has joined the channel
[00:22] shimondoodkin: like on DOMSubtreeModified
[00:22] TooTallNate has joined the channel
[00:23] daneroo has joined the channel
[00:23] Tobsn: hmm
[00:23] shimondoodkin: what browser do you use
[00:24] ghost_olli has joined the channel
[00:25] Tobsn: chrome
[00:25] jacobolus has joined the channel
[00:25] Tobsn: but the effect also happens in firefox
[00:25] shimondoodkin: also maeybe on load event of an image also will be executed
[00:26] vidi has joined the channel
[00:26] gavin_huang has joined the channel
[00:27] shimondoodkin: maybe something else https://developers.facebook.com/docs/fbjs/#events
[00:28] daneroo has joined the channel
[00:28] langworthy has joined the channel
[00:28] skm has joined the channel
[00:29] EhevuTov has joined the channel
[00:29] Tobsn: nah thats for apps
[00:29] Tobsn: im not doing an app
[00:29] Tobsn: im injecting with a user script straight into the page
[00:29] daneroo has joined the channel
[00:29] isaacs has joined the channel
[00:30] JakeyChan has joined the channel
[00:30] hebot has joined the channel
[00:30] shimondoodkin: maybe there happens an error on timeout
[00:31] shimondoodkin: maybe you link in the settimeout a referenced function
[00:31] shimondoodkin: whitch gets deleted
[00:31] shimondoodkin: and wheny ou get back reinitiated with different handle
[00:32] shimondoodkin: maybe with an anonymous function and an eval statment it might work better
[00:32] JakeyChan_ has joined the channel
[00:32] takezawa has joined the channel
[00:33] Tobsn: hmm
[00:33] vidi has joined the channel
[00:34] nerdy has joined the channel
[00:34] Tobsn: nah i cant seem to get it stable
[00:34] wadey has joined the channel
[00:34] Tobsn: right now im watching domsubtreemodified on and it works
[00:34] Tobsn: or rather not
[00:35] Tobsn: cause its still stopping everything i inject the moment im clicking away from the first page loaded
[00:36] neurodrone has joined the channel
[00:36] bingomanatee_ has joined the channel
[00:36] daneroo has joined the channel
[00:37] Tobsn: OMG
[00:37] Tobsn: i got it working
[00:37] materialdesigner has joined the channel
[00:37] shimondoodkin: this is also a snippet http://www.thedanglybits.com/2007/06/22/execute-javascript-injected-using-innerhtml-attribute-even-with-safari/
[00:38] captain_morgan1 has joined the channel
[00:38] shimondoodkin: how?
[00:38] Tobsn: $('title').live('DOMSubtreeModified',function(){
[00:38] Tobsn: var h,s;
[00:38] Tobsn: h = document.getElementsByTagName('body')[0];h.removeChild(document.getElementById('dislikesrc'));s = document.createElement('script');s.type = 'text/javascript';s.src = 'http://something.com/script.js'; s.id = 'dislikesrc';s.defer='defer';s.async = true; h.appendChild(s);
[00:38] Tobsn: });
[00:38] Tobsn: it actually just inject itself again and again and again
[00:38] Tobsn: and it seems to work
[00:38] Tobsn: i can click around and the script is still running
[00:38] shimondoodkin: lol
[00:38] Tobsn: its deleting itself and injecting agian :D
[00:38] Tobsn: i have no idea how thats even possible but its working
[00:39] shimondoodkin: this is a solution
[00:39] shimondoodkin: its absolutly possible
[00:39] shimondoodkin: its an anonymouse function event
[00:39] jeromegn has joined the channel
[00:39] Tobsn: you have no idea how big this is
[00:39] shimondoodkin: i afraid you might break facebook
[00:39] Tobsn: i had this problem since almost a year now
[00:39] Tobsn: i never tried to just write it back in
[00:39] shimondoodkin: hehe
[00:39] Tobsn: nah it seems to work just fine
[00:40] piscisaureus has joined the channel
[00:40] Tobsn: http://dl.dropbox.com/u/1656816/Screenshots/l73_6uwt1h3z.png
[00:40] Tobsn: and its working pretty damn well
[00:40] Tobsn: :D
[00:40] hebot has joined the channel
[00:40] captain_morgan has joined the channel
[00:41] Tobsn: anyway, shimondoodkin, thanks for the support :)
[00:41] phd1969 has joined the channel
[00:41] shimondoodkin: youre welcome
[00:41] shimondoodkin: ACTION ill go to sleep
[00:41] phd1969: If I'm starting a new project should I go with 0.5.10 or 0.4.12?
[00:42] shimondoodkin: 4, unti there is 6
[00:42] shimondoodkin: until
[00:42] tbranyen: depends on the project
[00:42] shimondoodkin: also you might want to do it with nave
[00:42] shimondoodkin: or nvm
[00:42] tbranyen: i mean if you're writing a native extension, you might as well write it for 0.5/0.4 compatibility
[00:43] Tobsn: phd1969, either way, pick a version and pick the latest module versions you want to use
[00:43] Tobsn: and stick with it hehe
[00:43] Tobsn: cause updating can be a pain in the ass
[00:43] Tobsn: esp. with stuff like socket.io
[00:43] phd1969: it's going to be a web app, so it'll be public
[00:44] Tobsn: phd, i would go with latest stable
[00:44] Tobsn: and in 6 month to a year if there is a new stable - clone your whole project on a dev. env. with the updated versions and see if it breaks
[00:45] phd1969: ok thanks because I'm in the process of updating to .5
[00:46] phd1969: so from what I understand even numbers are stable, so .4 and .6
[00:46] isaacs has joined the channel
[00:48] kazupon has joined the channel
[00:50] lightcap has joined the channel
[00:51] hebot has joined the channel
[00:51] ryanfitz has joined the channel
[00:54] optixx has joined the channel
[00:55] marcello3d has joined the channel
[00:56] julioj has joined the channel
[00:56] davidban_ has joined the channel
[00:56] daneroo has joined the channel
[00:59] SomeoneWeird has joined the channel
[01:01] socketio\test\65 has joined the channel
[01:02] daneroo has joined the channel
[01:02] socketio\test\43 has joined the channel
[01:02] devongovett has joined the channel
[01:02] hebot has joined the channel
[01:05] r04r has joined the channel
[01:05] willwhite has joined the channel
[01:07] davidbanham has joined the channel
[01:08] jaequery has joined the channel
[01:09] jaequery has joined the channel
[01:09] langworthy has joined the channel
[01:09] mdel has joined the channel
[01:11] jldbasa has joined the channel
[01:11] r04r has joined the channel
[01:12] joshkehn has joined the channel
[01:12] jbraffoul has joined the channel
[01:13] daneroo has joined the channel
[01:13] joshkehn has left the channel
[01:13] hebot has joined the channel
[01:14] lazyshot has joined the channel
[01:16] r04r has joined the channel
[01:17] jarek has joined the channel
[01:18] EyePulp: if I just want INFO level warnings in NPM, is there an arg or flag for that?
[01:21] xerox: EyePulp: npm help config
[01:21] r04r has joined the channel
[01:21] r04r has joined the channel
[01:22] cody-- has joined the channel
[01:22] jeromegn has joined the channel
[01:23] trotter has joined the channel
[01:23] dinarcon has joined the channel
[01:24] hebot has joined the channel
[01:24] manevski has joined the channel
[01:25] daneroo has joined the channel
[01:25] coderdad has joined the channel
[01:25] k1ttty has joined the channel
[01:26] r04r has joined the channel
[01:28] jbraffoul has joined the channel
[01:28] reid has joined the channel
[01:29] BillyBreen has joined the channel
[01:29] reid_ has joined the channel
[01:30] efbenson has joined the channel
[01:30] abraxas has joined the channel
[01:30] mikeal has joined the channel
[01:31] r04r has joined the channel
[01:31] jerrysv has joined the channel
[01:35] hebot has joined the channel
[01:35] daneroo has joined the channel
[01:35] takezawa_ has joined the channel
[01:36] r04r has joined the channel
[01:39] gxdssoft has joined the channel
[01:39] dget has joined the channel
[01:41] JakeyChan has joined the channel
[01:43] daneroo has joined the channel
[01:43] spathi^ has joined the channel
[01:44] r04r has joined the channel
[01:46] torm3nt: how do I, once all other script execution is finished in node, output something?
[01:46] torm3nt: I'm doing a little scraping for a client, I want to then output my findings once all the requests have come back.
[01:46] marcello3d has joined the channel
[01:46] yuwang has joined the channel
[01:46] torm3nt: found it, nm
[01:46] Lingerance: process.on('end' ...) IIRC
[01:46] torm3nt: yeah, exit
[01:46] torm3nt: ty :)
[01:47] jimt has joined the channel
[01:48] jarek- has joined the channel
[01:48] hebot has joined the channel
[01:48] JakeyChan has joined the channel
[01:49] dget has joined the channel
[01:53] r04r has joined the channel
[01:55] abraxas has joined the channel
[01:56] Emmanuel` has joined the channel
[01:56] icewhite has joined the channel
[01:56] takezawa has joined the channel
[01:57] a_suenami has joined the channel
[01:58] joshkehn has joined the channel
[01:58] joshkehn has left the channel
[02:00] jetienne has joined the channel
[02:00] hebot has joined the channel
[02:00] r04r has joined the channel
[02:00] daneroo has joined the channel
[02:01] decaf has joined the channel
[02:01] decaf has joined the channel
[02:01] postwait has joined the channel
[02:02] abraxas has joined the channel
[02:02] Emmanuel` has joined the channel
[02:02] coderdad has joined the channel
[02:03] nilakanta has joined the channel
[02:04] mikeal has joined the channel
[02:06] rchavik has joined the channel
[02:07] r04r has joined the channel
[02:10] FearOfMusic has joined the channel
[02:10] willwhite has joined the channel
[02:10] rchavik has joined the channel
[02:10] rchavik has joined the channel
[02:12] hebot has joined the channel
[02:12] broofa has joined the channel
[02:13] FearOfMusic: say i didnt want to compile node.js with gcc/g++, how do oi go about setting the compiler used to something else (linux)... node seems to use a build system that is unfamilar to me
[02:13] Lingerance: CC=clang
[02:13] Lingerance: ?
[02:14] joshkehn has joined the channel
[02:14] FearOfMusic: oh so it will read environment variables for the CC you want to use then?
[02:16] joshkehn has left the channel
[02:16] Lingerance: I believe so
[02:16] konobi: options to ./configure iirc
[02:16] flamboz has joined the channel
[02:16] FearOfMusic: yeah CC and CXX seeemed to do the trick
[02:16] FearOfMusic: i ran configure again as well just to be safe
[02:17] FearOfMusic: didnt see any options in ./configure --help for settting the compiler but CC and CXX will work fine
[02:18] spathi^ has joined the channel
[02:20] Aria has joined the channel
[02:20] daneroo has joined the channel
[02:21] djbell has joined the channel
[02:24] nickgreenie has joined the channel
[02:25] nickgreenie has left the channel
[02:25] andrewreedy has joined the channel
[02:26] atourino has joined the channel
[02:26] m00p has joined the channel
[02:26] e6nian has joined the channel
[02:26] JakeyChan has joined the channel
[02:28] jarek has joined the channel
[02:28] jacobolus has joined the channel
[02:30] e6nian: there used to be a service to let you quickly map/forword you local port to remote port, I can't recall that, which from hacknews and github
[02:30] hebot has joined the channel
[02:31] Lingerance: Both ssh and netcat can do that.
[02:31] sh1mmer has joined the channel
[02:31] Lingerance: Socat and nmap3's nc clone can probably do it too.
[02:31] Lingerance: Stunnel works if you want SSL->not-SSL
[02:31] e6nian: Lingerance: it provide a service and domain to let you do that.
[02:32] e6nian: Lingerance: I konw ssh and netcat can do this.
[02:32] e6nian: Lingerance: it's a service.
[02:32] Aria: localhost.io?
[02:32] Lingerance: Oh, dyndns.
[02:32] Lingerance: Godaddy can too IIRC.
[02:33] Aria: Something like that?
[02:33] zmbmartin has joined the channel
[02:33] daneroo has joined the channel
[02:33] e6nian: Aria: yep, where is localhost.io ? I searched ,got nothing
[02:33] Aria: showoff.io
[02:34] Aria: That's what I'm thinking of.
[02:34] miccolis has joined the channel
[02:34] e6nian: Aria: that's alright! thank you!
[02:34] illumina: SubStack: where should I submit feature requests for browserify?
[02:35] Aria: Sure thing.
[02:35] SubStack: illumina: pull requests
[02:35] illumina: okay cool
[02:35] nickgreenie has joined the channel
[02:36] sh1mmer: can someone give me an example of using setBreakpoint() with a filename in the native debugger
[02:36] sh1mmer: if I pass arguments it still seems to set on the current line
[02:37] ryanfitz has joined the channel
[02:37] coderdad has joined the channel
[02:38] jaequery has joined the channel
[02:40] illumina: SubStack: so i don't actually want to *submit* the feature. I just want to ask someone to build it. :-)
[02:41] hebot has joined the channel
[02:43] jetienne has joined the channel
[02:44] rhdoenges has joined the channel
[02:44] gporras has joined the channel
[02:45] sineltor: illumina: File an issue
[02:45] sineltor: …. though you've got a much higher chance of it being accepted if you code it up :p
[02:46] zmbmartin: any pdfkit users here? Can you do bulleted lists?
[02:47] BulletBob has joined the channel
[02:47] daneroo has joined the channel
[02:48] brianloveswords has joined the channel
[02:49] Tobsn has joined the channel
[02:49] mike5w3c has joined the channel
[02:49] pHcF has joined the channel
[02:50] neilk_ has joined the channel
[02:53] daneroo has joined the channel
[02:54] jtsnow has joined the channel
[02:54] ryanfitz has joined the channel
[02:55] SubStack: illumina: submit an issue or write a failing test
[02:55] SubStack: writing failing tests is the best thing you can do
[02:57] hebot has joined the channel
[02:57] michaeldeol has joined the channel
[02:58] jacobolus has joined the channel
[02:58] jarek- has joined the channel
[02:59] konobi: zmbmartin: looks like it... check the demo
[02:59] zmbmartin: konobi: Wow! I am a moron.
[02:59] zmbmartin: Thanks
[03:00] zmbmartin: Didn't even notice that.
[03:02] meso_ has joined the channel
[03:02] daaku has joined the channel
[03:03] TheDahv has joined the channel
[03:04] tokuz has joined the channel
[03:05] daneroo has joined the channel
[03:05] jeromegn has joined the channel
[03:07] daneroo has joined the channel
[03:07] dexter_e has joined the channel
[03:08] hebot has joined the channel
[03:08] jetienne_ has joined the channel
[03:11] fmeyer has joined the channel
[03:11] passionke has joined the channel
[03:14] IanCormac84 has joined the channel
[03:16] mikeal: finally published this
[03:16] mikeal: https://github.com/mikeal/filed
[03:18] hebot has joined the channel
[03:19] daneroo has joined the channel
[03:20] michaeldeol has joined the channel
[03:20] avdg has joined the channel
[03:23] lulzfish_4 has left the channel
[03:25] illumina: SubStack: failing test seems overkill. I'd just like it to be a little more verbose in -w mode. something like "begun parsing at /now/ -> XXXXX bytes written" would be really helpful. ill get around to filing an issue sometime soon
[03:25] twenty3 has joined the channel
[03:26] illumina: in particular its hard to tell if its finished working after a save (so I can press refresh in the browser). so even just at timestamp would be super helpful
[03:26] vidi has joined the channel
[03:26] r3vd has joined the channel
[03:26] illumina: (notably - the issue is obvious when your whole console window is full of XXXXX bytes written lines)
[03:26] jslatts has joined the channel
[03:27] daaku has joined the channel
[03:27] towski has joined the channel
[03:28] ryanfitz has joined the channel
[03:28] torm3nt has joined the channel
[03:28] SubStack: illumina: perhaps a little / | \ - spinny thing
[03:28] hebot has joined the channel
[03:28] SubStack: with \r
[03:28] michaeld_ has joined the channel
[03:29] illumina: yeah that'd be coolio
[03:30] illumina: most important thing is it should be obvious when it's done, even if you have 100 other "i was just done" entries in the console
[03:30] illumina: even cooler would be to refresh the browser automatically!
[03:30] illumina: but that's probably work for a glue script one of these days
[03:30] SubStack: that would break stuff
[03:34] SubStack: node -e "i=0; process.nextTick(function () { process.stdout.write('building... ') }); setInterval(function () { process.stdout.write('\b' + ['/','-','\\\\','|'][i++%4]) }, 80)"
[03:35] joshkehn has joined the channel
[03:35] joshkehn has left the channel
[03:35] IanCormac84 has joined the channel
[03:35] dexter_e has joined the channel
[03:35] IanCormac84 has left the channel
[03:35] illumina: neat!
[03:35] xerox: poser
[03:36] xerox: xD
[03:36] Lingerance: What's the point of process.nextTick() there?
[03:37] SubStack: -e prints the last expression
[03:37] SubStack: like how vm.runInNewContext works
[03:39] Lingerance: Didn't answer my question
[03:40] Lingerance: Ah, I see now
[03:40] hebot has joined the channel
[03:42] matyr has joined the channel
[03:43] Jay has joined the channel
[03:43] ryanfitz has joined the channel
[03:43] kazupon has joined the channel
[03:45] jstash has joined the channel
[03:46] daneroo has joined the channel
[03:48] dexter_e: I've been hearing that Node 0.6.0 is going to have some major exciting changes , is that true?
[03:48] Aria: Depends on what excites you and you find major.
[03:48] dexter_e: Like zero downtime restart
[03:48] Aria: Some interesting cluster stuff, libuv...
[03:49] dexter_e: libuv , looking it up now :)
[03:49] brianloveswords has joined the channel
[03:49] socketio\test\51 has joined the channel
[03:50] dexter_e: "new platform layer"
[03:50] ryanfitz_ has joined the channel
[03:50] socketio\test\92 has joined the channel
[03:50] sdwrage has joined the channel
[03:50] Aria: Yeah. Works on Windows too now.
[03:50] Aria: (and well!)
[03:51] Aria: (since windows has real async IO, no threads needed)
[03:52] hebot has joined the channel
[03:52] clu3 has joined the channel
[03:57] jtsnow has joined the channel
[03:58] stagas has joined the channel
[04:00] ryanfitz_ has joined the channel
[04:00] teadict: linux doesn't really have async IO?
[04:01] McPak: zero downtime restart? how can it be achieved?
[04:02] hebot has joined the channel
[04:02] illumina: lots of app servers… and do a rolling restart
[04:02] dexter_e: I think clusters is the only way now
[04:03] dexter_e: I think that can be done with custer too right?
[04:03] dexter_e: *cluster
[04:03] Aria: Yeah, not sure if there's a totally seamless way yet. But I'm hoping.
[04:03] illumina: well, i presume you mean a cluster… of app servers? (or maybe a fancy tool that I don't know about that uses a bunch of machines)
[04:04] ryanfitz_ has joined the channel
[04:06] daneroo has joined the channel
[04:07] dford has joined the channel
[04:08] gavin_huang has joined the channel
[04:10] Emmanuel` has joined the channel
[04:10] Emmanuel` has joined the channel
[04:12] brianloveswords has joined the channel
[04:13] Emmanuel` has joined the channel
[04:13] dford has left the channel
[04:14] perezd has joined the channel
[04:15] hebot has joined the channel
[04:17] daneroo has joined the channel
[04:19] brianc1 has joined the channel
[04:19] Emmanuel has joined the channel
[04:20] Emmanuel has joined the channel
[04:20] superjudge has joined the channel
[04:24] Emmanuel has joined the channel
[04:28] hebot has joined the channel
[04:29] Emmanuel has joined the channel
[04:30] ryanfitz has joined the channel
[04:32] jsurfer has joined the channel
[04:34] AvianFlu has joined the channel
[04:34] nodelearner has joined the channel
[04:35] nodelearner: Hi I was wondering if I can get node.js pick status update of a user in drupal 7 and send it to all the users who follow this user?
[04:35] HT has joined the channel
[04:35] daneroo has joined the channel
[04:36] dherman has joined the channel
[04:37] nodelearner: Hi I was wondering if I can get node.js pick status update of a user in drupal 7 and send it to all the users who follow this user?
[04:37] joshkehn has joined the channel
[04:39] joshkehn has left the channel
[04:39] mike5w3c has joined the channel
[04:41] saesh has joined the channel
[04:42] torm3nt: anyone here use express js?
[04:42] IanCormac84 has joined the channel
[04:43] chjj: no one!
[04:43] chjj: torm3nt: whats your question?
[04:43] jbraffoul has joined the channel
[04:43] torm3nt: I am wondering how people are generally structuring their apps
[04:44] torm3nt: express.js doesn't give much direction as how it expects apps to be maintained, directory structure.etc.
[04:44] torm3nt: which is fine, I'm just curious if there -is- a standard it pushes
[04:44] chjj: ah, but thats the point of express, at least imo
[04:44] chjj: doesnt force on you a rigid structure
[04:44] torm3nt: *nod*
[04:44] torm3nt: all good :)
[04:45] torm3nt: getting my head around node/express atm
[04:45] chjj: theres no right way to do it, ...there might be a few wrong ways though
[04:45] torm3nt: have been so spoilt with rails, suddenly I'm given some freedom and I feel lost. lol
[04:46] hebot has joined the channel
[04:46] k1ttty has joined the channel
[04:50] atmos has joined the channel
[04:52] McPak: torm3nt: same here
[04:52] sechrist has joined the channel
[04:52] McPak: so finally i adopted the "rails way" in express js lol
[04:53] jacobolus has joined the channel
[04:54] torm3nt: I guess I wouldn't do that, as they're different (that's just me though)
[04:54] McPak: yeah i tried a different way but i just can't get rid of it :(
[04:54] EyePulp has joined the channel
[04:54] McPak: i mean can't escape from old rails mvc structure
[04:56] fangel has joined the channel
[04:56] IanCormac84 has joined the channel
[04:56] twenty3 has joined the channel
[04:57] lazyshot has joined the channel
[04:57] McPak: i m afraid i will just make something that can be done by rails even more perfectly...
[04:58] torm3nt: heh
[04:58] torm3nt: so next question
[04:58] torm3nt: how would I go about splitting up the js files of the app, so that I have 1 for the app configuration/settings, another for handling controllers.etc.
[04:58] torm3nt: er, controllers/actions
[04:59] McPak: i use "require()"
[04:59] jimt has joined the channel
[04:59] hebot has joined the channel
[05:00] daneroo has joined the channel
[05:01] smathy has joined the channel
[05:02] meso_ has joined the channel
[05:02] materialdesigner has joined the channel
[05:02] torm3nt: McPack - but don't you get issues with scope then?
[05:02] torm3nt: for example, app.js sets up var app = require('express').createServer();
[05:03] torm3nt: if I then have: require('config.js')
[05:03] torm3nt: app is unaccessible
[05:04] deoxxombie: torm3nt: that'd be backwards
[05:04] torm3nt: how so?
[05:04] Emmanuel has joined the channel
[05:04] deoxxombie: you don't want to provide the app object to your controllers, but rather the other way around
[05:05] torm3nt: I'm confused - I'm just talking about a config file
[05:06] chjj: torm3nt: deoxxombie is saying that youll have to pass a reference to your "app" object to each file you require
[05:06] torm3nt: oh i see
[05:06] chjj: torm3nt: there are ways of doing it, but its simpler to do it the other way around usually
[05:07] McPak: yes, for config, i did it backward
[05:07] torm3nt: gotcha
[05:07] McPak: and for controllers, i pass the "app" to each js...
[05:07] chjj: torm3nt: do whatever you feel comfortable with
[05:07] deoxxombie: actually i was saying that the controllers shouldn't know about the app
[05:07] torm3nt: looking at routes.js I can see what you're saying now
[05:07] torm3nt: and yes, that makes a lot more sense to me :)
[05:07] deoxxombie: makes it much easier to split things up, easier to reuse stuff, etc
[05:07] diamonds has joined the channel
[05:08] chjj: deoxxombie: why not? that sounds like some dogmatic mvc nonsense speaking
[05:08] deoxxombie: chjj: depends on how you structure your application - i try to make everything reusable, and i know that it's saved me time in the long run
[05:09] shipit has joined the channel
[05:09] torm3nt: chjj - it does keep the domains separate
[05:09] chjj: i see express as the antithesis of strict mvc frameworks, i use mvc as a general philosophy but i dont want to mutilate express and turn it into one of those frameworks
[05:09] SubStack: mvc is silly
[05:09] torm3nt: and yet it distinctly supports it
[05:09] chjj: alright sure, can you tell i have strong opinions on this though?
[05:09] illumina: what's the deal with ExpressJS and posting JSON? It seems like it's incredibly finicky / broken (as far as google seems to know)
[05:10] torm3nt: SubStack - why?
[05:10] jerrysv has joined the channel
[05:10] McPak: illumina: res.json(object) can't do the job?
[05:10] boehm has joined the channel
[05:10] illumina: other way… I'm posting from the client
[05:11] torm3nt: you'd need to look at the request I'd imagine for the data sent?
[05:11] Emmanuel_ has joined the channel
[05:11] hebot has joined the channel
[05:11] illumina: well, I'm not sure how to setup the post body. basically. using a form to post (url encoded) there's no canonical way to express array's
[05:12] illumina: rails had a convention for doing it that it would unpack into a ruby object
[05:12] illumina: i was hoping express had magic for this. but i can't seem to find it
[05:12] Me1000 has joined the channel
[05:12] abraxas: is it normal that spawning a child process (well, my cluster worker processes) ends you up in a different cwd? i'm running my cluster in /home/me/mycluster, but my workers seem to live in /home/me
[05:12] illumina: i may have to result to posting a single value and then just JSON.parse it. which will work. but smells lame
[05:15] AD7six has joined the channel
[05:15] SubStack: torm3nt: when people say mvc they mean a lot of different things
[05:15] SubStack: as a term it's not very useful
[05:15] abraxas_ has joined the channel
[05:17] abraxas: if anyone happened to have answered that, i'm happy to hear it again :)
[05:17] abraxas: wifi failed on me
[05:18] stagas has joined the channel
[05:18] torm3nt: illumina - you could always just unpack it by doing an eval.
[05:18] illumina: that sounds really not safe
[05:18] torm3nt: but you're right, I would have thought something like that would be baked in
[05:18] torm3nt: illumina: try/catch block :P
[05:19] illumina: haha
[05:19] illumina: well, it won't catch rm -rf
[05:19] illumina: or some shit
[05:19] illumina: ;-)
[05:19] illumina: so no
[05:19] torm3nt: also you could always embed jquery (lol)
[05:20] illumina: nah
[05:20] illumina: I'm just making a parameter called "json" and using JSON.stringify on the client
[05:20] McPak: i think eval is a bad idea too...
[05:20] illumina: serverside, I'm just JSON.parse(req.param("json"))
[05:20] illumina: done
[05:20] illumina: will pack it into a middleware and forget about it
[05:21] torm3nt has joined the channel
[05:21] McPak: btw, any one is using vows to do testing here?
[05:21] hebot has joined the channel
[05:24] daneroo has joined the channel
[05:27] smgt has joined the channel
[05:27] matyr has joined the channel
[05:28] illumina: nodemon doesn't seem to work with coffee script files properly. (it'll launch it one but never refreshes)
[05:28] illumina: annoy
[05:28] caffine has joined the channel
[05:31] daneroo has joined the channel
[05:32] markdaws has joined the channel
[05:32] shipit has joined the channel
[05:33] reid has joined the channel
[05:33] cjm has joined the channel
[05:34] mAritz has joined the channel
[05:34] neilk_ has joined the channel
[05:35] descipher_ has joined the channel
[05:35] hebot has joined the channel
[05:38] aguynamedben has joined the channel
[05:39] JSManiacs has joined the channel
[05:40] daneroo has joined the channel
[05:40] lightcap has joined the channel
[05:41] sechrist has joined the channel
[05:42] daneroo has joined the channel
[05:43] passionke1 has joined the channel
[05:43] joeyang has joined the channel
[05:44] dshaw_ has joined the channel
[05:46] daneroo has joined the channel
[05:47] Xano has joined the channel
[05:47] hebot has joined the channel
[05:49] atmos has joined the channel
[05:50] metellus has joined the channel
[05:51] zivester has joined the channel
[05:53] captain_morgan has joined the channel
[05:57] Margle has joined the channel
[05:58] daneroo has joined the channel
[05:58] OneOfOne_ has joined the channel
[05:59] hebot has joined the channel
[06:02] garrensmith has joined the channel
[06:02] passionke has joined the channel
[06:03] jaminja has joined the channel
[06:03] jaminja has joined the channel
[06:04] langworthy has joined the channel
[06:05] daneroo has joined the channel
[06:05] martinciu has joined the channel
[06:06] brad_ has joined the channel
[06:07] daneroo has joined the channel
[06:07] Srirangan has joined the channel
[06:07] k1ttty_ has joined the channel
[06:08] atmos: is there a way to tell npm that i never wanna publish a package?
[06:08] Srirangan: Quick question - which is the simplest library to bind js objects to dom elements such as form inputs? preferably two-way binding or multi-way binding chains
[06:08] smathy has joined the channel
[06:10] hebot has joined the channel
[06:10] secoif: illumina log a big
[06:11] Srirangan: I mean binding property values, not events .. for example .. person.name bind to nameInputTextBox.value
[06:11] secoif: illumina log a bug
[06:11] dshaw_1 has joined the channel
[06:11] secoif: atmos why do you need to do that? it doesn't automatically publish things afaik
[06:12] brad_: @Srirangan - mustache templates for one way binding is quite good...not sure bout two way
[06:12] secoif: Srirangan what libraries ahve you ooked at
[06:12] atmos: secoif: i'm using it for deployment of an app
[06:12] Srirangan: secoif, backbone (does too much), jquery nothing available, read about prototype
[06:12] Srirangan: brad_, thanks, will have a look
[06:13] atmos: it bundles up all the dependencies perfectly but i don't want anyone to accidentally publish it
[06:13] austinacity has joined the channel
[06:13] brad_: np, I've used it extensively to great binding effect
[06:13] konobi: atmos: remove your user details
[06:13] martin_sunset: Srirangan: Knockout.js.
[06:13] atmos: but, i actually do publish npm packages
[06:13] konobi: use 2 different accounts
[06:14] atmos: i'll open an issue
[06:14] Srirangan: martin_sunset, thnx.. will check it out
[06:14] konobi: atmos: not really an npm bug though...
[06:14] _dc has joined the channel
[06:14] atmos: i know
[06:14] bEEEviz has joined the channel
[06:15] piscisaureus has joined the channel
[06:15] konobi: and easily handled on the client (your) side
[06:15] rurufufuss has joined the channel
[06:16] austinacity has joined the channel
[06:16] secoif: Srirangan perhaps look at knockout, batman or Angular
[06:16] vi390 has joined the channel
[06:19] daneroo has joined the channel
[06:19] joshgillies has left the channel
[06:20] Srirangan: secoif, checking them out
[06:20] jaminja has joined the channel
[06:20] martin_sunset: Srirangan: Also nodejitsu is launching something amazing on nov 9th, read Charlie's blog post about it on blog.nodejitsu.com, if you can wait
[06:20] secoif: Srirangan I'm really intersted in Angular, even though it's site isn't so sexy
[06:20] eddyb has joined the channel
[06:20] jacobolus has joined the channel
[06:20] eddyb: how on earth do I get help with gyp?
[06:20] hebot has joined the channel
[06:21] chjj: ask google - 2 meanings there
[06:21] konobi: send a mail to the list?
[06:23] eddyb: the good part is that they have an online interface
[06:23] eddyb: the bad part is that there may be nobody replying
[06:23] eddyb: what's wrong with an IRC channel where devs idle?
[06:24] eddyb: and when I have a question, like "how I do make a target which calls its action for every input file, instead of all at once", I don't have to redact it into a fancy mailing list entry
[06:24] mikeal has joined the channel
[06:25] maletor has joined the channel
[06:25] dexter_e has joined the channel
[06:30] jimt_ has joined the channel
[06:30] AD7six has joined the channel
[06:30] Emmanuel_: ffs. Anybody using paypal ?
[06:31] Emmanuel_: I'm using that on some e-commerce website, used to work fine, now it just replies "Internal Error" to any request
[06:31] konobi: using paypal... there was your first error
[06:32] secoif: eddyb I usually have my doubts about support levels for any project whose main code repo is on google code
[06:32] secoif: google code is where support requests and patches go to die
[06:32] hebot has joined the channel
[06:32] martin_sunset: secoif: +1
[06:33] eddyb: true
[06:33] eddyb: src/modules/fs.gear:21:28: warning: multi-line comment
[06:33] eddyb: what on earth?
[06:33] Tprice has joined the channel
[06:33] eddyb: is node configured to give MULTI-LINE COMMENT !? warnings?
[06:34] Tprice: how do i bind to port 80 without root?
[06:34] eddyb: s/node/node.gyp/
[06:34] eddyb: Tprice: you don't
[06:34] eddyb: or if you're really desperate, might be change-able in some /etc config thing
[06:34] eddyb: http://stackoverflow.com/questions/413807/is-there-a-way-for-non-root-processes-to-bind-to-privileged-ports-1024-on-l
[06:35] Tprice: kk thanks thought so
[06:36] eddyb: http://stackoverflow.com/questions/413807/is-there-a-way-for-non-root-processes-to-bind-to-privileged-ports-1024-on-l?answertab=votes#tab-top
[06:36] eddyb: bookmark this
[06:37] fangel has joined the channel
[06:37] bEEEeviz has joined the channel
[06:39] daneroo has joined the channel
[06:40] alphahydrae has joined the channel
[06:41] Emmanuel_: Paypal is a freaking piece of crap.
[06:42] hebot has joined the channel
[06:42] alphahydrae: Hi,. I need to get a writable stream to a string. I know how to get a stream to a file with fs, but I would like a stream that writes to a string in memory directly. Is there a way to do that or do I have to implement the writable stream interface myself?
[06:44] austinacity has joined the channel
[06:45] `3rdEden has joined the channel
[06:49] jaequery has joined the channel
[06:51] daneroo has joined the channel
[06:52] ivanfi has joined the channel
[06:55] TheCode has joined the channel
[06:55] TheCode: is connect-form related to formidable in any way?
[06:55] TheCode: or are they separate things?
[06:55] hebot has joined the channel
[06:56] arcanis has joined the channel
[06:56] DennisRasmussen has joined the channel
[06:58] stagas has joined the channel
[06:58] Me1000 has joined the channel
[06:58] beevi7 has joined the channel
[07:00] groom has joined the channel
[07:00] astropirate has joined the channel
[07:00] simenbrekken has joined the channel
[07:02] takezawa_ has joined the channel
[07:03] jaminja has joined the channel
[07:03] jaminja has joined the channel
[07:04] Morkel has joined the channel
[07:05] hebot has joined the channel
[07:06] d0k has joined the channel
[07:10] rio{ has joined the channel
[07:11] mendel__ has joined the channel
[07:12] daneroo has joined the channel
[07:12] mmalecki has joined the channel
[07:14] raphdg has joined the channel
[07:15] _eddyb_ has joined the channel
[07:15] _eddyb_ has joined the channel
[07:16] topaxi has joined the channel
[07:17] emattias has joined the channel
[07:17] AvianFlu has joined the channel
[07:17] hebot has joined the channel
[07:23] pgherveou has joined the channel
[07:24] djcoin has joined the channel
[07:24] daneroo has joined the channel
[07:25] jimt has joined the channel
[07:26] daneroo has joined the channel
[07:27] hebot has joined the channel
[07:29] loob2 has joined the channel
[07:30] swestcott has joined the channel
[07:30] BulletBob_ has joined the channel
[07:32] [AD]Turbo has joined the channel
[07:33] luke` has joined the channel
[07:34] aude has joined the channel
[07:34] bosphorus has joined the channel
[07:35] fangel has joined the channel
[07:35] [AD]Turbo: hi there
[07:35] astropirate: hello
[07:35] jetienne has joined the channel
[07:37] herbySk has joined the channel
[07:37] daneroo has joined the channel
[07:38] hebot has joined the channel
[07:39] pgherveou has joined the channel
[07:40] pizthewiz has joined the channel
[07:40] CIA-48: libuv: 03Igor Zinkovsky 07windows-many-accepts * r41686c7 10/ (4 files in 3 dirs): windows: knob for tuning number of concurrent accept requests - http://git.io/cI5Uxg
[07:42] daneroo has joined the channel
[07:42] dsirijus has joined the channel
[07:42] bergelmir has joined the channel
[07:42] whitman has joined the channel
[07:42] rio{ has joined the channel
[07:43] _kud has joined the channel
[07:45] bergelmir has joined the channel
[07:49] hebot has joined the channel
[07:49] Dulak has joined the channel
[07:50] torsd has joined the channel
[07:53] sineltor: Performance question:
[07:54] sineltor: Is registering a lot of timers bad?
[07:54] sineltor: I have a little in-memory cache of some data
[07:54] sineltor: the data is streaming
[07:54] sineltor: I want to eventually invalidate the data
[07:54] Xano_ has joined the channel
[07:55] Druid_ has joined the channel
[07:55] sineltor: if I just do a setTimeout(, 5000) for each chunk of data and invalidate it as I go or something, will that be bad for performance?
[07:55] k1ttty has joined the channel
[07:55] sineltor: or am I better off doing a sweep every 10 seconds or something and clearing everything thats come in during that time?
[07:55] sineltor: ?
[07:55] blup has joined the channel
[07:56] __tosh has joined the channel
[07:57] tlynn has joined the channel
[07:57] Wizek has joined the channel
[07:58] andree_ has joined the channel
[08:00] hebot has joined the channel
[08:00] Hounth has joined the channel
[08:02] tisba has joined the channel
[08:02] adambeynon has joined the channel
[08:03] piscisaureus___ has joined the channel
[08:03] takezawa has joined the channel
[08:04] cosmincx has joined the channel
[08:06] cosmincx has joined the channel
[08:07] piscisaureus_ has joined the channel
[08:08] Xano has joined the channel
[08:09] daneroo has joined the channel
[08:09] jsurfer has joined the channel
[08:10] blup has joined the channel
[08:10] Yokiyoki has joined the channel
[08:10] Yokiyoki: Hello!
[08:10] mpavel has joined the channel
[08:11] dherman has joined the channel
[08:11] mpavel has left the channel
[08:12] markwubben has joined the channel
[08:13] Yokiyoki: Trying to compile node.js in Centos5.6 . I keep getting the next, no matter what I do (I already searched the internet and tried everything I've seen). ANy help or advice, at least as how to debug?
[08:13] hebot has joined the channel
[08:14] aliem has joined the channel
[08:15] Yokiyoki: {task: libv8.a SConstruct -> libv8.a}
[08:15] Yokiyoki: sorry: " /usr/lib64/ccache/bin/g++ -o obj/release/accessors.o -c -fno-rtti -fno-exceptions -Wall -W -Wno-unused-parameter -Wnon-virtual-dtor -pedantic -m64 -O3 -fomit-frame-pointer -fdata-sections -ffunction-sections -ansi -DV8_TARGET_ARCH_X64 -DENABLE_DEBUGGER_SUPPORT -I/home/julio/node-v0.5.10/deps/v8/src /home/julio/node-v0.5.10/deps/v8/src/accessors.cc scons: *** [obj/release/accessors.o] Error 1 scons: building terminated becau
[08:15] Yokiyoki: "
[08:16] Yokiyoki: That
[08:16] blup has joined the channel
[08:17] akamike has joined the channel
[08:18] shengyincan has joined the channel
[08:18] robhawkes has joined the channel
[08:18] rio{ has joined the channel
[08:19] adambeynon has joined the channel
[08:19] sineltor: Yokiyoki: ** [obj/release/accessors.o] Error 1 scons: building terminated becau
[08:19] sineltor: probably not enough info there
[08:20] liar has joined the channel
[08:25] aron_ has joined the channel
[08:25] jamesbroad has joined the channel
[08:25] wgo has joined the channel
[08:26] hebot has joined the channel
[08:26] aron_ has joined the channel
[08:27] dsanel has joined the channel
[08:27] dsanel: hi all
[08:28] daneroo has joined the channel
[08:29] TheJH has joined the channel
[08:30] daneroo has joined the channel
[08:30] blup has joined the channel
[08:31] dsanel: i need help with NodeJS modules, anyone to help ?
[08:31] dexter_e: its better to just say your question
[08:31] dexter_e: if someone knows the answer they'll just answer
[08:31] dsanel: ok thx
[08:32] Yokiyoki: sineltor: ...ause of errors. Waf: Leaving directory `/home/julio/node-latest-install/out' Build failed: -> task failed (err #2): {task: libv8.a SConstruct -> libv8.a} make: *** [install] Error 1
[08:32] Yokiyoki: That was what the client cut
[08:33] bombworm has joined the channel
[08:33] wbednarski has joined the channel
[08:33] dsanel: when i try to run 'node app.js' directly on USB i get "Cannot find module 'xyz'" error
[08:33] dsanel: identical code on local disk work
[08:34] martin_sunset has joined the channel
[08:34] Marak: wtf is npm doing
[08:34] Marak: isnt npm install suppose to install stuff into a local node_modules folder
[08:35] Marak: fuck it, im updating node
[08:36] eldios has joined the channel
[08:38] aaronmcadam has joined the channel
[08:38] TomY has joined the channel
[08:38] dsanel: anyone from BiH, Croatia, Srbija....
[08:38] hebot has joined the channel
[08:39] dsanel: anyone from BiH, Croatia, Srbija ?
[08:40] blup has joined the channel
[08:42] shengyincan_ has joined the channel
[08:43] __doc__ has joined the channel
[08:44] lupo7 has joined the channel
[08:44] merlin83 has joined the channel
[08:45] blup has joined the channel
[08:46] wtfcoder has joined the channel
[08:47] vguerra has joined the channel
[08:47] wtfcoder: are javascript exception by practice always serializable. e.g. I should be able to do JSON.stringify(caughtException)
[08:48] groom has joined the channel
[08:48] vguerra has joined the channel
[08:48] __tosh has joined the channel
[08:48] hebot has joined the channel
[08:51] jbpros has joined the channel
[08:51] pzich has joined the channel
[08:52] blup has joined the channel
[08:53] _kud_ has joined the channel
[08:54] daneroo has joined the channel
[08:54] Ned_: anyone know how to make npm update itslef ?
[08:54] Ned_: npm update npm
[08:54] guybrush: Ned_: npm install npm
[08:54] Ned_: seems like it should work
[08:54] SubStack: npm install -g npm
[08:54] TheJH: "npm update -g npm"
[08:54] SubStack: but it needs to be a newish version
[08:54] Ned_: I think mine might be too old :-(
[08:55] Ned_: what's the -g ?
[08:55] TheJH: Ned_: what version are you running?
[08:55] Ned_: 0.2.19
[08:55] SubStack: ancient
[08:55] burningdog has joined the channel
[08:55] guybrush: wow :p
[08:55] TheJH: Ned_: reinstall
[08:55] Ned_: right ...
[08:55] TheJH: !@Ned_ mem npm-install
[08:55] jhbot: Ned_, you can install npm by doing "curl http://npmjs.org/install.sh | sudo sh". If you don't feel comfortable piping data from http in a sudo'ed shell (which really isn't a good idea), you can also download it, look at it and then pipe it in the shell.
[08:55] Ned_: is there no support for a non-root install of npm anymore ?
[08:56] chjj: yeah, just pipe curls into shells with root privelages, totally safe and trivial ;p
[08:56] guybrush: Ned_: you can run npm without root too
[08:56] Ned_: right
[08:57] guybrush: you would have to change the prefix (or root i dont know what its called these days)
[08:57] Gonzih has joined the channel
[08:57] guybrush: so that your user has permissions
[08:57] pzich has joined the channel
[08:57] Ned_: npm really doesn't like being non-root
[08:58] takezawa_ has joined the channel
[08:58] Ned_: Ahhhh, okay, I blame @ oneiric
[08:58] blup has joined the channel
[08:59] SubStack: I've never installed npm as root
[08:59] Ned_: if I take that script and run it as non-root it just fails :-(
[08:59] Ned_: http://paste.dollyfish.net.nz/30a844.txt <-- output there
[08:59] chjj: Ned_: the only thing npm need root privelages for is linking the scripts in /usr/local/bin and the man pages
[09:00] chjj: when you install it
[09:00] Dulak has joined the channel
[09:00] guybrush: id clone the repo and install it with `node cli.js --prefix /home/Ned_/.npm` or sth
[09:00] chjj: so just clone the git repo, run configure and make, then set up the scripts and man pages yourself if youre hesitant?
[09:00] Ned_: right
[09:02] hebot has joined the channel
[09:02] Ned_: ACTION clones repo
[09:03] wtfcoder: what do peeps think of "winston is kinda silly, multi-transport logging == tee(1), or just tail the file and transfer the data off, easy as pie" fromt jholowaychuk
[09:03] wtfcoder: it makes sense whats he saying essentially the multicasting would happen after you written to a local file descriptor, but is he handrolling this??
[09:04] markwubben has joined the channel
[09:07] bzinger has joined the channel
[09:07] dob_ has joined the channel
[09:07] adrianmg has joined the channel
[09:09] uchuff has joined the channel
[09:10] adrianmg has left the channel
[09:11] mmalecki has joined the channel
[09:15] meso_ has joined the channel
[09:16] jaminja has joined the channel
[09:16] Morkel has left the channel
[09:16] jacky has joined the channel
[09:16] Morkel has joined the channel
[09:17] jacky: Hi
[09:17] hebot has joined the channel
[09:17] jacky: can you help me about the node.js
[09:18] stagas has joined the channel
[09:18] fangel has joined the channel
[09:18] jacky: i have install the node.js without local pc
[09:19] jacky: i can't vist the website by http://ip/website
[09:19] jacky: anyone here ?
[09:19] daneroo has joined the channel
[09:20] ayaz has joined the channel
[09:21] guybrush: jacky: gist some code
[09:21] sudhirjonathan has joined the channel
[09:21] blup has joined the channel
[09:21] guybrush: https://gist.github.com/
[09:22] swestcott has joined the channel
[09:22] sudhirjonathan has left the channel
[09:23] guybrush: but maybe you just have to add the port to the url :D so when you do server.listen(3000) point your browser to http://ip:3000
[09:24] jacky has left the channel
[09:24] Murugaratham has joined the channel
[09:24] guybrush: :/
[09:24] illumina: I'm seeing some REALLY funky behavior with Mongoose. I'm modifying an element in an array nested in an array and it's not being .save()'ed! but some of the properties in the object *are*
[09:24] \ask has joined the channel
[09:25] Industrial: I'm having issues with Mongoose across the board
[09:25] Industrial: can't use 'type' as a key for example
[09:25] guybrush: i like mongoose
[09:26] Industrial: can't subclass a mongoose model
[09:26] Industrial: etc :)
[09:26] illumina: hmm
[09:26] illumina: well the type thing is known and documented
[09:26] illumina: but yeah.. in general all this node.js stuff feels SUPER early
[09:26] illumina: lots of yak shaving today
[09:26] MrNibbles: hey guys
[09:27] illumina: guybrush: I like it too… I just wish it worked all the time :-)
[09:27] Industrial: for me, it's that I already have the system in production and it's around 60 models so I can't justify going back to something without mongoose, but I'm not going to use it for future projects
[09:27] illumina: I'm inclined to think I'm doing something dumb
[09:27] illumina: is there a better ORM for node?
[09:27] smgt has joined the channel
[09:27] illumina: maybe someone can write a ruby -> js cross compiler… and then we can use ActiveRecord! #lolz
[09:27] hebot has joined the channel
[09:27] k1ttty has joined the channel
[09:27] blup has joined the channel
[09:27] Industrial: having used POJSO's with native mongodb functions for getting and setting data would have gotten me just as far time wise
[09:28] illumina: hmm seems that way
[09:28] Industrial: and there is json schema for data validation
[09:30] jimt has joined the channel
[09:30] Industrial: (I sound bitter don't I :P I'm not, I'm actually having a lot of fun coding with NodeJS)
[09:30] Industrial: I'm debating wether to drop express-resource for just normal URL's aswell.
[09:30] illumina: i haven't tried that
[09:30] illumina: but i guess my app is a lot smaller
[09:30] p1d has joined the channel
[09:30] illumina: and less resource so far
[09:31] illumina: *resourcey
[09:32] Glenjamin: illumina: i'm not convinced ORMs for mongo are that useful
[09:32] illumina: yeah… i'm not so sure they are yet either.
[09:32] ph^ has joined the channel
[09:32] illumina: validations seem interesting, but I haven't actually used any yet
[09:32] martin_sunset: Industrial: illumina: I am launching a private beta of an app that automates backend generation with mongodb, would love your feedback then. Can you msg me your Emails so I can invite you to the beta when ready?
[09:32] Glenjamin: a little bit of wrapper code that calls adds instance.toMongo and class.fromMongo, and gives you a nice api for defining query methods should be all you need
[09:33] Glenjamin: validations can be entirely backend agnostic (and probably should be)
[09:33] illumina: yup
[09:33] aron_ has joined the channel
[09:33] illumina: agre
[09:33] neoesque has joined the channel
[09:33] illumina: but its already a wrapper for this stuff
[09:33] illumina: so i was inclined to not remake one
[09:33] T-Co: I'm not convinced that node.js needs ORMs...
[09:34] blup has joined the channel
[09:34] Glenjamin: the R in ORM stands for relational, which Mongo isnt
[09:34] Glenjamin: and mapping document<->object is far simpler
[09:35] illumina: very true
[09:35] garrensmith: Glenjamin: but what is nice about having a basic ORM or ODM is it does some of the boiler plate code for you
[09:35] illumina: moving data around and going from objects <-> data store and objects <-> network is SUPER easy
[09:36] illumina: with JSON everywhere
[09:36] illumina: basically JSON.stringify and JSON.parse are the only workhorses you really need
[09:36] Glenjamin: garrensmith: i'll agree there, but the solutions i've seen mostly are overcomplicated
[09:37] CIA-48: node: 03Bert Belder 07bla * r527f832 10/ common.gypi : windows: extension support - http://git.io/f0DpwA
[09:37] CIA-48: node: 03Bert Belder 07bla * rfdf6472 10/ src/node.h : cleanup - http://git.io/xRBBhg
[09:37] CIA-48: node: 03Bert Belder 07bla * rb6c3628 10/ src/node.h : node.h: wrap lines - http://git.io/ykpyLA
[09:37] CIA-48: node: 03Bert Belder 07bla * r4b95d0c 10/ src/node.h : am winext - http://git.io/XQw6cQ
[09:37] CIA-48: node: 03Bert Belder 07bla * rae8006f 10/ src/node.cc : am wraplines - http://git.io/LzqSCg
[09:37] garrensmith: Glenjamin: maybe but somes you modeling a domain and need an orm that can do more complicated things
[09:37] DennisRasmussen has joined the channel
[09:37] hebot has joined the channel
[09:38] vnguyen has joined the channel
[09:39] piscisaureus_: ^-- oops. wrong button.
[09:39] meso__ has joined the channel
[09:40] ayaz has joined the channel
[09:41] blup has joined the channel
[09:41] abraxas: off to the nodefest warmup, woo!
[09:43] Glenjamin: garrensmith: you're always modelling a domain, but models != persistance
[09:43] Glenjamin: separating the two is a good thing
[09:44] garrensmith: agreed
[09:44] garrensmith: but then do you rewrite validation, relationships and crud for each project?
[09:44] aeo has joined the channel
[09:44] bzinger has joined the channel
[09:45] aeo: I'm getting the error message "FATAL ERROR: JS Allocation failed - process out of memory"
[09:45] aeo: Do you guys know what I should do about this? :(
[09:45] boltR has joined the channel
[09:46] Glenjamin: you can do all those things without an "ORM" while still using a decent abstraction
[09:46] illumina: fundamentally an ORM is about turning a relational persistence store into objects in memory
[09:47] garrensmith: ok cool what then makes an orm complicated?
[09:47] illumina: Glenjamin's point - which is totally valid - is that mongo and node don't need that
[09:47] illumina: since your data is storing object relationships already
[09:47] Glenjamin: magic is what makes an ORM complex
[09:47] illumina: so having some in code classes that help organize data and *behavior* is incredibly useful
[09:47] illumina: but thats NOT an ORM
[09:47] blup has joined the channel
[09:47] illumina: thats OOP
[09:47] garrensmith: if you use mongoose or something its more like an ODM
[09:48] martin_sunset: garrensmith: Yep, those terms get mixed up a lot.
[09:48] garrensmith: but documents still have relationships though? :-)
[09:48] illumina: sure, but its pretty different
[09:48] martin_sunset: garrensmith: not in the sense of a relational db
[09:49] garrensmith: martin_sunset: Agreed I think a lot of the time people say ORM but they mean an object database abstraction later
[09:49] hebot has joined the channel
[09:49] martin_sunset: garrensmith: totally, a lot haven't really grasped the power of a unified database stack either. Tats why I so prefer the node way over say mongoid
[09:50] Cromulent has joined the channel
[09:50] fangel has joined the channel
[09:50] martin_sunset: garrensmith: Unified as in JavaScript/Json from frontend to database
[09:50] garrensmith: martin_sunset: I haven't really used mongodb much, I've used couchdb more but what is the node way of using mongo different to mongoid
[09:50] olivier has joined the channel
[09:51] martin_sunset: garrensmith: Mongoid does too much magic. I think mongoose, with all it's little quirks, has exactly the right level of abstraction
[09:51] konobi: eldios: get outta town!
[09:51] martin_sunset: garrensmith: Node.js for me is really an embodiment of the unix philosophy
[09:52] martin_sunset: Garr
[09:52] NetRoY has joined the channel
[09:52] Glenjamin: martin_sunset: i still think mongoose does too much
[09:52] martin_sunset: garrensmith: Let's of little tools (npms)
[09:52] fly-away has joined the channel
[09:52] Glenjamin: i'd rather use a plain old javascript object, define toMongo/fromMongo, and then mix-in CRUD methods defined in a library
[09:53] garrensmith: martin_sunset: cool I agree with that. One of the things I like with js over ruby is I feel there is less magic and more obvious what is actually happening
[09:53] martin_sunset: Glenjamin: Maybe a bit, yes. Btw, have you checked out passport ? It is how abstraction should be
[09:53] Squeese has joined the channel
[09:53] martin_sunset: garrensmith: +1 could not agree more
[09:54] jbpros has joined the channel
[09:54] garrensmith: I think thats where the complication comes in is its not always easy to understand how the ORM/ODM is doing something as the library is heavily abstracted but has a great api
[09:55] garrensmith: martin_sunset Glenjamin illumina thanks for the input nice to see how other people look at things.
[09:55] illumina: sure :-)
[09:55] garrensmith: I wrote a ODM for couchdb so just trying to understand how other people do their data layers
[09:55] illumina: I'm just frustrated that the libraries still feel like "early days"
[09:56] illumina: lots of weird quirks and bugs
[09:56] blup has joined the channel
[09:56] martin_sunset: garrensmith: You are welcome.
[09:56] garrensmith: illumina: file bug reports on the issues pages
[09:56] illumina: yeah…
[09:56] illumina: '
[09:56] illumina: just takes time
[09:56] martin_sunset: illumina: Yeah, but we shape this now. In two years all this stuff is set in stone
[09:56] npa has joined the channel
[09:56] illumina: and then the next hotness comes out ;-)
[09:56] garrensmith: are you guys using mongodb in production?
[09:56] martin_sunset: Yep
[09:56] illumina: I'm not yet, just playing around
[09:57] garrensmith: you hosting it yourself?
[09:57] illumina: but with a substantial project
[09:57] martin_sunset: garrensmith: Mongohq.com they are the best
[09:57] cgfuh has joined the channel
[09:57] gavin_huang has joined the channel
[09:57] garrensmith: yeah I'm using them as well for a rails project
[09:57] Glenjamin: i used it in production in ruby about 9 months ago - had the same issue with too much magic in the ODM, and rolled our own simple one
[09:57] garrensmith: they pretty cool
[09:57] Xano has joined the channel
[09:57] martin_sunset: Btw, launching private beta of scottyapp.com next week, uses node and mongo
[09:57] garrensmith: I really like cloudant great website but only for couchdb
[09:58] garrensmith: martin_sunset: awesome good luck
[09:58] martin_sunset: garrensmith: Your feedback will be most welcome then
[09:58] martin_sunset: garrensmith: Thx
[09:58] garrensmith: martin_sunset: can I sign up already?
[09:59] eldios: konobi o/
[09:59] illumina: fwiw coffee script is like 100x more awesome than javascript
[09:59] martin_sunset: garrensmith: yep sure, should work :)
[09:59] hebot has joined the channel
[09:59] plutoniix has joined the channel
[09:59] garrensmith: signing up
[09:59] Glenjamin: oh god no
[09:59] Glenjamin: coffeescript is horrible
[09:59] illumina: pffft
[09:59] illumina: why do you say that?
[10:00] illumina: it's so much cleaner
[10:00] Glenjamin: calling a function with one argument
[10:00] Glenjamin: sorry, no arguments
[10:00] Glenjamin: you're forced to use brackets
[10:00] illumina: oh
[10:00] Glenjamin: which then makes it look horrible next to the other ones
[10:00] illumina: well I always use parenthesis on everything
[10:00] illumina: its so much less verbose than JS
[10:00] illumina: defining a class is like… normal
[10:00] illumina: none of this prototype crap
[10:00] Glenjamin: :'(
[10:01] illumina: dear compiler or interpreter
[10:01] Glenjamin: prototypes are fine
[10:01] garrensmith: martin_sunset: cool signed up. Look forward to the release
[10:01] illumina: please don't make me deal with your issues
[10:01] illumina: love me
[10:01] martin_sunset: garrensmith: Thx. I put you on he first wave list.
[10:01] garrensmith: cool
[10:01] Glenjamin: function ClassName(args) {}; ClassName.prototype.method = function(args){};
[10:01] Glenjamin: all you need
[10:02] Fuu has joined the channel
[10:02] illumina: snore
[10:02] illumina: ;-)
[10:02] illumina: maybe its cause I come from C++/ObjC
[10:02] illumina: *shrug*
[10:02] konobi: i tend to refuse to use coffeescript based libraries... i want to avoid shooting myself in the foot later
[10:03] te-brian has joined the channel
[10:03] abraxas has joined the channel
[10:03] Glenjamin: i can read it, i can use it
[10:03] Glenjamin: but i'd rather write JS
[10:03] illumina: sooo I bet that mongoose's "dirty" function doesn't work properly with super nested arrays
[10:04] pHcF has joined the channel
[10:04] illumina: i am so not excited about debugging this
[10:05] fearphage has joined the channel
[10:06] blup has joined the channel
[10:06] smathy has joined the channel
[10:06] illumina: *face palm* well, i found a bug in mongoose
[10:06] illumina: maybe its time to go to sleep.
[10:07] konobi: eldios: using Moose?
[10:07] eldios: Moose? nope
[10:07] eldios: what's that?
[10:07] akamike has joined the channel
[10:08] eldios: http://www.iinteractive.com/moose/ <- this one?
[10:09] konobi: eldios: http://www.slideshare.net/xSawyer/moose-perl-5
[10:09] eldios: yay tnx
[10:10] konobi: i miss perl... much of which is due to Moose
[10:11] hebot has joined the channel
[10:11] blup has joined the channel
[10:11] dubenstein has joined the channel
[10:12] ej__ has joined the channel
[10:12] eldios: extend Person with qw/Piercing, Tattos/ ; --> I so LOLd
[10:14] eldios: looks nice
[10:16] daneroo has joined the channel
[10:17] blup has joined the channel
[10:18] daneroo has joined the channel
[10:20] daneroo has joined the channel
[10:20] aaronmcadam has joined the channel
[10:21] saschagehlich has joined the channel
[10:23] jldbasa has joined the channel
[10:24] grekko has joined the channel
[10:25] blup has joined the channel
[10:27] npa has joined the channel
[10:27] htoothrot has joined the channel
[10:29] dubenstein has joined the channel
[10:29] delian66 has joined the channel
[10:29] tiagobutzke has joined the channel
[10:33] ayaz has joined the channel
[10:34] takezawa has joined the channel
[10:35] blup has joined the channel
[10:37] fermion has joined the channel
[10:37] thalll has joined the channel
[10:38] daneroo has joined the channel
[10:40] piscisaureus_ has joined the channel
[10:40] dexter_e has joined the channel
[10:40] blup has joined the channel
[10:41] eldios: guys.. believe me.. you have to check this video -> https://www.youtube.com/watch?v=a6cNdhOKwi0 it's from microsoft and it's one of those "futuristic world" video dream... I found it actually astonishing
[10:46] blup has joined the channel
[10:47] sfoster has joined the channel
[10:48] daneroo has joined the channel
[10:50] aeo has left the channel
[10:53] daneroo has joined the channel
[10:53] criswell has joined the channel
[10:53] martinciu has joined the channel
[10:54] dexter_e has joined the channel
[10:55] d0k has joined the channel
[10:57] tcrowe: eldios: that will happen when nanotech matures
[10:58] Margle has joined the channel
[10:58] blup has joined the channel
[10:58] pickels has joined the channel
[11:00] Cromulent has joined the channel
[11:01] dob_ has joined the channel
[11:02] dexter_e has joined the channel
[11:03] Margle has joined the channel
[11:04] eldios: well let's hope we'll all still be here when that would happen
[11:04] eldios: I definitely want to be part of it
[11:04] blup has joined the channel
[11:05] eldios: also, as someone noticed it.. based on actual events in america ( and in the rest of the world) the video should be renamed to "what would the 1% live like in future"
[11:05] dylang has joined the channel
[11:06] augustl: are there any alternatives to log files out there for logging from my node app? I want to log a shitload of stuff, and logfiles just seem like i have to do a lot of manual work in parsing and presenting the logfiles etc.
[11:06] augustl: a drop-in network operation center type thing. GUI in visual basic!!! And so on.
[11:06] eldios: that's what I notices too, during the video.. besides being astonished by the marvellous ideas spread all over the video I (almost) continously tought "yeah but this video is talking about VERY rich ppl"
[11:06] eldios: ok.. stopping OT spamming :P
[11:07] lupo7: any good guide for npm in windows? google gave me old posts with cygwin that don't work anymore.
[11:07] tcrowe: augustl: why not insert into your database?
[11:07] booo has joined the channel
[11:07] TheJH_L has joined the channel
[11:07] TheJH_L has joined the channel
[11:08] augustl: tcrowe: that would simply the querying part of it at least
[11:08] augustl: hmm
[11:08] tcrowe: lupo7: i think there's a windows guide for npm on it's github page but it is likely to be a pain.
[11:08] ej_ has joined the channel
[11:11] blup has joined the channel
[11:12] konobi: augustl: there's always syslog
[11:12] dubenstein has joined the channel
[11:13] augustl: are there timers in node with higher presicion than milliseconds?
[11:13] ErikCorryV8 has joined the channel
[11:13] augustl: precision*
[11:13] Rafael has joined the channel
[11:15] garrensmith: augustl: no
[11:16] garrensmith: augustl: I think its pretty hard to get finer precision than milliseconds
[11:16] smgt has joined the channel
[11:17] christophsturm has joined the channel
[11:17] augustl: I see
[11:19] blup has joined the channel
[11:22] augustl: profiling is hard when you don't know how to do it :)
[11:22] Morkel has joined the channel
[11:23] garrensmith: augustl: the node src has some profiling tests and I think there is a blog or to about it. So google a little should help you
[11:24] nbqx has joined the channel
[11:24] gxdssoft has joined the channel
[11:24] daneroo has joined the channel
[11:26] deedubs has joined the channel
[11:27] jaminja has joined the channel
[11:28] dherman has joined the channel
[11:29] blup has joined the channel
[11:32] jimt has joined the channel
[11:34] p1d has joined the channel
[11:34] blup has joined the channel
[11:35] __tosh has joined the channel
[11:36] gxdssoft has joined the channel
[11:38] SomeoneWeird has joined the channel
[11:39] ph^ has joined the channel
[11:41] ppcano has joined the channel
[11:41] ph^_ has joined the channel
[11:43] muspelhe has joined the channel
[11:43] wgo has joined the channel
[11:44] herbySk has joined the channel
[11:45] daneroo has joined the channel
[11:45] bzinger has joined the channel
[11:46] dget has joined the channel
[11:47] daneroo has joined the channel
[11:48] Twelve-60` has joined the channel
[11:48] blup has joined the channel
[11:48] _kud has joined the channel
[11:49] cjm has joined the channel
[11:52] vkareh has joined the channel
[11:56] replore has joined the channel
[11:56] replore_ has joined the channel
[11:57] CrisO has joined the channel
[11:57] metellus has joined the channel
[11:59] neurodrone has joined the channel
[11:59] blup has joined the channel
[12:00] matyr has joined the channel
[12:01] kulesa has joined the channel
[12:01] scott_gonzalez has joined the channel
[12:01] skm has joined the channel
[12:01] kulesa has left the channel
[12:02] Skyec: is there a package to throttle data?
[12:02] aron_ has joined the channel
[12:03] AAA_awright: Skyec: the pause method?
[12:03] sineltor has joined the channel
[12:04] jeremyselier has joined the channel
[12:04] daneroo has joined the channel
[12:05] Skyec: is there something that uses it and makes it a bit easier?
[12:05] cjroebuck has joined the channel
[12:06] ph^ has joined the channel
[12:07] blup has joined the channel
[12:07] Hounth has joined the channel
[12:10] martinciu_ has joined the channel
[12:10] takezawa has joined the channel
[12:11] dylang_ has joined the channel
[12:12] smgt has joined the channel
[12:12] micheil has joined the channel
[12:13] ninjapig has joined the channel
[12:13] ninjapig has joined the channel
[12:14] daneroo has joined the channel
[12:14] dob_: hello
[12:15] garrensmith: hey
[12:15] dob_: If i define a model in mongoose and save an object with some additional fields. Will these fields be stored ?
[12:15] dob_: Didn't try yet.
[12:15] shengyincan has joined the channel
[12:16] Glenjamin: augustl: https://github.com/wadey/node-microtime
[12:16] dob_: I want to create different types of content based on a essence of fields and add additional ones
[12:16] garrensmith: dob_: dont think so it would only save the fields defined in the model
[12:16] schwab has joined the channel
[12:17] dob_: okay, then i will have to look haw it's done in calipso
[12:18] garrensmith: dob_: you will have to use the mongodb native driver that will just save any json data you give it
[12:18] daneroo has joined the channel
[12:19] dob_: is it possible if i add the native driver + mongoose that it also works?
[12:19] blup has joined the channel
[12:19] dob_: i think calipso adds native driver + mongoose. Saw something like that at the installation procedure.
[12:19] erichynds has joined the channel
[12:20] garrensmith: dob_: I'm sure you can get the native driver and connection from mongoose
[12:22] dob_: ah okay
[12:22] dob_: think that's the combination i need. Now i will have a look on how to install the native driver (as dependency)...
[12:24] dob_: garrensmit: thank u!
[12:24] moritz_ has joined the channel
[12:24] k1ttty has joined the channel
[12:24] Xano has joined the channel
[12:25] CrisO: dob_: you can access the native driver in mongoose by doing YourModel.collection
[12:26] garrensmith: dob_: no prob but the native driver should be a dependancy as mongoose will require it
[12:26] dob_: ah alright
[12:26] dob_: i will have a try!
[12:26] Guest80222 has joined the channel
[12:26] dob_: thank u guys!
[12:29] DarkGrey has joined the channel
[12:30] _kud has joined the channel
[12:30] daneroo has joined the channel
[12:32] blup has joined the channel
[12:33] PEM has joined the channel
[12:34] daneroo has joined the channel
[12:34] PEM has left the channel
[12:37] vdemedes has joined the channel
[12:38] vdemedes: Hi
[12:39] ayaz has joined the channel
[12:39] garrensmith: hey
[12:39] atourino has joined the channel
[12:39] ciro_nunes has joined the channel
[12:41] mediacoder has joined the channel
[12:41] davidsklar has joined the channel
[12:41] p1d has joined the channel
[12:42] shengyincan has joined the channel
[12:43] heavysixer has joined the channel
[12:44] Hounth has joined the channel
[12:44] coderdad has joined the channel
[12:45] zmbmartin has joined the channel
[12:45] zmbmartin has joined the channel
[12:46] daneroo has joined the channel
[12:47] Murugaratham has joined the channel
[12:49] xetorthio has joined the channel
[12:51] miccolis has joined the channel
[12:53] gregoryigelmund has joined the channel
[12:53] mehtryx has joined the channel
[12:54] tomh has joined the channel
[12:55] jamesd has joined the channel
[12:55] JakeyChan has joined the channel
[12:56] AaronMT has joined the channel
[12:59] proppy__ has joined the channel
[12:59] daneroo has joined the channel
[12:59] garrensm_ has joined the channel
[13:01] piscisaureus_ has joined the channel
[13:01] marcello3d has joined the channel
[13:01] dylang has joined the channel
[13:02] Hounth has joined the channel
[13:05] robb1e___ has joined the channel
[13:07] RyanD has joined the channel
[13:10] luizlopes has joined the channel
[13:12] jpdery_ has joined the channel
[13:13] shengyincan_ has joined the channel
[13:13] kulesa has joined the channel
[13:14] kulesa has left the channel
[13:14] daneroo has joined the channel
[13:14] lazyshot has joined the channel
[13:15] dexter_e has joined the channel
[13:15] lazyshot has joined the channel
[13:17] mehtryx has joined the channel
[13:17] dexter_e_ has joined the channel
[13:18] shengyincan has joined the channel
[13:25] boehm has joined the channel
[13:25] mikedeboer has joined the channel
[13:26] strax has joined the channel
[13:27] iskren has joined the channel
[13:28] scottschecter has joined the channel
[13:28] iskren: is there an established way to run node.js modules in the browser (front end)
[13:28] TheJH has joined the channel
[13:28] jslatts has joined the channel
[13:29] dget has joined the channel
[13:30] aliem_ has joined the channel
[13:31] devongovett has joined the channel
[13:31] garrensm_: iskren: https://github.com/substack/node-browserify
[13:31] dob_ has joined the channel
[13:32] iskren: garrensm_, thanks!
[13:33] enmand has joined the channel
[13:34] ayaz has joined the channel
[13:34] socketio\test\70 has joined the channel
[13:35] aliem has joined the channel
[13:37] MrNibbles: hey chaps
[13:37] MrNibbles: is it possible to create synchronous child processes in node?
[13:37] MrNibbles: I'm writing a wrapper for cocoaDialog
[13:37] MrNibbles: and it would be nice to have an option for synchronous dialogs
[13:39] JasonJS has joined the channel
[13:40] diamonds has joined the channel
[13:40] daneroo has joined the channel
[13:40] MacDiva has joined the channel
[13:40] iskren: garrensm_, what if I want to load (require) some files on demand? is that possible? (I read the readme/a blog post about it but this was not mentioned)
[13:41] pickels has joined the channel
[13:42] kriszyp has joined the channel
[13:42] aheckmann has joined the channel
[13:43] garrensm_: iskren: not sure, I dont think so
[13:43] vvo has joined the channel
[13:43] swestcott has joined the channel
[13:43] jstash has joined the channel
[13:43] matyr has joined the channel
[13:43] garrensmith has joined the channel
[13:44] jtsnow has joined the channel
[13:44] xy has joined the channel
[13:45] mailtruck has joined the channel
[13:45] rklancer has joined the channel
[13:45] mandric has joined the channel
[13:45] iskren: if my front-end uses a single namespace (let it be mySite) then I can create a wrapper for the foo plugin: wrapFoo, that just does, and makes mySite.foo = require('foo') and I can browsify that, also the code should not look too ugly (the browsified one), and then I can use this file for normal inclusion (or on demand inclusion)
[13:46] N0va` has joined the channel
[13:46] scttnlsn has joined the channel
[13:47] SomeoneWeird has joined the channel
[13:47] brianc1 has joined the channel
[13:51] est3 has joined the channel
[13:51] baudehlo: MrNibbles: It's coming in 0.6 at some point.
[13:51] willwhite has joined the channel
[13:52] MrNibbles: baudehlo: thanks :)
[13:55] daneroo has joined the channel
[13:55] LifterAH has joined the channel
[13:56] davemo has joined the channel
[13:57] chase_farmer has joined the channel
[14:00] bnoordhuis has joined the channel
[14:02] malletjo has joined the channel
[14:04] geoffgeoff has joined the channel
[14:05] markwubben has joined the channel
[14:06] diamonds: is there a way to get child process to output the exact command it's running?
[14:07] daneroo has joined the channel
[14:07] Aikar: diamonds: your the one who controls what it runs... O.o
[14:08] diamonds: so does it just implode all the first arg and the array of switches with spaces?
[14:08] diamonds: is that it?
[14:08] Aikar: .spawn('node', ['a', 'b', 'c'])
[14:08] Aikar: is same as `node 'a' 'b' 'c'`
[14:09] diamonds: ah they are quoted
[14:09] diamonds: not all tho
[14:09] diamonds: '-new-tab' probably wouldn't work if quoted (windows ff switch)
[14:10] mpavel has joined the channel
[14:10] Aikar: yes it would
[14:10] Aikar: your OS parses it
[14:10] thomblake has joined the channel
[14:11] thomblake has left the channel
[14:11] Aikar: foo 'bar baz 'foo bar'
[14:11] Aikar: argv[0] == foo baz
[14:11] Aikar: err 'bar baz'*
[14:11] Aikar: and then argv[1] == foo bar
[14:11] Aikar: w/o the quotes
[14:11] Aikar: app wont see the quotes
[14:11] simenbrekken has joined the channel
[14:12] criswell has joined the channel
[14:12] CIA-48: libuv: 03Bert Belder 07dlopen * r487b867 10/ uv.gyp : Add common.gypi to gyp-generated projects - http://git.io/5eWtOQ
[14:12] CIA-48: libuv: 03Bert Belder 07dlopen * r6d688d3 10/ (include/uv.h src/ares/config_win32/ares_config.h): Prepare libuv for shared library build - http://git.io/lwBHhQ
[14:12] CIA-48: libuv: 03Bert Belder 07dlopen * r721bc72 10/ (src/uv-common.c src/uv-common.h): Add uv__new_sys_error - http://git.io/CIlBBQ
[14:12] CIA-48: libuv: 03Bert Belder 07dlopen * r16e0314 10/ (6 files in 5 dirs): Implement uv_dlopen and friends - http://git.io/FXkJXw
[14:13] mpavel has left the channel
[14:13] diamonds: Aikar: http://screencast.com/t/td7qx6AIXX http://pastie.org/2773342
[14:13] cjm has joined the channel
[14:14] diamonds: it does not put quotes around '-new-tab' because it wouldn't work; ff reads it as a site you want opened rather than a switch
[14:14] CIA-48: node: 03Bert Belder 07dlopen * r65f4ac6 10/ src/node.h : Export some functions from node.h (+6 more commits...) - http://git.io/KwyXnQ
[14:14] diamonds: cp.spawn('c:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe', ['-new-tab', url_to_open]); //this is working
[14:14] cognominal_ has joined the channel
[14:14] diamonds: so I'm guessing there are no quotes when the args are passed, I may have to add them
[14:15] diamonds: (if I need them)
[14:15] ghankstef has joined the channel
[14:15] ninjapig has joined the channel
[14:15] ninjapig has joined the channel
[14:15] coderdad has joined the channel
[14:15] nils_r has joined the channel
[14:16] ryanfitz has joined the channel
[14:16] guillermo has joined the channel
[14:16] oiiii has joined the channel
[14:18] est3 has joined the channel
[14:18] r04r has joined the channel
[14:18] jgornick has joined the channel
[14:20] dylang has joined the channel
[14:21] passionke has joined the channel
[14:23] erichynds has joined the channel
[14:23] scttnlsn: i'm fascinated by mongoose's control flow (the way that db commands are queued until a connection is opened). is there an example of this on a smaller scale anywhere that I could learn from?
[14:23] stagas has joined the channel
[14:23] igl has joined the channel
[14:23] ph^ has joined the channel
[14:23] devongovett has joined the channel
[14:23] diamonds: is there any way to get the child_process.spawn method to SHOW the command it's running?
[14:23] diamonds: like, the exact string?
[14:24] mkrecny has left the channel
[14:24] diamonds: it's not behaving as I'd expect and I'd like to know why
[14:24] diamonds: c:\Windows\System32\cmd.exe /C echo hello | clip
[14:24] diamonds: ^this works
[14:24] diamonds: post.bin = 'hello'
[14:24] diamonds: var clipper = cp.spawn('C:\\Windows\\system32\\cmd.exe', ['/C', 'echo', post.bin, '| clip']);
[14:25] diamonds: this doesn't work ^ but exits with code 0 and doesn't emit any errors
[14:25] jslatts has joined the channel
[14:25] geoffgeoff has left the channel
[14:25] martin_sunset: scttnlsn: Take a look at the book design patterns by gamma et al, and martin fowlers enterprise patterns book.
[14:26] piscisaureus_ has joined the channel
[14:26] diamonds: ahh! maybe it doesn't know where clip is
[14:26] diamonds: echo I should hope it knows
[14:27] jomoho has joined the channel
[14:27] Poetro has joined the channel
[14:27] Poetro has joined the channel
[14:28] brianloveswords has joined the channel
[14:28] diamonds: hmm... perhaps I spawn a clip.exe process then feed to it's stdin..... WE SHALL SEE!
[14:30] daneroo has joined the channel
[14:30] gsmcwhirter has joined the channel
[14:31] joshkehn has joined the channel
[14:31] joshkehn has left the channel
[14:31] mandric has joined the channel
[14:32] mmalecki has joined the channel
[14:33] diamonds: I've got it working sort of!!! :D
[14:33] diamonds: just have some stray quotes here and thar
[14:33] skm has joined the channel
[14:34] diamonds: hmm... I've got it but it's adding quotes
[14:35] jetienne has joined the channel
[14:35] trose: brianc1, So i can't remember the solution for my error you gave me yesterday and I don't think you posted it to the bug report...
[14:38] diamonds: is there a method like "execute" to execute a shell command?
[14:38] diamonds: I'm having a hard time with windows clip.exe because it can a) read a file like `clip < file.txt` or b) be piped to like `echo foo | clip`
[14:39] diamonds: and neither of those fit the spawn method well, unless I want to write to file, clip < file, then destroy the file which seems silly
[14:40] mmalecki: diamonds: child_process.spawn
[14:40] diamonds: mmalecki: yeah I'm using that but this `var clipper = cp.spawn('echo', [post.bin, '|','C:\\Windows\\system32\\clip.exe']);` is a bit crazy and doesn't seem to work
[14:40] diamonds: this works:
[14:40] diamonds: var clipper = cp.spawn('C:\\Windows\\system32\\cmd.exe', ['/C', 'echo', post.bin, '|', 'C:\\Windows\\system32\\clip.exe']);
[14:41] mmalecki: diamonds: clipper.stdin.write('something') will pipe stuff into clipper
[14:41] diamonds: but it's adding newline and quotes and so I want to see about calling clip directly, not thru a child shell
[14:41] diamonds: mmalecki: that's what I was thinking, thank you!
[14:41] mmalecki: diamonds: :)
[14:42] mmalecki: diamonds: also, neat trick: fs.createReadStream('file').pipe(clipper.stdin) <- pipes contents of file into clipper's stdin
[14:42] diamonds: ahhh .pipe
[14:42] diamonds: very nice!
[14:42] diamonds: what carries .pipe method?
[14:42] brianc1 has left the channel
[14:42] konobi: streams
[14:42] mrsrikanth has joined the channel
[14:43] diamonds: fs.createReadStream('file').pipe(awk.stdin).pipe(xargs.stdin) ?
[14:43] diamonds: I guess i mean does pipe return a stream
[14:43] MUILTFN has joined the channel
[14:43] mmalecki: hm. worth checking.
[14:44] mmalecki: it returns destination stream
[14:44] mmalecki: so, no, that won't work
[14:44] diamonds: hrm reading into clipper's stdin didn't work so well
[14:45] diamonds: so stdin is a "stream"?
[14:45] mmalecki: diamonds: why?
[14:45] mmalecki: yeah
[14:45] GeorgeJ has joined the channel
[14:45] GeorgeJ has joined the channel
[14:45] mmalecki: writable stream, to be precise
[14:45] alphahydrae: Is there a way to get a Writable Stream to a string? I can get one to a file with fs.createWriteStream, is there an equivalent for strings? It's for passing to child_process.spawn as a customFd.
[14:46] diamonds: hot diggity damn, it worked! :)
[14:47] Hounth has joined the channel
[14:47] daneroo has joined the channel
[14:47] jaequery has joined the channel
[14:50] jeromegn has joined the channel
[14:51] heavysixer has joined the channel
[14:51] isaacs has joined the channel
[14:52] bzinger has joined the channel
[14:53] Destos has joined the channel
[14:53] aelien27 has joined the channel
[14:53] wankdanker: good style is good for your gut
[14:54] mendel_ has joined the channel
[14:55] andree has joined the channel
[14:57] Morkel has joined the channel
[14:58] JJMalina has joined the channel
[14:58] swestcott has joined the channel
[14:59] isaiah_ has joined the channel
[15:00] olivier has joined the channel
[15:00] N0va` has joined the channel
[15:01] CarterL has joined the channel
[15:01] malletjo has joined the channel
[15:02] dylang has joined the channel
[15:02] maushu has joined the channel
[15:02] maushu: Anyone knows if the aes128 that I can use in crypto is ctr or not?
[15:03] maushu: I can't find any aes128-ctr in openssl.
[15:03] kazupon has joined the channel
[15:03] fatjonny has joined the channel
[15:06] jocafa has joined the channel
[15:07] t0nic has joined the channel
[15:08] Poetro_ has joined the channel
[15:08] Poetro_ has joined the channel
[15:08] JJMalina has joined the channel
[15:09] shipit has joined the channel
[15:09] tjholowaychuk has joined the channel
[15:09] heavysixer has joined the channel
[15:09] garrensmith has joined the channel
[15:09] daneroo has joined the channel
[15:09] tjholowaychuk has joined the channel
[15:09] aguynamedben has joined the channel
[15:12] jsurfer has joined the channel
[15:12] confoocious has joined the channel
[15:13] waheedi has joined the channel
[15:13] metellus has joined the channel
[15:14] Vennril has joined the channel
[15:16] shipit has joined the channel
[15:16] fangel has joined the channel
[15:16] BillyBreen has joined the channel
[15:17] hendry has left the channel
[15:18] Glenjamin: is any of the HTTP parser exposed to node code?
[15:18] Glenjamin: I'm trying to parse HTTP headers
[15:18] jscheel has joined the channel
[15:19] EyePulp has joined the channel
[15:20] SamuraiJack has joined the channel
[15:20] jstash: Glenjamin: http.js does var HTTPParser = process.binding('http_parser').HTTPParser;
[15:20] pickels_ has joined the channel
[15:20] bnoordhuis: maushu: no, openssl doesn't support it
[15:20] fzzzy has joined the channel
[15:21] Glenjamin: jstash: ah, probably too low level for me to use in this case then
[15:21] jstash: Glenjamin: it also exports a FreeList of parsers under require('http').parsers
[15:21] Glenjamin: oh, that sounds better
[15:21] jstash: (this is on v0.4)
[15:21] Glenjamin: to the source!
[15:21] jstash: \o/
[15:21] bnoordhuis: Glenjamin: the http parser api recently changed and may again so use at your own risk
[15:22] maushu: bnoordhuis: but... doesn't ssh use it?
[15:22] maushu: OpenSSH that is.
[15:22] daneroo has joined the channel
[15:22] bergie has joined the channel
[15:22] bnoordhuis: maushu: if they do, they probably provide their own implementation
[15:23] Glenjamin: bnoordhuis: thats's what i'm thinking, it's probably easier to just split on ":" for this case
[15:23] matyr has joined the channel
[15:23] Glenjamin: i'm not parsing a whole response, i've just got some headers i want as an object
[15:23] Cromulent has joined the channel
[15:23] FireFly has joined the channel
[15:24] maushu: bnoordhuis: Thanks... any idea how I could use aes128-ctr in node then?
[15:24] jstash: Glenjamin: that's totally fine unless you want to have multi-line and comma-split headers
[15:24] smtlaissezfaire has joined the channel
[15:24] bnoordhuis: maushu: you don't - unless you're willing to write your own add-on
[15:25] maushu: ;_;
[15:25] waheedi has left the channel
[15:25] bosphorus has joined the channel
[15:26] Hounth has joined the channel
[15:27] c4milo has joined the channel
[15:28] pixel13 has joined the channel
[15:30] pixel13 has left the channel
[15:30] CIA-48: libuv: 03Ben Noordhuis 07master * rf2c6b41 10/ (5 files in 4 dirs): unix: have uv_strerror() handle getaddrinfo() errors - http://git.io/T1m0Fw
[15:31] erichynds has joined the channel
[15:32] jondot has joined the channel
[15:32] jondot: hi guys. is there any parallel to bundler's Gemfile? i'd like to declare my app's dependencies in a simple way
[15:32] Glenjamin: package.json
[15:32] CIA-48: node: 03Ben Noordhuis 07master * r3dee0e4 10/ deps/zlib/zlib.gyp :
[15:32] CIA-48: node: zlib: compile without -ansi
[15:32] CIA-48: node: Source contains C++ / C99 comments, gcc in strict mode doesn't like that. - http://git.io/w3ex6Q
[15:32] gxdssoft has joined the channel
[15:33] Mokona has joined the channel
[15:33] stagas has joined the channel
[15:35] sonnym has joined the channel
[15:35] jondot: Glenjamin, any coffeescript version of that? something more humane?
[15:36] Glenjamin: a coffeescript version of json?
[15:36] jtsnow has joined the channel
[15:36] jondot: nah. nevermind
[15:36] Aikar: wtf lol
[15:37] trose: So I'm working with the module Node_xslt but it's not quite what i want... I'd like something that would output a stream so I can pump the data to my response. Can anyone point me to a project or example code to generate a stream from a module?
[15:37] wookiehangover has joined the channel
[15:37] deedubs has joined the channel
[15:38] cognominal_ has joined the channel
[15:39] smtlaissezfaire has joined the channel
[15:40] forzan has joined the channel
[15:40] gregpascale has joined the channel
[15:41] HD_ has joined the channel
[15:41] piscisaureus_ has joined the channel
[15:44] pandeiro has joined the channel
[15:44] ritch has joined the channel
[15:44] ritch has left the channel
[15:44] Wa has joined the channel
[15:45] Renegade001 has joined the channel
[15:47] TheJH_ has joined the channel
[15:47] TheJH_ has joined the channel
[15:47] mikeal has joined the channel
[15:47] trose: anyone know the c code to generate a node.js stream? example code would be great
[15:50] confoocious has joined the channel
[15:50] torsd has joined the channel
[15:50] confoocious has joined the channel
[15:55] _dc has joined the channel
[15:55] jstash: trose: as i understand it, it's a matter of generating a bunch of 'data' events... and how you do that is different in node v0.4 and v0.5/0.6
[15:55] jstash: finding a link...
[15:56] bnoordhuis: trose: why would you want to do that from c / c++?
[15:56] coderdad has joined the channel
[15:56] jstash: https://github.com/joyent/node/blob/master/src/node_zlib.cc is a stream
[15:56] michaeldeol has joined the channel
[15:57] jstash: it's possible that crossing the C++/JS boundary can make it slower, right? A good reason, imho, is so you can use the eio/thread pool
[15:57] trose: bnoordhuis, okay so the node_xslt module currently outputs a string from the transform function. I'm potentially dealing with very large files and i don't want to load 1gig into memory
[15:57] trose: so it would be incredibly better if the whole thing used streams
[15:57] tiagobutzke has joined the channel
[15:58] trose: so i'd like to fork the module and add the option
[15:58] stagas has joined the channel
[15:58] bnoordhuis: jstash: src/node_zlib.cc has wrapper code in lib/zlib.js that provides the stream functionality
[15:59] jstash: oh, right
[15:59] jstash: but those are the C++ bits ;)
[15:59] alvaro_o has joined the channel
[15:59] captain_morgan has joined the channel
[15:59] bnoordhuis: trose: emit the data to a callback you control and implement the stream on top of that
[15:59] jstash: ACTION nods
[16:00] Isaiah has joined the channel
[16:00] Isaiah has joined the channel
[16:02] murilobr has joined the channel
[16:02] mikeal1 has joined the channel
[16:03] Me1000 has joined the channel
[16:03] hij1nx has joined the channel
[16:03] trose: bnoordhuis, the current xslt.transform() is synchronous and just outputs a string. I would have to modify it to accept a callback yes?
[16:04] bnoordhuis: trose: yes
[16:04] trose: bnoordhuis, well i suppose that is easier than trying to write an entire stream class in c++ :D
[16:04] jmls: evening all
[16:05] jmls: spent most of the day looking for an email client
[16:05] jmls: trying to read email from a googleapps account - does anyone have any hints on what module to use ?
[16:05] jmls: thanks
[16:05] bnoordhuis: jmls: i hear good stories about outlook express
[16:05] jmls: har har
[16:05] bnoordhuis: i'll be here all night!
[16:06] jmls: i've found a couple that *send* (nodemailer etc) but can't get one to read / download mail from a ssl gmail account
[16:07] jsurfer has joined the channel
[16:09] Wizek has joined the channel
[16:09] EyePulp: jmls: https://github.com/mscdex/node-imap ?
[16:10] neurodrone has joined the channel
[16:10] mike5w3c has joined the channel
[16:12] markwubben has joined the channel
[16:12] catshirt has joined the channel
[16:12] devongovett has joined the channel
[16:13] jmls: EyePulp: tried that one, doesn't seem to like STARTTLS which is now required by googlemail (see TODO list)
[16:13] EyePulp: ah
[16:15] LifterAH has joined the channel
[16:16] JSManiacs has joined the channel
[16:17] TooTallNate has joined the channel
[16:21] benwilber has joined the channel
[16:23] chrislorenz has joined the channel
[16:23] gporras has joined the channel
[16:24] trose: ugh c++ no me gusta
[16:25] mikeal has joined the channel
[16:26] jarek has joined the channel
[16:29] pagameba has joined the channel
[16:31] _dc has joined the channel
[16:32] jsurfer has joined the channel
[16:32] maletor has joined the channel
[16:33] coderdad has joined the channel
[16:33] N0va` has joined the channel
[16:34] sh1mmer has joined the channel
[16:35] EhevuTov has joined the channel
[16:36] airhorns has joined the channel
[16:38] okuryu has joined the channel
[16:38] okCPU_ has joined the channel
[16:38] takezawa has joined the channel
[16:39] okCPU_: is there a module for base36 encode/decode? or can this be implemented through a buffer?
[16:39] markdaws has joined the channel
[16:39] markdaws_ has joined the channel
[16:39] okCPU_: s/could/should
[16:39] mbl has joined the channel
[16:40] pizthewiz has joined the channel
[16:40] JSManiacs has joined the channel
[16:40] isaiah_ has joined the channel
[16:41] broofa has joined the channel
[16:42] dshaw_ has joined the channel
[16:45] lightcap has joined the channel
[16:46] trotter has joined the channel
[16:46] mbl: Hi all. I've wondering how to setup project structure. Some advocates rails-like structure where controller and models are separated, others more Java like (guys from ant, maven style projects) with a src/ and test/ folder. What do you do? (side question, what do you guys use for continues integration?)
[16:47] neynenmo has joined the channel
[16:48] maushu: Both.
[16:49] Migaaresno has joined the channel
[16:49] Carter has joined the channel
[16:49] srid has joined the channel
[16:50] srid: how do I pass in library and include path to 'npm install'?
[16:50] srid: specifically, I want to pass the path of compiled libexpat directory to 'npm install node-expat'
[16:50] isaacs: srid: i'm not sure i understand what you mean
[16:51] srid: isaacs: I did "./configure --prefix=/tmp/expat && make install" on the expat source tree.
[16:51] mbl: mandric: both in what sense? I'd appreciate an example :)
[16:51] Tprice: how do i broadcast a message from the server when using socket.io
[16:51] Tprice: i see socket.broadcast.emit('user connected');
[16:51] srid: now I want to run "npm install node-expat" but have this pickup the expat install from /tmp/expat
[16:51] Tprice: but not io.broadcast('user connected');
[16:51] srid: (for some reason, I do not have root access on a machine)
[16:51] heavysixer has joined the channel
[16:51] kriszyp has joined the channel
[16:52] ayaz has joined the channel
[16:52] srid: i tried setting INCLUDE and LIBRARY, but they had no effect
[16:52] pointlessjon has joined the channel
[16:52] pointlessjon has left the channel
[16:53] shipit has joined the channel
[16:53] saesh has joined the channel
[16:54] context: uh
[16:54] smathy has joined the channel
[16:54] kenperkins has joined the channel
[16:57] Margle has joined the channel
[16:57] towski has joined the channel
[16:58] deedubs has joined the channel
[16:59] ayaz has joined the channel
[17:00] Isaiah has joined the channel
[17:01] cognominal_ has joined the channel
[17:02] te-brian has joined the channel
[17:02] jerrysv has joined the channel
[17:02] Aikar: srid: putting it in /tmp is a bad idea, then itll likely get deleted. put in your home folder with --prefix=~/local then you need to do something like CPPFLAGS=-I~/local/lib/ or so
[17:05] TheJH has joined the channel
[17:05] verdoc has joined the channel
[17:05] jondot: anyone knows crash issues on heroku and socket.io?
[17:06] CoverSlide: heroku doesn't use websockets
[17:06] CoverSlide: last time i used it at least
[17:07] deedubs: jondot: you need to use xhr-polling on heroku
[17:07] jondot: i understand. so i'll force polling on it.
[17:07] jondot: i'm wondering if i can toggle this behavior using an environment variable - detecting if running on heroku then force polling.
[17:08] deedubs: jondot: http://devcenter.heroku.com/articles/using-socket-io-with-node-js-on-heroku
[17:08] aaron_ has joined the channel
[17:08] willwhite has joined the channel
[17:08] jondot: deedubs, yep, thanks
[17:09] wadey has joined the channel
[17:09] deedubs: and if you use express you could use app.helpesr({transports: ['xhr-polling']})
[17:09] deedubs: something like that, obviously checking for your ENV var
[17:09] caolanm has joined the channel
[17:09] jondot: yes, i'm using express..
[17:09] fmeyer has joined the channel
[17:10] jhbot has joined the channel
[17:10] jondot: deedubs, its not enough to set on socket.io itself?
[17:10] aliem has joined the channel
[17:11] deedubs: yeah you can do that as well. and the client will figure it out
[17:12] vdemedes has joined the channel
[17:12] vdemedes: Hello
[17:13] vdemedes: I'm trying to install my package using: npm install
[17:13] vdemedes: and in my package.json I specified "bin" section
[17:13] vdemedes: so there is executable
[17:13] vdemedes: but npm does not setup it
[17:13] vdemedes: after npm install
[17:14] coderdad has joined the channel
[17:14] isaacs: vdemedes: no, it won't.
[17:14] isaacs: vdemedes: use `npm link` to link your package globally
[17:15] isaacs: you may need to sudo
[17:15] vdemedes: isaacs: and I will be able to test my executable?
[17:15] isaacs: vdemedes: yep
[17:15] isaacs: that's how i develop npm :0
[17:15] isaacs: :)
[17:15] vdemedes: isaacs: thank you, I'll try!
[17:15] vdemedes: isaacs: Thank you for NPM!
[17:15] Druid_ has joined the channel
[17:15] isaacs: np
[17:15] jhbot has joined the channel
[17:16] daaku has joined the channel
[17:16] wrongle has joined the channel
[17:17] dexter_e has joined the channel
[17:17] CoverSlide: npm unstar npm
[17:17] aaron_ has joined the channel
[17:17] isaacs: CoverSlide: every time you unstar npm, it dies a little inside.
[17:17] isaacs: you know that, right?
[17:18] CoverSlide: i know
[17:18] vdemedes: line 1: syntax error near unexpected token `('
[17:18] vdemedes: line 1: `var fs = require("fs");'
[17:18] vdemedes: wtf?
[17:18] mmalecki: ACTION npm star npm
[17:19] n8ji has joined the channel
[17:19] vdemedes: when running executable
[17:19] isaacs: vdemedes: add this: #!/usr/bin/env node
[17:19] isaacs: at the top
[17:19] mmalecki: vdemedes: #!/usr/bin/env node should be your first line
[17:19] vdemedes: oohh
[17:19] mmalecki: damn
[17:19] vdemedes: I added it, but removed
[17:19] vdemedes: sorry
[17:19] vdemedes: thanks
[17:19] isaacs: np
[17:19] stephank has joined the channel
[17:20] shykes_ has joined the channel
[17:21] wrongle: our company is 100% node … but launching a new site on wordpress! ugh, php
[17:21] wrongle: ACTION jumps off golden gate
[17:21] pneftali has joined the channel
[17:21] lbiffin has joined the channel
[17:21] StanlySoManly has joined the channel
[17:22] pneftali: hi everyone. can I ask questions here regarding websocket ?
[17:22] CoverSlide: so does the node blog
[17:22] CoverSlide: meh, everyone uses wordpress
[17:23] bearnard has joined the channel
[17:23] CoverSlide: if you can point to a node-based blogging platform that has all the features wordpress does,
[17:23] Squeese has joined the channel
[17:23] hipsterslapfight has joined the channel
[17:23] cgfuh has joined the channel
[17:23] CoverSlide: then you can jump
[17:24] mmalecki: wrongle: tell them to use wheat
[17:24] wrongle: nah they aren't down
[17:24] wrongle: sucks.
[17:24] CoverSlide: wheat is awesome
[17:25] lbiffin: Looking for a good layman's description of the Node.js event / callback methodology. As an example, see this article: http://blog.std.in/2010/09/09/using-sendfile-with-nodejs/ - It uses the synchronous version of the sendfile API. I'm looking for a good discussion that will help me find a good understanding of how and when synchronous actions are appropriate, and how to use them in a non-blocking way.
[17:25] wrongle: also I'm not into this static blog generation craZe
[17:26] CoverSlide: but it's not like you can get the ceo to write a blog on it. hell my last ceo couldn't figure out how to use wordpress to write a blog post
[17:26] wrongle: when PR companies need to login for content work, they can't be expected to get wheat hah
[17:26] wrongle: hah CoverSlide
[17:26] saesh_ has joined the channel
[17:26] tilgovi has joined the channel
[17:26] tilgovi has joined the channel
[17:27] malletjo has joined the channel
[17:28] ryanj has joined the channel
[17:28] gr-eg has joined the channel
[17:28] jaequery has joined the channel
[17:29] perezd has joined the channel
[17:30] diamonds has left the channel
[17:31] Isaiah has joined the channel
[17:32] JaKWaC has joined the channel
[17:34] JaKWaC has joined the channel
[17:34] blup has joined the channel
[17:35] jhurliman has joined the channel
[17:36] boonrumor has joined the channel
[17:37] kkszysiu_ has joined the channel
[17:38] jarek- has joined the channel
[17:38] synkro has joined the channel
[17:39] jarek- has joined the channel
[17:39] ayaz has joined the channel
[17:40] agnat_ has joined the channel
[17:40] fzzzy has joined the channel
[17:41] dexter_e has joined the channel
[17:43] bartt has joined the channel
[17:43] EyePulp_ has joined the channel
[17:44] daglees has joined the channel
[17:48] reid has joined the channel
[17:48] kylefox has joined the channel
[17:48] markwubben has joined the channel
[17:49] isaacs has joined the channel
[17:51] LifterAH has joined the channel
[17:51] langworthy has joined the channel
[17:52] kenperkins: ACTION has made the switch to webstorm
[17:53] mmalecki: the Not running error from here: https://github.com/joyent/node/blob/771ba34ca7b839add2ef96879e1ffc684813cf7c/lib/net.js#L1135 means that server's already stopped, right?
[17:53] jtsnow has joined the channel
[17:53] maushu_ has joined the channel
[17:55] martypdx has joined the channel
[17:56] __tosh has joined the channel
[17:56] jerrysv: kenperkins: how is it?
[17:56] kenperkins: Jerry, I havne't tried every IDE obviously, but it's got the best JS intellisense I've seen
[17:57] kenperkins: for a big node codebase, it's fucking great, and has git integration
[17:57] kenperkins: plus it's on half off for a single developer: $35
[17:57] jerrysv: kenperkins: y u no try every ide in the world?!?
[17:57] kenperkins: I fail.
[17:57] jerrysv: not bad. just downloaded the trial
[17:57] kenperkins: plus they have a version of the IDE on all OSes which is nice because I run OSX, Win, and Linux
[17:57] jerrysv: any idea how long the half off is?
[17:58] kenperkins: I think through end of Nov
[17:58] boonrumor has joined the channel
[17:58] jerrysv: i've been using textmate, and have jshint integrated -- does it work with jshint?
[17:58] kenperkins: I haven't used jshint, should I be?
[17:58] jerrysv: yes
[17:58] jerrysv: personal opinion, of course, but strong personal opinion
[18:01] trose: is it possible to take a buffer with information and pipe it to a stream ie. response?
[18:01] joe___ has joined the channel
[18:02] martypdx: tjholowaychuk: is there currently a way to scope the variables for a jade block? so 'scope foo' would mean anything is relative to foo
[18:02] trose: i'm imagining something like buffer.on('data', function(data) { res.write(data);});
[18:02] heavysixer has joined the channel
[18:02] trose: that would work right?
[18:02] tjholowaychuk: martypdx nope
[18:02] ReinH has joined the channel
[18:02] JaKWaC has joined the channel
[18:02] tjholowaychuk: martypdx it's literal js so that would mean using with(){}
[18:03] tbranyen: with (global) { // code }; 4 lyfe
[18:03] tbranyen: i just like being extra sure
[18:03] dreamdust has joined the channel
[18:04] martypdx: tjholowaychuk you can use a mixin to some degree, but it gets awkward when it's part of an include
[18:04] kenperkins: jerrysv: here's what I found quickly
[18:04] kenperkins: http://www.clipboard.com/clip/LQz3lW94bhDgs-9tgcGpHpV7IPwaxyvqMmue
[18:05] matyr has joined the channel
[18:05] Danielss89 has joined the channel
[18:05] ReinH: In zappa, can I reuse an CoffeeKup HTML "partials" in client-side code?
[18:05] Danielss89: how would i go around communicating with node.js from php on my server?
[18:05] Danielss89: they are on the same server..
[18:05] benwilber1 has joined the channel
[18:06] Draggor: unix sockets, tcp sockets, http
[18:06] Draggor: take your pick?
[18:06] kenperkins: CPIP
[18:06] micheil_mbp has joined the channel
[18:07] slickplaid: unix sockets are fun, or a rest http works too
[18:07] ReinH: For instance I have @on login: -> ; @on logout: using strings. I'd rather use the same CoffeeKup for the original page render and for the html replaced with jQuery to keep them in sync.
[18:08] ReinH: Danielss89: if you're talking to it from PHP, the fact that it's a node server doesn't matter. What matters is what endpoints your node server makes available. That could be anything from a UDP socket to a full REST service.
[18:08] ReinH: which means it's entirely up to you
[18:09] zmbmartin has joined the channel
[18:09] Danielss89: i'm thinking of what is the fastest.. i mean i guess i could call CURL but wouldn't that be slow?
[18:09] ReinH: Danielss89: think of it as a service, not as a node.js app
[18:09] zmbmartin has left the channel
[18:10] ReinH: you could use a unix socket but (while fun) they are non-portable and don't scale.
[18:10] ReinH: you probably want an HTTP service of some kind
[18:10] lbiffin: Repost: Looking for a good layman's description of the Node.js event / callback methodology. As an example, see this article: http://blog.std.in/2010/09/09/using-sendfile-with-nodejs/ - It uses the synchronous version of the sendfile API. I'm looking for a good discussion that will help me find a good understanding of how and when synchronous actions are appropriate, and how to use them in a non-blocking way. Anybody?
[18:10] saesh has joined the channel
[18:11] Danielss89: ReinH: ok so i should use curl?
[18:11] Isaiah has joined the channel
[18:11] ReinH: it's more a question of what service architeture, because node can do basically any of them
[18:11] ReinH: *what service architecture you want
[18:11] sh1mmer has joined the channel
[18:11] ReinH: Danielss89: from PHP? Sure, don't see why not.
[18:12] Danielss89: what i'm doing is i'm starting a tournament and in php i go over(in a loop) maybe 100 users(could be 500), and i want to send a message out to the connected users that the tournament has started and they have a match
[18:12] Danielss89: so that mean i would call /tellUserHasGame 500 times with curl
[18:12] Danielss89: with different user id's
[18:12] EhevuTov has joined the channel
[18:12] ReinH: oh there's a zappajs channel
[18:13] jerrysv: kenperkins: doesn't sound very helpful :/
[18:13] kenperkins: indeed not
[18:13] ReinH: Danielss89: if that's how you designed it
[18:13] kenperkins: :S
[18:13] Danielss89: zappajs?
[18:13] kenperkins: we have our node project running in a watcher
[18:13] fzzzy has joined the channel
[18:13] ReinH: Danielss89: that part wasn't for you
[18:13] jerrysv: i see
[18:13] kenperkins: that constantly rebuilds/minifies/validates our project
[18:13] Danielss89: oh ok :D hehe
[18:13] kenperkins: I just keep a terminal window up
[18:13] Danielss89: ReinH: but would 500 curl calls be very slow? :D
[18:14] ReinH: maybe
[18:14] jerrysv: we do as well, but it's nice to have it at save as well :)
[18:14] ReinH: don't ask us, measure it
[18:14] jerrysv: and in ide
[18:14] Danielss89: well.. ok..
[18:14] kenperkins: Agreed :S
[18:16] jerrysv: ok, running now, will get back to it at end of day
[18:17] amiller has joined the channel
[18:17] jerrysv: found 67 TODO -- sadly none are mine, but are the node_modules dependencies
[18:17] dshaw_1 has joined the channel
[18:18] jesusabdullah: Anybody know of any javascript channels on vimeo?
[18:19] jesusabdullah: or html5
[18:19] jesusabdullah: just something kinda cool
[18:19] jerrysv: hm. no stylus support or plugins either.
[18:21] AvianFlu has joined the channel
[18:22] vdemedes: Guys, check out my just released NPM package: https://github.com/vdemedes/node-packager
[18:22] stephank: Is there a homebrew formula somewhere that works for node master or 0.5? The stock formula seems to fail here with install --HEAD.
[18:22] vdemedes: it is Packager, it makes working with NPM more pleasant
[18:23] wgo has joined the channel
[18:23] ej__ has joined the channel
[18:24] ryanj has joined the channel
[18:26] alindeman has joined the channel
[18:28] V1 has joined the channel
[18:29] Danielss89: ReinH: i guess it would be better to make a bitch-ass long string with user ids, and pass that to node.js in one call, instead of doing 500 curl calls
[18:29] isaacs: vdemedes: what does this do that npm doesn't?
[18:30] isaacs: vdemedes: i'm kinda confused...
[18:30] vdemedes: isaacs: well, it actually minimal Bundler for Node.js
[18:30] shipit has joined the channel
[18:30] vdemedes: isaacs: did you work with Ruby on Rails?
[18:30] isaacs: vdemedes: but... isn't npm... already that?
[18:30] vdemedes: isaacs: no no no, you did not get the idea
[18:30] isaacs: i mean, you'er using a different file.
[18:30] isaacs: but npm already bundles your deps, when you type `npm install`
[18:31] vdemedes: Packager is for another task
[18:31] isaacs: you can just do `npm init` to create a package.json, and then `npm install --save connect` to save it as a dep.
[18:31] swestcott has joined the channel
[18:31] isaacs: and then later, if you have that package.json, you can type `npm install` to get the deps
[18:31] vdemedes: for example, I'm starting new projects, and I want to install a lot of packages
[18:31] rmzg has joined the channel
[18:31] vdemedes: I will need to type npm install, write those files
[18:32] kickingvegas has joined the channel
[18:32] vdemedes: but with Packager, I need to create Npmfile and list all those packages there
[18:32] vdemedes: and just run packager
[18:32] dshaw_ has joined the channel
[18:32] vdemedes: it will call npm and npm will install them
[18:32] vdemedes: well, if you did not use Bundler in Rails env, you will not understand me probably
[18:32] tjholowaychuk: use the dependencies object
[18:32] isaacs: i am allergic to ruby.
[18:32] tjholowaychuk: in package.json
[18:32] jbraffoul has joined the channel
[18:32] tjholowaychuk: it does exactly that
[18:33] patcito has joined the channel
[18:33] tjholowaychuk: "express": "2.4.x" etc
[18:33] vdemedes: but I will need to create package.json
[18:33] isaacs: but what you describe is definitely implementedin npm. creating a wrapper around it sounds intriguing, and i'd like to help you do it as awesomely as possible.
[18:33] vdemedes: and set diff options there
[18:33] JaKWaC has joined the channel
[18:33] gkatsev: isaacs: how alergic? do you break into hives when you enter a room where ruby been an hour ago or just when you do ruby?
[18:33] vdemedes: isaacs: Packager is a wrapper for NPM
[18:33] isaacs: vdemedes: then it sounds like what you'er after is a better way to create a package.json?
[18:34] vdemedes: isaacs: nope
[18:34] vdemedes: isaacs: sec
[18:34] isaacs: gkatsev: at joyent, there are some web services written in ruby. i have to carry an epi-pen around in case i need to do any debugging on them.
[18:34] isaacs: ;P
[18:34] gkatsev: that is pretty allergic
[18:34] isaacs: yeah
[18:34] gkatsev: but you'll be glad to know that scientists are working on a cure
[18:34] gkatsev: they already have it worked out with peanuts and rats
[18:34] isaacs: had to be rushed to the hospital once after a bad run-in with a textmate plugin
[18:35] gkatsev: soon, they will be working on ruby and humans
[18:35] jocafa: let's hope they find a cure for java next
[18:35] isaacs: haha
[18:35] jocafa: it's a cancer
[18:35] quackquack has joined the channel
[18:35] gkatsev: jocafa: the cure for that is finally writing a good GC for java. https://twitter.com/#!/CodeWisdom/status/128982694163005440
[18:35] smathy has joined the channel
[18:36] jocafa: XD
[18:36] isaacs: vdemedes: so, my concern here is that packager doesn't actually create a package.json for you.
[18:36] vdemedes: isaacs: http://pastie.org/2774560
[18:37] vdemedes: isaacs: no, it does not
[18:37] isaacs: vdemedes: it'd be nice if running `packager` the first time actually created a package.json file, and then just ran `npm install`
[18:37] vdemedes: isaacs: Packager just installs listed packages
[18:37] isaacs: vdemedes: right, but that means it'll also re-install if something isn't necessary, etc.
[18:37] vicapow has joined the channel
[18:37] vdemedes: isaacs: it will run 'npm install' on each package name
[18:38] vicapow: hey, any node js meet ups happening tomorrow around San Fran?
[18:38] isaacs: vdemedes: you could have it provide sane defaults for all the fields that you might not care about (name, version, description, etc.) if they're not already set.
[18:38] isaacs: and then package 'foo', 'range' would get dropped into the dependencies hash.
[18:38] wrongle_ has joined the channel
[18:39] isaacs: have you seen https://github.com/feisty/courier?
[18:39] isaacs: it's similar.
[18:39] vdemedes: isaacs: you're talking about package.json integration?
[18:39] isaacs: vdemedes: yeah.
[18:39] isaacs: vdemedes: like a much much nicer `npm init`, basically
[18:39] vdemedes: isaacs: no, its different
[18:39] isaacs: right, well, courier just translates a package.coffee script into a package.json
[18:40] isaacs: you're talking about something much smarter.
[18:40] isaacs: i totally get that.
[18:40] jocafa: hooray for new laptop
[18:40] vdemedes: isaacs: http://gembundler.com/
[18:40] isaacs: vdemedes: i've seen bundler.
[18:40] saesh has joined the channel
[18:40] vdemedes: isaacs: I just don't know how to explain you what Packager does
[18:40] vdemedes: let me think
[18:40] stephank: I don't think NPM lacks any functionality Bundler/Packager has, but I do like Bundler/Packager's format better. Quite honestly, I despise writing JSON by hand.
[18:40] jocafa: stephank: beats xml hehe
[18:41] mAritz has joined the channel
[18:41] jocafa: i want to punch the people that designed ant
[18:41] stephank: Really, XML is better in my opinion. Never mind ant, I agree that's awful.
[18:41] vdemedes: I think stephank got my idea
[18:41] tjholowaychuk: that's what project templates are for. cp -f ../package.json package.json
[18:41] isaacs: vdemedes: yeah, totally, i do too.
[18:41] tjholowaychuk: doesn't need to be complicated
[18:41] tjholowaychuk: writing json is somewhat annoying, so dont do it
[18:41] isaacs: vdemedes: i'm trying to help you make packager more awesome and powerful :)
[18:42] isaacs: ACTION kinda digs writing json, but is odd.
[18:42] jocafa: stephank: better in what ways and for what? i'm curious to know your opinion
[18:42] vdemedes: isaacs: Packager is not for package.json
[18:42] tjholowaychuk: i dont mind it either, i just forget what other values i should have in package.json sometimes
[18:42] isaacs: vdemedes: you could use the same exact format, but use npm more efficiently, by writing a package.json file programmatically.
[18:42] jaequery has joined the channel
[18:43] isaacs: vdemedes: it would also set the user up to be ready to publish their package, or extend the package.json file by hand if there is something that Packager doesn't do that they need.
[18:43] vdemedes: ok, I got your idea
[18:43] vdemedes: awesome!
[18:43] vdemedes: I will do it right now!
[18:43] isaacs: right?!
[18:43] vdemedes: isaacs: thank you!
[18:43] isaacs: hahaha
[18:43] stephank: jocafa: Mostly, I dislike that comma's are only ever there to separate things, and spurious comma after the last element in a map/array is immediately an error. Makes moving lines around error prone, unless you use that weird comma-at-line-start convention. But the abundance of quotes is also a pain.
[18:43] isaacs: mimicking ruby is not enough. we must outdo ruby's tools, every time.
[18:44] stephank: jocafa: XML is at least something that feels natural when you're already writing HTML by hand.
[18:44] isaacs: stephank: yeah, it would've been nice if yaml had caught on, or un-quoted json
[18:44] gkatsev: comma first ftw!
[18:44] isaacs: at least unquoted keys
[18:44] stephank: isaacs: npm install libyaml ;)
[18:44] isaacs: but yeah, comma-first is nice :)
[18:44] isaacs: stephank: i mean, from a language point of view.
[18:44] gkatsev: also, semicolon-less
[18:45] isaacs: json has a very first-class status in js
[18:45] isaacs: and it's easier to parse than yaml
[18:45] stephank: definitely
[18:45] metellus has joined the channel
[18:45] gkatsev: isaacs: I started doing comma first and semicolon-less after seeing NPM source
[18:45] gkatsev: (last year)
[18:45] isaacs: ACTION 's plan is working...
[18:45] gkatsev: :D
[18:45] gkatsev: it's nice
[18:46] tjholowaychuk: vdemedes why dont you use bash?
[18:46] tjholowaychuk: name mypackage
[18:46] tjholowaychuk: module express 2.4.x
[18:46] tjholowaychuk: module connect
[18:46] tjholowaychuk: package(1) could just do
[18:46] lbiffin has left the channel
[18:46] tjholowaychuk: . ./package
[18:47] tjholowaychuk: and module/name etc could just >> to package.json
[18:47] tjholowaychuk: i dunn
[18:47] tjholowaychuk: o
[18:47] tjholowaychuk: seems major overkill to me
[18:47] isaacs: tjholowaychuk: i dunno, it'd probably be less error-prone to parse the file in JS, build up an object, and then dump out the JSON.stringify(obj)
[18:47] isaacs: tjholowaychuk: *writing* valid json is non-trivial
[18:47] isaacs: escaping and quotes and \n and shit
[18:48] tjholowaychuk: but who adds those to a package.json
[18:48] alessioalex has joined the channel
[18:48] trose: http://sambro.is-super-awesome.com/2011/03/03/creating-a-proper-buffer-in-a-node-c-addon/ I'm following this tutorial for creating a buffer in a node module. I'm not sure what length i should use for my buffer. In the example they use the length of the data they are inserting into the buffer. Is this something I can arbitrarily set to say... 100kb or MUST the buffer be the same size at the data going into it?
[18:49] alessioalex: ACTION hey people
[18:49] pagameba: whats the best way to clean up deeply nested async calls? Promises? Futures? Something else?
[18:49] AvianFlu: pagameba: name your callbacks instead of inlining them
[18:50] isaacs: vdemedes: i'd ditch the coffee-script, though. you only have a few fields, may as well just parse the file line-by-line, and do whatever based on the first word in the line
[18:50] isaacs: vdemedes: but, now i'm getting presumptuous. have fun :)
[18:50] Yuffster has joined the channel
[18:50] stephank: Perhaps a real function Bundler has that NPM doesn't: flattening the dependency hierarchy. It'd be nice to have for packaging a project before transferring/deploying.
[18:50] pagameba: AvianFlu: ok thx
[18:50] isaacs: stephank: you cannot reliably flatten the dependency hierarchy
[18:51] tjholowaychuk: stephank that's a ruby flaw
[18:51] tjholowaychuk: or gem or whatever
[18:51] vdemedes: isaacs: hah, thanks
[18:51] stephank: isaacs: example?
[18:51] isaacs: stephank: Bundler has this "feature" because rubygems lacks the ability to handle version conflicts properly.
[18:51] isaacs: stephank: http://npmjs.org/doc/folders.html#Cycles-Conflicts-and-Folder-Parsimony
[18:53] Me1000 has joined the channel
[18:53] boonrumor has joined the channel
[18:54] isaacs: stephank: also: http://npmjs.org/doc/install.html#Limitations-of-npm-s-Install-Algorithm
[18:54] markwubben has joined the channel
[18:55] isaacs: lest you get the impression that i believe npm's approach to be free of limitations :)
[18:55] EhevuTov has joined the channel
[18:56] sh1mmer has joined the channel
[18:56] saesh has joined the channel
[18:56] edenli has joined the channel
[18:56] zeade has joined the channel
[18:57] avdg: is there a way to run gc without using plugins in node 0.4.x?
[18:57] Margle has joined the channel
[18:57] TheJH: avdg, run gc?
[18:58] TheJH: avdg, you know that gc runs automatically when needed, right?
[18:58] avdg: yeah, I'm doing heavy cpu work (yes, its not really what node.js really is designed for)
[18:58] stephank: isaacs: It's nice to have NPM cover the corner case of conflicting versions, but I try to avoid that like the plague. Bundler simply errors, and I wouldn't mind if a NPM flatten utility would do the same.
[18:58] isaacs: stephank: write it ;)
[18:58] stephank: I might soon. :)
[18:58] isaacs: stephank: i'm not sure what kind of "optimization" it really is,t hough
[18:59] isaacs: i mean, what does it save you, really?
[18:59] avdg: The_JH: I have a case where I probably could predict better when to run gc ;-)
[18:59] stephank: Mostly just space and neat packaging, nothing special
[18:59] tjholowaychuk: ACTION doesn't get why package.json is so hard
[18:59] stephank: I like to concern myself with space when I transfer stuff. :)
[19:00] isaacs: stephank: "neat" is an esthetic preference, and like most esthetic preferences, it can be modified. space is a non-issue most of the time, especially if you're transferring gzipped tarballs.
[19:00] avdg: but if the answer is that there is no way to do it, I'll be fine as well
[19:00] isaacs: i kind of think it's neater to only see *my* deps at the top-level.
[19:01] LifterAH has joined the channel
[19:01] stephank: isaacs: And yet at the same time, NPM is super careful not to redownload packages. I see that as the same issue.
[19:01] stephank: It definitely is neater in development, but I'm thinking deployment/distributable.
[19:01] isaacs: stephank: that's because of the overhead of another http request.
[19:01] isaacs: (which npm makes WAY too many of as it is)
[19:01] TheJH: avdg, you can use the --expose_gc flag if you're really sure that you're doing the right thing - however, are you sure it won't just kill your performance?
[19:02] strax has joined the channel
[19:02] isaacs: it'd be nice, though, to have some kind of utility that would push-left any dependencies that are repeated.
[19:02] isaacs: or, repeat-able
[19:02] isaacs: like, if you depend on foo and bar, and both depend on baz, it'd install baz at the top level, and only have one copy, if possible.
[19:02] jacobolus has joined the channel
[19:02] isaacs: maybe also add it to your package.json
[19:03] isaacs: but, skip over any that would conflict (or, just pick one, and let npm sort it out later)
[19:03] stephank: Definitely not edit my package.json without asking. :)
[19:03] isaacs: suresutre
[19:03] isaacs: maybe a confirm step or soemthing. it's your program :)
[19:04] stephank: Well, if foo loses the baz dependency at some newer version, it shouldn't be lingering in my package.json. It should only be in bar's.
[19:04] mmalecki: stephank: check out require-analyzer
[19:04] stephank: You know one, I'll take back my dep flattening, there's a huge potential for misuse. :p
[19:04] stephank: know what*
[19:04] avdg: TheJH: Let me check that option, ty (and no I'm pretty confidence it won't kill performance, because its a time based cpu operation)
[19:05] isaacs: stephank: right, so it should have some kind of way to determine which deps were injected by your thing (maybe an additional field in package.json, or something like that), and then have a prune step to remove anything that is left behind?
[19:05] martin_sunset has joined the channel
[19:05] isaacs: stephank: that's why there's no dep flattening in npm ;)
[19:05] isaacs: stephank: it's too confusing.
[19:05] stephank: mmalecki: Ooh, I may have good use for that, thanks! :)
[19:06] stephank: isaacs: Yeah, it is. :B
[19:06] isaacs: the sibling-sharing is important, though. it used to repeat anything that wasn't a direct ancestor, but then i wrote node-tap, which has like 10 submodules that pretty much all require each other...
[19:06] eyeOfKdng has joined the channel
[19:06] blissdev has joined the channel
[19:07] isaacs: took 5 minutes to run `npm install`, and something like 100 packages got installed.
[19:07] stephank: haha
[19:07] stephank: node-tap is awesome though, just got on that train
[19:07] isaacs: i mean, space is free, yeah, but time sure isn't.
[19:08] srid has left the channel
[19:08] stephank: It's why I thought flattening would be useful. I'm putting effort into splitting a larger project up into tiny modules, much the size of tap's. It seemed useful to have a utility that'd get rid of the redundancy before packaging.
[19:09] stephank: But I suppose the gains are minimal compared to the confusion it'd cause.
[19:10] Aikar: <@isaacs> the sibling-sharing is important, though. it used to repeat anything that wasn't a direct ancestor, but then i wrote node-tap, which has like 10 submodules that pretty much all require each other...
[19:10] vdemedes: isaacs: done!
[19:10] Aikar: clarify please?
[19:10] vdemedes: isaacs: now, Packager generates package.json also
[19:10] isaacs: vdemedes: rock on!
[19:11] vdemedes: isaacs: https://github.com/vdemedes/node-packager
[19:11] vdemedes: isaacs: check out Readme
[19:11] springmeyer has joined the channel
[19:11] eyeOfKdng has joined the channel
[19:12] isaacs: Aikar: so, i've got this, right: https://gist.github.com/1323183
[19:12] isaacs: that's after `npm install tap`
[19:12] vdemedes: isaacs: what do you think?
[19:13] CarterL has joined the channel
[19:13] Aikar: isaacs: say you have a main project, and want to publish optional extensions as npm modules, and each of those require() the main library and then modify it (extend prototype etc), how do you propose doing that if a is main lib, b,c,d is submodules that depend on a, if you npm install b,c,d, wont each of those get an a submodule?
[19:13] isaacs: tap-test depends on tap-harness, and tap-consumer, and tap-producer, and tap-assert. tap-harness depends on producer and consumer and test. consumer depends on yamlish and etc.
[19:14] Aikar: which would be broken
[19:14] hackband has joined the channel
[19:15] isaacs: Aikar: optional deps and peer deps (both of which are sometimes referred to as "plugins", but are in fact quite different) are not yet supported very well, but planned.
[19:15] Aikar: does installing a first then b,c,d handle it correctly?
[19:15] sh1m has joined the channel
[19:15] isaacs: yes, it would.
[19:15] isaacs: b,c,d won't install a separate copy of "a" if they don't have to
[19:15] isaacs: what you really want to do, though, is have b,c,d say "I need 'a' to be installed, not under me, but next to me, and it must be version xyz"
[19:15] isaacs: and then handle the conflict.
[19:16] Aikar: yeah. so like a configurable flattening
[19:16] isaacs: yeah.
[19:16] JP has joined the channel
[19:16] isaacs: this is especially important with express plugins.
[19:16] Aikar: this is something that blew me the hell up with joose
[19:16] Aikar: trying to install its plugins
[19:16] Aikar: i had to then go rm -rf the submodules :/
[19:16] isaacs: they work with a specific version of express, but putting that version of express *underneath* the plugin doesn't help.
[19:16] tjholowaychuk: yeah that's tricky right now
[19:16] tjholowaychuk: same with stylus/nib etc
[19:16] isaacs: yep
[19:17] isaacs: peerDependencies is the way to tackle that problem.
[19:17] isaacs: just haven't gotten to it yet. windows is higher priority right now.
[19:17] Aikar: thats in npm now?
[19:17] Aikar: oh ok
[19:17] isaacs: speaking of which...
[19:17] isaacs: ACTION back to work..
[19:17] Aikar: im working on a system thatll also have plugins like were discussing... so wanted to know how to solve that issue
[19:18] hij1nx has joined the channel
[19:18] dnyy_ has joined the channel
[19:18] boonrumor has joined the channel
[19:19] vicapow: anyone have experience with creating native c++ modules?
[19:19] vicapow: I'm just getting my feet wet but I've run into this error following the simple example on nodejs.org
[19:19] vicapow: Build failed: -> task failed (err #1):
[19:19] vicapow: {task: cxx hello.cc -> hello_1.o}
[19:21] amiller has joined the channel
[19:21] TheFuzzball has joined the channel
[19:23] zeade has joined the channel
[19:25] reid has joined the channel
[19:25] sh1mmer: vicapow: gist the code?
[19:25] sh1mmer: oh literally the code off the web site?
[19:25] vicapow: sh1mmer: yeah.
[19:25] sh1mmer: hm
[19:25] sh1mmer: any other info?
[19:26] vicapow: let me try updating my version of node first. I'm still on 0.4.8
[19:27] sh1mmer: 0.6 is going to drop really soon
[19:28] sh1mmer: so you should be doing everything on 0.5 now
[19:28] sh1mmer: if you can
[19:29] hij1nx has joined the channel
[19:30] aheckmann has joined the channel
[19:31] boonrumor has joined the channel
[19:32] fly-away has joined the channel
[19:33] eyeOfKdng has joined the channel
[19:34] dylang_ has joined the channel
[19:34] enmand_ has joined the channel
[19:35] eyeOfKdng has joined the channel
[19:36] vicapow: sh1mmer: for some reason when I compiled node, and ran make install it did not override by previous node binary
[19:36] mike5w3c has joined the channel
[19:36] eyeOfKdng has joined the channel
[19:37] sh1mmer: where did you install it last
[19:37] sh1mmer: did you configure the correct path?
[19:37] vicapow: "which node" returns /opt/local/bin/node
[19:37] vicapow: i just ran configure :P
[19:37] optixx has joined the channel
[19:38] avdg: vicapow: maybe you have to restart your console
[19:38] vicapow: avdg: i just tried that with no luck
[19:39] trose: anyone have experience creating node modules? If I modify c++ code in a node module how/where do i compile it to?
[19:39] avdg: vicapow: can you execute it with the full path?
[19:39] avdg: (that would be the last shot I can give)
[19:39] avdg: the dirty way would be to add it to the PATH :/
[19:40] vicapow: avdg: then there would be two different node binaries
[19:40] eyeOfKdng has joined the channel
[19:40] vicapow: there's got to be a way to configure the installation to install it at /opt/local/bin
[19:40] wbednarski has joined the channel
[19:40] trose: I'm just trying to test the module at this point...
[19:40] Danielss89: I am keeping track on my online users by adding them to an array when they connect and removing them when disconnecting. Is that the correct way of doing that?
[19:40] jstash: trose you have a wscript?
[19:41] trose: jstash, yeah, do i just run that?
[19:41] ceej has joined the channel
[19:41] jstash: node-waf
[19:41] vicapow: trose: this is actually what I'm interested in also. did you check this page? http://nodejs.org/docs/v0.5.10/api/addons.html
[19:41] Fredderf has joined the channel
[19:42] eyeOfKdng has joined the channel
[19:42] ReinH: why would node not be able to find a module I've installed globally?
[19:43] trose: vicapow, thanks for the link. I'm still learning :D
[19:43] trose: jstash, awesome, that works....damnit i have errors!
[19:43] trose: XD
[19:43] wadey has joined the channel
[19:43] ReinH: NODE_PATH I assume
[19:43] TooTallNate has joined the channel
[19:44] ninjapig has joined the channel
[19:46] eyeOfKdng has joined the channel
[19:46] ReinH: ok, I installed capt with npm install -g capt but when I run it it can't find a required module (glob)
[19:46] ReinH: NODE_PATH seems to have nothing to do with this?
[19:46] ReinH: reading http://npmjs.org/doc/global.html atm
[19:49] ReinH: did not answer my question, which is: `sudo npm install -g capt; capt new test` => Error: Cannot find module '../build/default/glob'
[19:49] boltR has joined the channel
[19:50] ReinH: even though `test -d /usr/lib/node_modules/glob; echo $?` => 0
[19:51] ReinH: and echo $NODE_PATH" => /usr/lib/node_modules, which is also node root -g
[19:51] trose: okay so I have a tutorial about how to go from a Node::Buffer to a V8::Buffer which is apparently faster. I'm working with a C xmlOutputBuffer however. Anyone happen to know how I might go from the C Buffer to one of the other two? Could I do some sort of deep copy or maybe pipe it into the other buffer?
[19:52] ReinH: `npm --version` => 1.0.17
[19:55] whitman has joined the channel
[19:56] Sami_ZzZ_ has joined the channel
[19:57] mcluskydodallas has joined the channel
[19:57] trose: would it be somehow possible to pipe the data from an xmlOutputBuffer to a Node::Buffer?
[19:58] jstash: what's an xmlOutputBuffer? just some char* ?
[19:59] hellp has joined the channel
[19:59] vineyard has joined the channel
[20:00] jstash: here's how i found it implemented in node-compress: https://github.com/stash/node-compress/blob/master/src/zlib.h#L428
[20:00] nibblebot has joined the channel
[20:01] jstash: the Blob type is just some malloc'd bytes with a length (accessors: .data() and .length())
[20:01] jstash: (note: don't use this module; gzip is implemented in node core in 0.5/0.6)
[20:02] Danielss89: I am keeping track on my online users by adding them to an array when they connect and removing them when disconnecting. Is that the correct way of doing that?
[20:02] Danielss89: or is that a socket.io question?
[20:02] Danielss89: guess it is..
[20:02] Me1000 has joined the channel
[20:02] jstash: trose: is it this? http://xmlsoft.org/html/libxml-tree.html#xmlOutputBuffer
[20:03] yozgrahame has joined the channel
[20:03] trose: jstash, yes
[20:04] jstash: if so, probably just make a SlowBuffer from the buffer and len (memcpy)
[20:05] jstash: or make one big SlowBuffer and slice Buffers off of that.
[20:05] nrajlich has joined the channel
[20:05] trose: make a SlowBuffer from the buffer? do you mean create an empty slowbuffer and user memcpy to copy the xmlOutputBuffer?
[20:05] jstash: yeah
[20:05] trose: jstash, okay
[20:06] trose: jstash, I'll give that a try.
[20:07] hackband has joined the channel
[20:07] StanlySoManly1 has joined the channel
[20:10] trose: jstash, what would I use for the data param of memcpy???
[20:10] booo has joined the channel
[20:10] trose: xmlOutputBuffer.xmlBuffer.content?
[20:10] jstash: xmlOutputWriteCallback gets a buffer and len
[20:10] captain_morgan has joined the channel
[20:10] trose: ahhhhhh
[20:11] trose: sorry, i haven't dude c++ in years and even then i got a B in that class ;)
[20:11] jstash: :)
[20:11] trose: s/dude/done/
[20:11] jstash: trose: have you seen https://github.com/polotek/libxmljs ?
[20:12] trose: no
[20:12] trose: ACTION reading
[20:12] jstash: the docs aren't that great, but it may be helpful
[20:12] jstash: i'm not sure if there's a stream implementation in there
[20:13] CIA-48: node: 03Ben Noordhuis 07master * r1d94d4f 10/ doc/index.html : docs: fix home page link to API docs - http://git.io/yxo79A
[20:13] trose: jstash, I need the xslt stuff too :/
[20:13] trose: maybe i can gleam info from their source though
[20:13] trose: thanks
[20:13] jstash: right, but libxml2 and libxslt are siblings, right?
[20:13] jstash: s/right, //
[20:14] jstash: hope that helps, gotta get back to $WORK
[20:14] strax: guys, how do i make a http server that auto-upgrades to https?
[20:22] wadey has joined the channel
[20:22] dshaw_ has joined the channel
[20:22] StanlySoManly has joined the channel
[20:22] vicapow: so now i updated to Node 5.10
[20:23] vicapow: but I'm still getting the same error when trying to create a c++ module
[20:23] stagas has joined the channel
[20:23] vicapow: http://pastebin.com/25Bk5kwP
[20:24] vicapow: here's the example I'm attempting to follow: http://nodejs.org/docs/v0.5.10/api/addons.html
[20:24] Venom_X has joined the channel
[20:28] jstash: vicapow: ah, that example is missing the 2nd parameter: the name of the method as exposed to javascript
[20:29] jstash: NODE_SET_METHOD(target, 'howJavaScriptSeesIt', WhatToCallInCpp)
[20:29] xonix has joined the channel
[20:29] b_i_d has joined the channel
[20:29] vicapow: jstash: cool. thanks for the help
[20:29] vicapow: i wonder how we can fix that example
[20:29] xonix: wow so many users impressiv
[20:29] ohtogo has joined the channel
[20:29] jstash: good q. pull request or issue?
[20:31] franciscallo has joined the channel
[20:31] Tobsn has joined the channel
[20:32] CIA-48: node: 03Zachary Scott 07master * re35ce7b 10/ doc/api/tty.markdown : docs: tty: stdin must be initialized before calling setRawMode - http://git.io/pppnGA
[20:33] Isaiah has joined the channel
[20:35] trose: is there a way to debug seg faults running with node or do i need to write a c++ test program?
[20:35] jstash: just gdb/mdb
[20:35] bnoordhuis: trose: `./configure --debug`, then `gdb --args /path/to/node_g script.js`
[20:37] b_i_d: Hi everyone. I've searched everywhere and just can't find the answer: I'm spawning a perl script as a child-process (to send and receive data in realtime). The sending works, but the receiving works only after I quit the perl script. So I guess it doesn't write its output to stdout. It works in the terminal though. How do I get that output in Node?
[20:37] CIA-48: node: 03Ben Noordhuis 07master * r004e6fb 10/ doc/api/addons.markdown : docs: addons: fix NODE_SET_METHOD example - http://git.io/43tqNg
[20:38] aguynamedben has left the channel
[20:38] bnoordhuis: jstash: ^
[20:38] jstash: bnordhuis++
[20:38] v8bot_: jstash has given a beer to bnordhuis. bnordhuis now has 1 beers.
[20:38] jstash: oops
[20:38] jstash: bnoordhuis++
[20:38] catb0t: bnoordhuis now has 1 beer
[20:38] v8bot_: jstash has given a beer to bnoordhuis. bnoordhuis now has 2 beers.
[20:39] trose: bnoordhuis, um... where is that configure file?
[20:39] jstash: node source tree
[20:39] sineltor has joined the channel
[20:39] trose: oh
[20:41] Migaaresno has left the channel
[20:43] AaronMT has joined the channel
[20:43] trose: jstash, ah... i still don't see a configure script
[20:44] trose: what the heck?
[20:44] trose: path pls?
[20:44] jstash: should be right where you built node from
[20:44] thejefflarson has joined the channel
[20:44] jstash: if you didn't build node from source (or installed it from an OS package) you might already have debug symbols
[20:45] trose: i installed with n
[20:45] dshaw_ has joined the channel
[20:46] b_i_d: Are there any tutorials or at least more infos how to use the TTY module? The official docs are not really helpful on that. And even google failed me... ;)
[20:48] jstash: possibly related, is there a way to read a password from a tty without echoing?
[20:48] tilgovi has joined the channel
[20:49] tjholowaychuk: jstash https://github.com/visionmedia/commander.js/blob/master/lib/commander.js#L734
[20:49] hij1nx has joined the channel
[20:49] jstash: yay!
[20:49] tjholowaychuk: bit of a hack but hey
[20:49] jstash: but hey, so's my command-line set password script ;)
[20:49] b_i_d: My hope is that I can open a vitual terminal to interact with a perl script that doesn't write to stdout. Maybe that idea is stupid, but I just started with node.js this week. ;)
[20:50] trose: jstash, maybe a dumb question but is node_g different than node in some way?
[20:50] jstash: trose: maybe the _g means with debug symbols? haven't heard of it before
[20:51] jstash: (gcc -g gives debug symbols, so _g is non-stripped?)
[20:51] aliem has joined the channel
[20:54] trose: jstash, huh so i got gdb to run node but it's looking for my views in /usr/bin O.o
[20:54] trose: lol
[20:55] jstash: no idea what that means. use NODE_PATH?
[20:56] trose: sorry, I meant my .jade files. I have them under my server directory in /view
[20:56] trose: so running under gdb it's looking for index.jade in /usr/bin/views :P
[20:56] trose: oy vie
[20:57] trose: well a problem for monday i guess
[20:57] trose: lol weekend here i come
[20:57] trose: jstash, thanks for all the help
[20:57] jstash: yw
[21:01] tiagobutzke has joined the channel
[21:02] martin_sunset has joined the channel
[21:02] joc has joined the channel
[21:03] skm has joined the channel
[21:04] pagameba has joined the channel
[21:06] futini has joined the channel
[21:07] guillermo has joined the channel
[21:08] Hounth has joined the channel
[21:09] gxdssoft has joined the channel
[21:09] zmbmartin has joined the channel
[21:10] enmand has joined the channel
[21:11] patcito has joined the channel
[21:11] pagameba1 has joined the channel
[21:11] pagameba1 has left the channel
[21:12] Morkel has joined the channel
[21:12] nibblebo_ has joined the channel
[21:14] saschagehlich has joined the channel
[21:14] b_i_d: I don't get it. If a perl script does a "print", that output should go to stdout, shouldn't it? So why is the data-event in my child_process only fired AFTER the perl script terminates? I need the ouput in realtime not after terminating the perl script...
[21:14] b_i_d: Node.js! I'm your user! Obey me!
[21:14] jstash: b_i_d: $/=1 ?
[21:14] tiagobutzke has joined the channel
[21:15] jstash: (autoflush)
[21:15] jstash: b_i_d: perl buffers prints unless autoflush is turned on
[21:15] webjay has joined the channel
[21:16] nibblebot has joined the channel
[21:16] jstash: $/=1 near the top of your perl script should turn it on (see: perldoc perlvar if you're not already familiar)
[21:16] b_i_d: Hmmmm... But why does the perl script work correctly if I start it on the terminal. Is autoflush on by default then?
[21:16] AvianFlu_ has joined the channel
[21:16] bnoordhuis: b_i_d: are you using .exec() or .spawn()?
[21:16] b_i_d: It's not my script. I would have done it in Node instead of mixing different languages. ;)
[21:17] b_i_d: .spawn
[21:17] ppcano has joined the channel
[21:17] jstash: oops, i meant $| not $/
[21:18] jstash: too long away from perl, lol
[21:18] bnoordhuis: b_i_d: have you set up data listeners on the stdout and stderr streams?
[21:18] jstash: you can fake out an existing script with `perl -e '$|=1; do /path/to/script'`
[21:18] b_i_d: The perl script is the AI interface from http://www.rivescript.com Just started with building an AI in Node.js
[21:18] jstash: er, path in quotes.
[21:19] b_i_d: That sounds good. Will try that. I just started with node.js this week and NEVER used perl at all. So I'll try everything right now. :D
[21:20] jstash: konobi: you may shun me now.
[21:21] b_i_d: bnoordhuis: Yeah. I've set listeners and they seem to work. But only after I terminate the perl script. So I can't use a statefull session to rivescript.
[21:21] murilobr has joined the channel
[21:22] bnoordhuis: b_i_d: simple check: run it through `strace` and see if the node process actually receives data from the child process
[21:22] Dulak has joined the channel
[21:22] jstash: good idea; if it's not then the script probably isn't flushing
[21:23] boltR has joined the channel
[21:23] dubenstein has joined the channel
[21:24] Shinigami has joined the channel
[21:24] Shinigami: hey guys
[21:25] b_i_d: I can say that the 'data' event isn't fired at all. As soon as it write "/quit" to exit the perl script, it fires and I get all the output for the whole session. So not flushing sounds like a good idea.
[21:25] mandric has joined the channel
[21:25] jiggliemon has joined the channel
[21:25] jiggliemon: Jello.
[21:25] jiggliemon: Anyone using joynet?
[21:25] jiggliemon: for project hosting?
[21:25] hij1nx has joined the channel
[21:25] jiggliemon: We're trying to get two users to push to it.
[21:26] bnoordhuis: jiggliemon: joynet or joyent?
[21:26] jiggliemon: joyent
[21:27] jiggliemon: Wait a min...
[21:27] bnoordhuis: i use joyent
[21:27] bnoordhuis: but i also work for joyent
[21:28] jiggliemon: bnoordhuis: HS.
[21:28] jiggliemon: I had to add that host config to my .ssh/config.
[21:28] jiggliemon: we're all good!
[21:28] jiggliemon: Thanks for the response though.
[21:29] bnoordhuis: jiggliemon: np :)
[21:29] devongovett has joined the channel
[21:29] MatthewS has joined the channel
[21:29] Isaiah has joined the channel
[21:30] smathy has joined the channel
[21:30] mmalecki: can I populate some variables into module namespace withouth executing the module itself?
[21:31] mmalecki: s/without/before/
[21:31] bnoordhuis: mmalecki: no... why would you want to do that?
[21:31] jstash: maybe process.env or global for defaults instead?
[21:32] mmalecki: bnoordhuis: I have to populate some variables into core tests I'm shamelessly stealing for node-http-proxy
[21:32] lbiffin has joined the channel
[21:33] mmalecki: bnoordhuis: like, I need to set some properties on my proxy object in this test
[21:33] lbiffin: Will calling a synchronous function inside of an event callback (or other callback) cause blocking in a system?
[21:33] vkandy has joined the channel
[21:34] mmalecki: jstash: unfortunately, I need an object
[21:34] bnoordhuis: mmalecki: okay... well, you can't
[21:34] skm has joined the channel
[21:34] bnoordhuis: lbiffin: if that sync function blocks on e.g. i/o then yes
[21:34] Dulak: lbiffin: anytime you call a synchronous function it will block, no matter where it is. That's kind of the point of the sync version of things
[21:35] mmalecki: bnoordhuis, jstash: thanks anyway :)
[21:36] mmalecki: hm. vm could be a way
[21:36] mmalecki: it's not really this, but well
[21:36] aguynamedben has joined the channel
[21:36] lbiffin: That's what I was thinking, as it seems fairly obvious. This would lead into the question: Is there ever a safe way to use a sync / blocking function in a multi-client environment (thinking HTTP server request)?
[21:36] baudehlo1 has joined the channel
[21:37] TooTallNate has joined the channel
[21:38] Dulak: lbiffin: You use the sync version when you have to block, say to get some piece of data that is required to continue. For example reading a config file from the filesystem, if you need that data to keep going, you use the sync function and block until you have what you need.
[21:41] mailtruck has joined the channel
[21:41] TheJH: lbiffin, you can use sync functions to initialize stuff before you start up anything that actually has to answer requests or so
[21:41] skoom has joined the channel
[21:42] TheJH: lbiffin, before your http server starts to listen, reading stuff (like config files) sync normally is not exactly bad and it makes code easier
[21:43] lbiffin: Dulak: Yes, of course. My question is just without concept and not for real-world use; I'm just wondering if it's possible to execute blocking operations without blocking, if that makes sense. Say, if I spawn a child-process to handle something that would be considered blocking, that won't block the parent process, correct?
[21:43] TheJH: lbiffin, but then again, you could just use streamline or so :D
[21:43] tylerstalder has joined the channel
[21:43] cgfuh has joined the channel
[21:43] b_i_d: YES! jstash, you're the man! Adding "$| =1;" to the perl script solved the problem I was working on for 2 days! :)
[21:43] eyeOfKdng has joined the channel
[21:43] jstash: woo!
[21:44] ryanrolds_w has joined the channel
[21:44] TheJH: lbiffin, "blocking without blocking" can be done with fibers in one process. and streamline also looks kind of like that (although it only does source code transformation behind the scenes)
[21:44] b_i_d: And now I'm gonna kick the coder of rivescripts interpreter... :D
[21:44] lbiffin: TheJH: Thanks for the answer; That's how I generally handle things (sync functions during system startup, etc). My question relates to concept and possibility .. not really 'what should I do.' Sorry if that was unclear.
[21:44] mikedeboer has joined the channel
[21:45] jarek has joined the channel
[21:45] lbiffin: TheJH: Awesome, thank you! :)
[21:45] nils_r has joined the channel
[21:45] materialdesigner has joined the channel
[21:45] TheJH: lbiffin, however, handle fibers with care - in streamline, you can still see where magic happens, but with fibers, you can get nice race conditions
[21:47] lbiffin: TheJH: Thanks, I'll keep that in mind. Googling my fancy day away with the new info .. would you recommend any good resources for familiarizing with fibers?
[21:48] TheJH: lbiffin, I would suggest trying streamline instead - it should also work with browser-stuff (unlike fibers) and prevents weird race conditions
[21:48] lbiffin: TheJH: Thanks a ton!
[21:49] lbiffin: TheJH: For the record, you're the first person to be able to adequately answer this question for me. Much appreciated.
[21:49] CIA-48: node: 03Ben Noordhuis 07master * rccd8b55 10/ (src/platform_linux.cc wscript): linux: unbreak build if HAVE_MONOTONIC_CLOCK=0 - http://git.io/HIoFyg
[21:49] TheJH: lbiffin, but I am not very familiar with either of them - don't know how useful that is, but there's a bunch of threads on this topic and (dis)advantages on the mailing list
[21:49] lbiffin: TheJH, looks like I should give the mailing list a try.
[21:50] TheJH: lbiffin, together with flow control, I think it's one of the most often mentioned topics
[21:51] b_i_d: That whole blocking vs non-blocking business is hard to keep in mind, when you never done async stuff before. I still tend to use too many callbacks just to be sure. My first 2 programs in Node looked like the damn Great Pyramid of Giza. ;)
[21:51] lbiffin: TheJH, Odd .. maybe I've been asking in the wrong places. Good Node resources are scarce outside of this channel / the mailing list, but I'm also not very good at asking the right questions.
[21:51] pHcF has joined the channel
[21:52] Dulak: I liked the look of that await stuff someone grafted onto node but unless it ends up in vanilla node I'm not going through the patching everytime I update.
[21:54] futini has left the channel
[21:54] TheJH: lbiffin, https://github.com/Sage/streamlinejs has some info (also look at the wiki link)
[21:56] lbiffin: TheJH, fantastic, thanks again.
[21:56] sh1mmer has joined the channel
[21:56] TomY has joined the channel
[21:57] eyeOfKdng has joined the channel
[21:57] tlynn has joined the channel
[21:58] b_i_d: Blocking / Non-blocking: For now I use the rule of thumb: Every time I write "return" somewhere, I've done it wrong. Am I on the save side with that? ;)
[21:58] skoom has joined the channel
[21:58] boltR has joined the channel
[21:59] jhbot has joined the channel
[21:59] TheJH: b_i_d, no :D
[22:00] seanky has joined the channel
[22:00] Dulak: b_i_d: that's not a great rule of thumb, for instance if you want to chain method calls you'll be doing 'return this' all over
[22:00] TheJH: b_i_d, first thing, as long as you're not doing IO, sync is the way to go
[22:00] b_i_d: OK. That would have been too easy. So I still have to think while I code. :(
[22:00] davidbanham has joined the channel
[22:00] TheJH: b_i_d, second thing, "return" can be used for controlling program flow
[22:00] jstash: b_i_d: a better one would be "does this function take a callback as the last parameter?"
[22:00] TheJH: jstash++
[22:00] v8bot_: TheJH has given a beer to jstash. jstash now has 1 beers.
[22:00] lbiffin: That sounds right .. I've been curious about how to best deal with instance creation. when I have to do var something = new Something(), that's technically sync, right? So, should we just keep heavy execution out of constructors?
[22:00] jstash: (i.e. "am i using continuation-passing style")
[22:01] StanlySoManly1 has joined the channel
[22:01] bungler_ has joined the channel
[22:02] TheJH: lbiffin, not just keep it out of constructors. all code that's running in node blocks the process - you should not use node for cpu-heavy stuff
[22:02] ritch has joined the channel
[22:02] jstash: lbiffin: you can't use RAII-like patterns in node, so yes defer stuff you'd do in the constructor with a threaded language in other places (as late as possible)
[22:03] matt_c has joined the channel
[22:03] jstash: s/in other/to other/
[22:03] b_i_d: I'm working on an AI that may do A LOT of processing to find an answer and also call several webservices to find the needed info. So I really have to get my head around this.
[22:03] TheJH: b_i_d, will it be able to take over the world? :D
[22:03] b_i_d: Every little bit of blocking may be fatal. Especially when I open it up for multiple users later.
[22:04] jstash: scaling is more than just not blocking, too
[22:04] b_i_d: Don't know yet. Ask again when I'm working on the emotion plugin...
[22:04] lbiffin: I'm w/ b_i_d here .. I'm not doing anything CPU intensive at the moment, but I'd love to see some stuff on the Nodejs.org website with discussions on topics like these, rather than just the API docs.
[22:04] TheJH: b_i_d, the calling webservices part doesn't block the process (just to clarify)
[22:05] b_i_d: No, but if the info is needed to construct the answer to the user it does.
[22:05] TheJH: b_i_d, erm, what?
[22:05] EhevuTov has joined the channel
[22:06] b_i_d: It will use stuff like WordNet, OpenMind and so on to "understand" the question.
[22:07] b_i_d: So when it encounters words or concepts it doesn't know yet, it has to query these databases, before it can even start to work on the answer to the user.
[22:07] jstash: b_i_d, lbiffin: once you understand it, why don't you write a page for the wiki? ;)
[22:07] jstash: (if there's not something suitable already there)
[22:07] StanlySoManly has joined the channel
[22:07] jstash: (https://github.com/joyent/node/wiki)
[22:08] TheJH: b_i_d, but querying the database doesn't block the whole node process, it just makes your response-making code wait
[22:08] amiller has joined the channel
[22:08] b_i_d: May do that when I start trusting myself on that. :D
[22:08] lbiffin: Good idea :)
[22:08] b_i_d: TheJH: Yeah. Didn't make myself clear. Sorry.
[22:09] TheJH: lbiffin, if you want workers, you can always spawn new node instances and let them do the heavy work
[22:09] lbiffin: Hmm .. will look into that as well.
[22:09] bergie has joined the channel
[22:09] b_i_d: But that's what I ment: I have to do as much as possible in a non-blocking way, because there will be VERY much going on in the background.
[22:11] b_i_d: Every little bit of blocking could fuck up the whole system. Not for a single user, who waits for the answer anyway. But for multi-user blocking would be a killer.
[22:12] Danielss89: Any recommendations on the best mysql module out there?
[22:12] secoif has joined the channel
[22:13] tjbell has joined the channel
[22:14] jstash: I use the flexige one (`npm install mysql`). Seems OK, but I'm not using it for much
[22:14] jstash: s/flexige/felixge/
[22:17] dgathright has joined the channel
[22:19] b_i_d: You can run cloud9 on a localhost? Why didn't anybody tell me? ;)
[22:20] fmeyer has joined the channel
[22:20] b_i_d: I like http://coreh.github.com/nide/ but cloud9 looks great.
[22:24] dgathright has joined the channel
[22:30] efbenson has joined the channel
[22:32] davidwalsh has joined the channel
[22:33] stagas has joined the channel
[22:33] charlenopires has joined the channel
[22:34] hij1nx has joined the channel
[22:34] jsurfer_ has joined the channel
[22:36] cjm has joined the channel
[22:36] CIA-48: node: 03Igor Zinkovsky 07master * rf35a396 10/ (5 files in 2 dirs):
[22:36] CIA-48: node: Revert "remove node_io_watcher"
[22:36] CIA-48: node: This reverts commit cc2ac1ccc7724b920cbc7bbb777f057ac062028c. - http://git.io/stkuDg
[22:36] k1ttty has joined the channel
[22:37] isaacs: If you play this while you code, all your bugs are hilarious: http://www.televisiontunes.com/Benny_Hill_Show.html
[22:37] eyeOfKdng has joined the channel
[22:37] hipsterslapfight has joined the channel
[22:40] dylang has joined the channel
[22:40] boltR has joined the channel
[22:40] jstash: lol
[22:42] charlenopires has joined the channel
[22:43] tlynn_ has joined the channel
[22:43] eyeOfKdng has joined the channel
[22:44] piscisaureus_ has joined the channel
[22:44] davidbanham has joined the channel
[22:45] Dulak: is there any particular reason not to have multiple assertions in a single test? I can't seem to figure out if multiple modules is the way to go with 1 assertion per test or use the tests more like a module and have multiple assertions
[22:45] isaacs: Dulak: i usually have more than one assertion per test.
[22:46] tjholowaychuk: Dulak vows?
[22:46] Dulak: so for instance a single test of an object, but multiple assertions in the test to verify the object
[22:46] Dulak: tjholowaychuk: QUnit is the test suite I'm using
[22:46] tjholowaychuk: ah
[22:51] tjholowaychuk has joined the channel
[22:51] eyeOfKdng has joined the channel
[22:53] pandeiro has joined the channel
[22:54] CIA-48: libuv: 03Bert Belder 07master * r04b3c65 10/ uv.gyp : Add common.gypi to gyp-generated projects - http://git.io/slTwzg
[22:54] CIA-48: libuv: 03Bert Belder 07master * re9472fe 10/ (include/uv.h src/ares/config_win32/ares_config.h): Prepare libuv for shared library build - http://git.io/Ga5hvA
[22:54] CIA-48: libuv: 03Bert Belder 07master * rc985ea4 10/ (src/uv-common.c src/uv-common.h): Add uv__new_sys_error - http://git.io/SVJ10g
[22:54] CIA-48: libuv: 03Bert Belder 07master * r90e15f1 10/ (6 files in 5 dirs): Implement uv_dlopen and friends - http://git.io/5aFxVw
[22:58] boltR has joined the channel
[22:58] CIA-48: node: 03Igor Zinkovsky 07master * r5631549 10/ test/simple/test-child-process-double-pipe.js : fix simple/test-child-process-double-pipe on windows - http://git.io/rUncVw
[22:59] joshkehn has joined the channel
[22:59] joshkehn has left the channel
[23:02] ritch has left the channel
[23:05] dguttman has joined the channel
[23:05] Sorella has joined the channel
[23:07] quartzjer has joined the channel
[23:09] charlenopires_ has joined the channel
[23:10] CIA-48: node: 03Bert Belder 07master * ra56a95b 10/ src/node.h : Export some functions from node.h (+7 more commits...) - http://git.io/T7bXAA
[23:10] joshkehn has joined the channel
[23:10] joshkehn has left the channel
[23:11] materialdesigner has joined the channel
[23:11] isufy has joined the channel
[23:12] CIA-48: libuv: 03Ben Noordhuis 07master * re4d6509 10/ config-unix.mk : build: compile in dl.c on unix - http://git.io/cAyyYw
[23:14] eldios has joined the channel
[23:14] quartzjer has left the channel
[23:17] booo has joined the channel
[23:17] ShonM has joined the channel
[23:17] _unary has joined the channel
[23:18] kenperkins: today has been frustrating
[23:18] marcello3d has joined the channel
[23:19] SargoDarya: why?
[23:19] kenperkins: SargoDarya: fighting with qtwebkit and flash on ubuntu server
[23:20] ShonM: because cloud9 doesn't work on mobile? yeah, about that...
[23:20] SargoDarya: hm :/
[23:20] piscisaureus_ has joined the channel
[23:23] secoif: Anyone know how to write custom error handling code for express? I want it to send a non-500 message when it encounters things like invalid posted JSON
[23:24] rogerb has joined the channel
[23:26] zmbmartin: using parted if I leave a field blank this is what is entered --> ------WebKitFormBoundaryF2IrCjCmufELXiAYContent-Disposition: form-data; name="city"
[23:27] charlenopires has joined the channel
[23:29] rogerb: has anyone been succesful installing node-ffi with node 0.5.10 or later ?
[23:29] boltR has joined the channel
[23:30] chrislorenz has joined the channel
[23:30] blaenk has joined the channel
[23:30] blaenk has joined the channel
[23:31] neurodrone has joined the channel
[23:31] CIA-48: libuv: 03Ben Noordhuis 07master * red2b5e6 10/ src/unix/core.c : linux: use ioctl(FIONBIO) to set O_NONBLOCK, saves a syscall - http://git.io/EOOOYw
[23:33] langworthy has joined the channel
[23:33] Danielss89 has joined the channel
[23:34] ShonM has left the channel
[23:34] piscisaureus_ has joined the channel
[23:34] CIA-48: node: 03Bert Belder 07master * r60efa60 10/ deps/uv/config-unix.mk : Upgrade libuv to e4d6509211 - http://git.io/8OL6Fg
[23:34] sfoster has joined the channel
[23:37] markwubben has joined the channel
[23:39] daaku has left the channel
[23:39] EyePulp has joined the channel
[23:39] Danielss89 has joined the channel
[23:40] chrislorenz has joined the channel
[23:43] blup has joined the channel
[23:46] jacobolus has joined the channel
[23:49] CIA-48: libuv: 03Luis Lavena 07master * r99b512e 10/ src/win/tcp.c :
[23:49] CIA-48: libuv: Windows: use SO_KEEPALIVE instead of TCP_KEEPALIVE
[23:49] CIA-48: libuv: MinGW doesn't understand the latter. Closes GH-228. - http://git.io/jt3mFw
[23:50] devongovett has joined the channel
[23:53] eyeOfKdng has joined the channel
[23:55] euforic has joined the channel
[23:57] jsurfer has joined the channel
[23:59] saschagehlich has joined the channel
[23:59] blueadept: woah what node version are we on now?
[23:59] blueadept: ok topic
[23:59] blueadept: just did a npm update and all hell broke loose