[00:00] tanepiper: [5~[6~[5~[5~[5~[5~[1~[1~[1~[5~[5~[5~[5~[6~[6~[6~[6~
[00:00] visnup: sh1mmer: hopefully satire
[00:00] arlolra: piscisaureus: so no make bench?
[00:00] piscisaureus: arlolra: do it anyway
[00:00] piscisaureus: let's see what happens
[00:01] arlolra: ok
[00:01] astoon has joined the channel
[00:02] tanepiper: whoops, weird crashy issue here :D
[00:02] mnot has joined the channel
[00:02] tanepiper: sometimes irssi + screen + ssh goes weird
[00:02] piscisaureus: arlolra: can I test my buildslave anyhow? I need to check whether the windows service is set up correctly etc
[00:02] NuckingFuts: arlolra: You said you're adding a cygwin system or what?
[00:02] chrischris has joined the channel
[00:03] kiddphunk has joined the channel
[00:03] arlolra: piscisaureus: yup, one sec
[00:03] arlolra: just rewriting something
[00:03] arlolra: to account for no ssl
[00:03] arlolra: NuckingFuts: yup ... shortly
[00:04] NuckingFuts: yay
[00:04] ryah: /window 8
[00:04] NuckingFuts: ...
[00:04] NuckingFuts: wat?
[00:05] pandeiro has joined the channel
[00:05] piscisaureus_ has joined the channel
[00:08] tmzt: tanepiper: ctrl+alt+shiftF or ctrl+alt+shiftQ for XON
[00:09] FireFly|n900 has joined the channel
[00:09] fairwinds: tjholowaychuk: hey. was thinking more on plugin approach. There is css and js to consider as well. In python in wsgi, I would inject these things into head with middleware.
[00:09] pekim has joined the channel
[00:10] hornairs has joined the channel
[00:10] tjholowaychuk: fairwinds: well we do have middleware
[00:11] tjholowaychuk: remember though this is js, you can proxy methods easily to inject custom behavior
[00:11] tjholowaychuk: i did what you are doing for a prototype node CMS
[00:11] tjholowaychuk: but without touching express
[00:11] fairwinds: tjholowaychuk: yup and going to use it :-)
[00:11] fairwinds: cool
[00:12] aurynn has joined the channel
[00:13] aurynn: Hey - so I want to do var mylib = require("mylib")();
[00:13] aurynn: is this feasible, or just dumb?
[00:13] ryah: aurynn: dumb. module.exports = function () { console.log('hello'); };
[00:14] aurynn: Dumb it is then.
[00:14] aurynn: :)
[00:14] trotter has joined the channel
[00:14] Ratty_: Aye
[00:14] devrim has joined the channel
[00:14] tjholowaychuk: aurynn: people usually do that with constructors only
[00:15] tanepiper: tjholowaychuk: reminds me, weirdly if i try include Winston as a global logger, or an a per-module require really fucks with my app. need to try dependency injection
[00:15] tjholowaychuk: or some middleware
[00:15] isaacs has joined the channel
[00:15] tjholowaychuk: tanepiper: what is that
[00:15] aurynn: well, I'm getting too many db handles because I'm requiring the module I define it in repeatedly. I'd like to pass it to my middleware sensibly.
[00:15] tanepiper: logger module
[00:15] tanepiper: i.e logger.info logger.error type stuff
[00:15] tjholowaychuk: ah
[00:16] tanepiper: no idea why it would crash my app but does, but yet to try it as dependency injection
[00:16] tjholowaychuk: dunno
[00:16] tjholowaychuk: never heard of it
[00:17] tanepiper: nahh it was just your comment there reminded me i need to try that, but i need to wrap everything in a module.exports = (logger) ->
[00:17] tanepiper: was one of those "huh, WTF" moments today
[00:18] narayan82 has joined the channel
[00:21] piscisaureus: ryah: you've seen that strnlen commit?
[00:22] arlolra: piscisaureus: offline http://buildbot.nodejs.org/waterfall
[00:22] piscisaureus: arlolra: :-0
[00:23] jpstrikesback has joined the channel
[00:23] piscisaureus: arlolra: idle 1/2
[00:23] arlolra: piscisaureus: should i force a build?
[00:23] jpstrikesback has joined the channel
[00:23] piscisaureus: arlolra: can I do that myself?
[00:23] arlolra: sure
[00:23] piscisaureus: well yeah do it
[00:24] piscisaureus: how?
[00:24] arlolra: just click MinGW32
[00:24] trotter has joined the channel
[00:24] arlolra: then fill in your name and click force
[00:24] arlolra: i don't leave that up all the time though
[00:24] piscisaureus: ok
[00:25] piscisaureus: I don't know if I well get the cygwin slave up today
[00:25] piscisaureus: trying
[00:25] warz has joined the channel
[00:25] arlolra: well, its waiting for you ... when it connects it'll start build on commit
[00:25] blaines has joined the channel
[00:25] arlolra: which happens often enough
[00:25] Remoun has joined the channel
[00:25] piscisaureus: ok
[00:25] eyesUnclouded has joined the channel
[00:25] piscisaureus: this one will fail anyway because ryah need to land some
[00:27] piscisaureus: arlolra: '.' is not recognized as an internal or external command,
[00:27] piscisaureus: operable program or batch file.
[00:27] piscisaureus: :-s
[00:27] jakehow has joined the channel
[00:27] tilgovi: maybe this is an odd pattern, but I feel like js should have a way for me to handle it. Can I call a constructor to wrap a pre-existing object with some "class" methods
[00:28] tilgovi: I basically want the constructor to run, attaching all the class methods, but on a pre-existing this
[00:28] tanepiper: foo.prototype = bar ?
[00:29] arlolra: piscisaureus: hmmm
[00:29] arlolra: any ideas?
[00:29] tilgovi: tanepiper: ah. this should do it maybe.
[00:29] piscisaureus: arlolra: not atm. I guess buildbot-slave is running the build in the wrong shell
[00:30] mtwdmn has joined the channel
[00:30] jpstrikesback1 has joined the channel
[00:31] arlolra: is "./configure --debug --without-ssl" proper for windows
[00:31] sprout has joined the channel
[00:33] aheckmann has joined the channel
[00:34] dguttman has joined the channel
[00:34] dguttman has joined the channel
[00:35] bartt has joined the channel
[00:36] mike5w3c_ has joined the channel
[00:39] Aria has joined the channel
[00:40] CIA-39: node: 03Richard Rodger 07v0.4 * rb11d78b 10/ (lib/http.js test/simple/test-http-dns-fail.js):
[00:40] CIA-39: node: Fix for DNS fail in HTTP request
[00:40] CIA-39: node: Closes GH-653. - http://bit.ly/hXgxlo
[00:41] ryah: arlolra, piscisaureus: we'll be working in the v0.4 branch for the next few weeks
[00:41] ryah: is it possible to set the build slaves to hit that?
[00:41] arlolra: already done
[00:42] ryah: oh, awesome
[00:42] arlolra: v0.2, v0.4, master
[00:42] ryah: poor build slaves
[00:42] ryah: so much work to do
[00:42] arlolra: ha
[00:42] ryah: how can i see the different builds?
[00:42] ryah: branches?
[00:43] chris6F_ has joined the channel
[00:44] arlolra: hmmm ... everything is all mangled together eh
[00:46] MikhX has joined the channel
[00:46] NuckingFuts: arlolra: A lot of those are offline lol
[00:47] arlolra: ryah: http://buildbot.nodejs.org/grid ... shows "in branch"
[00:47] NuckingFuts: OSX 10.6.4: offline / 8 pending
[00:47] NuckingFuts: Made me lol
[00:48] arlolra: NuckingFuts: 3 are offline ... cygwin isn't setup yet, one osx is very sensitive and i have to reset it after working stuff ... the one with 8 i guess i need to contact the owner
[00:48] maushu: http://android.stackexchange.com/questions/5984/justin-bieber-detector
[00:49] jpld has joined the channel
[00:49] aro has joined the channel
[00:49] piscisaureus: hmm. debugging this buildbot is a little hard
[00:50] arlolra: ryah: configured solaris --no-ssl and its making pretty pictures again http://arlolra.no.de/solaris/ab-hello-world-buffer-1024
[00:50] arlolra: piscisaureus: almost seems like its trying to run "." and not "configure"
[00:51] piscisaureus: arlolra: no the problem is that it's using cmd as a shell, not bash
[00:51] NuckingFuts: ACTION goes to reboot his laptop
[00:51] piscisaureus: on windows ./configure means what linux ppl would call ./. --configure
[00:51] samsonjs has joined the channel
[00:52] arlolra: i see
[00:52] arlolra: http://trac.buildbot.net/wiki/CygwinShellCommands
[00:52] piscisaureus: arlolra: this is msys :-)
[00:52] piscisaureus: cygwin is for tomorrow, heh
[00:53] jacobolus has joined the channel
[00:54] arlolra: http://termite.services.openoffice.org/buildbot/builders/MinGW/builds/792
[00:55] piscisaureus: arlolra: that one uses cygwin to build with mingw32
[00:56] arlolra: i'll stop pasting links now
[00:56] piscisaureus: sadly, cygwin stopped supporting that
[00:56] zylo_ has joined the channel
[00:56] piscisaureus: arlolra: thanks anyway :-)
[00:56] arlolra: but maybe open office has a solution
[00:56] zylo has joined the channel
[00:56] piscisaureus: arlolra: I think I can hack buildslave a tiny little bit to make it use the right shell
[00:58] kubrow_ has joined the channel
[00:58] piscisaureus: if you don't mind me hitting the rebuild button all the time
[00:59] arlolra: piscisaureus: build away
[00:59] arlolra: gonna step out for a bit
[00:59] arlolra: i'm sure buildbot has a solution though
[00:59] arlolra: so don't beat yourself up
[01:01] saikat has joined the channel
[01:01] creationix has joined the channel
[01:01] creationix: hey everyone
[01:02] saikat has joined the channel
[01:05] creationix: is the old http client API still available in 0.4.0
[01:05] creationix: someone told me it's still there, but deprecated
[01:07] jesusabdullah: Are the docs on nodejs.org for 0.4 now or for 0.3 still?
[01:07] zentoooo has joined the channel
[01:07] drdave has joined the channel
[01:07] cognominal has joined the channel
[01:07] arlolra: piscisaureus: can i explicitly call what shell to use? bash ./configu
[01:08] bartt1 has joined the channel
[01:08] piscisaureus: arlolra: yeah that should work
[01:08] arlolra: would you rather i do that then?
[01:09] piscisaureus: arlolra: just wait for a while, cuz i'm not sure that would work actually
[01:09] piscisaureus: I'll ping you when its needed
[01:09] lukegalea_ has joined the channel
[01:09] arlolra: piscisaureus: alright ... i'll be back in about an hour or so
[01:10] piscisaureus: ok that's fine
[01:11] NuckingFuts has joined the channel
[01:12] eyesUnclouded has joined the channel
[01:13] piscisaureus: arlolra: heh. grokked it
[01:13] frodenius has joined the channel
[01:13] frodenius has joined the channel
[01:13] arlolra: awesome
[01:14] tyfighter has joined the channel
[01:14] NuckingFuts: lol nodelog is full of fail
[01:14] boaz has joined the channel
[01:14] NuckingFuts: Can't see quits
[01:15] arnorhs has joined the channel
[01:17] Utkarsh__ has joined the channel
[01:17] Utkarsh has joined the channel
[01:20] arlolra: ryah: to answer your question, prepend the branch to waterall ?branch=v0.4
[01:20] arlolra: ryah: http://buildbot.nodejs.org/waterfall?branch=v0.4
[01:20] blowery has joined the channel
[01:21] skm has joined the channel
[01:22] visnup has joined the channel
[01:24] EricL has joined the channel
[01:26] lukegalea_ has joined the channel
[01:26] ryah: arlolra: great
[01:27] CIA-39: node: 03Ryan Dahl 07v0.4 * rbd09410 10/ benchmark/v8_bench.js : Add script for running V8 benchmarks - http://bit.ly/h8u2fJ
[01:27] creationix: does anyone have an XMLHttpRequest implemention that wraps node's new http api?
[01:27] piscisaureus: ryah: these buildbots would actually be useful if they were green most of the time :-)
[01:28] Utkarsh_ has joined the channel
[01:29] bartt has joined the channel
[01:32] Utkarsh has joined the channel
[01:33] Vertice has joined the channel
[01:33] arnorhs has joined the channel
[01:36] MikhX has joined the channel
[01:38] arlolra: piscisaureus: can you install apache bench
[01:38] piscisaureus: ok
[01:38] arlolra: ps. i'm not here
[01:39] piscisaureus: arlolra: I'm not talking to you
[01:40] wilmoore has joined the channel
[01:42] Me1000 has joined the channel
[01:44] pengwynn has joined the channel
[01:45] piscisaureus: ryah: arlolra: by running two builslaves on the same machine, benchmark results will be pretty useless
[01:47] isaacs has joined the channel
[01:47] ecto has joined the channel
[01:49] sprout has joined the channel
[01:50] lukegalea_ has joined the channel
[01:51] ryah: piscisaureus: the test runner works for you in windows, right?
[01:51] piscisaureus: yeah
[01:51] ryah: did you see that message to the mailing list
[01:51] ryah: ?
[01:51] piscisaureus: yeah I don't really know what's happening there
[01:52] piscisaureus: I think it's issues with python and msys biting each other
[01:52] piscisaureus: ryah: btw the test runner does not work on the buildslave
[01:53] piscisaureus: :s
[01:53] piscisaureus: the problem is that mingw relies on msys
[01:53] piscisaureus: and msys is only slightly less lame than cygwin
[01:55] isaacs: piscisaureus: the goal is msvc, right?
[01:56] jetheredge has joined the channel
[01:57] piscisaureus: yeah
[01:58] piscisaureus: jonaslund was trying, i'm still waiting for msdn subscription
[02:00] blaines_ has joined the channel
[02:00] piscisaureus: I could use some more hands, instead all I get is job offers
[02:01] blaines has joined the channel
[02:02] sumit: .
[02:02] sumit: .
[02:02] sumit: .
[02:02] sumit: .
[02:02] sumit: .Is there any one who is using mongoose by chance ?
[02:02] sumit: .
[02:02] sumit: .
[02:03] trefn has joined the channel
[02:03] trefn: is there a package with a nice recursive merge function? basically jquery.extend?
[02:04] blaines has joined the channel
[02:04] stagas has joined the channel
[02:04] michaelficarra has left the channel
[02:05] blaines has joined the channel
[02:07] blaines has joined the channel
[02:08] kawaz_air has joined the channel
[02:08] luke` has joined the channel
[02:09] ako has joined the channel
[02:09] blaines has joined the channel
[02:10] mscdex: trefn: i use a slightly modified version of jquery.extend
[02:10] trefn: mscdex: have it hosted anywhere? i was planning to do the same thing if i cant find one already
[02:11] lukegalea_ has joined the channel
[02:11] kawaz_air has joined the channel
[02:11] mscdex: trefn: https://github.com/mscdex/node-imap/blob/master/imap.js#L1282
[02:12] blaines has joined the channel
[02:13] trefn: excellent, thanks
[02:13] cronopio has joined the channel
[02:14] bartt1 has joined the channel
[02:15] nejucomo has joined the channel
[02:15] blaines has joined the channel
[02:16] comster has joined the channel
[02:16] charlenopires has joined the channel
[02:17] kawaz_air has joined the channel
[02:20] bartt has joined the channel
[02:20] blaines has joined the channel
[02:23] blaines has joined the channel
[02:23] luke` has joined the channel
[02:28] chris6F has joined the channel
[02:29] benburkert has joined the channel
[02:29] postwait has joined the channel
[02:31] admc has joined the channel
[02:31] samsonjs has joined the channel
[02:32] kevwil has joined the channel
[02:33] huned has joined the channel
[02:33] boaz has joined the channel
[02:34] bingomanatee: ACTION uses mongo native, the way his pa and his pa afiore him did.
[02:34] kawaz_air has joined the channel
[02:34] bingomanatee: underscore has a simple extend - not guaranteed to produce unique copying though.
[02:35] bingomanatee: piciaureous: what do you want help with?
[02:36] CIA-39: node: 03Ryan Dahl 07v0.4 * rdaeb5c9 10/ doc/api/modules.markdown :
[02:36] CIA-39: node: fix doc
[02:36] CIA-39: node: thanks Toshihiro - http://bit.ly/edIdvN
[02:38] CIA-39: node: 03Ryan Dahl 07v0.4 * rad7c2a8 10/ doc/node.1 : escape chars on man page - http://bit.ly/dEloiV
[02:39] softdrink has joined the channel
[02:39] possibilities has joined the channel
[02:40] jwm_ has joined the channel
[02:42] googol has joined the channel
[02:45] deepthawtz has joined the channel
[02:45] robotarmy has joined the channel
[02:50] zentoooo has joined the channel
[02:53] sooli has joined the channel
[02:56] arnorhs has joined the channel
[02:56] dnyy has joined the channel
[02:58] derferman has joined the channel
[03:01] zemanel has joined the channel
[03:03] Ond has joined the channel
[03:06] postwait: trunk don't build for me on mac... strnlen() ?
[03:06] postwait: master rather.
[03:07] piscisaureus: postwait: ryah: mingw doesn't have strnlen either, I have a fix for it
[03:07] clarkfischer has joined the channel
[03:07] jklabo has joined the channel
[03:07] piscisaureus: ryah: it's here: https://github.com/piscisaureus/node/commit/ca44edae9f8e4a6ac36621d10b4f5be2fd5a5418
[03:07] jklabo: I am trying to build 0.4.0 and getting this error: Build failed: -> task failed (err #1): {task: cxx node_buffer.cc -> node_buffer_4.o}
[03:08] jklabo: i've googled and came up empty
[03:08] postwait: need to #ifndef HAVE_STRNLEN and push that detection into the configuration process.
[03:11] mscdex: jklabo: gist the entire output, the actual error is above those lines
[03:11] aurynn: Is there a good graphing lib for node yet? Or am I better served with flotr on the client-side?
[03:12] jklabo: ok, just a sec
[03:12] postwait: git reset --hard f11e73044420aa4a4bb9d8503c442fd4cbde040a for now...
[03:13] colinclark has joined the channel
[03:13] jklabo: https://gist.github.com/827034
[03:14] piscisaureus: jklabo: you are trying to build node v0.5
[03:14] mscdex: jklabo: yep, same error as being discussed: strnlen
[03:14] piscisaureus: try git checkout v0.4
[03:14] mscdex: ^
[03:15] mscdex: :)
[03:15] piscisaureus: and what mscdex said
[03:15] piscisaureus: :-)
[03:15] piscisaureus: race condition. again
[03:15] visnup has joined the channel
[03:15] piscisaureus: #node.js really needs a mutex
[03:16] mscdex: aurynn: fwiw there's node-canvas
[03:16] mscdex: which is a start :p
[03:16] jklabo: so I have two versions?
[03:17] aurynn: mscdex, it is a start, but I'm also lazy.
[03:17] aurynn: :)
[03:17] piscisaureus: jklabo: surprise. you have 237812 version
[03:17] mscdex: aurynn: hehe
[03:17] piscisaureus: jklabo: git checkout v0.4 should do the trick
[03:18] dguttman_ has joined the channel
[03:19] jklabo: cool, ty
[03:20] pedrobelo has joined the channel
[03:21] w0rse_ has joined the channel
[03:23] Jaye_ has joined the channel
[03:24] jklabo: it worked. thanks all
[03:25] softdrink has joined the channel
[03:25] tbranyen has joined the channel
[03:25] piscisaureus: ryah: arlorla: it's all not quite working but I'm calling it a day
[03:26] tbranyen: node-waf keeps throwing ImportError: cannot iumport name namedtuple
[03:26] piscisaureus: auf wiedersehn
[03:26] jano has joined the channel
[03:26] tbranyen: god i hate python so much
[03:26] tbranyen: python 3 has broken so much
[03:28] softdrink has joined the channel
[03:28] mscdex: aurynn: also: http://blog.davidpadbury.com/2010/10/03/using-nodejs-to-render-js-charts-on-server/
[03:28] softdrink has joined the channel
[03:28] admc has joined the channel
[03:28] softdrink has joined the channel
[03:29] softdrink has joined the channel
[03:29] softdrink has joined the channel
[03:30] softdrink has joined the channel
[03:31] JulioBarros has joined the channel
[03:32] softdrink has joined the channel
[03:33] softdrink has joined the channel
[03:33] aurynn: Woo!
[03:33] aurynn: :)
[03:33] aurynn: neh, rendering client-side is fine
[03:33] softdrink has joined the channel
[03:33] aurynn: In fact, Highcharts is exactly what I want
[03:34] aurynn: except the not-free part..
[03:35] paulrobinson has joined the channel
[03:36] Ond: You could probably do most of that stuff with raphael or protovis
[03:38] w0rse_ has joined the channel
[03:39] dspree has joined the channel
[03:39] dspree has joined the channel
[03:39] killfill has joined the channel
[03:39] Dreamer3 has joined the channel
[03:39] benburkert has joined the channel
[03:40] aurynn: While I could, I'd rather not build a graphing library from scratch
[03:41] Gruni has joined the channel
[03:41] aurynn: Raphael looks great, though
[03:41] evanmeagher has joined the channel
[03:41] aurynn: That + mootools == madness!
[03:41] postwait: aurynn: you can get flot working in node.
[03:41] jamescarr has joined the channel
[03:41] mattly has joined the channel
[03:41] postwait: flot is free.
[03:43] samsonjs has joined the channel
[03:44] dspree_ has joined the channel
[03:44] dspree_ has joined the channel
[03:47] AAA_awright: aurynn: Flot is pretty good
[03:47] AAA_awright: Combine with a server-side Canvas and you have a graphing library
[03:47] AAA_awright: Or just push the raw data to the client
[03:47] aurynn: mixing prototype and mootools seems like a bad idea
[03:47] aurynn: and I was probably just going to push raw data around
[03:48] AAA_awright: Why would you have to do that?
[03:48] AAA_awright: Oh flot is jquery hmm
[03:48] aurynn: er, jquery and moo
[03:48] aurynn: no, flotr is protoype
[03:48] AAA_awright: Switch to jquery?
[03:49] AAA_awright: Flot is a pure Javascript plotting library for jQuery. It produces graphical plots of arbitrary datasets on-the-fly client-side. http://code.google.com/p/flot/
[03:49] aurynn: http://solutoire.com/flotr/
[03:49] aurynn: is what I was looking at
[03:49] AAA_awright: It's probably a simple source patch to remove let's see
[03:51] visnup has joined the channel
[03:51] kkaefer: can I call JavaScript functions from a C++ EIO_Callback?
[03:51] AAA_awright: I wonder if there's a de-jquery filter
[03:51] kkaefer: (not the EIO_After*, but the one that is running in a different thread)
[03:52] AAA_awright: All it seems to use is jquery.inArray and such functions already in V8
[03:53] tbranyen: kkaefer: i'd imagine its possible, not entirely sure how tho
[03:54] kkaefer: add it to the process.nextTick queue?
[03:54] kkaefer: I can't call it directly as that would execute two JS functions in parallel
[03:54] kkaefer: which is obviously not something that should ever happen
[03:55] briznad has joined the channel
[03:56] briznad has joined the channel
[03:57] ossareh has joined the channel
[03:58] Yuffster_work has joined the channel
[03:59] Virtuo has joined the channel
[04:01] Vertice has joined the channel
[04:02] dguttman has joined the channel
[04:03] chrischris has joined the channel
[04:04] meso__ has joined the channel
[04:04] NuckingFuts has joined the channel
[04:07] zorzar_ has joined the channel
[04:08] bartt has joined the channel
[04:12] aguynamedben has joined the channel
[04:13] trefn has left the channel
[04:14] ajnasz has joined the channel
[04:16] possibilities has joined the channel
[04:18] bmp has joined the channel
[04:19] _gus has joined the channel
[04:20] kiddphunk has joined the channel
[04:22] _gus: Quick question about v0.3.8 and req.abort() for client side requests. Would abort() work in the case where a connection did not establish for some reason but there is a lingering timeout?
[04:23] _gus: I have a reproducable issue whereby I try and connect to some host and the server isn't up; if I use the same client instance to connect, it won't try until the timeout expires (60s or 120s)
[04:23] _gus: No amount of timeout changing helps
[04:23] _gus: creating a new client instance works fine
[04:25] bmp has left the channel
[04:32] Aria: I'd have to try it to see. But I could imagine that working.
[04:33] Aria: I know that socket re-use is often touchy on some OSes, but I don't know details.
[04:33] Aria: Those bugs might bite.
[04:34] _gus: Aria: Yeah. I just started trying it myself. Not sure why I didn't do that already :)
[04:34] _gus: Aria: thanks
[04:34] Aria: Sure thing.
[04:34] Aria: Report back -- I'm curious to know.
[04:34] Aria: Always makes me wonder how quirks like that leak back into the abstract thing we deal with in high level languages like this.
[04:37] marcello3d has joined the channel
[04:37] marcello3d: so I'm thinking of naming my mongodb module mongolian deadbeef. discuss.
[04:38] Aria: Amusing but long.
[04:38] snafuz: approved.
[04:38] Aria: Good for google uniqueness, terrible to put in a require() line.
[04:38] Aria: And things that differ between their name-name and their filenames always throw people.
[04:38] marcello3d: I'd probably call it mongodb for short
[04:38] marcello3d: or just mongolian
[04:38] Aria: Heh. "mongodb" is taken by ... mongodb, but mongolian isn't a bad choice, actually.
[04:39] Aria: Naming questions like "is it 'node.js' or 'nodejs' or 'node'?" come up a lot.
[04:39] Aria: Put yourself in that position at your own peril.
[04:39] marcello3d: yup
[04:39] marcello3d: my cache library is called taxman
[04:39] marcello3d: and my asynchronous library is waiter :D
[04:40] Aria: Amusing.
[04:40] marcello3d: hmm I also like "cache or credit", if one wanted to go with the whole restaurant motif
[04:40] marcello3d: but too long
[04:40] marcello3d: and CoC might give the wrong idea
[04:41] sumit: ..
[04:41] sumit: .
[04:41] sumit: .
[04:41] sumit: .
[04:41] _gus: mongoat probably isn't taken yet
[04:41] sumit: .
[04:41] sumit: .
[04:41] sumit: .
[04:41] sumit: .Is there any one who is using mongoose by chance ?
[04:42] ECMAScriptZen: sumit: Lady Gaga's "Born This Way" doesn't apply to trolls.
[04:42] sumit: :-)
[04:42] marcello3d: I haven't used it, but I'm not looking for a orm
[04:42] marcello3d: an orm?
[04:42] sumit: Ok
[04:42] sumit: Yeah
[04:42] Aria: It'll cost you an orm and a leg.
[04:42] ECMAScriptZen: btw, everyone should download Lady Gaga's Born This Way right now: http://www.youtube.com/watch?v=Z4a8QtvOkBQ
[04:43] Aria: How's that S:N ratio treating you, ECMAScriptZen?
[04:43] dspree has joined the channel
[04:43] dspree has joined the channel
[04:43] ECMAScriptZen: Okay, I have a question: module A requires() module B. Can module B require() module A?
[04:43] ECMAScriptZen: Or is that bad?
[04:44] ECMAScriptZen: Aria: Not so good :/
[04:44] gkatsev has joined the channel
[04:46] ECMAScriptZen: modulea.js does: moduleb = require("moduleb.js");
[04:47] ECMAScriptZen: moduleb does: modulea = require("modulea.js");
[04:47] ECMAScriptZen: Is this okay?
[04:47] marcello3d: try it
[04:47] marcello3d: report back
[04:47] Aria: The result of the require is cached, so yes.
[04:47] zlipp has joined the channel
[04:48] ECMAScriptZen: cool
[04:48] marcello3d: aria: but it still might not work
[04:48] ECMAScriptZen: ACTION tries
[04:48] marcello3d: imagine: var moduleb = require("./modulea"); exports.foo = moduleb.bar;
[04:48] marcello3d: var modulea = require("./moduleb"); exports.bar = modulea.foo;
[04:49] marcello3d: clearly that can't work
[04:50] ECMAScriptZen: marcello3d: I am a victim of fatigue atm :/
[04:51] ECMAScriptZen: Only 55 mL of espresso left; I'm in trouble.
[04:52] Aria: You're alert enough to spell espresso properly. That's a good start.
[04:52] ECMAScriptZen: Ture
[04:52] ECMAScriptZen: Okay, maybe not now ;p
[04:54] ECMAScriptZen: ACTION is writing his own node.js framework called "holes"
[04:55] throughnothing_ has joined the channel
[04:55] marcello3d: are you swiss?
[04:56] _gus: I turn my back for 10 days and you guys put out v0.4!
[04:56] marcello3d: 10 days is a long time
[04:56] marcello3d: geezus
[04:56] _gus: nide job
[04:56] marcello3d: I'd get stiff
[04:56] _gus: nice
[04:56] marcello3d: turning my back for that long
[04:56] _gus: well, i've got like 10 things to worry about
[04:56] _gus: maybe 11
[04:57] marcello3d: damn
[04:57] marcello3d: 12 now, with your back and all
[04:57] galaxywatcher has joined the channel
[04:57] _gus: yeah. the doc was not optimistic
[04:57] marcello3d: sorry to hear :(
[04:57] _gus: that's nice of you
[04:59] marcello3d: is there a log4j equivalent on node.js that people like?
[05:02] tmpvar has joined the channel
[05:02] tmpvar: hey all
[05:03] Aria: Hey, tmpvar
[05:03] tmpvar: im going to cut a 0.2.0 release of jsdom _very_ soon
[05:03] Aria: Sweet!
[05:03] tmpvar: if you have some time, could you run HEAD through the ringer?
[05:03] Aria: Sure.
[05:04] _gus has left the channel
[05:04] tmpvar: tyty
[05:04] Me1000 has joined the channel
[05:05] Aria: Not a single added failed assertion in the HTML5 test suite.
[05:10] Aria: I'll see if I can't wring any more out of it, but looks solid.
[05:11] creationix: tmpvar: you've got XMLHttpRequest implemented somewhere?
[05:11] creationix: maybe part of jsdom
[05:11] tmpvar: yep
[05:11] creationix: updated to node v0.4.0?
[05:11] tmpvar: if you have node-XMLHttpRequest installed it should work
[05:11] tmpvar: creationix, umm.. i suppose
[05:11] mlangenberg has joined the channel
[05:11] tmpvar: all the tests pass
[05:11] creationix: ok, so it's a separate module then
[05:12] tmpvar: yeah, i could add it to the deps
[05:12] tmpvar: not certain of the default behavior there
[05:12] Aria: Also, I've not checked numbers, but I think it's a little faster than it was.
[05:12] tmpvar: yeah, just a tad
[05:13] tmpvar: i hat it almost 2x as fast, and then had to slow it down with some livelist caching shhhtuff
[05:13] tmpvar: s/hat/had
[05:13] Aria: Aw.
[05:14] Aria: Is there any sense or possibility in letting there be a fast level1 view and a slow level3 view of the same DOM?
[05:16] mtwdmn has left the channel
[05:17] tmpvar: i think its about ~18% faster than before
[05:17] tmpvar: rough estimate using `time node test/runner.js`
[05:18] Aria: Nice.
[05:18] marcello3d: Nice.
[05:18] marcello3d: what's jsdom
[05:18] marcello3d: I mean, I can guess
[05:18] marcello3d: but what do you use it for
[05:18] Bosmon2 has joined the channel
[05:19] Aria: I'm intending to use it in a greasemonkey sort of thing implemented as a proxy.
[05:19] Aria: But any kind of scraping and reading pages.
[05:19] Aria: I use it behind the HTML5 parser, too, since the parser needs a tree structure to put stuff in.
[05:20] mikeal has joined the channel
[05:24] dgathright has joined the channel
[05:28] tmpvar: Aria, there will be optimizations. and if you really want, you can spawn a level1 dom
[05:28] tmpvar: which should be pretty fast.. the live lists are one of the biggest problems though
[05:28] nejucomo has joined the channel
[05:29] Aria: Yeah. It's just that after parsing, people are gonna want a bigger DOM.
[05:30] andrewfff has joined the channel
[05:32] Metapony has joined the channel
[05:33] kieren has joined the channel
[05:34] tmpvar: oh, of the same dom
[05:34] tmpvar: hrrrrrm
[05:34] tonymilne has joined the channel
[05:35] Aria: Yeah. Crazy idea.
[05:35] balaa has joined the channel
[05:35] Aria: But live promoting a level1 to level3 would be nice for that.
[05:39] tmpvar: that is a great idea
[05:39] patcito has joined the channel
[05:44] samsonjs has joined the channel
[05:50] blaines_ has joined the channel
[05:52] blaines has joined the channel
[05:52] ion- has joined the channel
[05:53] derferman has joined the channel
[05:53] robotarmy has joined the channel
[05:54] luke` has joined the channel
[05:54] cpedros has joined the channel
[05:55] hassox_ has joined the channel
[05:59] jimt has joined the channel
[06:04] JulioBarros has joined the channel
[06:05] samcday has joined the channel
[06:05] cronopio has joined the channel
[06:06] hoodoos has joined the channel
[06:06] blueadept has left the channel
[06:07] atmos has joined the channel
[06:08] Coal has joined the channel
[06:10] atmos: is there an easier way to dispatch 20 requests and have a callback when all the results are received than just counting the results as they come in ?
[06:10] ECMAScriptZen: Is it okay ro do a require() inside an eval()?
[06:11] ECMAScriptZen: *to do
[06:11] samcday: atmos, use the async lib @ https://github.com/caolan/async
[06:12] chris6F has joined the channel
[06:12] samcday: async.parallel([/*...list of requests here */, function() { /* this is called when all requests are done */});
[06:12] chris6F has joined the channel
[06:13] atmos: samcday: perfect, thanks
[06:13] andrewfff has joined the channel
[06:14] nejucomo has left the channel
[06:14] Aria: ECMAScriptZen: Yes, with the usual "careful, there's probably a better way" of eval in general
[06:14] ECMAScriptZen: right
[06:14] ECMAScriptZen: What are the big downfalls of eval() though?
[06:15] samcday: ECMAScriptZen: Running untrusted code by mistake, for one
[06:15] ECMAScriptZen: Besides of course the potential RPC vulnerabilities
[06:15] samcday: ECMAScriptZen: Besides, if you're going to do it in node, why not use sandboxing instead of eval?
[06:15] ECMAScriptZen: Node has something called sandboxing?
[06:15] Aria: Making v8 recompile everything in that context.
[06:15] chapel: or sandbox the eval
[06:15] samcday: http://nodejs.org/docs/v0.4.0/api/vm.html
[06:15] Aria: Check out the 'vm' module, ECMAScriptZen
[06:16] warz has joined the channel
[06:16] samcday: Used to be called sandboxing in 0.1 or 0.2 I think.
[06:16] samcday: Unless I'm crazy ...
[06:16] ECMAScriptZen: kool
[06:16] Aria: Nah, it's known as sandboxing, the technique. It was called Script in 0.2
[06:16] Aria: Also, it's just usually a code smell. Chances are, if you're using eval, you're being too clever.
[06:18] mnbvasd has joined the channel
[06:18] mikeal has joined the channel
[06:19] prinzdezibel has joined the channel
[06:19] JojoBoss has joined the channel
[06:19] squarepowr has joined the channel
[06:21] ziro` has joined the channel
[06:26] hassox_ has joined the channel
[06:27] Gruni has joined the channel
[06:31] TomY has joined the channel
[06:36] tmpvar: Aria: re: greasemonkey scripts. I think you may like this: jsdom.env({ html : "string, file, or uri", scripts: [ '/path/to/jquery.js', ... ] }, function(window) {})
[06:36] Aria: Mmm, nice!
[06:36] tmpvar: ironing out kinks, but its going into 0.2.0
[06:36] tmpvar: :)
[06:36] mike5w3c_ has joined the channel
[06:37] muhqu has joined the channel
[06:38] Sebmaster has joined the channel
[06:38] tonymilne: Anyone know if node 0.3.4 setTimeout function returns an int id?
[06:38] tonymilne: I seem to be getting a timer object when i log the return value.
[06:46] sholmes has joined the channel
[06:46] samcday: tonymilne: Looking at the code @ https://github.com/ry/node/blob/v0.3.4/lib/timers.js#L169, I'd say yeah it's returning an object purposefully.
[06:46] amerine has joined the channel
[06:48] zentoooo has joined the channel
[06:48] mike5w3c has joined the channel
[06:54] derferman has joined the channel
[06:55] tonymilne: So, given that is the case - can I still use clearTimeout to remove a timer i had previously created?
[06:55] samcday: Yup, I've never had a problem with that. Same goes with setInterval/clearInterval.
[06:56] tonymilne: so, really - it's just misleading documentation. (http://nodejs.org/docs/v0.4.0/api/all.html#timers)
[06:57] samcday: Meh, doesn't really say it's an int there anywhere? An identifier for some kind of resource doesn't necessarily have to be an integer. An object is just fine too
[06:58] tonymilne: Yeah, good point. ;) Cheers for your time.
[06:58] samcday: Np! :)
[06:59] ECMAScriptZen: Hey guys, guess what!
[07:00] ECMAScriptZen: I managed to write a server that gets node.js to segfault :D
[07:00] ECMAScriptZen: No modules involved! ;p
[07:00] samcday: Post a Gist, I wanna see :D
[07:01] ECMAScriptZen: Well, it's an infinite loop that involves loading files via fs(), so technically that's a module
[07:02] samcday: Shouldn't segfault though. You should get an uncaught exception stating too many file handles are open.
[07:02] ECMAScriptZen: I can post the source, but it will be more than a gist
[07:02] samcday: I ran into that when I tried opening 100,000 connections to a port in one go using the HTTPagent ;)
[07:03] ECMAScriptZen: It's about four source files. Shall I zip it up?
[07:04] samcday: IMO boil it down to a single easy to understand Gist and post it... If it's definitely reproducible on 0.4.0 then it's worth submitting an issue
[07:04] mscdex: ECMAScriptZen: segfault or exception?
[07:04] ECMAScriptZen: mscdex: A genuine segmentation fault :)
[07:05] ECMAScriptZen: mscdex: I'm coding something that's pretty crazy, so I'm bound to run into bugs, but still :p
[07:05] sh1mmer has joined the channel
[07:05] ryah: segfault?
[07:05] ECMAScriptZen: :/opt/paradise# node paradise.js
[07:05] ECMAScriptZen: Server running at http://127.0.0.1:92/
[07:06] ECMAScriptZen: Segmentation fault
[07:06] ryah: backtrace?
[07:06] charlesjolley- has joined the channel
[07:06] meso__ has joined the channel
[07:06] ECMAScriptZen: backtrace?
[07:06] ryah: gdb --args node paradise.js
[07:06] ECMAScriptZen: You mean run some debugger on it?
[07:06] ryah: backtrace
[07:06] charlesjolley- has joined the channel
[07:07] ECMAScriptZen: ok
[07:07] ECMAScriptZen: Just a sec
[07:07] cronopio has joined the channel
[07:09] mscdex: omgdb!
[07:09] ECMAScriptZen: Installing gdb lol
[07:11] ECMAScriptZen: mscdex, ryah, samcday: http://pastie.org/1565544
[07:11] ECMAScriptZen: Check it out. :p
[07:13] ECMAScriptZen: Let me know if you want to see what I'm doing (the source), or if you want me to run other stuff on it like valgrind
[07:14] tmzt: what's the best way to send email in node?
[07:17] tmzt: hmm, mailer maybe
[07:19] Benvie has joined the channel
[07:19] Benvie has left the channel
[07:19] Benvie has joined the channel
[07:20] deepthawtz has joined the channel
[07:20] mikedeboer has joined the channel
[07:22] ECMAScriptZen: So I've stumped you guys? :)
[07:23] chapel: without your code, really means nothing
[07:23] TomY has joined the channel
[07:24] ECMAScriptZen: chapel: Let me get my code up! :)
[07:24] samcday: Yeah I already said before, distill it down to a simple example in a single file and post it
[07:24] ECMAScriptZen: Well, that's what I've done :)
[07:24] mape: Then post it :)
[07:25] samcday: I heard the words fs and infinite loops before :P Can never be a good idea ^_^
[07:25] ryah: ECMAScriptZen: backtrace
[07:25] ECMAScriptZen: ryah: I did
[07:26] ECMAScriptZen: err, give me a sec
[07:26] andrewfff has joined the channel
[07:28] ivanfi has joined the channel
[07:28] ECMAScriptZen: ryah: Here's the backtrace: http://pastie.org/1565561
[07:28] ECMAScriptZen: Do you want more?
[07:29] atmos: samcday: have you ever used that async lib with classes ?
[07:29] samcday: atmos: yeah, whys?
[07:29] mape: ECMAScriptZen: Any reason not to just paste it all?
[07:29] atmos: i dunno, i'm getting weird scoping issues
[07:30] ECMAScriptZen: Here's the source: http://www.nowlookup.com/nodecrasher.zip
[07:30] samcday: atmos: Oh. Use bind. So instead of going async.parallel([myClass.fn, myClass2.fn...., do this: async.parallel([myClass.fn.bind(myClass), etc etc
[07:30] ECMAScriptZen: mape: Paging issue with the terminal
[07:30] mape: expand the terminal och copy paste in stages? or possibly pipe it?
[07:32] nilcolor has joined the channel
[07:32] ECMAScriptZen: mape: The backtrace looks fairly uninteresting after the first ten lines. Just a bunch of hex codes, i.e. #13 0x00007f8ceb486079 in ?? ()
[07:32] atmos: samcday: hrmm, here's the coffee output https://gist.github.com/827231
[07:33] ECMAScriptZen: If that's interesting, maybe I can get a dump of the backtrace
[07:33] atmos: the self.build_for on line 16 never sends the right self, it sends { }
[07:33] mape: ECMAScriptZen: They probly just put all those lines into the backtrace to make it look cooler :)
[07:33] andrewfff has joined the channel
[07:34] ECMAScriptZen: If anyone's curious about the source code of the program that is causing the crash: http://www.nowlookup.com/nodecrasher.zip
[07:34] ECMAScriptZen: I will try boiling it down into a gist tomorrow
[07:34] atmos: hehe
[07:35] ECMAScriptZen: But essentially, it happens when you run it in node and then try to load its URL in the browser
[07:35] mraleph has joined the channel
[07:35] nook has joined the channel
[07:36] SamuraiJack has joined the channel
[07:36] ECMAScriptZen: It's a pretty small program though. Should be easy to see what it's doing to node to someone more advanced that me.
[07:36] FireFly has joined the channel
[07:38] nilcolor has joined the channel
[07:39] admc has joined the channel
[07:39] muhqu has joined the channel
[07:39] razvandimescu has joined the channel
[07:40] svenlito_ has joined the channel
[07:44] mape: ECMAScriptZen: is ProcessPage suppose to run 2964 times?
[07:44] sholmes has joined the channel
[07:44] samcday: atmos: Not really following that code (I'm tired lol), but I don't see where you're using async there.
[07:44] sholmes: Is there there something any of you want to tell me?
[07:44] ECMAScriptZen: mape: No of course not, but node.js shouldn't crash either
[07:45] luke` has joined the channel
[07:45] mape: ECMAScriptZen: Doesn't for me
[07:45] ECMAScriptZen: mape: What version of node do you have?
[07:45] ECMAScriptZen: I'm getting a seg fault
[07:45] mape: v0.4.0
[07:45] sholmes: Is there anything I should know about Node.js?
[07:46] sholmes: Bugs/security?
[07:46] samcday: You should know it's awesome ...
[07:46] atmos: samcday: no worries, Map is require("async").map basically but it's coffee generated so there's prolly something i'm missing
[07:46] ECMAScriptZen: mape: I have 0.2.6
[07:46] case__ has joined the channel
[07:46] mape: ECMAScriptZen: Then you should get latest stable
[07:47] ECMAScriptZen: So on 0.4.0 it just ran forever?
[07:47] meso___ has joined the channel
[07:47] sholmes: samcday: I knew someone would say exactly that
[07:47] sholmes: lol
[07:47] sholmes: So I can safely do a complete Node stack no worries?
[07:48] ECMAScriptZen: @ mape
[07:48] ph^ has joined the channel
[07:48] mape: ECMAScriptZen: No, it stopped at 2964 and then sent the output
[07:48] TomY has joined the channel
[07:48] sholmes: Anyone know of a Node alternative to: http://htmlpurifier.org/ ????
[07:49] ECMAScriptZen: Heh. I wonder why. Probably fs failed after that :p
[07:49] samcday: atmos: Yeah I'm not really too familiar with CoffeeScript either. But scoping issues are always fun with anything async, Function.bind() is your friend!
[07:49] ECMAScriptZen: But isn't my code weird? ;p
[07:49] mscdex: bind is slow :(
[07:49] atmos: if i have a class and i'd like a method on it to be invoked as the iterator what should i look into ?
[07:50] mape: ECMAScriptZen: Using sync is pretty awful yeah
[07:50] ECMAScriptZen: yeah
[07:51] sholmes: Are there any HTML filtering modules?
[07:52] sholmes: ...with a configurable whitelist?
[07:52] antoinevg has joined the channel
[07:52] sholmes: I'd like to take input froma user and run it through a filter that remove invalid HTML (HTML that's not included in my whitelist)
[07:53] sholmes: things like