[00:00] enmand_ has joined the channel [00:00] __tosh has joined the channel [00:01] clifton has joined the channel [00:01] miccolis has joined the channel [00:05] isaacs has joined the channel [00:06] chance-: http://stackoverflow.com/questions/7843660/node-js-expess-js-is-not-recognizing-static-routes incase anyone happens to glance at the gist above and sees what i'm missing ;( [00:06] devongovett has joined the channel [00:08] [[zz]] has joined the channel [00:09] ph^ has joined the channel [00:10] chance- has left the channel [00:10] KingJamool has joined the channel [00:10] replore has joined the channel [00:10] replore_ has joined the channel [00:11] jarek has joined the channel [00:11] jarek has joined the channel [00:12] spcshpopr8r has joined the channel [00:12] spcshpopr8r: hallo #node.js [00:12] coreb has left the channel [00:12] spcshpopr8r: quickly, is there a way to load a script at the node repl (sorry...I feel like I should know this) [00:13] bnoordhuis: spcshpopr8r: require('script.js')? [00:13] spcshpopr8r: dammit is it just require [00:13] spcshpopr8r: ah...man...I've been doing that...just used to `var something = require('somelib');` [00:14] spcshpopr8r: ACTION is embarrassed [00:14] spcshpopr8r: ACTION is tired [00:15] isaacs_ has joined the channel [00:15] zilch_ has joined the channel [00:16] jarek__ has joined the channel [00:17] marcello3d has joined the channel [00:19] Nuck: I should totally give all images on my site the file extension of "pngifpeg" [00:19] Nuck: (I pronounce it "p-n-jif-peg") [00:20] chia has joined the channel [00:22] AvianFlu has joined the channel [00:23] CIA-48: libuv: 03Ryan Dahl 07 * r2c7e8bb 10/ (include/uv.h src/unix/error.c src/win/error.c): Map EAI_NONAME to ENOENT - http://git.io/iSJXzA [00:24] replore has joined the channel [00:24] replore_ has joined the channel [00:28] rchavik has joined the channel [00:32] springmeyer has joined the channel [00:32] Kunda has joined the channel [00:32] AphelionZ has joined the channel [00:32] shipit_ has joined the channel [00:33] matt4447 has joined the channel [00:33] Druid_ has joined the channel [00:38] neurodrone has joined the channel [00:39] JakeyChan has joined the channel [00:42] jgornick has joined the channel [00:46] Namaste has joined the channel [00:46] brianseeders has joined the channel [00:47] JakeyChan_ has joined the channel [00:49] materialdesigner has joined the channel [00:50] guillermo has joined the channel [00:51] nibblebot has joined the channel [00:51] AvianFlu_ has joined the channel [00:51] smathy has joined the channel [00:53] ph^ has joined the channel [00:53] mikolo has joined the channel [00:54] DennisRas has joined the channel [00:54] luke` has joined the channel [00:55] jimt has joined the channel [01:00] joeyang has joined the channel [01:02] ryanfitz has joined the channel [01:02] jimt_ has joined the channel [01:03] CIA-48: node: 03Ryan Dahl 07 * rfb3cccc 10/ (3 files in 3 dirs): Upgrade libuv to 2c7e8bb - http://git.io/wUhvVg [01:03] CIA-48: node: 03Ryan Dahl 07 * rc83dda8 10/ (doc/api/dns.markdown lib/dns.js src/cares_wrap.cc): dns.lookup uses cares_wrap::GetAddrInfo - http://git.io/8VS5wQ [01:03] neoesque has joined the channel [01:05] CIA-48: node: 03Ben Noordhuis 07 * r30deb31 10/ (3 files in 3 dirs): WIP - http://git.io/hrVjzw [01:05] CIA-48: node: 03Ben Noordhuis 07 * rfa00e09 10/ benchmark/http_pump.js : http pump benchmark - http://git.io/IxE2HA [01:05] CIA-48: node: 03Ben Noordhuis 07 * r27ee567 10/ benchmark/http_pump.js : squash - http://git.io/20kbfg [01:08] metaverse has joined the channel [01:09] nickadeemus20021 has left the channel [01:10] willwhite has joined the channel [01:11] matt4447 has joined the channel [01:11] k1ttty has joined the channel [01:12] zackattack has joined the channel [01:13] zeade has joined the channel [01:13] jtsnow has joined the channel [01:17] dmitrig01 has joined the channel [01:18] EyePulp: getting this: Error: customFds not yet supported -- perhaps in cluster? [01:19] dylang has joined the channel [01:19] cjm has joined the channel [01:20] mike5w3c has joined the channel [01:22] ditesh|cassini has joined the channel [01:22] isaacs has joined the channel [01:23] mandric has joined the channel [01:23] Emmanuel` has joined the channel [01:24] nerdy_ has joined the channel [01:27] Emmanuel` has joined the channel [01:28] devongovett has joined the channel [01:32] ircretary has joined the channel [01:34] piscisaureus has joined the channel [01:35] pandeiro has joined the channel [01:35] jimt has joined the channel [01:36] dimroc has joined the channel [01:39] fmeyer has joined the channel [01:40] jacobolus has joined the channel [01:44] deedubs has left the channel [01:46] jroes has left the channel [01:49] sub_pop has joined the channel [01:49] scottschecter has joined the channel [01:50] Corren has joined the channel [01:51] vlucas has joined the channel [01:52] a_suenami has joined the channel [01:54] icewhite has joined the channel [01:57] sharkbird has joined the channel [01:57] sharkbird has left the channel [01:58] jaequery has joined the channel [01:58] dmitrig01 has joined the channel [02:00] brimster_ has joined the channel [02:01] Jay has joined the channel [02:03] brimster__ has joined the channel [02:04] piscisaureus has joined the channel [02:08] JakeyChan has joined the channel [02:09] cjm has joined the channel [02:10] slifty_corsair has joined the channel [02:10] stelcheck: if I assign an array in node, then try to assign a value in that array which is over the current length of this array, is it normal that it ignores my value and just do a push? http://pastebin.com/BTm2ACj7 [02:11] stelcheck: Both Chrome and Safari assign undefined in the unused space. Node just seem to do a push [02:13] JakeyChan has joined the channel [02:13] zilch_ has joined the channel [02:17] stride has joined the channel [02:17] Me1000 has joined the channel [02:17] ryan0071 has joined the channel [02:19] blueadept has joined the channel [02:19] stelcheck: oh, they do get assigned in the right place… simply, node doesnt show the null values in the array it seems [02:20] bartt has joined the channel [02:20] k1ttty has joined the channel [02:20] vidi has joined the channel [02:20] JmZ_ has joined the channel [02:20] JmZ_ has joined the channel [02:20] CIA-48: node: 03Ben Noordhuis 07 * r84d0b1b 10/ (3 files in 3 dirs): [02:20] CIA-48: node: http: improve http parser bindings [02:20] CIA-48: node: Speeds up HTTP benchmarks by 10% on average. - http://git.io/iND-RA [02:22] jerrysv has joined the channel [02:23] ruiazn has joined the channel [02:24] admc has joined the channel [02:24] yhahn has joined the channel [02:24] yhahn has left the channel [02:24] yhahn has joined the channel [02:24] yhahn has left the channel [02:26] m00p has joined the channel [02:26] avalanche123 has joined the channel [02:27] waheedi has joined the channel [02:28] waheedi: people can i have a blocking for loop by anychance :) [02:28] russfrank: yes [02:28] amigojapan has joined the channel [02:28] waheedi: i'm doing some queries based on other query results [02:29] russfrank: there's nothing blocking about a for loop [02:29] waheedi: i mean i want to have a blocking for loop so whenever the for loop is done i can callback some method [02:29] russfrank: looks like you need to look at some flow control libraries [02:29] waheedi: im in the way from Washignton to NY [02:29] waheedi: riding a bus :) [02:30] russfrank: hah [02:30] waheedi: yeah crazy :) [02:30] russfrank: on the internet via 3g or something? [02:30] waheedi: yeah actually using my samasung s2 tethering :) [02:30] waheedi: samsung * [02:30] russfrank: that's pretty neat [02:30] russfrank: https://github.com/caolan/async [02:30] russfrank: look at forEach [02:30] waheedi: sounds like it :) [02:30] tiagobutzke has joined the channel [02:30] Skipants has joined the channel [02:30] russfrank: you can call forEach with the array, run the query and when the query is finished you call the callback [02:31] russfrank: then when everything's done, the last argument is called [02:31] waheedi: thank you russfrank will check it out and get back to you if im still alive :) [02:31] russfrank: haha np [02:32] CIA-48: libuv: 03Bert Belder 07 * rfb71386 10/ (include/uv-private/uv-win.h src/win/internal.h src/win/tty.c): Improve ansi escape code support on windows - http://git.io/j38xEA [02:32] JmZ_ has joined the channel [02:32] deedubs has joined the channel [02:33] ryanfitz has joined the channel [02:33] Vennril2 has joined the channel [02:36] abraxas has joined the channel [02:40] waheedi: russfrank: any idea if i could access the index variable inside the foreach? [02:40] waheedi: or should i just check items.indexOf(item); ? [02:41] dmitrig01 has joined the channel [02:41] russfrank: yeah you could do indexof [02:43] shipit has joined the channel [02:45] boltR has joined the channel [02:45] towski has joined the channel [02:46] dexter_e has joined the channel [02:47] rudolfrck has joined the channel [02:47] Guest18468 has joined the channel [02:50] dimroc has joined the channel [02:50] maletor has joined the channel [02:51] Lars_unique has joined the channel [02:52] shanebo has joined the channel [02:53] jaequery has joined the channel [02:55] jaequery has joined the channel [02:57] n8ji-idle has joined the channel [02:57] tiagobutzke has joined the channel [02:58] JakeyChan has joined the channel [02:59] kenperkins has joined the channel [03:01] jakehow has joined the channel [03:03] stride has joined the channel [03:04] gavin_huang has joined the channel [03:05] zilch_ has joined the channel [03:06] sonnym has joined the channel [03:17] captain_morgan has joined the channel [03:20] perezd has joined the channel [03:20] EhevuTov has joined the channel [03:21] ninjapig has joined the channel [03:21] ninjapig has joined the channel [03:21] CarterL has joined the channel [03:23] tiagobutzke has joined the channel [03:24] briandh has joined the channel [03:24] jannny has joined the channel [03:26] CrankyMonkey has joined the channel [03:26] jimt_ has joined the channel [03:28] rayfinkle_ has joined the channel [03:28] dmitrig01 has joined the channel [03:28] boltR has joined the channel [03:29] vicapow has joined the channel [03:30] meso_ has joined the channel [03:30] meso__ has joined the channel [03:31] tylerstalder has joined the channel [03:32] Kunda has joined the channel [03:32] meso_ has joined the channel [03:32] Arthur has joined the channel [03:33] meso has joined the channel [03:33] matt4447_ has joined the channel [03:34] boehm has joined the channel [03:34] piscisaureus_ has joined the channel [03:36] Arthur has left the channel [03:36] sineltor: wait, did he want a *blocking* for loop? [03:36] sineltor: isn't that just a for() loop? [03:38] Squeese has joined the channel [03:38] fairwinds has joined the channel [03:40] Spion_ has joined the channel [03:40] dinarcon has joined the channel [03:41] chance has joined the channel [03:44] strathmeyer has joined the channel [03:46] strathmeyer has left the channel [03:47] sly182 has joined the channel [03:48] slifty has joined the channel [03:49] jtsnow has joined the channel [03:50] dshaw_ has joined the channel [03:51] caolanm has joined the channel [03:54] dgathright has joined the channel [03:55] N0va has joined the channel [03:57] postwait has joined the channel [03:58] marcello3d has joined the channel [03:59] chance has joined the channel [04:00] jannny: quit: goodbye [04:00] jannny has left the channel [04:02] Aria has joined the channel [04:02] chance has left the channel [04:05] briemens_ has joined the channel [04:06] mikeric has joined the channel [04:06] perezd has joined the channel [04:07] mikeric has joined the channel [04:08] schwab has joined the channel [04:10] Qbix1 has joined the channel [04:10] dshaw__ has joined the channel [04:10] brianseeders has joined the channel [04:11] k1ttty has joined the channel [04:13] versicolor has joined the channel [04:17] superjudge has joined the channel [04:23] martin_sunset_ has joined the channel [04:24] zackattack has joined the channel [04:25] Qbix2 has joined the channel [04:25] superjudge_ has joined the channel [04:27] skunkape has joined the channel [04:28] nibblebot has joined the channel [04:28] AphelionZ has joined the channel [04:31] writeline has joined the channel [04:34] rednul has joined the channel [04:35] maletor has joined the channel [04:35] kenperkins: o/ [04:36] blaenk has joined the channel [04:36] blaenk has joined the channel [04:37] jimt has joined the channel [04:39] maletor has joined the channel [04:40] boltR has joined the channel [04:46] jtsnow has joined the channel [04:47] guillermo has joined the channel [04:48] saikat has joined the channel [04:49] mike5w3c has joined the channel [04:50] deedubs has joined the channel [04:50] perezd has joined the channel [04:51] perezd: dscape: yt? [04:51] dubenstein has joined the channel [04:52] jimt has joined the channel [04:53] _dc has joined the channel [04:55] BigWookie has left the channel [04:56] martin_sunset has joined the channel [04:58] jldbasa has joined the channel [05:00] OneOfOne has joined the channel [05:00] OneOfOne has joined the channel [05:01] clarkfischer has joined the channel [05:02] unrulydonkey has joined the channel [05:03] zmbmartin has joined the channel [05:03] mikolo has joined the channel [05:05] Aphelion has joined the channel [05:09] unrulydonkey has left the channel [05:09] daithi44 has joined the channel [05:11] unrulydonkey has joined the channel [05:15] harthur has joined the channel [05:21] dubenstein has joined the channel [05:23] dubenstein has joined the channel [05:23] ph^ has joined the channel [05:25] MatthewS has joined the channel [05:25] dubenstein has joined the channel [05:25] sh1mmer has joined the channel [05:27] cliffano has joined the channel [05:27] ninjapig has joined the channel [05:27] ninjapig has joined the channel [05:30] daithi44 has joined the channel [05:30] fangel has joined the channel [05:31] zilch_ has joined the channel [05:32] TheCode has joined the channel [05:36] TheCode: > /mango|apple/ and new RegExp('mango|apple') are supposed to be the same right? [05:36] TheCode: because /mango|apple/.test('my mango juice') and re.test('my mango juice') are returning different results. [05:37] martin_sunset_ has joined the channel [05:37] slifty_corsair has joined the channel [05:38] jimt has joined the channel [05:39] dnyy has joined the channel [05:40] clarkfischer: v8> (/mango|apple/).test("my mango manuice") === (new RegExp("mango|apple")).test("my mango manuice") [05:40] purr: clarkfischer: (boolean) true [05:40] v8bot_: clarkfischer: [05:41] maletor has joined the channel [05:41] zilch_ has joined the channel [05:45] JSManiacs has joined the channel [05:46] __class__ has joined the channel [05:48] dnjaramba has joined the channel [05:48] saesh has joined the channel [05:50] CrypticSwarm has joined the channel [05:51] martinciu has joined the channel [05:53] amiller has joined the channel [05:54] capelio has joined the channel [05:57] djbell has joined the channel [05:59] reid has joined the channel [06:00] nickadeemus2002 has joined the channel [06:02] willwhite has joined the channel [06:04] jimt_ has joined the channel [06:05] piscisaureus has joined the channel [06:07] saikat has joined the channel [06:08] devongovett has joined the channel [06:09] dylang has joined the channel [06:09] makuchaku has joined the channel [06:10] bnoordhuis has joined the channel [06:11] trotter has joined the channel [06:13] fangel has joined the channel [06:14] jimt has joined the channel [06:16] springmeyer has joined the channel [06:17] zilch_ has joined the channel [06:19] fangel_ has joined the channel [06:23] AvianFlu has joined the channel [06:27] SamuraiJack has joined the channel [06:30] Frippe has joined the channel [06:30] akiva has joined the channel [06:32] Frippe has joined the channel [06:34] briandh has left the channel [06:34] briandh has joined the channel [06:36] ryan0071 has left the channel [06:37] k1ttty has joined the channel [06:39] jimt has joined the channel [06:40] bosphorus has joined the channel [06:40] Aiden has joined the channel [06:41] zmbmartin: Is it possible to validate a file size before you upload? [06:41] zilch_ has joined the channel [06:43] mikeric has joined the channel [06:46] maletor has joined the channel [06:47] groom has joined the channel [06:49] Ang3 has joined the channel [06:49] Morkel has joined the channel [06:50] Aiden has joined the channel [06:52] pizthewiz has joined the channel [06:53] `3rdEden has joined the channel [06:54] jimt_ has joined the channel [06:54] markatto has joined the channel [06:55] Sami_ZzZ has joined the channel [06:57] piscisaureus has joined the channel [06:58] arelek has joined the channel [06:59] vns has joined the channel [07:00] HT has joined the channel [07:02] fangel has joined the channel [07:03] ph^ has joined the channel [07:03] ivanfi has joined the channel [07:08] simenbrekken has joined the channel [07:08] blaenk has joined the channel [07:08] blaenk has joined the channel [07:09] topaxi has joined the channel [07:12] raphdg has joined the channel [07:12] jbpros has joined the channel [07:13] kickingvegas has left the channel [07:13] metellus has joined the channel [07:14] herbySk has joined the channel [07:15] mikolo_ has joined the channel [07:15] matyr has joined the channel [07:18] mike5w3c has joined the channel [07:19] AvianFlu has joined the channel [07:19] stagas has joined the channel [07:21] DennisRasmussen has joined the channel [07:23] loob2 has joined the channel [07:28] hellp has joined the channel [07:29] stagas has joined the channel [07:29] wgo has joined the channel [07:30] p1d has joined the channel [07:30] wgo has joined the channel [07:31] arcanis has joined the channel [07:31] uchuff has joined the channel [07:31] tlynn has joined the channel [07:31] Qbix1 has joined the channel [07:32] maqr has joined the channel [07:32] akiva has joined the channel [07:33] markwubben has joined the channel [07:35] Squeese has joined the channel [07:36] mraleph has joined the channel [07:36] sfoster has joined the channel [07:36] matt4447 has joined the channel [07:37] TomY has joined the channel [07:41] cosmincx has joined the channel [07:41] cjm has joined the channel [07:44] stagas has joined the channel [07:45] confoocious has joined the channel [07:45] confoocious has joined the channel [07:47] pzich has joined the channel [07:50] _kud has joined the channel [07:52] andree has joined the channel [07:52] sylvinus has joined the channel [07:52] maletor has joined the channel [07:54] whitman has joined the channel [07:56] Ang3 has joined the channel [07:57] cosmincx has joined the channel [07:59] emattias has joined the channel [08:00] martinciu_ has joined the channel [08:00] micxer has joined the channel [08:03] Druid_ has joined the channel [08:05] liar has joined the channel [08:06] mpavel has joined the channel [08:07] jacobolus has joined the channel [08:07] N0va has joined the channel [08:08] mpavel has left the channel [08:09] pzich has joined the channel [08:09] zilch_ has joined the channel [08:09] dnjaramba_ has joined the channel [08:09] shapeshe1 has joined the channel [08:11] HardPhuck has joined the channel [08:12] kuebk has joined the channel [08:14] kuebk: how can i build node using gypi? [08:14] hipsterslapfight has joined the channel [08:15] sylvinus has joined the channel [08:15] bombworm has joined the channel [08:15] AdAlpha has joined the channel [08:16] thalll has joined the channel [08:16] adambeynon has joined the channel [08:17] pzich has joined the channel [08:17] __doc__ has joined the channel [08:17] jimt has joined the channel [08:20] q_no has joined the channel [08:21] gavin_huang has joined the channel [08:23] torsd has joined the channel [08:24] nyholt has joined the channel [08:26] seqastian: so anyone started a torrent client on top of node yet? ;) [08:26] hipsterslapfight: funny you should say that, wasn't the official bittorrent/utorrent web interface just released as being built on node/express? [08:27] seqastian: hm utorrent doesnt give out the interface though i think but runs it for all the users [08:28] seqastian: at least the version i last checked out [08:28] seqastian: doesnt sound like a good idea [08:28] hipsterslapfight: http://blog.bittorrent.com/2011/10/18/%C2%B5torrent-bt-mac-versions-go-stable-ipad-gets-remote-makeover/ [08:29] seqastian: i do like the idea they have to stream incomplete files over the webinterface [08:29] seqastian: but it doesnt really work yet i think [08:30] whitman has joined the channel [08:30] zilch_ has joined the channel [08:30] seqastian: plus there still is no real utorrent linux version is there? [08:31] hipsterslapfight: http://www.utorrent.com/downloads/linux [08:31] seqastian: alpha gui less [08:31] seqastian: alpha gui less !== 'real' [08:31] neshaug has joined the channel [08:32] hipsterslapfight: yeah it's only just gone stable on mac, that took long enough [08:32] seqastian: yea [08:33] herbySk has joined the channel [08:33] bi has joined the channel [08:33] seqastian: not a nodejs one that i could have all sorts of fun with on my own ;) [08:34] akiva has joined the channel [08:34] hipsterslapfight: seqastian: i guess you're going to have to write it then :v [08:35] seqastian: yea [08:35] seqastian: as soon as im done learning java :] [08:36] seqastian: implying there is such a thing as 'beeing done learning' [08:37] cjm has left the channel [08:38] neshaug has joined the channel [08:38] bi: hey, I've got a question, I'm writing an application, something like a chat application, which has to write to the database a lot. I normally use MySQL in my projects but this one requires a schemaless database so I have to go with a NoSQL one. which database should I use? Which one has better best modules for node.js and easy to learn? [08:40] seqastian: ACTION <3 couchdb [08:40] aaronmcadam has joined the channel [08:43] seqastian: its so nice you dont even need much of a module to talk to it ;) but there is one called https://github.com/cloudhead/cradle [08:43] seqastian: and i guess mongodb is a valid alternative/competitor [08:46] iksik has joined the channel [08:46] iksik: hello [08:46] herbySk74 has joined the channel [08:46] iksik: https://gist.github.com/8969b206bc8c5e8fa23e [08:46] iksik: how can i deal with it? [08:47] hwinkel has joined the channel [08:48] arcanis has joined the channel [08:48] iksik: help? :D [08:49] stagas has joined the channel [08:50] saikat has joined the channel [08:52] kulor-uk has joined the channel [08:53] dnjaramba has joined the channel [08:56] __tosh has joined the channel [08:58] eldios has joined the channel [08:59] pzich has joined the channel [09:00] zilch_ has joined the channel [09:00] rjack has joined the channel [09:00] another_syrio has joined the channel [09:02] aliem has joined the channel [09:02] bi: seqastian, thank you :) [09:04] jimt has joined the channel [09:05] briemens has joined the channel [09:07] halfhalo has joined the channel [09:08] vguerra has joined the channel [09:08] jomoho has joined the channel [09:09] jimt_ has joined the channel [09:12] beve has joined the channel [09:13] boltR has joined the channel [09:16] ABK has joined the channel [09:16] lunchub has joined the channel [09:18] lunchub has joined the channel [09:21] cosmincx has joined the channel [09:22] bzinger has joined the channel [09:22] blaenk: what's a way to handle parsing 64-bit integers? [09:22] blaenk: only asking cause i've heard V8 does not support 64-bit integers [09:22] blaenk: so I don't know if parseInt would work (tried in repl and it seems like it does) [09:23] blaenk: I've read to just parse it as a float [09:23] AAA_awright_ has joined the channel [09:23] iksik: blaenk, perhaps You could help me with https://gist.github.com/8969b206bc8c5e8fa23e ? [09:23] martin_sunset has joined the channel [09:24] stagas has joined the channel [09:26] AAA_awright_ has joined the channel [09:26] clu3 has joined the channel [09:28] jimt has joined the channel [09:29] adambeynon has joined the channel [09:29] gigo1980 has joined the channel [09:31] gigo1980: hi all, anyone conform with coffeescript ? how can i use the namespace hack [09:31] blaenk: gigo1980: try #coffeescript [09:31] gigo1980: there i get no response since 1 hour :/ [09:33] MUILTFN has joined the channel [09:33] _kud has joined the channel [09:35] adambeynon has joined the channel [09:35] blaenk: try stackoverflow [09:35] zilch_ has joined the channel [09:36] a_meteorite has joined the channel [09:38] gigo1980: stackoverflow does not describe my problem ... [09:38] gigo1980: whar i ll use is the in the FAQ described namespace / modules feature [09:39] gigo1980: bur there is no way to use this over multiple files. or i a, to stupid ... [09:40] martin_sunset has joined the channel [09:44] arcanis has joined the channel [09:45] Frippe has joined the channel [09:47] Lingerance: gigo1980: He meant ask SO [09:48] Shrink has joined the channel [09:48] Skipants has left the channel [09:50] amigojapan has joined the channel [09:51] arcanin has joined the channel [09:52] fermion has joined the channel [09:52] writeline has joined the channel [09:58] andrewfff has joined the channel [09:59] JakeyChan_ has joined the channel [10:01] ph^ has joined the channel [10:02] Morkel has joined the channel [10:04] stagas has joined the channel [10:06] arcanis has joined the channel [10:07] zilch_ has joined the channel [10:07] pibi has joined the channel [10:07] aaronmcadam has joined the channel [10:07] pibi has left the channel [10:09] Frippe has joined the channel [10:10] mikl has joined the channel [10:10] Emmanuel` has joined the channel [10:16] zilch_ has joined the channel [10:17] vindice has joined the channel [10:19] whitman has joined the channel [10:19] mAritz has joined the channel [10:22] cognominal_ has joined the channel [10:24] jacob_ has joined the channel [10:26] bogomips has joined the channel [10:26] webjay has joined the channel [10:27] webjay: Can I use elemMatch with update? [10:27] iksik: ;/ [10:29] _dave_h_d has joined the channel [10:30] fra000 has joined the channel [10:30] _dave_h_d has joined the channel [10:34] iksik: ehh, any one can help with nodejs installation? [10:34] pzich has joined the channel [10:34] arcanis has joined the channel [10:37] TRUPPP: hey =) how can i find with mongoose with an or operator? i have Model.find({ 'field1': req.body.search_string || 'field2': req.body.search_string }, function(err, result){ ... }); but this doesnt work :( [10:40] pibi has joined the channel [10:41] arcanin has joined the channel [10:43] Shrink has joined the channel [10:43] d0k has joined the channel [10:45] EriksLV has joined the channel [10:46] ayaz has joined the channel [10:50] wbednarski has joined the channel [10:51] metellus has joined the channel [10:54] Margle has joined the channel [10:56] pHcF has joined the channel [10:58] Lingerance: TRUPPP: {$or: {field1: '...', field2: '...'}} (as the MongoDB docs) [10:58] ninjapig has joined the channel [10:58] ninjapig has joined the channel [10:58] luke` has joined the channel [10:59] grekko has joined the channel [11:00] zilch_ has joined the channel [11:00] TRUPPP: Lingerance, thank you! =) [11:01] jimt_ has joined the channel [11:05] bzinger has joined the channel [11:12] zilch_ has joined the channel [11:13] ppcano has joined the channel [11:13] jsurfer has joined the channel [11:16] broofa has joined the channel [11:17] iksik_ has joined the channel [11:20] drudge has joined the channel [11:25] rmzg has joined the channel [11:32] simenbrekken has joined the channel [11:32] Morkel has joined the channel [11:33] jetienne has joined the channel [11:34] amiller has joined the channel [11:35] _sri has joined the channel [11:35] jimt has joined the channel [11:36] kaarlo has joined the channel [11:37] neurodrone has joined the channel [11:39] bzinger has joined the channel [11:40] vereteran has joined the channel [11:40] zilch_ has joined the channel [11:41] dylang_ has joined the channel [11:43] CrisO has joined the channel [11:43] xhr has joined the channel [11:44] jimt has joined the channel [11:44] MarcosBL has joined the channel [11:46] pHcF_ has joined the channel [11:46] sfoster has joined the channel [11:48] vguerra has joined the channel [11:49] MarcosBL: lo there... somebody could help me with variable scopes in coffee ? (alrerady tried at #coffeescript ) first touch at node.js and i'm a bit (lot) lost... [11:49] MarcosBL: trying to make a shell call, i got it working (tested creating folders), but what i really need is the stdout, and i don't know how to get it [11:49] christophsturm has joined the channel [11:49] MarcosBL: # Here i have a prefilled text in file.content, that i want to convert with a shell call. Now just trying to get the result of a simple ls -la [11:49] MarcosBL: child = exec "ls -la", {maxBuffer: 500*1024}, (error, stdout, stderr) -> [11:50] MarcosBL: file.content = stdout [11:50] MarcosBL: but my file.content variable doesn't get the content... maybe some "global" scope i missed for the "file" variable ? [11:51] xhr has joined the channel [11:54] matyr has joined the channel [11:58] _kud has joined the channel [11:58] replore has joined the channel [11:58] replore_ has joined the channel [11:59] zilch_ has joined the channel [11:59] cognominal has joined the channel [11:59] stagas has joined the channel [12:03] Lingerance: Suggestion: don't start with coffeescript. [12:03] cognominal_ has joined the channel [12:03] jbpros has joined the channel [12:05] ayaz has joined the channel [12:07] scott_gonzalez has joined the channel [12:08] d4rk1ink_ has joined the channel [12:09] gavin_huang has left the channel [12:10] zipR4ND has joined the channel [12:10] zilch_ has joined the channel [12:10] aklt has joined the channel [12:11] enmand has joined the channel [12:11] Glenjamin: MarcosBL: checked the contents of error? [12:13] erichynds has joined the channel [12:13] MarcosBL: Glenjamin: thanks ! that was the quiz :E [12:15] jkridner has joined the channel [12:15] jkridner has joined the channel [12:16] __tosh has joined the channel [12:16] ninjapig has joined the channel [12:16] arcanis has joined the channel [12:16] jldbasa has joined the channel [12:16] OneOfOne: coffeescript is the devil's handy work [12:18] fly-away has joined the channel [12:18] erichynds has joined the channel [12:19] simenbrekken: Can I know when a client has fully downloaded a response from my server? [12:19] akamike has joined the channel [12:21] confoocious has joined the channel [12:21] confoocious has joined the channel [12:22] willwhite has joined the channel [12:23] marcello3d has joined the channel [12:25] another_syrio has joined the channel [12:25] zilch_ has joined the channel [12:26] fairwinds has joined the channel [12:26] ruiazn has joined the channel [12:27] pibi has left the channel [12:28] Drakonite has joined the channel [12:29] OneOfOne: simenbrekken: res.on('end') maybe? [12:29] simenbrekken: OneOfOne: ah. thanks didn't think about that one [12:30] OneOfOne: simenbrekken: np [12:33] cjroebuck has joined the channel [12:34] mjor has joined the channel [12:35] simenbrekken: OneOfOne: hmms, doesn't work for me, might be express related [12:36] pzich has joined the channel [12:37] `3rdEden has joined the channel [12:38] another_syrio has joined the channel [12:39] OneOfOne: simenbrekken: not sure then [12:41] fumanchu182 has joined the channel [12:45] jpdery has joined the channel [12:45] neshaug has joined the channel [12:47] storrgie has joined the channel [12:48] lzskiss has joined the channel [12:50] k1ttty has joined the channel [12:52] jimt_ has joined the channel [12:53] zilch_ has joined the channel [12:53] bshumate has joined the channel [12:55] arcanis has joined the channel [12:58] martin_sunset has joined the channel [12:58] AdAlpha has joined the channel [12:59] arcanin has joined the channel [13:04] thomblake has joined the channel [13:04] thomblake has left the channel [13:04] deedubs has joined the channel [13:07] ayaz has joined the channel [13:07] pibi has joined the channel [13:08] RyanD has joined the channel [13:08] davidsklar has joined the channel [13:09] Peeter has joined the channel [13:10] AaronMT has joined the channel [13:10] Peeter: frodbot: help [13:12] lzskiss has joined the channel [13:13] zmbmartin has joined the channel [13:14] Morkel has left the channel [13:14] zmbmartin has left the channel [13:15] lazyshot has joined the channel [13:16] thinkt4nk has joined the channel [13:16] miccolis has joined the channel [13:16] MUILTFN has joined the channel [13:18] ceej has joined the channel [13:18] adambeynon has joined the channel [13:20] zmbmartin has joined the channel [13:21] mike5w3c has joined the channel [13:21] olivier__ has joined the channel [13:22] Poetro has joined the channel [13:22] Poetro has joined the channel [13:22] ryanfitz has joined the channel [13:23] luizlopes has joined the channel [13:23] AD7six has joined the channel [13:25] willwhite has joined the channel [13:26] mandric has joined the channel [13:27] amigojapan has joined the channel [13:28] vkareh_ has joined the channel [13:29] tiagobutzke has joined the channel [13:30] nibblebot has joined the channel [13:31] garrensmith: can anyone recommend a good nodejsirc bot? [13:31] garrensmith: *nodejs irc [13:32] mehtryx has joined the channel [13:33] devongovett has joined the channel [13:36] CarterL has joined the channel [13:36] catb0t has joined the channel [13:36] deedubs: jerk [13:36] MooGoo: catb0t is the best clearly [13:36] catb0t: clearly does not inherit scope best [13:37] nail_: I've made that https://github.com/nail/raoul but it's not finished :( [13:37] mc_greeny has joined the channel [13:37] MooGoo: catb0t what do you think of nodejs [13:37] catb0t: nodejs looks very interesting [13:37] JasonJS has joined the channel [13:37] JimmyTheKid has joined the channel [13:37] ee_vin has joined the channel [13:37] johnhamelink has joined the channel [13:37] MooGoo: catb0t I'm not convinced [13:37] catb0t: convinced me to sanitize the data [13:38] johnhamelink: Does anyone have experience using forever with capistrano? [13:38] cognominal has joined the channel [13:38] arcanis has joined the channel [13:38] Aikar: catb0t running a markov implementation? [13:38] catb0t: implementation detail now so use manatee, got running [13:38] Aikar: i take that as a yes [13:38] mehtryx has left the channel [13:38] jtsnow has joined the channel [13:39] JimmyTheKid: hey guys, new to node, trying to get it working with nginx, can anybody help me out in explaining how to deploy this [13:39] geoKe has joined the channel [13:39] HardPhuc has joined the channel [13:40] Glenjamin: JimmyTheKid: roughly, run one or more node processes via forever/supervisord/monit/god and then reverse proxy requests through nginx [13:40] JimmyTheKid: I run node example.js, which runs on 127.0.0.1:3085, I then try using nginx and proxy_pass it to this location, I get nothing [13:40] JakeyChan has joined the channel [13:41] deedubs: JimmyTheKid: http://stackoverflow.com/questions/5009324/node-js-nginx-and-now [13:42] jstash has joined the channel [13:45] zilch_: simenbrekken, what is your exact requirement ? [13:45] simenbrekken: I'm trying to profile an iPhone apps processing time but I only have access to the node server :) [13:47] Jho_ has joined the channel [13:48] briemens has joined the channel [13:50] cliffano_ has joined the channel [13:50] DJBouche has joined the channel [13:51] slifty_corsair has joined the channel [13:53] sharkbird has joined the channel [13:53] sharkbird has left the channel [13:55] pibi has left the channel [13:55] rcaskey has joined the channel [13:56] hlindset has joined the channel [13:57] rcaskey: are there any libraries for low-level socket operations? I'd like to make a transparent proxy for compatability with a legacy telnet server [13:59] ksheurs has joined the channel [14:00] Venom_X has joined the channel [14:00] Jho_: require("net") ? [14:00] rcaskey: so will it let me set packet headers and such? [14:00] Jho_: afaik "net" is as low as it gets for node [14:01] jamesd has joined the channel [14:01] rootslab has joined the channel [14:03] rcaskey: pthon's socket has sock.setsockopt() but i'm not seeing anything net that would do the job [14:03] paulwe has joined the channel [14:03] matehat has joined the channel [14:04] brianseeders has joined the channel [14:05] tiagobutzke has joined the channel [14:05] vipaca has joined the channel [14:05] vipaca has joined the channel [14:05] bnoordhuis has joined the channel [14:05] arcanin has joined the channel [14:06] Peeter: Does anyone if cloud9 ide has an IRC channel ? [14:07] halfhalo has joined the channel [14:07] sylvinus has joined the channel [14:07] simenbrekken has joined the channel [14:08] Jho_: i see setEncoding, setTimeout, setNoDelay, setKeepAlive, bufferSize [14:08] fangel has joined the channel [14:08] olivier__: Peeter, #cloud9ide [14:08] Peeter: Ty [14:09] pixel13 has joined the channel [14:11] pixel13 has left the channel [14:11] matehat has joined the channel [14:11] ph^ has joined the channel [14:12] wink_: rcaskey: there isnt anything in node (without a binding) thats going to let you intercept packets and modify the headers [14:12] wink_: it could be done, but you'll be writing a bit of c++ :p [14:12] Aikar: !npm search pcap [14:12] jhbot: package pcap: raw packet capture, decoding, and analysis [14:13] olivier__: is there a way to know where the directory of a module is ? something like require('mymodule').__dirname ? [14:13] Aikar: pcap doesnt allow you to modify though does it? [14:13] venkat has joined the channel [14:13] Aikar: olivier__: module.resolve('mymodule') [14:14] Aikar: olivier__: or path.dirname(module.resolve('mymodule')); [14:14] venkat: I have question with nodejs with c addon , can any body help [14:14] olivier__: Aikar, thank you [14:15] wink_: yeah pcap isnt going to let you intercept and forward [14:15] \ask has joined the channel [14:15] Jho_: has anyone put any work into a C++ native module to connect node to SQL Server? [14:16] wink_: Jho_: https://github.com/w1nk/node-odbc [14:16] xetorthio has joined the channel [14:16] Jho_: fantastic... you may have just made my day [14:17] wink_: <3 [14:17] TRUPPP_ON has joined the channel [14:18] Ang3: hey guys, if i do a fs.openFile will it create the file is its missing ? [14:19] bogdanbiv has joined the channel [14:19] liar has joined the channel [14:19] AD7six_ has joined the channel [14:20] nibblebot has joined the channel [14:20] gsmcwhirter has joined the channel [14:20] venkat: My question regarding C addon is that the c++ code need to be thread safe if used with nodeJS? my problem is if I add c addon to nodeJS UDP server and if client calls this server it excutes the code in C quite right. But if two clients simultaneosuly calls this server it crahses in nodejs [14:20] hydrozen has joined the channel [14:21] brianc1 has joined the channel [14:21] wink_: venkat: if your c++ module is using threads, then yes, if not, it needs to be reentrant at least [14:22] cyrilmengin has joined the channel [14:22] mmalecki has joined the channel [14:23] igl1 has joined the channel [14:23] venkat: Thanks for the response Wink_, but my c code does not use threads and if run this code in real C UP server this does not need to be thread safe, but in the case nodejs, it crashes if two sumulatenous client access it while converting a local char pointer to java script reable buffer [14:23] Jho_: wink, have you attempted the node-odbc module on windows yet? [14:23] wink_: Jho_: yipes, i've not. [14:23] vindice: Is there somewhere I can find some documentation on the V8 options passed as arugments to the node command? [14:24] jscheel has joined the channel [14:24] jscheel has joined the channel [14:24] martin_sunset has joined the channel [14:24] wink_: venkat: more than likely youre module is not reentrant at all if that's happening [14:24] Kunda has joined the channel [14:24] dylang has joined the channel [14:25] vindice: only some of them seem to be listed in the node man [14:25] wink_: Jho_: im not sure at all how portable some of it is. with a little work its probably possible, but i dont even have access to a win32 build environment to try [14:25] Ezku has joined the channel [14:26] AphelionZ has joined the channel [14:26] Jho_: wink_: thanks, i may give it a try anyway hehe. i do have a win32 build environment, but I'm not fluent in C++ [14:27] venkat: well if multiple client calls this server but not simultaneoulsy then this UDP server wokrs for ever, it never crashes? But does have nay suggestions or example to solve this issues. All my code does it takes a input buffer from Javascript and decodes it into local char* and tries to convert it into buffer handle and sends back to JS [14:28] Jho_: my alternative is to stand up a new IIS website that exposes REST endpoints and calls the database itself [14:28] Jho_: *shudder* [14:28] wink_: Jho_: the only bit that you may have problems with is the pthread stuff will need to be replaced with the win32 semaphore api [14:28] link has joined the channel [14:29] metellus has joined the channel [14:29] er1c_ has joined the channel [14:29] wink_: venkat: if you can gist the code and then a stacktrace of the crash, i'll take a peek at it [14:29] jldbasa has joined the channel [14:30] gut4 has joined the channel [14:30] wink_: although you may be able to just tear out the pthread mutexes...they got added recently as we found some race conditions in unixodbc where things werent thread safe, the windows odbc implementation may not be plagued by that [14:31] Jho_: sounds straightforward enough [14:32] arcanis has joined the channel [14:32] fatjonny has joined the channel [14:32] diversario has joined the channel [14:32] vindice: Does anyone know how to get the console linked up in Node Inspector? [14:33] vindice: by which I mean the console's output does not display in Node Inspector [14:34] vindice: See from logs that someone was asking about it in here oon 7th September [14:34] jetienne has joined the channel [14:34] diversario: Could anyone answer a question about Jade? Trying to add a 'placeholder' attribute to input but Jade compiler throws. I'm doing this: input#name(value='' placeholder="Name goes here") [14:35] deedubs: input#name(value='', placeholder="Name goes here") [14:36] bnoordhuis has joined the channel [14:36] diversario: oh, damn. I missed the commas [14:36] diversario: yes, thank you [14:36] shaysm has joined the channel [14:36] diversario has left the channel [14:36] another__ has joined the channel [14:37] vindice: In a video made by the author of Node Inspectir (Danny Coates), he has the following in the terminal: node ../node-inspector/bin/inspector.js --start-brk=server.js --fwd-io --profile [14:37] vindice: the manual for node doesn't mention --start-brk, or --fwd-io, or --profile [14:38] vindice: so the video tutorial must be out of date [14:38] JakeyChan has joined the channel [14:40] sub_pop has joined the channel [14:41] zilch_ has joined the channel [14:41] BillyBreen has joined the channel [14:41] zivester has joined the channel [14:41] vindice: Ahhhh. The feature was removed. https://github.com/dannycoates/node-inspector/issues/66 [14:41] Connorhd has joined the channel [14:42] aelien27 has joined the channel [14:42] kevwil has joined the channel [14:43] Margle has joined the channel [14:43] mmalecki: bnoordhuis: hey, are you planning to talk at web-5? [14:44] joshkehn has joined the channel [14:45] joshkehn has left the channel [14:47] briemens has joined the channel [14:48] akamike has joined the channel [14:49] DarkGrey has joined the channel [14:50] pizthewiz has joined the channel [14:51] bnoordhuis: mmalecki: is web-5 that polish conf? [14:51] aheckmann has joined the channel [14:52] mmalecki: bnoordhuis: no. it's in France [14:52] bnoordhuis: mmalecki: oh right, that one [14:52] bnoordhuis: haven't heard back from the guy so no [14:52] __tosh has joined the channel [14:52] hlindset has joined the channel [14:53] mmalecki: bnoordhuis: /join #web-5, he should be there later [14:53] davidwalsh has joined the channel [14:53] bnoordhuis: mmalecki: right, will do later today [14:53] mmalecki: bnoordhuis: :) [14:53] mmalecki: bnoordhuis: and, hey, I speak there! [14:53] ohtogo has joined the channel [14:53] bnoordhuis: mmalecki: cool :) [14:54] bnoordhuis: what topic? [14:54] mmalecki: bnoordhuis: client-side templating and rendering [14:54] tmpvar has joined the channel [14:54] RORgasm has joined the channel [14:54] mmalecki: bnoordhuis: http://www.web-5.org/en/speakers.html#MaciejMalecki [14:54] ryanallenbobcat has joined the channel [14:55] johnhamelink: Hi guys, what's the best way to automatically load all modules in the node_modules folder? [14:55] pixel131 has joined the channel [14:58] slifty_corsair has joined the channel [14:58] ryanfitz has joined the channel [14:58] jetienne has joined the channel [14:59] fangel has joined the channel [14:59] wrongle has joined the channel [15:00] CoinOpeBoy has joined the channel [15:00] malletjo has joined the channel [15:02] bzinger has joined the channel [15:02] MarcosBL has left the channel [15:04] malletjo: Is this fixed : https://github.com/joyent/node/issues/1393 ? "crypto functions shoudl accept buffers as arguments" Because right now i'm using a buffer and it seems to work. Thx [15:05] vicapow has joined the channel [15:05] jocafa has joined the channel [15:07] Kami_ has joined the channel [15:08] mandric has joined the channel [15:09] kulor-uk has joined the channel [15:11] cody-- has joined the channel [15:12] swestcott has joined the channel [15:12] DarkGrey has joined the channel [15:13] DarkGrey has joined the channel [15:13] trose: hey all, I'm using express and I want to give the user a button that would spawn a download of the page they're on. is it possible to have express serve a file in a way that would spawn the browser's download system? [15:14] simenbrekken has joined the channel [15:14] Zamarok has joined the channel [15:15] aelien27 has joined the channel [15:15] gut4 has joined the channel [15:15] rendar has joined the channel [15:16] Jho_: trose: try using this header: Content-Disposition: attachment; filename= [15:16] bnoordhuis: malletjo: not to my satisfaction, no [15:16] patrickgamer has joined the channel [15:17] Jho_: wink_: is node-odbc built using the latest version of the node source? I can't seem to find node_events.h [15:17] airhorns has joined the channel [15:19] alvaro_o has joined the channel [15:20] malletjo: bnoordhuis, ok I will use a string instead Thx [15:20] simenbrekken has joined the channel [15:21] TRUPPP_ON: when i release a commercial webapp, do i have to save visitors ip addresses or is it legal not saving them? [15:21] adambeynon has joined the channel [15:22] JasonJS: You don't have to save anything [15:22] JasonJS: You probably will want to for auditing purposes but there is no legal reason that you need to [15:22] TRUPPP_ON: yes okay thanks [15:22] JasonJS: Unless you are building a NOC routing app [15:23] TRUPPP_ON: i dont want to save but i thought maybe it would be neccessary [15:23] Ang3 has joined the channel [15:23] BillyBreen has joined the channel [15:23] Renegade001 has joined the channel [15:23] jaequery has joined the channel [15:23] JasonJS: Nope - you aren't required to keep logs by law [15:24] TRUPPP_ON: nice =) [15:24] TRUPPP_ON: thanks for the information [15:25] JasonJS: TRUPPP_ON: I only know this to be true for US and Canada - if you are in another country there may be other regulations [15:25] patrickgamer has left the channel [15:25] jtsnow has joined the channel [15:25] trose: Jho_, Thanks for the info :D that's exactly what i want [15:25] diogogmt has joined the channel [15:26] ajpiano has joined the channel [15:28] patrickgamer has joined the channel [15:28] nellboy has joined the channel [15:29] nellboy: Hi, having some problems with my install ... I've installed node, but when I try to install npm it fails with 'node --version reports: dyld: unknown required load command 0x80000022' [15:29] patrickgamer has left the channel [15:29] nellboy: on OS X Leopard [15:29] nellboy: I also updated python before install ... [15:30] xy has joined the channel [15:31] bnoordhuis: nellboy: does node itself work? [15:31] EvRide has joined the channel [15:32] Cromulent has joined the channel [15:33] nellboy: how do i test that? [15:33] Zamarok: nellbow: type node in a terminal [15:33] eresair has joined the channel [15:34] Zamarok: nellboy * [15:34] tjholowaychuk has joined the channel [15:34] Zamarok: the node REPL should start [15:34] cyrilmengin has joined the channel [15:34] nellboy: I'm getting the following error: dyld: unknown required load command 0x80000022Trace/BPT trap [15:35] Zamarok: how did you install node anyway? [15:35] __tosh has joined the channel [15:36] nellboy: I've made a few attempts at this point ... [15:36] nellboy: it was failing initially so I updated python ... [15:36] JJMalina has joined the channel [15:36] nellboy: I used the OS X installer ... [15:36] nellboy: then I went back and built it from source ... [15:37] fra000 has joined the channel [15:37] nellboy: didn't receive any errors at all ... [15:37] bnoordhuis: nellboy: re os x installer / building from source: are you talking about node or python? [15:38] nellboy: I'm talking about node ... [15:38] bnoordhuis: okay, what version of node? [15:38] isaacs has joined the channel [15:38] diversario has joined the channel [15:38] nellboy: 0.4.12 from source [15:38] diversario has left the channel [15:39] bnoordhuis: you probably have more than one node install at this point [15:39] diversario has joined the channel [15:39] isaacs: nellboy: do you have an LD_LIBRARY_PATH set? [15:39] isaacs: in the environment? [15:39] diversario has left the channel [15:39] nellboy: I didn't do it manually ... [15:40] nellboy: I basically followed the instructions as detailed in the Wiki ... [15:40] diversario has joined the channel [15:40] nellboy: https://github.com/joyent/node/wiki/Installation [15:41] nellboy: and haven't previously set an LD_LIBRARY_PATH as far as I recall ... [15:41] Jho__ has joined the channel [15:41] jimt has joined the channel [15:41] gut4 has joined the channel [15:43] vipaca has joined the channel [15:43] nellboy: would it be safe to just delete '/usr/bin/node', and start again ? [15:44] diogogmt has joined the channel [15:45] Venom_X has joined the channel [15:46] bnoordhuis: nellboy: yes [15:46] bnoordhuis: do you have a node binary in /usr/local/node too? [15:46] bnoordhuis: sorry, /usr/local/bin [15:47] nellboy: yes [15:47] bnoordhuis: remove that one too [15:47] nellboy: ok [15:47] tyler-iphone has left the channel [15:48] nellboy: it should prob go into /usr/local/bin in any case, right ? [15:48] bnoordhuis: do a `make distclean && ./configure` in the source tree before recompiling [15:48] bnoordhuis: yes [15:48] _kud has joined the channel [15:48] pHcF has joined the channel [15:49] nellboy: ok, i'll give it a go again now ... [15:49] nellboy: thanks! [15:49] Wa has joined the channel [15:50] rev087ipad has joined the channel [15:51] nellboy: looks far healthier on make already ... [15:51] bnoordhuis: good :) [15:51] caolanm has joined the channel [15:53] joshthecoder has joined the channel [15:54] malletjo: bnoordhuis, do you thing using sha1sum from Gnu with child.process exec is a better idea ? From the test i have don't it looks faster. [15:55] sharkbird has joined the channel [15:55] malletjo: i have "done" hehe [15:55] sharkbird has left the channel [15:57] isaacs: nellboy: i've seen cases where an LD_LIBRARY_PATH will cause it to load a busted version of openssl, for example. [15:58] Spion_ has joined the channel [15:58] jerrysv has joined the channel [15:58] nellboy: I ran a successful install, no errors, now when I issue 'node' I get: -bash: /usr/bin/node: No such file or directory [15:58] captain_morgan has joined the channel [15:59] mmalecki: nellboy: exit from bash and open it again [16:00] EhevuTov has joined the channel [16:01] ryanallenbobcat has joined the channel [16:01] nellboy: bingo! [16:01] martinciu has joined the channel [16:02] nellboy: node is working ... [16:03] nellboy: now when I issue curl http://npmjs.org/install.sh | sh I get: 'Failed to get tarball url for npm/latest' [16:03] ryanallenbobcat has left the channel [16:04] isaacs: nellboy: try this: curl http://npmjs.org/install.sh | npm_debug=1 bash [16:04] slifty_corsair has joined the channel [16:05] trodrigues has joined the channel [16:05] captain_morgan has joined the channel [16:06] zemanel has joined the channel [16:09] smathy has joined the channel [16:10] devongovett has joined the channel [16:10] joshthecoder has joined the channel [16:13] k has joined the channel [16:13] n8ji has joined the channel [16:13] enmand has joined the channel [16:14] chrislorenz has joined the channel [16:15] prettyrobots has joined the channel [16:16] prettyrobots: Can I ask questions about streamline.js here? [16:16] prettyrobots: Specifically, can I call fs.read ? What are the return values? [16:18] sh1mmer has joined the channel [16:18] nellboy: isaacs, here's the result: http://pastebin.com/Xb2ciJSU [16:19] AaronMT has joined the channel [16:19] smtlaissezfaire has joined the channel [16:20] maletor has joined the channel [16:20] fairwinds has joined the channel [16:23] cronopio has joined the channel [16:23] fairwinds: tjholowaychuk: hi ya. Have a general question about something I am seeing with express packaging. When I obtain express. It is retrieving 2.4.6 which is fine. It picks up dependency for qs and connect - fine. But connect does not seem to be picking up its dependencies. [16:24] fairwinds: so it has qs from express but no mime [16:24] n8ji has joined the channel [16:25] eignerchris-away has joined the channel [16:25] brianc1: nellboy: for future reference, whenever you change your .bashrc file you can "reload" it into your bash session without restarting bash by typing `source .bashrc` [16:25] martinciu has joined the channel [16:26] bnoordhuis has joined the channel [16:26] te-brian2 has joined the channel [16:26] wilmoore has joined the channel [16:27] Corren has joined the channel [16:27] martinciu has joined the channel [16:28] nellboy: ok, but that doesn't solve my current problem ... [16:28] icebox has joined the channel [16:28] zeade has joined the channel [16:28] vicapow has joined the channel [16:28] broofa has joined the channel [16:29] bogomips2_ has joined the channel [16:29] vicapow has left the channel [16:29] tiagobutzke has joined the channel [16:31] ronnieboy has joined the channel [16:31] Qbix1 has joined the channel [16:32] gr-eg has joined the channel [16:32] isaacs: nellboy: can you run this, and paste me the output somehow? [16:32] _dc has joined the channel [16:32] isaacs: curl -SsL --cacert /var/folders/P6/P6Dq1EMKEhyzkVlAP81cfU+++TI/-Tmp-//npm.35730/cafile.crt https://registry.npmjs.org/npm/latest | sed -e 's/^.*tarball":"//' | sed -e 's/".*$//' [16:32] Margle has joined the channel [16:33] harthur has joined the channel [16:33] blup has joined the channel [16:34] heavysixer has joined the channel [16:34] bnoordhuis: isaacs: looks like a perl one-liner [16:34] nnisi has joined the channel [16:34] isaacs: bnoordhuis: hahah [16:34] mraleph has joined the channel [16:35] isaacs: bnoordhuis: it's a sh one-liner. even worse [16:35] isaacs: nellboy: if the cafile is missing, you can do this: curl -k https://registry.npmjs.org/npm/latest | sed -e 's/^.*tarball":"//' | sed -e 's/".*$//' [16:35] isaacs: i suspect that there are some cases where sed doesn't like the -e flag. [16:36] isaacs: ACTION really really really hates portable sh scripting [16:37] nellboy: isaacs, no output at all ... [16:37] nellboy: it just opens node ... [16:38] isaacs: nellboy: what opens node? [16:38] nellboy: curl -k https://registry.npmjs.org/npm/latest | sed -e 's/^.*tarball":"//' | sed -e 's/".*$// [16:38] nellboy: or it appears to anyway ... [16:38] isaacs: nellboy: why would that open node? what do you mean? [16:38] isaacs: oh, i see [16:38] isaacs: missed the trailing ' [16:38] isaacs: that's not opening node, it's just waiting for you to finish the command. [16:38] freeall has joined the channel [16:38] isaacs: yoer' still in bash [16:39] nellboy: aha, sorry ... [16:39] isaacs: try the curl | sh again. i just added in a check to try sed without the -e if it fails. [16:39] nellboy: curl: (1) Protocol https not supported or disabled in libcurl [16:40] jstash: can any of you recommend a vim markdown plugin? found https://github.com/plasticboy/vim-markdown but it seems buggy and there's 80 forks :/ [16:40] freeall: Hi all. We're trying to compile node-gui, but keep getting some errors. This is one of them: "{task: cxx node_gui_tree_view.cc -> node_gui_tree_view_1.o}" [16:40] tbranyen: jstash: all of them are buggy :-/ [16:40] freeall: Have anyone tried to install it? It's npm install gui by the way [16:41] tbranyen: especially since there are various flavors of markdown [16:41] liar has joined the channel [16:41] isaacs: nellboy: !!!!!! [16:41] isaacs: nellboy: wth? [16:41] tbranyen: i'm still waiting for a good github markdown syntax [16:41] nellboy: isaacs, chill ... [16:41] jstash: same, for github [16:41] isaacs: nellboy: that explains why the sed wasn't getting data. [16:41] isaacs: hehe :) [16:43] nibblebo_ has joined the channel [16:43] nellboy: isaacs, I'm not a big fan of bash, and not an amazingly experienced coder, so excuse my ignorance [16:44] nellboy: I'm here to learn ... [16:44] isaacs: nellboy: no problem, i'm not upset with you [16:44] isaacs: just confused and bewildered by curl's inability to request https. [16:44] isaacs: that's really odd. [16:44] nellboy: anyway, i actually have to run out now ... [16:44] isaacs: if anything, you'er the innocent victim here. [16:44] Carter has joined the channel [16:44] nellboy: i'll try to fix this later ... [16:45] isaacs: nellboy: sure. maybe reinstall curl? [16:45] isaacs: i duno [16:45] nellboy: ok, i'll give it a go ... [16:45] nellboy: thanks a lot for your help and patience ... [16:45] isaacs: nellboy: check this out: http://curl.haxx.se/docs/faq.html#curl_1_SSL_is_disabled_https [16:45] isaacs: nellboy: np [16:45] piscisaureus_ has joined the channel [16:46] nellboy has left the channel [16:46] fmeyer has joined the channel [16:46] Migaaresno has joined the channel [16:47] meandi has joined the channel [16:48] zemanel has joined the channel [16:49] p6 has joined the channel [16:50] dshaw_ has joined the channel [16:53] MUILTFN has joined the channel [16:54] dgathright has joined the channel [16:54] JSManiacs has joined the channel [16:56] bnoordhuis has joined the channel [16:57] colinclark has joined the channel [16:57] JaKWaC has joined the channel [16:59] jimt_ has joined the channel [17:00] Corren: morning folks! [17:00] broofa has joined the channel [17:01] bosphorus has joined the channel [17:01] alejandromg has joined the channel [17:02] _sorensen_: mornin! [17:02] wadey has joined the channel [17:03] bosphorus_ has joined the channel [17:03] inarru has joined the channel [17:04] malletjo has joined the channel [17:05] gxdssoft has joined the channel [17:06] slifty_corsair has joined the channel [17:07] EhevuTov_ has joined the channel [17:07] boltR has joined the channel [17:08] TooTallNate has joined the channel [17:08] PuffTheMagic has joined the channel [17:08] trotter has joined the channel [17:08] jarek has joined the channel [17:08] jarek has joined the channel [17:09] CIA-48: libuv: 03Ben Noordhuis 07 * r9757a43 10/ src/unix/fs.c : unix: remove unused variable - http://git.io/l1mW4w [17:10] martinciu_ has joined the channel [17:10] perezd has joined the channel [17:11] Epeli has joined the channel [17:13] heavysixer has joined the channel [17:14] ritch has joined the channel [17:14] bzinger has joined the channel [17:15] creationix|work has joined the channel [17:15] ritch has left the channel [17:16] lzskiss has joined the channel [17:16] delian66 has joined the channel [17:17] mrryanjohnston has joined the channel [17:17] CIA-48: libuv: 03Ben Noordhuis 07 * rd396799 10/ (10 files in 4 dirs): [17:17] CIA-48: libuv: Change return type of uv_get_*_memory() functions [17:17] CIA-48: libuv: ... from double to uint64_t. Limit use of floating point in public API as much [17:17] CIA-48: libuv: as possible. - http://git.io/6--hkA [17:18] cyrilmengin has joined the channel [17:18] aguynamedben has joined the channel [17:20] `3rdEden has joined the channel [17:20] torsd has joined the channel [17:20] markdaws has joined the channel [17:20] michaeldeol has joined the channel [17:21] CIA-48: node: 03Ryan Dahl 07 * rfafb584 10/ test/simple/test-dgram-pingpong.js : Fix race condition in test-dgram-pingpong - http://git.io/CEX04Q [17:22] liar has joined the channel [17:22] markdaws_ has joined the channel [17:22] wrongle has joined the channel [17:22] mmalecki: piscisaureus_: ping? [17:25] nickadeemus2002 has left the channel [17:25] piscisaureus_: mmalecki: yes, what's up? [17:25] TRUPPP_ON has joined the channel [17:25] mmalecki: piscisaureus_: hey, would you a test case for git clone git://github.com/creationix/nvm.git ~/.nvm [17:26] mmalecki: meh, not this [17:26] StanlySoManly has joined the channel [17:26] bnoordhuis: mmalecki: you accidentally [17:26] mmalecki: piscisaureus_: would a test case for https://github.com/joyent/node/issues/1899 help you? [17:26] piscisaureus_: mmalecki: yes, over 9000 [17:27] mmalecki: bnoordhuis: yeah. setting up a new machine, gotta do a *lot* of git clones. [17:27] mmalecki: piscisaureus_: ok, I will write it [17:28] piscisaureus_: mmalecki: cool, thnx [17:28] mmalecki: piscisaureus_: np :) [17:28] jaimef has joined the channel [17:29] jimt has joined the channel [17:29] CIA-48: node: 03Igor Zinkovsky 07 * r69b73f9 10/ (src/node.js test/simple/test-process-kill-null.js): make process.kill a no-op on windows - http://git.io/PVM7xg [17:29] vidi has joined the channel [17:30] mmalecki: nice. [17:30] jaimef: tuning a node.js box that has 50k set for soft/hard limit on maxfiles, it has about 100k connections opened in time_wait state. was wondering if 100k is excessive for a single node instance. [17:32] q_no has joined the channel [17:32] NHQ has joined the channel [17:34] prettyrobots has joined the channel [17:34] harthur has joined the channel [17:35] fmeyer has joined the channel [17:35] confoocious has joined the channel [17:35] confoocious has joined the channel [17:35] thalll has joined the channel [17:35] NHQ: What is the nod command for increasing V8 heap size? [17:35] versicolor has joined the channel [17:36] jergason has joined the channel [17:37] dnjaramba has joined the channel [17:37] NHQ: What is the node command for increasing V8 heap size? [17:37] akujin has joined the channel [17:37] dylang has joined the channel [17:38] wadey_ has joined the channel [17:38] tylerstalder has joined the channel [17:38] Aikar: NHQ: upgrade to 0.5.10 [17:38] c4milo has joined the channel [17:38] NHQ: @Aikar that's it? [17:38] Aikar: NHQ: latest node (about to be stable) removes the heap limit on 64bit [17:38] aguynamedben_ has joined the channel [17:38] Aikar: uses V8 3.7 [17:38] EhevuTov has joined the channel [17:39] jellosea has left the channel [17:39] Aikar: which has a new GC [17:39] NHQ: @aikar good to know, thanks. I rely on a few too many modules that might not support the latest :\ [17:40] patcito has joined the channel [17:40] brion has joined the channel [17:40] brion has joined the channel [17:40] EyePulp: sooo… I've got all these console.log statements throughout my code, and I want a timestamp in front of them, and I kind of like how I can pass multiple args to console.log versus util.log()… is it wrong to consider overriding console.log to stick a timestamp in front of things? [17:41] webjay has joined the channel [17:41] NHQ: @aikar can't wait to use it! [17:41] NHQ: but i guess i'll have to [17:41] Margle has joined the channel [17:41] alessioalex has joined the channel [17:41] hipsterslapfight has joined the channel [17:42] Venom_X has joined the channel [17:42] SvenDowideit has joined the channel [17:43] webjay: Anyone know how to use async push? [17:43] webjay: I mean queue [17:43] brion has joined the channel [17:43] brion has joined the channel [17:43] webjay: Async queue [17:45] NHQ: @webjay read the docs until you get it :\ or hollar at the author, he's a nice guy [17:45] CarterL has joined the channel [17:45] webjay: NHQ: do you know how I can q.push a function? [17:46] webjay: the docs didn't hint me [17:46] stelleg has joined the channel [17:47] Aikar: webjay: i dont understand what you mean, you do long I/O operations async cause they take long. non I/O ops do not need async because they dont block. .push() is not a blocking operation unless your doing millions of pushes in a single cycle [17:47] Aikar: is that your usecase? [17:48] webjay: hmm, I think my problem is with setTimeout [17:48] prettyrobots has joined the channel [17:48] webjay: I can only call an API every one second [17:49] webjay: sorry :) [17:49] saikat has joined the channel [17:50] lzskiss has joined the channel [17:50] Aikar: webjay: oh, so your scheduling tasks to be run and you want a queue system that throttles the jobs? [17:50] webjay: yep, with a delay in between [17:50] jbpros has joined the channel [17:50] Aikar: I dont know of any modules that do that for you, but it wouldnt be complicated to write [17:51] wadey_: webjay: you could start with this: https://github.com/caolan/async#queue [17:51] wadey_: and just make a helper to add delay before finishing the call [17:51] bartt has joined the channel [17:51] Aikar: call setInterval (easier than setTimeout) and array.shift() if array.length > 0 [17:51] webjay: wadey_: how? [17:52] wadey_: record when you started, then setTimeout(next(), delay - (now - start)) [17:52] Aikar: that queue system doesnt look time/throttlebased [17:52] wadey_: or something to that effect [17:52] caolanm has joined the channel [17:52] NHQ: @webjay its not exactly clear what kind of "task" you're supposed to pass [17:52] webjay: sorry, I don't get it [17:52] wadey_: sorry [17:53] Aikar: webjay: sec il lcode you up something that will do it really simple [17:53] webjay: Aikar: thx :) [17:54] NHQ: @webjay the function you pass to var q = async.queue() is the the one that operates on your tasks [17:55] NHQ: q.push() is for sending new data to the task [17:55] webjay: yes, that works, but I can't figure out how to make a delay [17:56] prettyrobots has joined the channel [17:56] NHQ: set concurrency to 1? [17:56] jhurliman has joined the channel [17:57] rayfinkle has joined the channel [17:57] tilgovi has joined the channel [17:57] tilgovi has joined the channel [17:57] webjay: is this the way? q.push(function(){//next stuff}); [17:59] towski has joined the channel [18:00] NHQ: you could do that [18:00] Aikar: webjay: https://gist.github.com/1304504 [18:00] Aikar: that should be exactly what you want [18:01] webjay: thx, I'll take a look... [18:01] Aikar: you create a new ThrottledQueue with a 1s throttle, then throw functions into the queue and itll only run one once per 1s [18:02] Aikar: >>> node queue.js [18:02] Aikar: Fri, 21 Oct 2011 18:00:29 GMT [18:02] Aikar: Fri, 21 Oct 2011 18:00:30 GMT [18:02] Aikar: Fri, 21 Oct 2011 18:00:31 GMT [18:02] purr: Aikar: SyntaxError: Unexpected identifier [18:02] shykes_ has joined the channel [18:03] boehm has joined the channel [18:03] webjay: Aikar: thx a lot! [18:04] Aikar: webjay: that what you was looking for? [18:04] Isaiah has joined the channel [18:04] mattp_ has joined the channel [18:04] webjay: Aikar: exactly! [18:04] Aikar: yw :) [18:05] jstash: Aikar: i commented on the gist [18:05] Aikar: .stop() will execute all pending jobs then stop, or .stop(true) to abort all pending jobs [18:05] Aikar: jstash: err good point [18:06] jstash: yw. [18:06] vidi has joined the channel [18:07] Aikar: jstash: actually due to the logic it still does work as expected... but yeah thats still bad [18:07] jstash: ok, wasn't sure... just seemed fishy. [18:07] Aikar: if you call force, it cancels timer, if you dont force, it doesnt check the value of .stop unless queue is empty anyways [18:07] TheFuzzball has joined the channel [18:07] jstash: ah, right. [18:08] Aikar: actually yes it is broken, if you create queue and then dont register a function before the first tick, itll stop [18:08] Aikar: webjay: refresh that page, updated to use diff variable name [18:08] Aikar: webjay: code has a bug as pointed out by jstash [18:09] deedubs has joined the channel [18:09] webjay: ok, done, thx [18:10] devongovett has joined the channel [18:10] Aikar: webjay: note that the queue will hold your node.js process open until you call .stop(). the code could be improved to only register the interval if it has jobs to run [18:10] AvianFlu has joined the channel [18:11] Aikar: and then deregister when no jobs [18:11] Aikar: but ill let you take it from there [18:11] Isaiah has joined the channel [18:12] __tosh has joined the channel [18:12] JSManiacs has left the channel [18:12] webjay: Aikar: I use it for a shell script. As soon as I have played some more with it I can probably figure out how to improve it. thx again [18:13] jstash: thx also Aikar, i'll probably find a use for this soonish [18:13] smtlaissezfaire has joined the channel [18:14] JSManiacs has joined the channel [18:15] replore_ has joined the channel [18:15] replore has joined the channel [18:15] jtrudeau has joined the channel [18:15] thalll has joined the channel [18:17] cognominal has joined the channel [18:17] Aikar: refresh, I updated it [18:17] hipsterslapfight has joined the channel [18:17] Aikar: to do what i just said [18:17] Aikar: and only queue an interval if theres jobs to run [18:17] mjr_ has joined the channel [18:17] Aikar: err hold on [18:18] Aikar: I made it execute first job immediately, but that opens up a door [18:18] Aikar: of possibly executing faster than the threshhold [18:19] Aikar: so now itll not hold process and .stop() is only for emergy abort [18:19] Aikar: webjay: jstash [18:19] Aikar: ^ [18:20] Aikar: and note if your this. context is important for the jobs, you can use .bind() [18:21] javaanse_jongens has joined the channel [18:21] Aikar: ie function foo() { this.bar(); } [18:21] mmalecki: bnoordhuis: you may want to jump to #web-5 now, PEM is back :) [18:21] pickels has joined the channel [18:21] Aikar: then q.push(foo.bind(bar)) [18:22] webjay: Aikar: now you are being to advanced with me, I'll hopefully learn soonish :) [18:22] jstash: :) [18:22] TRUPPP_ON has joined the channel [18:22] Aikar: webjay: use the latest I code on the gist, its better :P [18:22] Aikar: you dont have to worry about stopping it now [18:22] webjay: done, thx [18:24] Dregond has joined the channel [18:24] Dregond: Hey everyone =] [18:25] Aikar: hi [18:26] danjx has joined the channel [18:27] Dregond: just started looking into node.js for a project of mine. But there are so many frameworks for node.js, is here anyway to pick one thats best? looking for a MVC style one [18:27] another_syrio has joined the channel [18:27] Dregond: Also will be using MySQL (may need ORM) and redis [18:28] danjx: Dregond, nope, there appears to be no consensus [18:29] Dregond: danjx: thanks, i might try express.js, any ideas about a good MySQL ORM? [18:29] neilk_ has joined the channel [18:29] Murvin has joined the channel [18:30] danjx: Dregond, I dislike ORM's, but there are a few listed at https://github.com/joyent/node/wiki/modules#wiki-db-mysql [18:30] danjx: I prefer to just build my own DAO's [18:31] Xano has joined the channel [18:31] Dregond: danjx: i'm not so great with one-to-many and many-to-many relationships handling, not sure where to starts with them [18:31] isaacs has joined the channel [18:31] fzzzy has joined the channel [18:32] creationix|work has left the channel [18:32] fatjonny has joined the channel [18:33] dubenstein has joined the channel [18:33] dmitrig01 has joined the channel [18:33] ezmobius has joined the channel [18:34] danjx: Dregond, one-to-many and one-to-one are just usages of SQL joins [18:34] trose: hmmm so here's a question. I'd like to be able to use jquery.post() on a page to send a request for a download file. I could then make express write a header content-disposition that would trigger the browser to download. I want to keep the user at that previous page as well though [18:34] Mokona has joined the channel [18:34] _th_n_ has joined the channel [18:36] Dregond: danjx: yeah, but hydrating the output is the problem, many-to-many need to be mapped to each other to build a proper object/array so its easier to work with. [18:36] lzskiss: . [18:37] tjholowaychuk: Dregond magic like that will save you now [18:37] tjholowaychuk: and only hurt you later [18:38] tjholowaychuk: just wrap your queries in little methods with one of the mysql drivers [18:41] dubenstein has joined the channel [18:41] Aikar: https://groups.google.com/forum/#!topic/nodejs/WKoQDqieyRE [18:41] Aikar: what picture do you guys see beside my post? [18:41] danjx: tjholowaychuk, I have a question for you, why do you work on Connect which is a Sencha project, if you don't work for them? [18:42] tjholowaychuk: danjx because i did work for them [18:42] tjholowaychuk: that's where the project started [18:42] Aikar: is it a red icon, or a photo of me, or nothing? [18:42] trose: so I have a page that is being dynamically updated by an express server and I want to have a download button to save a plain text version of the current page to the client's computer. Is there a way to do that while not losing the current page? Would I have to spawn a new window and write a content-disposition header to it? I'm worried about popup blockers ruining this idea [18:42] dubenstein has joined the channel [18:43] martin_sunset has joined the channel [18:43] maushu has joined the channel [18:43] jstash: i've been working on https://github.com/goinstant/node-cookie -- comments and feedback welcome. [18:43] danjx: tjholowaychuk, ah so you wanted to still work on the same codebase [18:43] tjholowaychuk: danjx yeah, not much point in forking [18:44] mikeycgto has joined the channel [18:44] mikeal has joined the channel [18:47] ayaz has joined the channel [18:47] Dregond: tjholowaychuk : got any example of wrapping a many-to-many result fro mysql ? [18:47] Aikar: jstash: thats MIT license right? usually good to state license type so dont have actually read it in detail to ensure which license it is lol [18:48] danjx: trose, have you actually tried doing this yet? the browser will probably not leave the page when visiting a new url with a content-disposition [18:48] jstash: it's the same as node's... i assume that's MIT [18:48] Aikar: seeing "MIT" = good to go! [18:48] jstash: i'll add that. [18:48] dnyy has joined the channel [18:48] mmalecki: (license == "mit") || runAway(speed.max) [18:49] jstash: heh [18:49] mmalecki: actually, should be (license instanceof MIT) [18:49] mmalecki: derivative licenses and things [18:49] jstash: Aikar it's MIT with parts public-domain and MPL/1.1 [18:50] jstash: it includes some MPL stuff from publicsuffix.org [18:51] isaacs: occupy nodejs [18:51] isaacs: http://fffff.at/occupy/nodejs.org [18:51] shimondoodkin has joined the channel [18:51] andyl has joined the channel [18:52] mmalecki: isaacs: haha [18:52] _sorensen_: lmao what what? [18:52] jstash: aw, nuts, i need to pick a different npm name [18:52] isaacs: mmalecki: node-glob doesn't work with 0.5 [18:53] isaacs: mmalecki: only 0.4 [18:53] mmalecki: isaacs: I know [18:53] mmalecki: isaacs: it uses eio and stuff [18:53] mmalecki: isaacs: any chances for 0.5 port? [18:53] isaacs: mmalecki: i'll be porting it to js as soon as i get a chance. [18:53] isaacs: probably december-ish [18:54] isaacs: mmalecki: you can use `minimatch` right now, if you just want to do string comparisons [18:54] mmalecki: isaacs: cool, thank you [18:54] mmalecki: isaacs: yeah, I'm porting code to use it now [18:54] isaacs: minimatch is actually better than node-glob. [18:54] isaacs: doesn't do the fs walking selection stuff, though, so you'll have to do that yourself. [18:54] EhevuTov has joined the channel [18:56] Me1000 has joined the channel [18:57] Alexanderrrrrr has joined the channel [18:58] Morkel has joined the channel [18:59] Ang3: hey guys - is it possible to create file with some JS function ? [19:00] jimt_ has joined the channel [19:00] Alexanderrrrrr: I installed html2jade and jade with "npm install [module]", ran npm install -d. But still when trying to run html2jade I get "Cannot find module jade". Can't find it on Google. [19:01] danjx: Ang3 see http://nodejs.org/docs/v0.5.9/api/fs.html#fs.writeFile [19:01] thinkjson has joined the channel [19:02] thinkjson: If a file is in the npm ignore, it is excluded from npm publishing, too, right? [19:02] danjx: Alexanderrrrrr, don't forget to do require('jade') in your application file [19:02] whitman has joined the channel [19:02] Alexanderrrrrr: I want to run html2jade on the command line. It should work like "html2jade [html file] [output file]" [19:03] danjx: is there an html2jade executable script? if so you'd need to add it to your $PATH [19:03] Ang3: ok - danjx thx ! And how can i k ow if the file exsit or not ? [19:04] gr-eg has joined the channel [19:05] danjx: Ang3, there is no fs.exists(), so I use fs.stat() instead http://nodejs.org/docs/v0.5.9/api/fs.html#fs.stat [19:05] Alexanderrrrrr: the html2jade dir contains: README.md attic bin libe node_modules package.json [19:05] Alexanderrrrrr: http://roguesynaptics.com/post/6514756867/html-to-jade-converter-node-js-express [19:06] dublon has joined the channel [19:06] rayfinkle: is there a way to open a stream whose input goes to another program? i can't find an example anywhere [19:06] Alexanderrrrrr: rayfinkle socket.io [19:07] markwubben has joined the channel [19:07] Ang3: k nice danjx thank you ! [19:08] rayfinkle: i just want to do something along the lines of unix piping so i can use cronolog [19:08] baudehlo: Ang3: actually there's path.exists() [19:09] baudehlo: but beware of race conditions. [19:09] dmitrig01 has joined the channel [19:10] baudehlo: don't do path.exists(p, function (exists) { if (!exists) { var ws = fs.createWriteStream( ... ) [19:11] Ang3: worx for a file too ? [19:11] baudehlo: yes [19:12] mike5w3c_ has joined the channel [19:13] thinkjson has left the channel [19:13] reid has joined the channel [19:13] baudehlo: hmm, actually I don't think there's a non-race condition way to write a file in node :-( [19:15] fmeyer has joined the channel [19:16] trose: http://jsfiddle.net/GKVHT/ anyone know why this isn't triggering a download in my browser. as far as i know this is the header you're supposed to send [19:17] JaKWaC has joined the channel [19:20] danjx: trose, try this instead res.header('Content-Disposition','attachment; filename='+req.param("name")+'.txt'); [19:20] tjholowaychuk: trose http://expressjs.com/guide.html#res.download() [19:21] trose: wait, what's this res.download() jazz? i can't find documentation about it [19:21] tjholowaychuk: that is the documentation [19:21] tjholowaychuk: lol [19:21] perezd has joined the channel [19:21] trose: tjholowaychuk, I swear i can't find it the #res.download doesn't link to anything [19:22] shaysm has left the channel [19:22] trose: is it deprecated? [19:25] trose: tjholowaychuk, hmm res.header('Content-Disposition','attachment; filename='+req.param("name")+'.txt'); doesn't seem to work... [19:25] trose: i disabled popup-blocking [19:25] jbpros has joined the channel [19:26] matt4447 has joined the channel [19:26] prettyrobots has joined the channel [19:27] trose: tjholowaychuk, huh i tried res.sendfile() as well and i get an error: can't set headers after they are sent [19:28] tjholowaychuk: .. [19:29] deedubs: :D [19:29] wilmoore has joined the channel [19:29] tlynn has joined the channel [19:30] danjx: trose, that's your problem right there, how are the headers being written? [19:30] trose: danjx, so my original page is being displayed with res.render(index.jade) [19:31] trose: that page has a button with a .click(function(){$.post(/download, filename)}); [19:31] danjx: trose, render() probably sets the header, you want to replace res.render() with the .download() code from TJ's documentation [19:31] tjholowaychuk: trose you realize with your res.end() you were setting a header field, and not sending the data right? [19:32] trose: tjholowaychuk, no i didn't :( [19:32] tylerstalder has joined the channel [19:32] versicolor has joined the channel [19:32] tjholowaychuk: the header field doesn't mean "transfer this file" [19:33] dmwuw has joined the channel [19:33] tjholowaychuk: it's just text [19:33] sechrist has joined the channel [19:33] trose: ah [19:33] danjx: but this is cool thing about node, you have to learn how HTTP headers work to do anything [19:33] trose: danjx, haha i know right? [19:33] neilk_ has joined the channel [19:34] trose: it's like a crash course in how the internet works [19:34] drudge has joined the channel [19:34] bnoordhuis has joined the channel [19:34] trose: i took a networking class a long time ago but it was lacking to say the least [19:34] trose: we mostly learned vocab and not anything real programming-wise [19:35] danjx: yes building a telnet server in node builds great experience because it forces you to [19:35] jamescarr has joined the channel [19:36] jamescarr: is there a good way to get a socket for a specific user? [19:36] danjx: forces you to learn about tcp [19:36] jamescarr: I mean, when using socket.io [19:36] `3rdEden: io.sockets.socket(id) jamescarr [19:36] `3rdEden: if you know the connection id :) [19:36] jamescarr: ah... so I'll need to associate the id with the user [19:36] trose: danjx, maybe i'm approaching this wrong? i can't send a download if my header is already written but i don't want to lose the original page [19:36] jamescarr: hmmm [19:36] fmeyer has joined the channel [19:36] jamescarr: redis might be good here [19:37] jamescarr: man... my socket.io code got out of control though. I need to re-organize it [19:37] jaimef: is it typical for node to eat 100% of one core with 50% being usr, and the other half being system time? [19:37] danjx: trose, you won't, the browser won't change pages if you use an attachment header [19:37] jamescarr: jaimef, no [19:38] dubenstein has joined the channel [19:38] jamescarr: `3rdEden, btw, care to enlighten me as to what TJ meant in this gist? https://gist.github.com/1286189 :) [19:38] jamescarr: please :) [19:38] jaimef: yeah the 50% system time has me curious [19:39] dmitrig01 has joined the channel [19:39] trose: danjx, so earlier you said replace my .render with .download but how would that display my index.jade page? [19:39] tjholowaychuk: jamescarr i just meant that you can can use store.load() now [19:39] tjholowaychuk: to get a Session [19:39] tjholowaychuk: instead of just the json [19:40] jbpros has joined the channel [19:40] jkridner: waf and OE/bitbake aren't getting along very nicely. Any waf expert want to tell me how to get waf to look in the right location for libraries when cross-compiling? [19:40] danjx: trose, aren't you talking about two different routes? one route goes to a res.render() another route like "/download" would go to a res.download() [19:40] jkridner: it seems node-waf doesn't support the --cross-compile unbreakme flag. [19:41] jaimef: accept(5, 0x7fffd5a3a700, [128]) = -1 EAGAIN (Resource temporarily unavailable) [19:41] jaimef: [19:41] liar has joined the channel [19:41] jamescarr: tjholowaychuk, oh nice :) [19:41] jamescarr: didn't see you in the channel :) [19:42] trose: danjx, what's what i have right now maybe it's a problem with my method of getting to the download? I'm using $.post('/download', post data) on my client [19:42] franciscallo has joined the channel [19:42] trose: s/what's/that's/ [19:42] Mokona has joined the channel [19:44] jaimef: maybe tcpsend space [19:44] danjx: trise, I think you want to do something like $.post('/download', function(req,res) { res.download(...) } [19:45] dmitrig01 has joined the channel [19:45] trose: don't call me trise [19:45] dmitrig01 has joined the channel [19:45] jamescarr: `3rdEden, socket.id right? [19:45] trose: ;) [19:45] trose: danjx, woah you can do that client side? [19:46] jamescarr: yep, socket.id was it [19:46] danjx: trose, err no I misinterpreted [19:46] heavysixer has joined the channel [19:46] Venom_X has joined the channel [19:47] danjx: in your node/express code you'd need a route like app.post('/download',function(req,res) { res.download() }}) [19:48] danjx: $.post() would be a jquery method [19:48] jamescarr: my app is tight [19:48] CIA-48: node: 03Ben Noordhuis 07 * r0ae98df 10/ wscript : [19:48] CIA-48: node: build: fix wscript on solaris [19:48] CIA-48: node: os.path.exists() in python 2.5.2 returns false for symlinks. - http://git.io/LccD0Q [19:48] jamescarr: socket.io, mongoose, redis, GridFS in mongo, rabbitMQ [19:48] jamescarr: oh yeah and express of course [19:49] jaimef: evented actions don't result in any sort of ctx right? [19:49] jaimef: since context is kept with same process? [19:49] wadey has joined the channel [19:50] Ezku\ has joined the channel [19:51] aguynamedben_ has joined the channel [19:51] jetienne has joined the channel [19:51] aroman has joined the channel [19:51] aroman: what does one do with a SlowBuffer? [19:52] trose: danjx, yeah that's exactly what i've got and when i try to do res.download it says i can't set the header since it has already been done :((((((((((( [19:52] Renegade001 has joined the channel [19:52] V1 has joined the channel [19:53] ksheurs has joined the channel [19:54] cjm has joined the channel [19:54] matt4447 has joined the channel [19:55] danjx: trose, are you doing a .render() then a .download() ? [19:55] danjx: trose, within the same route? [19:55] trose: no [19:55] trose: i'm not [19:56] jamescarr: tjholowaychuk, is there a better regex to use? [19:56] trose: which is why i'm so confused [19:56] jamescarr: my regex fails here: 1qER7VCxup3wstno57EMu6y9.DDhO1ZizbX+vcO6Mg4/N4hRCuXoxdOvow+gSy11W6AE; __utmb [19:56] tjholowaychuk: regexp? [19:56] jamescarr: been using .replace(/.*connect.sid=(.*)?.*/, '$1')) [19:56] jamescarr: to capture it [19:56] tjholowaychuk: split on the = [19:56] jamescarr: then querystring'ing it [19:57] danjx: trose, your download route should look like this app.get('/download', function(req, res){ res.download('path/to/image.png'); }); [19:57] wilmoore has joined the channel [19:57] jamescarr: yeah, I still wind up with ; __utmb on the end [19:57] tjholowaychuk: oh i didnt see that [19:57] jamescarr: yeah, some funky firefox cookie [19:57] jamescarr: got a report from the call center today because some dude couldn't transfer leads :) [19:57] tjholowaychuk: i was using connect.utils.parseCookie [19:58] tjholowaychuk: var cookies = utils.parseCookie(cookie) [19:58] tjholowaychuk: , sid = cookies['connect.sid']; [19:58] jamescarr: ah! [19:58] jamescarr: you've been hiding it from me :) [19:58] EhevuTov has joined the channel [19:58] jamescarr: thanks... that solution is way better [19:59] mcluskydodallas has joined the channel [20:00] trose: yup I've got exactly that... [20:00] cody__ has joined the channel [20:00] trose: danjx, hmm weird so it's working... i think... [20:00] rev087ipad has joined the channel [20:00] trose: i'm getting no response client side [20:01] tjholowaychuk: trose use curl [20:01] jamescarr: wonderful... that solved the problem. my code looks way cleaner [20:01] bogomips2__ has joined the channel [20:02] trose: tjholowaychuk, O.o? I want the browser to pop up a download dialog box [20:03] shaysm has joined the channel [20:03] matt4447: I'm using everyauth with password authentication and I'm getting the error: "Object function model() { Model.apply(this,arguments) }has no method 'authenticate'". Anybody seen that before? [20:03] jamescarr: tjholowaychuk, so, sessionStore.load(sid) ? [20:03] deedubs: matt4447: Have you defined authenticate as a static on your user? [20:04] tjholowaychuk: jamescarr yup, i put my store at app.store but: [20:04] tjholowaychuk: app.store.load(sid, function(err, sess){ [20:04] jamescarr: ah [20:04] deedubs: tjholowaychuk: is app a global? [20:04] jesusabdullah: tjholowaychuk: like the apple app.store ? [20:04] matt4447: yea, that's what's strange. the password plugin does it, I even hacked it to do it explicitly and I see the method on the schema in the debugger, but the User model, for some reason, doesn't seem to have it. [20:04] briemens_ has joined the channel [20:04] tjholowaychuk: deedubs in this app yeah [20:04] Cheery has joined the channel [20:05] jesusabdullah: app.store.buy("angry_birds", function (err, game) { game.play(); }); [20:05] tjholowaychuk: hahaha [20:05] mikeric has joined the channel [20:05] bnoordhuis has joined the channel [20:05] alessioalex: :))) [20:05] rev087ipad: alert(err.message); [20:05] jamescarr: tjholowaychuk, did you assign store to app? [20:05] colinclark_ has joined the channel [20:05] jamescarr: because for me it's undefined [20:06] tjholowaychuk: yup i did [20:06] rev087ipad: "Credit card refused" [20:06] jamescarr: cool [20:06] tjholowaychuk: you cant grab it from the session middleware [20:06] tjholowaychuk: since nothing is exposed [20:06] tjholowaychuk: that's the one lame thing about middleware [20:06] tjholowaychuk: but meh [20:06] tjholowaychuk: easy enough to chuck it somewhere [20:06] colinclark__ has joined the channel [20:06] jamescarr: wonderful [20:06] Me1000 has joined the channel [20:07] deedubs: I only recently discovered the mounted call [20:08] _dc has joined the channel [20:10] Cheery: baudehlo: I haven't had motivation until now to return on haraka and finishing the setup to my server. [20:10] lzskiss has joined the channel [20:10] jamescarr: best quote of the month "Node.js is an unpleasant software library and I will not use it" [20:10] zackattack has joined the channel [20:10] jamescarr: for some reason that always makes me giggle [20:10] CIA-48: node: 03isaacs 07 * r2d02e6a 10/ (doc/api/repl.markdown lib/repl.js src/node.js): Add useGlobal flag for standard node repl - http://git.io/0mUycw [20:10] CIA-48: node: 03isaacs 07 * rcaf70f5 10/ (doc/api/repl.markdown lib/repl.js test/common.js): [20:10] CIA-48: node: Revert "Don't use a separate context for the repl." [20:10] CIA-48: node: This reverts commit b70fed48a7fb0ac884e6574253a89db6158b2f60. - http://git.io/I9B5Jw [20:10] baudehlo: Cheery: simply not good enough ;) [20:11] dmitrig01 has joined the channel [20:11] Cheery: baudehlo: I know. ): I've been lazy and I have to reward myself from it by doing something cool for a change. [20:11] jacobolu_ has joined the channel [20:12] cognominal_ has joined the channel [20:12] baudehlo: Haraka is cool. [20:13] malletjo: Hello folks, anyone have use node-xml2js from Leonidas -from-XIV and had an issue about not well formated XML ? I did a basic test and the callback of parseString is called twice when something wrong in the xml. Thx [20:14] Cheery: did you tell me last time how to turn message outbound while saving a copy of it? [20:14] matt4447 has joined the channel [20:14] JaKWaC has joined the channel [20:14] baudehlo: no... But you should look at the quarantine plugin. [20:15] dylang: tjholowaychuk: i'm using cluster to do my best to keep Doodle or Die alive when it gets busy (400+ active players, 100+ doodles submitted/minute). Workers die because they run out of memory. I'm only using three workers because no ram for any more (just 256 mb in the no.de instance). Sometimes workers that die never want to come back, or the repl becomes compleletly unavailable, like right now. Am I using cluster incorrectly? [20:15] baudehlo: Cheery: http://haraka.github.com/manual.html [20:15] baudehlo: urgh. [20:15] baudehlo: frames-- [20:15] v8bot_: baudehlo has taken a beer from frames. frames now has -1 beers. [20:15] tjholowaychuk: dylang hm kinda sounds like the whole system would be choking on 256m of ram [20:16] baudehlo: Cheery: http://haraka.github.com/manual/plugins/queue/quarantine.html [20:16] saesh has joined the channel [20:17] CIA-48: node: 03Ryan Dahl 07 * rde09168 10/ lib/tls.js : [20:17] CIA-48: node: Emit 'end' from crypto streams on close [20:17] CIA-48: node: Fixes test/simple/test-tls-peer-certificate.js on Windows [20:17] CIA-48: node: Patch from bnoordhuis. [20:17] CIA-48: node: See also 75a0cf970fb48440a93a62796ab1f128fcbe7d76 - http://git.io/A_d2Gg [20:17] dylang: tjholowaychuk: yup. workers die after about 20 minutes. under heavy load (like every evening) they die every few minutes. [20:17] trose: dylang, dear god those poor workers [20:17] dylang: uptime: 4 hours [20:17] dylang: restarts: 0 [20:17] dylang: workers: 3 [20:17] dylang: deaths: 189 [20:17] tjholowaychuk: dylang yeah i doubt that's enough resources at all [20:17] tjholowaychuk: cant do much with that [20:18] danjx: that's why they're called workers, they're slaved to death [20:18] adambeynon has joined the channel [20:18] dylang: danjx: that would be slaves. workers get paid at least, right? [20:18] danjx: is there a difference? [20:19] jakehow has joined the channel [20:19] dylang: tjholowaychuk: when the repl dies is there any way to bring it back without killing the active workers? [20:20] zivester has joined the channel [20:20] tjholowaychuk: I haven't seen it die so im not sure :D [20:20] another_syrio has joined the channel [20:22] Cheery: baudehlo: why do you point me to quarantine plugin? is the format of messages in maildir equivalent to this one? [20:22] baudehlo: yeah, pretty close. [20:22] dylang: i'm getting ~15 doodles submited a second right now, don't want to restart it but 2 of of the 3 workers are dead and not restarting, and the repl is not accepting connections (so i assume dead). [20:22] baudehlo: Maildir needs the new/tmp/cur directories. [20:22] baudehlo: you write into tmp, then mv/rename into new [20:23] tilgovi has joined the channel [20:23] tilgovi has joined the channel [20:23] dylang: oh last one ran out of memory, now they're all restarted again and i can access the repl. [20:23] tjholowaychuk: dylang moar resources [20:23] tjholowaychuk: we have like ~17gb of ram or something [20:23] tjholowaychuk: you're screwed :p [20:23] dylang: haha [20:24] deedubs: dylang: I've run a cluster with 4 workers on 512 [20:24] gr-eg has joined the channel [20:24] dylang: we haven't put ads or other income features on doodle or die yet so not ready to pay for a server. being cheap, i know. [20:24] shimondoodkin has joined the channel [20:25] deedubs: on linode a 512 instance is $20 a month [20:25] martinciu has joined the channel [20:25] Cheery: baudehlo: so I just modify quarantine.js to write it into box/tmp and move into box/new when it's transferred [20:25] Ang3 has joined the channel [20:26] baudehlo: I dunno what your needs are :) [20:26] dylang: deedubs: i know lots about security in that i don't know the first thing about making a server secure. :S [20:26] shimondoodkin: hello [20:26] Cheery: baudehlo: were there dspam plugin at some point? [20:27] baudehlo: nope [20:27] trose: danjx, so i attached an error callback to my res.download function and it's not logging any errors. ... i don't get it [20:27] EhevuTov has joined the channel [20:27] voodootikigod_ has joined the channel [20:28] jamescarr: 1200 commits [20:30] trose: OH! tjholowaychuk Danjx, does the file path in res.download have to be absolute or just relative to the server? [20:30] sindresorhus has joined the channel [20:30] martinciu_ has joined the channel [20:31] sindresorhus has joined the channel [20:31] trose: nvm... the abolute path didn't work either... [20:31] tjholowaychuk: trose absolute or relative to the CWD like any other [20:31] blueadept` has joined the channel [20:31] sindresorhus has joined the channel [20:32] sindresorhus has joined the channel [20:32] trose: tjholowaychuk, huh i don't get why it isn't doing anything then.... do i have to do something after the res.download call? [20:32] perezd_ has joined the channel [20:32] sindresorhus has joined the channel [20:33] sindresorhus has joined the channel [20:33] sindresorhus has joined the channel [20:34] sindresorhus has joined the channel [20:34] tylerstalder has joined the channel [20:34] sindresorhus has joined the channel [20:35] olivier has joined the channel [20:35] piscisaureus_ has joined the channel [20:35] sindresorhus has joined the channel [20:35] trose: Danjx, okay now this shit is just teasing me. So I tried making a app.get('/download') and did a res.download in there and it works fine [20:36] jetienne has joined the channel [20:36] sindresorhus has joined the channel [20:36] trose: danjx, so doing this whole $.post() thing seems to be the problem [20:36] rayfinkle has joined the channel [20:36] sindresorhus has joined the channel [20:36] slifty_corsair has joined the channel [20:37] danjx: trose, did you try a .get() to make sure at least that works? [20:37] sindresorhus has joined the channel [20:37] danjx: err, ok ya you did [20:37] trose: :D [20:37] yozgrahame has joined the channel [20:37] danjx: perhaps there is a bug in express's post routing [20:37] rayfinkle: can someone point out the issue with this code. trying to pipe to an exec (cronolog's) stein https://gist.github.com/1304885 [20:37] tmpvar_ has joined the channel [20:37] danjx: the post maybe is setting a header internally [20:37] sindresorhus has joined the channel [20:38] CIA-48: libuv: 03Igor Zinkovsky 07 * r7738306 10/ (src/win/pipe.c src/win/tcp.c): windows: fixes queued_bytes for ipc pipes - http://git.io/RKoUpQ [20:38] sindresorhus has joined the channel [20:38] mikeric has joined the channel [20:39] aroman: anyone here using zeromq with node? [20:39] danjx: i'm outta here, back later maybe [20:39] sindresorhus has joined the channel [20:39] danjx has left the channel [20:41] jamescarr: tjholowaychuk, oh yeah, non-node related... [20:41] pschumi has joined the channel [20:41] jamescarr: your git extensions took off like wildfire when I introduced it at my workplace :) [20:41] Venom_X: so, my app has a lot of expressjs routes. The main server.js file is getting pretty big. How do you guys deal with this? [20:42] jamescarr: Venom_X, I break my routes up by main routes [20:42] JaKWaC has joined the channel [20:42] tjholowaychuk: jamescarr haha nice :) [20:42] tjholowaychuk: haha [20:42] jamescarr: for example, routes/leads.js -> /lead/new, lead/edit, /lead/call, etc [20:42] tjholowaychuk: why does everyone put all the routes in one file :( [20:42] tjholowaychuk: durr [20:42] jimt has joined the channel [20:42] jamescarr: tjholowaychuk, because it's the example they start with? :) [20:42] sindresorhus has joined the channel [20:43] dmwuw_ has joined the channel [20:43] Venom_X: so the "app" express instance lives in my server.js. How does routes/leads.js get access to it? [20:43] jamescarr: Venom_X, and my routes/leads.js actually became so large that I wound up with /routes/leads/actions.js, /routes/leads/reports.js, etc [20:43] bogomips2_ has joined the channel [20:43] aroman: ahhh nevermind, I figured out how the API works [20:43] sindresorhus has joined the channel [20:43] pschumi: Hi. Anybody know why addons core dump for nodejs 0.5.9+ with eio_custom asynchronous calls. Addon works fine with 0.4.12..Tried to google, RTFM and etc. with no success. Going crazy =) [20:43] tjholowaychuk: Venom_X few options (ps I have 3 or 4 examples in the repo) [20:43] tjholowaychuk: but [20:43] jamescarr: require('./routes/leads')(app) is the simplest [20:44] tjholowaychuk: personally i use an "app" global, but that depends on what your app is for [20:44] bengrue has joined the channel [20:44] tjholowaychuk: there are certainly cases where you wouldnt want to do that [20:44] tjholowaychuk: but I hate passing app around [20:44] sindresorhus has joined the channel [20:44] sindresorhus has joined the channel [20:45] Venom_X: tjholowaychuk, are there any real problems with passing the app around? It seams to be the option that jives with me [20:45] sindresorhus has joined the channel [20:45] tjholowaychuk: not really no [20:45] tjholowaychuk: you can do module.exports = function(app){ [20:45] tjholowaychuk: it's just ugly and annoying [20:45] tjholowaychuk: totally up to you [20:45] sindresorhus has joined the channel [20:46] Venom_X: tjholowaychuk, the other option. Making it global. How does that work? [20:46] sindresorhus has joined the channel [20:46] tjholowaychuk: just make it a global [20:46] tjholowaychuk: and use it whereever you want [20:46] sindresorhus has joined the channel [20:47] Venom_X: oh, ok. Thanks [20:47] Aikar: yeah... the sake of registering a global isnt a bad thing, its misusing globals that is [20:47] CIA-48: node: 03Ryan Dahl 07 * r9b2335a 10/ (16 files in 5 dirs): Upgrade libuv to 7738306 - http://git.io/PnqIKw [20:47] sindresorhus has joined the channel [20:47] tjholowaychuk: Venom_X https://github.com/visionmedia/express/blob/master/examples/route-separation/app.js#L20 [20:47] Aikar: if your passing stuff in tons of files, and your building an APP (ie not a library), then def use global [20:47] tjholowaychuk: i dont mind that pattern [20:47] Aikar: its not going to affect yuor performance [20:48] tjholowaychuk: yeah if your app is intented to be require()d by others you definitely dont want that [20:48] tjholowaychuk: intended* [20:48] Aikar: alot of the "zomg if you do this your performance will be destroyed" are very old articles from earlier days of javascript [20:48] Aikar: V8 is smarter about that stuff now [20:48] springmeyer has joined the channel [20:48] Venom_X: cool. thanks a lot [20:48] sindresorhus has joined the channel [20:49] Aikar: like i read some article that recommended converting primitives like strings to objects saying that "calling .length implicitly converts it to an object every time, so if your using a loop, convert it once and use the object to gain performance" [20:49] sindresorhus has joined the channel [20:49] Aikar: Tested it in my benchmark, 0 performance change [20:49] zmbmartin has left the channel [20:49] TheFuzzball has joined the channel [20:49] sindresorhus has joined the channel [20:50] sindresorhus has joined the channel [20:50] CIA-48: node: 03Ben Noordhuis 07 * r3c3ec7b 10/ (2 files in 2 dirs): gyp: upgrade to r1081 - http://git.io/CMqGSw [20:51] hdon- has joined the channel [20:52] pschumi: Anybody know asynchronous addon/plugin working with nodejs 0.5.x? (with source code available of course) :) ... referring to problem I described above... [20:53] saikat has joined the channel [20:56] jetienne has joined the channel [20:58] flagg0204 has joined the channel [20:58] prettyrobots has joined the channel [20:58] trotter has joined the channel [20:59] bradleymeck has joined the channel [21:00] amiller has joined the channel [21:01] mikeric has joined the channel [21:02] lzskiss_ has joined the channel [21:02] bosphorus has joined the channel [21:03] postwait has joined the channel [21:04] flagg0204 has joined the channel [21:05] matt4447 has joined the channel [21:07] flagg0204 has joined the channel [21:08] creationix|work has joined the channel [21:08] creationix|work: If node were to have the CGI variable "SERVER_SOFTWARE" what would is be [21:08] creationix|work: "nodeJS", "nodeJS v0.4.12" ? [21:09] creationix|work: and where would it be? [21:09] dshaw_ has joined the channel [21:09] creationix|work: process.serverSoftware? [21:09] creationix|work: (I know it doesn't exist, I'm wondering what people thing if it did exist) [21:09] creationix|work: *think [21:10] Cheery: baudehlo: if I add a header afterwards, does it appear in the transaction.data_lines? [21:10] Cheery: I'll reword that soon, to be more specific.. [21:11] lzskiss has left the channel [21:11] flagg0204 has joined the channel [21:11] Isaiah has joined the channel [21:11] scott_gonzalez has joined the channel [21:11] Cheery: baudehlo: does transaction.add_header(key, value) change transaction.data_lines ? [21:11] baudehlo: yes [21:12] JaKWaC has joined the channel [21:12] baudehlo: (transaction.header.add() doesn't, however) [21:12] Cheery: okay [21:12] baudehlo: At some point I want to be able to modify the body too. [21:12] baudehlo: But that's a much harder problem. [21:12] baudehlo: as you then have to re-write the entire mail. [21:12] fmeyer has joined the channel [21:13] JaKWaC has joined the channel [21:13] Cheery: I've got save_into_maildir now, yet I haven't hooked it into place (because I don't know how should I hook it exactly to get it save outbound mail as well. :) [21:14] mikeal has joined the channel [21:14] Cheery: now I go to look at what I've got in dspam [21:15] Cheery: the unix principle into programs.. damn good thing no corporation has gotten the idea of it or there would be really hard-to-skip commercial operating system around. [21:15] herbySk has joined the channel [21:16] Cheery: if I want, I can later hook the dspam into my web pages, to rule-out spam from comments and such. :) [21:16] JSManiacs has left the channel [21:16] JSManiacs has joined the channel [21:16] mcluskydodallas has joined the channel [21:17] brion has joined the channel [21:17] brion has joined the channel [21:18] kab3wm has joined the channel [21:19] bogomips2__ has joined the channel [21:19] baudehlo: I should probably port the bayes engine I wrote for SpamAssassin to node. [21:19] baudehlo: though I'm not sure what I'd use for token storage. [21:19] baudehlo: node needs a DBI. [21:19] fmeyer has joined the channel [21:21] creationix|work: baudehlo: redis? [21:21] creationix|work: or something more persistant? [21:21] baudehlo: *shrug* [21:22] baudehlo: it just needs to be fast and safe. [21:22] mjr_ has joined the channel [21:22] creationix|work: what's "safe"? [21:22] baudehlo: "not memcached" :) [21:22] creationix|work: that can have a *wide* range of meanings in databases [21:22] creationix|work: well redis is not memcached, but sure works a lot like it [21:23] TRUPPP_ON has joined the channel [21:23] jakobdamjensen has joined the channel [21:23] baudehlo: Someone told me that redis was moving away from disk backed storage, any truth to that? [21:23] creationix|work: no idea [21:23] baudehlo: I used sqlite for the first implementation I did of it. [21:23] McMAGIC--Copy has joined the channel [21:24] creationix|work: leveldb? [21:24] baudehlo: that would work. [21:24] bogomips2_ has joined the channel [21:24] creationix|work: it's in-process like sqlite, but modern key-value [21:24] tjholowaychuk: in my experience redis has been more stable than anything else i've used [21:24] baudehlo: it's only local though. [21:24] tjholowaychuk: whatever that means :) [21:24] CIA-48: libuv: 03Ben Noordhuis 07 * r9da53df 10/ src/unix/core.c : [21:24] CIA-48: libuv: unix: fix uv_freeaddrinfo() segfault on sunos [21:24] CIA-48: libuv: The system freeaddrinfo() on SunOS does not handle NULL values graciously. - http://git.io/h3_pCQ [21:24] baudehlo: so if you have two email servers you lose. [21:24] creationix|work: https://github.com/creationix/node-leveldb [21:24] creationix|work: baudehlo: couchdb replicates pretty easily [21:25] creationix|work: and I think there are ways to make redis and mongo do it as well [21:25] creationix|work: postgres and mysql can have slave servers if I remember right [21:25] `3rdEden: baudehlo redis is not moving away from diskstorage [21:25] jbpros has joined the channel [21:25] `3rdEden: baudehlo they are actually going to work on improving it after redis cluster [21:25] mjr_: baudehlo: redis uses disk in a non-durable way by default, and its the reason it is so fast. [21:26] baudehlo: `3rdEden: good to know. This was a $work thing, where they changed the plan to use Riak instead. [21:26] creationix|work: mjr_: is that also still true for mongo, or did they change that? [21:26] mjr_: I dunno. I guess mongo is getting better. I've never actually used it though. [21:26] baudehlo: creationix|work: couch (or mongo) would be too slow I think for bayes token storage. [21:26] `3rdEden: creationix|work unless you use the save mode of fsync it would be basically the same [21:27] mjr_: baudehlo: we use risk and redis together with quite pleasing results, but we desperately need redis cluster to complete the picture. [21:27] baudehlo: if the average email is say 1000 words, and you're using a sliding window of 2 words, you'd be doing 2000 lookups. [21:27] gxdssoft_ has joined the channel [21:27] creationix|work: well, you're going to have a hard time finding a data store that's as fast as memcached and as distributed and durable as couchdb [21:27] `3rdEden: tokiocabinet? [21:27] lzskiss has joined the channel [21:27] giantwok has joined the channel [21:27] creationix|work: baudehlo: how about fast read, but slower and more durable writes? [21:28] creationix|work: with "eventual consistency" [21:28] wilmoore has joined the channel [21:29] baudehlo: all of this is kinda speculating anyway... I'm not going to write this :) [21:29] jesusabdullah: just use ALL the databases. at the same time. [21:29] matyr has joined the channel [21:30] baudehlo: my current spam filters already stop about 99.9% of spam. I did bayes a decade ago, I can't be bothered with it now. [21:30] jesusabdullah: mongocouchedis-db [21:30] baudehlo: and if you want bayes, Haraka ships with a spamassassin plugin which has a bayes module. [21:30] Cheery: I guess I'll use that [21:30] creationix|work: actually, if it's ok do lose a hour or day's worth of data occasionaly, then it's easier [21:30] creationix|work: just use redis and make nightly or hourly offsite backups [21:30] mjr_: This is the vision of couchbase, BTW. [21:30] wilmoore has joined the channel [21:31] baudehlo: creationix|work: my worry with redis is the DB gets large, and redis has to be all resident in RAM all the time. [21:31] dylang_ has joined the channel [21:31] creationix|work: baudehlo, well, then something else, but it's not a node problem, but a general db problem [21:31] p1d has joined the channel [21:31] baudehlo: oh absolutely [21:32] creationix|work: if I've learned anything about databases, there is no one db that works for everyone [21:32] creationix|work: not remotely [21:32] baudehlo: SA uses pluggable storage backends for it. [21:32] baudehlo: so you can use MySQL or Pg or BerkeleyDB. [21:32] mikeric_ has joined the channel [21:32] baudehlo1 has joined the channel [21:33] smtlaissezfaire has joined the channel [21:34] stagas has joined the channel [21:34] saesh has joined the channel [21:34] deedubs has joined the channel [21:36] enos_feedler has joined the channel [21:36] mattrobenolt has joined the channel [21:37] animorten has joined the channel [21:38] dshaw_ has joined the channel [21:38] arcanis has joined the channel [21:39] bogomips2__ has joined the channel [21:41] cwhelms has joined the channel [21:41] cwhelms: hey all [21:41] PhilK has joined the channel [21:42] cwhelms: i have a socket.io app that works on my local computer, but on an arm7 board, the socket.io doesn't do anything but show the static content [21:42] bogomips has joined the channel [21:42] AvianFlu has joined the channel [21:42] creationix|work: cwhelms: does your device have any funny firewall? [21:42] cwhelms: not that I know of [21:42] Dregond has left the channel [21:42] creationix|work: that stuff should work the same regardless of the arch [21:42] cwhelms: im looking into that now [21:42] cwhelms: im using node 0.4.0 [21:43] creationix|work: 0.4.0 or 0.4.12? [21:43] cwhelms: would that be a problem? [21:43] cwhelms: 0.4.0 [21:43] creationix|work: there were a lot of bugs in 0.4.0 that were since fixed [21:43] cwhelms: yea [21:43] creationix|work: and some API changes related to http [21:43] cwhelms: i can't install anything newer [21:43] creationix|work: mostly set_header stuff [21:43] cwhelms: i will try to install the newer version [21:43] cwhelms: its arm based [21:44] cwhelms: so i have to cross compile [21:44] creationix|work: cwhelms: what kind of device? [21:44] Skipants has joined the channel [21:44] cwhelms: beagleboard [21:44] creationix|work: trust me, I know all about cross compile, I build for my touchpad all the time [21:44] cgfuh has joined the channel [21:45] cwhelms: do you have any experience with opkg? [21:45] lzskiss has joined the channel [21:45] creationix|work: cwhelms: try the newer version and check the firewall, good luck [21:45] creationix|work: no, we use ipkg [21:45] deoxxombie: creationix|work: consider yourself lucky that you have a toolchain - we support a bunch of ericsson devices at work and they won't even give us the versions/modifications to libraries that they're using :( [21:45] cwhelms: bummer [21:45] cwhelms: iight well ill try some more stuff [21:45] cwhelms: thanks for the help! [21:45] creationix|work: out toolchain isn't too open [21:46] creationix|work: but the homebrew community made a nice one based on sb2 [21:46] creationix|work: I use that for node usually [21:46] cwhelms: cool [21:46] creationix|work: or I just build directly on device [21:46] creationix|work: but then my binaries only work within the debian chroot [21:46] creationix|work: since libc versions don't match [21:47] metellus has joined the channel [21:48] creationix|work: the touchpad can build node including V8 in about 10 minutes with both cores maxed out to 1.5Ghz [21:48] creationix|work: :) [21:49] a_meteorite: Does Buffer.readDoubleBE work? [21:49] a_meteorite: Seems to break here. Buffer length is plenty long, but it always throws AssertionError: Trying to read beyond buffer length [21:50] a_meteorite: Threw in a debug statement right before where I read, and the buffer's length is 182 [21:50] a_meteorite: (readDoubleLE also doesn't work) [21:51] brion has joined the channel [21:51] devongovett has joined the channel [21:53] a_meteorite: Actually it seems reading anything isn't coming out right [21:54] reid has joined the channel [21:55] CIA-48: node: 03Ryan Dahl 07 * refa95c2 10/ test/simple/test-eio-race.js : Fix test-eio-race on Windows - http://git.io/n68mvQ [21:56] captain_morgan has joined the channel [21:56] Sorella has joined the channel [21:56] SamuraiJack has joined the channel [21:56] prettyrobots has left the channel [21:57] prettyrobots has joined the channel [21:57] simenbrekken has joined the channel [21:59] mikeycgto has joined the channel [21:59] mikeycgto has joined the channel [21:59] a_meteorite: nevermind, I'm an idiot [22:00] __tosh has joined the channel [22:00] mikeycgto has joined the channel [22:00] ryanfitz has joined the channel [22:00] mikeycgto has joined the channel [22:01] domo has joined the channel [22:01] domo: whats the fastest way to parse XML in node? I just tried xml2js from npm and holy hell it took too long [22:02] isaacs: domo: why not just use sax-js directly? [22:02] domo: idk, not familiar with these modules [22:02] isaacs: domo: that's all that xml2js is doing, but it's building up an object, rather than giving you notification of each tag. [22:02] isaacs: !npm search sax [22:02] jhbot: package readabilitySAX: the readability script ported to a sax parser [22:02] jhbot: package dom-js: XML DOM based on sax [22:02] jhbot: package elementtree: XML Serialization and Parsing module based on Python's ElementTree. [22:02] jhbot: package dom-js-ns: XML DOM based on sax [22:02] jhbot: package sax: An evented streaming XML parser in JavaScript [22:02] isaacs: !npm info sax [22:02] isaacs: hm.... don't quite know how to use this bot... [22:03] domo: so I can specify with tags I want [22:03] domo: and continue on the ones I dont [22:03] domo: its a pretty hefty xml doc.. but i only use 20 lines of it [22:03] domo: so xml2js is probably the worst idea [22:03] isaacs: domo: yeah, if you use xml2js for that, you're building up a much larger object than you need. [22:04] mikeycgto has joined the channel [22:04] mikeycgto has joined the channel [22:04] isaacs: domo: with sax, you can even listen for one particular tag, and when you see that opentag, start watching for other things, then remove your listeners when you see the close [22:04] isaacs: it's very low-level [22:04] hipsterslapfight: i can't wait until xml is dead and json reins supreme [22:04] domo: i had a webserver that would parse and return some text from the xml file and it took like 300 ms per request [22:04] domo: did the same in php and it took 20 ms per request [22:05] isaacs: domo: that sounds like something is very wrong with the first approach [22:05] a_meteorite: What would be the best way to encode a timestamp? Sometimes when I readDoubleBE of an encoded Date.now, it comes out as a floating point value [22:05] isaacs: also, php uses libxml2 [22:05] isaacs: which *is* pretty damn fast for many things. [22:05] a_meteorite: Timestamp: 1.0605576599118097e-17 [22:05] a_meteorite: Timestamp: 1319234673454 [22:05] domo: so what is a valid comp for node? [22:05] a_meteorite: Sometimes either one [22:05] a_meteorite: (The second is intended behavior) [22:05] domo: can I achieve those speeds using node? [22:06] isaacs: sax-js cant' really keep up with libxml2 in a straight apples-to-apples shootout [22:06] isaacs: domo: sure. [22:06] domo: or is parsing XML with node not really cool [22:06] domo: haha [22:06] isaacs: sax-js does well by not doing nearly as much as libxml2 [22:06] isaacs: domo: it's fine :) [22:06] isaacs: domo: if sax isn't fast enough, you can use the libxml2js binding, but it's, meh, compilation, etc. [22:06] isaacs: bigger api [22:06] domo: yeah [22:06] a_meteorite: What's interesting is when it does come at as a floating point value it's *always* 1.0605576599118097e-17 [22:06] domo: if this damn api im working with returned in JSON [22:07] isaacs: polotek does a good job maintaining it, but my feelings about libxml2js are based on my feelings about libxml2 [22:07] a_meteorite: When it comes out as intended, it's a millisecond posix time [22:07] domo: so what do you recommend, implement sax-js and see the results of the parsing and response times [22:07] isaacs: domo: that's how i'd approach it, yes. [22:07] isaacs: domo: if sax can't do what you need, then let me know. [22:07] creationix|work: a_meteorite: why store it as a double? can an integer not fit? [22:07] isaacs: domo: and i'll see if it can be fixed :) [22:08] herbySk has joined the channel [22:08] domo: ok, i have two scripts side by side php and node and im just comparing who can be faster at handling the most requests on my box reading an XML file, parsing, and returning some data [22:08] a_meteorite: creationix|work: iirc, it's more than 32-bits, but not quite 64 [22:08] domo: since I want speed, but not too much where ill go out of my way to write a server in C [22:08] domo: ;) [22:08] creationix|work: a_meteorite: right, but js numbers are precise up to 53 bits [22:08] mattrobenolt has left the channel [22:08] creationix|work: isn't there a store int64 or something [22:08] DoNaLd`_ has joined the channel [22:09] matt4447 has joined the channel [22:09] a_meteorite: not according to the docs [22:09] domo: https://github.com/isaacs/sax-js [22:09] domo: so is that yours? [22:09] a_meteorite: there's int32, then it goes to double [22:09] isaacs: yep [22:09] isaacs: that's the one :) [22:09] domo: you own the npm module [22:09] ollie has joined the channel [22:09] domo: or maintain it [22:09] creationix|work: a_meteorite: that's lame [22:09] a_meteorite: yeah [22:09] isaacs: domo: i wrote sax-js, and maintain it [22:09] creationix|work: a_meteorite: the good news is imlpementing int functions is really easy [22:09] domo: oh boy [22:09] TRUPPP_ON has joined the channel [22:09] a_meteorite: eep [22:09] domo: so if this isnt fast enough, isaacs, i should look into that other binding [22:10] kickingvegas has joined the channel [22:10] isaacs: domo: yes. and also tell me, or post a bug, and maybe a benchmark showing it suckin. [22:10] isaacs: i'm always interested in that. [22:10] a_meteorite: creationix|work: Yeah, it is easy to implement, I was just hoping that it was already solved for me :) [22:10] Circlefusion1 has joined the channel [22:10] RichardBronosky has joined the channel [22:10] majek has joined the channel [22:10] isaacs: domo: the other one is this: https://github.com/polotek/libxmljs [22:10] creationix|work: a_meteorite: or if you want to get really fancy, create a new type int48 [22:11] fuzzyone has joined the channel [22:11] isaacs: domo: that has many many more features. [22:11] isaacs: xslt etc. [22:11] creationix|work: that is a lot easier to implement than int64 [22:11] wereHamster has joined the channel [22:11] dylang has joined the channel [22:11] kab3wm has joined the channel [22:11] TheFuzzball has joined the channel [22:11] jimt has joined the channel [22:11] _dc has joined the channel [22:11] vidi has joined the channel [22:11] caolanm has joined the channel [22:11] jaimef has joined the channel [22:11] trodrigues has joined the channel [22:11] eresair has joined the channel [22:11] jkridner has joined the channel [22:11] kaarlo has joined the channel [22:11] brimster__ has joined the channel [22:11] dthompso99 has joined the channel [22:11] btipling has joined the channel [22:11] jhbot has joined the channel [22:11] alek_b has joined the channel [22:11] arkx has joined the channel [22:11] dleonardi has joined the channel [22:11] wink_ has joined the channel [22:11] CoverSlide has joined the channel [22:11] phiggins has joined the channel [22:11] marlun has joined the channel [22:11] orospakr has joined the channel [22:11] dantalizing has joined the channel [22:11] Riton has joined the channel [22:11] Bigblah has joined the channel [22:11] Industrial has joined the channel [22:11] shachaf has joined the channel [22:11] mct has joined the channel [22:11] MatthewS has joined the channel [22:11] a11235 has joined the channel [22:11] shachaf has joined the channel [22:11] fearphage has joined the channel [22:11] mrkurt has joined the channel [22:11] sstephenson has joined the channel [22:11] DrPizza has joined the channel [22:11] fearphage has joined the channel [22:11] __doc__ has joined the channel [22:11] domo: isaacs: maybe my node js is too slow.. http://codepad.org/j8byr4fz [22:11] domo: is that the way I should be doing it? [22:12] xerox has joined the channel [22:12] domo: just to make sure my node isnt causing the slow down [22:12] yorick has joined the channel [22:12] isaacs: domo: why are you reading the file for every request? does the file change? [22:12] domo: yes [22:12] Circlefusion has joined the channel [22:12] domo: i will actually be getting it from a remote api [22:12] domo: that doesnt allow caching [22:12] isaacs: ok [22:12] domo: so that will always need to happen [22:13] isaacs: xml2js is definitely not what you need in this case. [22:13] jerrysv: why isn't your parser.on() inside the readFile closure? [22:13] isaacs: it'd be better to just pay attention to the tags you want. [22:13] isaacs: jerrysv: it doesn't matter. [22:13] domo: jerrysv: oh, i figured it didnt matter [22:13] prettyrobots has joined the channel [22:13] isaacs: domo: also, this isn't js: [22:13] isaacs: for () { [22:13] isaacs: res.write(); [22:13] isaacs: } [22:13] domo: i know [22:13] domo: lol [22:13] isaacs: ok :) [22:13] domo: i had a bunch of shit in there [22:13] isaacs: got cha [22:14] domo: that wasnt relevant to what i was asking [22:14] jerrysv: while () { ... } [22:14] jerrysv: perl :) [22:14] domo: LOL [22:14] domo: ok so yeah, that nodejs structure is OK though? [22:14] creationix|work: isaacs: did you ever see my sax style json parser [22:14] domo: so thats not causing a slow down - its def xml2js [22:14] a_meteorite: creationix|work: don't you have a lib for working with packing/unpacking values? seem to recall using it before node.js got its own [22:14] creationix|work: makes consuming the twitter feed really fun [22:14] creationix|work: a_meteorite: https://github.com/creationix/postgres-js/blob/master/lib/buffer_extras.js [22:15] a_meteorite: ah [22:15] creationix|work: to make an int48, just copy int32 and add a couple more bytes [22:15] jerrysv: creationix|work: is it true that the second run of touchpads happened and mostly employees bought them up? [22:15] AaronMT has joined the channel [22:15] a_meteorite: cool, thanks [22:15] creationix|work: jerrysv: I wish I knew [22:15] jerrysv: creationix|work: not sure how much longer i can follow bryna [22:15] creationix|work: jerrysv: I do know there were a few sold here to employees [22:15] isaacs: creationix|work: i don't think so [22:15] jerrysv: creationix|work: hmph. well, thanks :) [22:15] creationix|work: jerrysv: I've given up on getting more, I was able to get one at least [22:16] creationix|work: isaacs: https://github.com/creationix/jsonparse/blob/master/examples/twitterfeed.js [22:16] jerrysv: tempted to buy a fire, i just need something for hacking around, and was excited about it running node [22:16] creationix|work: jerrysv: they are on ebay for a good price still [22:16] creationix|work: just not the original $100 of the fire sale [22:16] creationix|work: the touchpad has way more power than the amazon fire [22:16] creationix|work: and it's easier to hack [22:17] isaacs: neat [22:17] jerrysv: yeah, i know. it's my preferred solution [22:17] mikeric_ has joined the channel [22:17] creationix|work: isaacs: it's not the same as the sax API, but works in the same manner [22:17] beawesomeinstead has joined the channel [22:17] creationix|work: you only keep data you're interested in [22:18] matehat has joined the channel [22:19] creationix has left the channel [22:21] daleharvey has joined the channel [22:24] CIA-48: node: 03Ryan Dahl 07 * rd5a21a2 10/ (lib/dns.js test/simple/test-http-dns-error.js): [22:24] CIA-48: node: getaddrinfo returns ENOTFOUND for invalid domain names [22:24] CIA-48: node: change test-http-dns-error to reflect this. - http://git.io/pxPU6w [22:24] sylvinus has joined the channel [22:25] domo: isaacs: hm, when I call parser.write('.. some xml here .. ') I'm getting an error '.. some xml here ..' has no method 'charAt' [22:25] [IL]aleminio has joined the channel [22:25] isaacs: domo: you're writing a buffer, not a string, perhaps? [22:25] AvianFlu_ has joined the channel [22:25] isaacs: domo: or an array of strings? [22:25] isaacs: i dunno [22:25] isaacs: strings have the charAt method, for sure. [22:25] domo: hehe [22:25] domo: ;) [22:25] jacobolus has joined the channel [22:26] [IL]aleminio: hey guys :) [22:26] Cheery: baudehlo: is there a way for me to change the receiver address in hook_rcpt? http://paste.pocoo.org/show/uvzkujFpMURlNKzL5xqX/ [22:26] isaacs: domo: read your file with fs.readFile("foo.xml", {encoding: "utf8"}, cb [22:26] lmorchard has joined the channel [22:26] Cheery: baudehlo: for relaying the mail. [22:27] Cheery: baudehlo: or should I treat 'forwarding' in another manner? :) [22:27] [IL]aleminio: can someone help me with a few simple questions for understanding the basics of node.js? [22:27] tuhoojabotti: No. [22:28] JaKWaC has joined the channel [22:28] tuhoojabotti: :U [22:28] Draggor: [IL]aleminio: just ask [22:28] tuhoojabotti: Exactly. [22:28] tuhoojabotti: Don't ask to ask. [22:29] baudehlo: Cheery: you can pass an address to .address() as a setter. [22:30] TheNumb has joined the channel [22:30] cjm has joined the channel [22:30] Cheery: baudehlo: like this: params[0].address(mail.forward[rcpt_to]) ? [22:31] baudehlo: I dunno. Depends what's in mail.forward[rcpt_to]. But yes. [22:31] baudehlo: params[0].address('bob@example.com') [22:32] [IL]aleminio: I have a chat based on ajax, the problem is, it consumes too much CPU resources. I'm thinking about converting it to socket.io but i'm afraid it will make it even worse to have so many users constantly conencted to the server. [22:33] Draggor: [IL]aleminio: what's using too many cpu resources, the server or client? [22:34] thisandagain has joined the channel [22:34] [IL]aleminio: the server [22:34] bogomips2_ has joined the channel [22:34] Draggor: how many users? code links? a "it consumes too much resources" comment really doesn't say anything about what's causing the problem, it's just a symptom [22:34] [IL]aleminio: i don't know if it's the amount of http requests, mysql queries or maybe both. [22:35] russfrank: mysql queries? [22:35] domo: isaacs: yeah, its def faster than 300 ms.. but php still murders it with libxml2 [22:35] domo: looking at 80 ms vs ~20 [22:35] domo: your xmllib vs php's C extension :p [22:36] Cheery: baudehlo: I changed the rcpt hook a bit.. it now looks like this: http://paste.pocoo.org/show/bT5ZKXa4IqqN6audNFEz/ [22:36] tjholowaychuk: why dont you use libxmljs then? [22:36] tjholowaychuk: that's not php being fast [22:36] tjholowaychuk: that's php sucking with fast stuff on top [22:36] domo: I never said that [22:36] domo: someone obviously has a problem w/ php [22:36] russfrank: i think he's aware of that ;p [22:36] domo: lol [22:36] domo: php still murders it with libxml2 [22:36] domo: i could of said X still murders it with libxml2 [22:36] Cheery: baudehlo: if I understood correctly, the relayed mail doesn't arrive to hook_queue [22:37] domo: anyway, isaacs thanks for challenging me to test both results [22:37] Cheery: baudehlo: should I do a hook_queue_outbound aside it? [22:37] isaacs: domo: np, the fact that sax-js is within an oom of php+libxml2 is pretty encouraging. [22:38] baudehlo: no, that's only if you want to do your own outbound stuff. [22:38] domo: yeah, for sure man [22:38] isaacs: domo: can you share the xml file yor'e using to test? [22:38] domo: yeah [22:38] isaacs: domo: also, you may want to have a look at libxmljs [22:38] isaacs: domo: i'm guessing it's comparable to php's speed, since the bottleneck seems to be the xml parsing [22:38] Frippe has joined the channel [22:38] trotter has joined the channel [22:39] tuhoojabotti: Should dgrams work on windows yet? [22:39] tuhoojabotti: I try to send a packet to a server, but it crashes [22:39] tuhoojabotti: Using the example on the 0.5.9 doc [22:41] Cheery: baudehlo: what should I do in case I want the mail both archived to my server and relayed elsewhere then? [22:41] a_meteorite: Bah. [22:41] baudehlo: hook your archiving bit into data_post [22:41] a_meteorite: I implemented (u)int48 [22:42] a_meteorite: It still switches back and forth [22:42] matt4447 has joined the channel [22:42] baudehlo: or hook your archiving into both queue and queue_outbound [22:42] a_meteorite: 1953343614 which is a real posix timestamp or sometimes 681946189 (though this seems to increment with time instead of being the same floating point value like with encoding a double) [22:42] baudehlo: exports.hook_queue = exports.hook_queue_outbound = function (.... [22:42] n8ji_ has joined the channel [22:42] baudehlo: ACTION leaves [22:43] a_meteorite: And, yes, I made sure to zero-fill my buffer so there are no stray values in there [22:43] a_meteorite: Seems a millisecond posix timestamp is 41 bits long too [22:44] jsurfer has joined the channel [22:44] slifty_corsair has joined the channel [22:44] yozgrahame has joined the channel [22:45] tuhoojabotti: https://gist.github.com/1305186 Why not? :/ [22:45] a_meteorite: I verified that the timestamp is correct before encoding it, it's not until I encode it that things go foobar sometimes [22:45] brianseeders has joined the channel [22:46] mmalecki: piscisaureus: https://github.com/joyent/node/issues/1899 [22:46] mmalecki: piscisaureus: wrote the test case [22:47] stephank has joined the channel [22:47] davidwalsh has joined the channel [22:48] lz has joined the channel [22:49] lz has left the channel [22:49] AvianFlu_ has joined the channel [22:49] bogomips2__ has joined the channel [22:50] Skyec has joined the channel [22:51] piscisaureus_: mmalecki: well, it passes on master :-) [22:53] matyr has joined the channel [22:53] a_meteorite: Will a buffer's encoding have something to do with reading/writing (u)int(8/16/32)? [22:53] mmalecki: piscisaureus_: failed on v0.5.9 [22:53] _unary has joined the channel [22:53] mmalecki: piscisaureus_: but good thing that is passes :) [22:53] piscisaureus_: mmalecki: well, then this demonstrates that we've fixed it [22:53] a_meteorite: Because I can't seem to get a consistent case where my stuff is failing... sometimes it encodes right, sometimes it doesn't [22:53] vicapow has joined the channel [22:54] piscisaureus_: it probably was related to a problem w/ redirected stdio [22:54] piscisaureus_: which got fixed in uv [22:54] vicapow: has anyone else run into issues with node-http-proxy and handling POST requests? [22:54] piscisaureus_: mmalecki: thanks [22:54] CIA-48: node: 03Maciej Małecki 07 * r8f1ba25 10/ (2 files in 2 dirs): test: #1899 - output in child process raises an exception - http://git.io/g1z3fg [22:54] mmalecki: piscisaureus_: :) [22:56] metaverse has joined the channel [22:57] Wizek_ has joined the channel [22:57] another_syrio has joined the channel [22:58] vicapow: vicapow: i guess node-http-proxy just can't handle proxing POST requests [22:58] mmalecki: vicapow: sure it can [22:58] mmalecki: vicapow: what's the problem? [22:59] vicapow: mmalecki: we'll, i'm noticing that a GET requests work fine but not POST requests [22:59] [[zz]] has joined the channel [23:00] mmalecki: vicapow: both should work. any crash/logs? [23:00] vicapow: mmalecki: yeah. i'll post some example code an error [23:01] spiffytech has left the channel [23:01] wadey has joined the channel [23:01] zackattack has joined the channel [23:04] vicapow: mmalecki: http://pastebin.com/yEJA3FtV [23:04] matt4447 has joined the channel [23:05] vicapow: mmalecki: i haven't actually tried running it but it's a simple example of what I'm seeing [23:05] cjroebuck has joined the channel [23:06] rayfinkle_ has joined the channel [23:07] mmalecki: vicapow: it looks like some problem with express [23:08] mmalecki: or maybe not? [23:08] mmalecki: AvianFlu: got an idea ^ ? [23:08] tjholowaychuk: vicapow you're probably using bodyParser [23:08] tjholowaychuk: or similar [23:08] tjholowaychuk: so you're losing those data events [23:09] tjholowaychuk: nvm, looked at your thing [23:09] vicapow: tjholowaychuk: well, i am using bodyParser [23:09] vicapow: my actual code is a lot larger [23:10] tjholowaychuk: bodyParser buffers, which is why you get the convenient req.body object, but that's also why you cant just pass that data along [23:10] rgl has joined the channel [23:10] rgl: hi [23:10] vicapow: tjholowaychuk: i'm using node-http-proxy buffer [23:10] vicapow: I'm buffering the request: req.buffer = httpProxy.buffer(req); [23:10] tjholowaychuk: i dont know what that does [23:11] RyanD has joined the channel [23:12] vicapow: tjholowaychuk: so i should only use bodyParser when I dont want to proxy the request? Is this only to avoid latency? [23:12] tjholowaychuk: bodyParser "consumes" those data events [23:13] vicapow: hrm. i think i understand [23:14] vicapow: tjholowaychuk: YES! that fixed it. thank you [23:14] jamescarr has joined the channel [23:15] SamuraiJack has joined the channel [23:15] miccolis has joined the channel [23:15] bradleymeck has joined the channel [23:16] jocafa: does anyone happen to know offhand what happens with array.sort() when the helper function returns null or undefined? [23:18] _kud has joined the channel [23:19] Skipants has joined the channel [23:20] amateescu has joined the channel [23:22] javaanse_jongens has joined the channel [23:22] mraleph: jocafa: it should not return undefined or null. [23:23] r04r has joined the channel [23:25] amiller has joined the channel [23:25] rev087 has joined the channel [23:25] nerdy_ has joined the channel [23:26] JSManiacs has joined the channel [23:27] davidvanleeuwen has joined the channel [23:28] davidvanleeuwen has left the channel [23:29] ritch has joined the channel [23:29] briemens has joined the channel [23:29] ritch has left the channel [23:30] another_syrio has joined the channel [23:31] amateescu: can anyone help with some node and npm problems on windows? [23:31] isaacs: amateescu: sup? [23:32] amateescu: i'm getting this error on 'npm install' from a git shell: http://paste.pocoo.org/show/496324/ [23:32] TomY has joined the channel [23:32] isaacs: amateescu: the issue is that you're using node 0.5, and connect only supports up to 0.4 [23:33] isaacs: amateescu: poke at tjholowaychuk [23:33] amateescu: isaacs: ah, that makes sense [23:33] amateescu: isaacs: but there's no node.exe for 0.4, right? [23:33] isaacs: amateescu: true. [23:33] isaacs: amateescu: windows support is still pretty new. [23:34] isaacs: amateescu: in the meantime, if you *must* have connect/express, you can use a virtualbox or vmware vm [23:34] amateescu: isaacs: heh, kubuntu in vbox it is then, installing as we speak [23:34] amateescu: isaacs: thanks! [23:34] isaacs: amateescu: and run linux or smartos in it [23:34] isaacs: np [23:34] isaacs: amateescu: be warned, mounted homedirs don't work properly in vbox with npm [23:34] isaacs: the fs is odd. [23:35] webjay has joined the channel [23:36] guillermo has joined the channel [23:36] amateescu: isaacs: i see. well, i guess i need to create a full dev environment in there, i should switch back to linux full-time eventually :) [23:36] isaacs: amateescu: or just copy stuff over when you want to npm-install it. [23:36] isaacs: i dunno [23:37] amateescu: isaacs: yep, that could work too [23:37] monokrome has joined the channel [23:37] JSManiacs has left the channel [23:38] scott_gonzalez has joined the channel [23:39] webjay: Anyone know how I can save an array in MongoDB? [23:41] monokrome: isaacs: You're welcome! [23:41] isaacs: :D [23:42] meso has joined the channel [23:42] zmbmartin has joined the channel [23:44] slifty_corsair has joined the channel [23:45] jtsnow has joined the channel [23:47] blueadept has joined the channel [23:47] blueadept has joined the channel [23:47] sdwrage has joined the channel [23:47] captain_morgan: isaacs: hey Isaac, sent you a pull request for the email I sent you earlier this week. I need me some multi-registry support [23:48] isaacs: captain_morgan: hey [23:48] isaacs: been meaning to reply to you, sorry [23:48] captain_morgan: no worries, you're busy [23:49] mikeal has joined the channel [23:49] k1ttty has joined the channel [23:49] MonsieurLu has joined the channel [23:49] isaacs: captain_morgan: so, my thought on it was to have whitespace-separated registry urls, and then split them, and have separated configs for all of the specific registries. [23:49] isaacs: captain_morgan: so, you'd have something like registry:http://registry.npmjs.org/:ca="npmCA cert..." [23:49] isaacs: or you could set strict-ssl for each of them individually [23:50] isaacs: the holdup is that *all* of the configs related to the registry need to be segregated this way, and read properly. [23:50] captain_morgan: Are you intending to stick with ini for the config? [23:51] captain_morgan: there is where I saw a blockade [23:51] captain_morgan: at least to doing it simply [23:51] isaacs: _auth (and also username/_password), ca, strict-ssl, ca, always-auth, bin-publish, proxy, https-proxy [23:51] isaacs: captain_morgan: yes. [23:51] isaacs: the config infrastructure should not change. [23:52] isaacs: if you want to set a config for a given registry, you can do so using npm:registry:: = value [23:52] isaacs: or some such [23:52] isaacs: and then var ca = npm.config.get("registry:" + registry + ":ca") || npm.config.get("ca") [23:52] isaacs: adduser's going to be tricky [23:53] captain_morgan: so how would npm.config.get("registry") return? [23:53] isaacs: also, figuring out the logic around handling 404's or 500s by going to another registyr. [23:53] isaacs: captain_morgan: the space-separated list [23:53] captain_morgan: ok [23:53] isaacs: captain_morgan: and then any registry write operations would go to the first registry in the list. [23:53] isaacs: captain_morgan: you can always npm publish --registry if you want to send it elsewhere [23:53] mcluskydodallas has joined the channel [23:54] captain_morgan: right [23:55] isaacs: there's a lot of things we may *always* want to be registry-specific [23:55] isaacs: like _username/_auth [23:55] isaacs: so, adduser will always auth against the first registry in the list, and always write a config value like _npm:registry:auth or somthing [23:55] isaacs: the _ is necessary to make it private. [23:58] captain_morgan: so registry would remain simply a space seperated list, and addition values would be npm:registry:: [23:58] isaacs: yeah [23:58] captain_morgan: cool [23:58] isaacs: in general, package-specific config fields are : [23:59] isaacs: so i think maybe it should be prefixed with npm: just in case someone ever writes a package named "registry" :) [23:59] Vierstern has joined the channel [23:59] meso has joined the channel [23:59] captain_morgan: so the code I have will remain mostly the same, just need to add in field support, better error handling, and no fallbacks on write actions [23:59] isaacs: yeah, you super duper do NOT want fallbacks from writes.