[00:00] dmcquay: that was someting else, sorry [00:00] bartt: Which node.js version do run dmcquay? I'm running 0.2.2. Ah, just saw your nevermind. [00:05] aussiegeek has joined the channel [00:07] Tim_Smart has joined the channel [00:09] mr_daniel has joined the channel [00:09] bartt has joined the channel [00:10] bpot has joined the channel [00:11] banjiewen_ has joined the channel [00:11] codetonowhere has joined the channel [00:16] Dondoko has joined the channel [00:17] Dondoko: hi i have a newbie question for node.js if anyone is here [00:18] Dondoko: i copy pasted the TCP Server example code on nodejs.org [00:18] Dondoko: and i ran it just fine [00:18] Dondoko: when i did "telnet localhost 8124" the echo server worked just fine [00:19] Dondoko: however when i did "telnet _ip_address_ 8124" from another machine it didn't connect [00:19] Dondoko: and i'm 100% positive the ip address is correct [00:19] micheil has joined the channel [00:19] MikhX has joined the channel [00:20] webr3: memory footprint of node.js anybody? [00:20] TheEmpath: 640 bytes [00:20] Sidnicious has joined the channel [00:20] aho: Dondoko, is there a router in between? is port forwarding in place? :> [00:20] creationix: Dondoko: make sure to listen on 0.0.0.0 not 127.0.0.1 [00:20] Sidnicious: So, silly question, where am I supposed to put .node libraries so they're accessible globally? [00:20] creationix: and also check firewalls and stuff [00:20] creationix: Sidnicious: anywhere if your require paths [00:21] webr3: 640? assuming that's without v8 - just lookign for an average for a hello world listening on a socket [00:21] Sidnicious: anywhere if what? [00:21] TheEmpath: i'm lying through my teeth :( [00:21] dipser: Sidnicious: yes [00:21] Sidnicious: dipser: :/ [00:21] Dondoko: i dont think it's port forwarding because i ran a server using netty (java) at the same port and it worked just fine [00:21] dipser: Sidnicious: require('./this/path/must/be/right') [00:22] creationix: webr3: My sample app is running 15.8mb, not sure if that's minimal though [00:23] Dondoko: i will try the 0.0.0.0 though [00:24] hzin has joined the channel [00:24] falconair has joined the channel [00:24] Sidnicious: Not modules, libraries. Sorry, I'm probably doing this wrong. I'm touching node for the first time in a while. I'm trying to install node-iconv, which apparently has to be done by hand on OS X. It generated a .node dylib. Do I have to recompile node or somesuch? [00:24] sh1mmer has joined the channel [00:25] Dondoko: creationx: hi i'm happy to say 0.0.0.0 worked, thanks [00:25] creationix: Dondoko: good [00:25] creationix: Sidnicious: require looks for .node and .js files in the require.paths array [00:25] dannycoates has joined the channel [00:26] creationix: you don't have to package them as modules and use npm to make it available to node [00:26] creationix: it's just easier when you can [00:26] rcy has joined the channel [00:26] isaacs: Sidnicious: drop that .node into your require.paths [00:27] isaacs: Sidnicious: er, into a folder that's in the require.paths [00:27] isaacs: Sidnicious: .node files are loaded just like .js files. (uses dlopen rather than eval, but same difference) [00:28] Sidnicious: Hey, awesome. [00:28] Sidnicious: *hug* [00:28] MobileSidnicious has joined the channel [00:30] saikat has joined the channel [00:31] MobileSidnicio-1 has joined the channel [00:34] sanduz2 has joined the channel [00:35] threeve has joined the channel [00:38] _o: creationix, ty for the figures [00:38] _o: ACTION was webr3 [00:38] creationix: _o: you're welcome [00:43] ivong has joined the channel [00:44] bartt has joined the channel [00:46] MikhX has joined the channel [00:47] shripadk has joined the channel [00:47] steadicat has joined the channel [00:47] olegp has joined the channel [00:48] robotarm_ has joined the channel [00:53] matt_c has joined the channel [00:54] cloudhead has joined the channel [00:55] creationix: sh1mmer: I see you're back home now [01:01] rcy has joined the channel [01:04] dohtem has joined the channel [01:04] dohtem has joined the channel [01:10] mattly has joined the channel [01:11] rauchg__ has joined the channel [01:19] dguttman_ has joined the channel [01:23] Yuffster has joined the channel [01:35] Tim_Smart: mjr_: redis-node is faster at gets than both of our libraries, as it uses strings.. [01:37] AAA_awright: I'm trying to use EventEmitter to modify arguments passed to it, is that even possible? [01:39] saikat has joined the channel [01:42] mjr_: strings are fast [01:44] Tim_Smart: 2x faster :/ [01:44] Tim_Smart: For 1024 bytes. [01:45] Tim_Smart: I might bump that number up, to the size of a typical thumbnail. [01:47] grahampage has joined the channel [01:48] Gurpartap: pquerna: (feedback) "I wish this page would" + x == win; :D [01:49] Tim_Smart: mjr_: I might check if it is binary safe :) [01:50] pquerna: Gurpartap: thanks; a good percentage are 'pizza' and sandwich; But lots of good suggestions from it [01:50] pquerna: Gurpartap: (we have also made the pizza/sandwich happen for some customers a few times :P ) [01:50] Gurpartap: lol [01:50] Tim_Smart: mjr_: If it is, switching to strings is a possibility. [01:50] Gurpartap: hmm [01:52] Gurpartap: ACTION wants food now. [01:53] mjr_: Tim_Smart: that's been my theory for a while. If we know that strings are safe, they should be a big win. [01:56] dgathright_ has joined the channel [01:59] bencc has left the channel [02:00] JimBastard has joined the channel [02:01] JimBastard: i heard you guys liked javascript in here [02:03] pquerna: no, lua is better. [02:04] jesusabdullah: Naw dude, this is the clojure channel. All clojure, all the time! [02:04] jesusabdullah: javascript is for HOSERS [02:05] MattJ: Am I the odd one out if I'm in here and Javascript isn't my favourite language? :/ [02:06] JimBastard: its my favorite, but only because of what i can do with it [02:11] AAA_awright: It's been my favorite for a long time [02:11] webr3: ecmascript-262 is my favourite (angels on pins) but that's because it's less of a language and more of a universal programming api which is implemented both client and serverside with various competing implementations - thus i don't need to worry about run time, i just code to interfaces (ecmascript is an interface if you think about it, as it dom etc) and enjoy my job [02:11] webr3: + the liberation of making a lib that works on client and server + abstracting the various storage api's.. well it floats my geek boat [02:11] AAA_awright: Not perfect... C is closer to perfect than anything else I'm thinking [02:12] webr3: and.. the levels of innovation, well you don't get that movement elsewhere - look at node, this time last year? [02:12] AAA_awright: Absolutely [02:13] webr3: lol i just sold it to myself! [02:13] webr3: ACTION wanders back off [02:14] webr3: AAA_awright, i know (recognise) you from a different channel.. [02:15] AAA_awright: webr3: #swig [02:15] webr3: ahh yes, that's the one! [02:15] jesusabdullah: MattJ: Maybe not? What's your favorite language? [02:15] AAA_awright: webr3: What is the extent of things that the Tablulator RDF libs can do? Have you tried? [02:16] MattJ: jesusabdullah: Lua :) [02:16] grahampage has left the channel [02:16] grahampage has joined the channel [02:16] jesusabdullah: Ah :P [02:16] jesusabdullah: Haven't tried lua yet [02:16] webr3: AAA_awright, yeah I've tried tabulator rdflibs work, the only the n3/nt/turtle parser works though (as no dom for the rdf/xml one) [02:16] jesusabdullah: Haven't had a project that felt like a good fit for it [02:16] jesusabdullah: (whatever fit that would be) [02:16] AAA_awright: Right now I'm interested in parsing SPARQL statements and inference, anything you know that does that? [02:17] rcy has joined the channel [02:17] MattJ: jesusabdullah: Well somehow I'm finding it hard to find projects where it isn't a good fit :/ [02:18] webr3: AAA_awright, i was re coding it (and still am to some extent) but have shifted focus to the RDFa API and am doing the reference implementation in javascript in my role in the RDFa WG - thus basically writing a new js rdf lib, got it working with NT parser+serializer so far, needs some more work on the interfaces then I'll do turtle,n3,rdfxml and rdfa and release publically [02:18] webr3: AAA_awright, all node compatible of course - has to be universal lib, then if timbl et al are okay with it, I'll implement in tabulator and add in proxy methods while it migrates over [02:20] webr3: AAA_awright, re sparql - not been close to it yet myself, but presbrey or simpsontp are probably your guys for that, simpsontp has been down same path as you recently, i was too but forked due to the above [02:21] grahampage has joined the channel [02:21] AAA_awright: webr3: Great [02:22] amuck has joined the channel [02:26] Aria has joined the channel [02:27] banjiewen has joined the channel [02:27] grahampage has left the channel [02:27] boaz has joined the channel [02:32] langworthy has joined the channel [02:34] sh1mmer has joined the channel [02:35] Tim_Smart: mjr_: Yeah, redis-node fails the binary test. [02:36] robotarm_ has joined the channel [02:37] hzin has joined the channel [02:44] bpot has joined the channel [02:45] badaxx has joined the channel [02:45] fod has joined the channel [02:47] aconbere has joined the channel [02:48] Tim_Smart1 has joined the channel [02:52] mjr_: Tim_Smart: I think the bnoguchi client has a "binary" mode and a "non binary" mode that the user can select to work around this issue. [02:53] Tim_Smart: OK. [02:53] Tim_Smart: Something is messed up with binary and my client atm. [02:55] DTrejo: hello [02:55] DTrejo: my app needs authentication [02:55] DTrejo: is there a preferred solution of the various modules available? [02:56] mjr_: Hi DTrejo [02:57] mjr_: I dunno about auth, because I haven't had to solve that problem yet. [02:57] DTrejo: hey mjr_ [02:57] DTrejo: How did you launch go? [02:57] DTrejo: or how is it going? [02:57] mjr_: But you should store your VA data in redis. Tim_Smart has been painstaikingly optimizing node_redis for days now. [02:58] mjr_: Our app is in the app store but we still aren't happy with it. The new version should show up there in a few days that's the one we are going to start telling people about. [02:59] DTrejo: ah ok [03:00] dipser_ has joined the channel [03:01] isaacs has joined the channel [03:02] DTrejo: evening isaacs [03:03] isaacs: hi there [03:04] ncb000gt has joined the channel [03:04] gerred has joined the channel [03:04] shaver: if I was going to write a module to create a nice wrapper for a rest API [03:04] shaver: what would be a good example of how to do that in a node-ly way? [03:05] c4milo has joined the channel [03:06] falconair: i'm getting an error with no relevant information, like this: "node.js:50 / throw e; / ^" (/ means new line) ... how can I get more information? I have no idea what is wrong [03:07] shaver: there should be a stack afterwards [03:07] falconair: nope, there is no stack [03:07] falconair: i normally see the stack trace as well, this is the first time I'm seeing this [03:07] pandark_ has joined the channel [03:08] malkomalko has joined the channel [03:09] falconair: node version is "v0.3.0-pre" (actually i'm not sure why I have a -pre version) [03:09] isaacs: falconair: it means that you're throwing an error in a nextTick callback [03:09] malkomalko: anybody find any problems with current node/express/connect and connect-form or formidible? I'm getting some stream errors after an upgrade [03:09] isaacs: falconair: v0.3.0-pre is the version on HEAD [03:10] isaacs: falconair: note that *anything* thrown in a process.nextTick function will get to that point, and be rethrown, and if you throw "\n", then it won't have a stack trace [03:10] dicon has joined the channel [03:10] falconair: isaacs: i'm not throwing any errors explicetly in my code and i've never seen the nextTick method [03:10] ncb000gt: anyone here have IE at their disposal? [03:11] isaacs: falconair: then, perhaps a library you're using? or something else that might be erroneous in some way, usin process.nextTick? [03:12] ncb000gt: anyone? [03:12] falconair: isaacs: i don't think so, other than a simple logger, i'm not using any third party software, and in my own code I never even require the process module [03:12] shaver: ncb000gt: aye [03:13] Tim_Smart has joined the channel [03:14] abiraja has joined the channel [03:18] mjr_: falconair: usually the no stack trace thing is from not handling an "error" event. [03:19] badaxx_ has joined the channel [03:20] benreesman_ has joined the channel [03:20] falconair: mjr_ ... you are right, i'm not handling it anywhere, i'll add it to see if i catch anything, thanks [03:21] mjr_: it's a pretty user un-friendly error message to be sure. [03:21] mjr_: But something is probably doing emit('error') somewhere, and you probably need to add a listener on whatever that thing is. [03:23] mbl has joined the channel [03:26] jacobolus has joined the channel [03:30] a_meteorite has joined the channel [03:33] marshall_law has joined the channel [03:37] vmthehut has joined the channel [03:39] a_meteorite has joined the channel [03:39] Neurokraft has joined the channel [03:45] tilgovi has joined the channel [03:53] nerdEd has joined the channel [03:56] _numbers has joined the channel [03:56] _numbers: is there a node-inspector for ruby? :o [04:03] Aria: Nope! [04:03] Aria: But mauricio published some neat tricks to use gdb with it [04:06] marshall_law has joined the channel [04:09] _numbers: that is awesome. where? [04:11] codetonowhere has joined the channel [04:19] Aria: Um. I don't know offhand, but on eigenclass.org [04:19] marshall_law_ has joined the channel [04:24] robotarm_ has joined the channel [04:25] sudoer has joined the channel [04:31] sanduz2 has joined the channel [04:34] _numbers has left the channel [04:35] marshall_law has joined the channel [04:36] steadicat has joined the channel [04:40] marshall_law has joined the channel [04:44] micheil: any node-websocket-server / npm:websocket-server users in here? [04:44] MikhX has joined the channel [04:50] Tim_Smart: micheil: Once or twice... [04:54] bpot has joined the channel [04:57] steadicat has joined the channel [05:10] isaacs has joined the channel [05:11] MikhX has joined the channel [05:12] dahankzter has joined the channel [05:14] micheil: Tim_Smart: I'm looking for people who depend on the memstore component of it. [05:17] isaacs: micheil: hey [05:17] micheil: isaacs: hey [05:17] isaacs: micheil: i've got some lovely tests i'd like to show you [05:17] micheil: sure [05:18] isaacs: holy moly, node's ssl is kind of awful [05:18] isaacs: i mean, it's no worse than python's [05:18] isaacs: but python's has the same problems (i'm told) for much the saem reason [05:18] mjr_: I think it's worse than python's. [05:18] isaacs: well, let's just say, "at least as bad" [05:18] mjr_: sure [05:18] isaacs: if you have to get some data, not so bad. [05:19] isaacs: like, download a webpage. does that great. [05:19] isaacs: if you have to upload a 20mb tarball, then it will die all over the place. [05:19] mjr_: download a large file, ehhh, not so much. [05:19] isaacs: if you have ot *receive* the upload of a 20mb upload, it dies, also [05:19] mjr_: download thousands of files at a time, AKA 1000 HTTPS long polls, well, it doesn't drop ALL the connections. [05:20] isaacs: right [05:20] isaacs: just a lot of them [05:20] mjr_: yeah, so at least some people get their data [05:20] mjr_: is soviet russia, connection drop you! [05:20] isaacs: and, it's not nearly so bad if the connections are really snappy [05:20] isaacs: but if the client is exerting tcp backpressure, it just goes apeshit in radically crappy and surprising ways [05:21] mjr_: I find having lots of connections makes things mysteriously sad as well [05:21] Tim_Smart: mjr_: It appears this queue is even faster than that other one https://gist.github.com/94f3cf3a9a5063cb67bc [05:22] mjr_: pquerna: we need your magic SSL messiah library. [05:23] isaacs: +1 [05:23] mjr_: Tim_Smart: that's cool. No need for a getter function in this version either, is there? [05:24] Tim_Smart: mjr_: Not really, its just a useful shortcut - that I never use. [05:25] mjr_: Man, this error has got to go: [05:25] mjr_: node.js:50 [05:25] mjr_: throw e; [05:25] mjr_: ^ [05:25] mjr_: that's the entire stack. [05:25] mjr_: So awful. [05:26] gbot2 has joined the channel [05:31] elijah-mbp has joined the channel [05:32] micheil: isaacs: chat in a minute [05:32] micheil: just trying to get my dad a proxy through my server. [05:33] isaacs: heh [05:33] isaacs: kewl [05:33] isaacs: mjr_: yeah, how are you making that happen? [05:33] mjr_: oh, I dunno, some bug that I don't feel like figuring out. [05:33] isaacs: mjr_: cuz someone here was just talking about that [05:34] isaacs: falconair [05:34] mjr_: accidentally invoking a function instead of passing the function name to a callback. [05:34] isaacs: mjr_: looks like that happens if a tickCallback function throws [05:34] mjr_: and I think the actual error may have been stack space exhaustion [05:34] isaacs: ie, process.nextTick(function () { throw "hi" }) [05:34] mjr_: in my case anyway [05:34] dilvie has joined the channel [05:34] isaacs: interesting [05:35] mjr_: super giant pain to debug though [05:35] isaacs: process.nextTick(function X(){X()}) [05:35] isaacs: yep [05:35] isaacs: that'll do it ^ [05:35] mjr_: Thankfully I had only changed one line before I got that error, so I knew where the problem must be. [05:35] isaacs: stack overflow errors should get their message printed, instead of the stack [05:35] mjr_: oh shit, that's awful. [05:36] isaacs: falconair: you still here? [05:36] mjr_: Are there fancy browser libraries that will visualize a distribution of data points? I want like a response time histogram, and I have a giant array of response times. [05:38] dilvie: mjr_: Lots. have you tried a search? [05:38] mjr_: Yeah, I get lost [05:38] MikhX has left the channel [05:38] mjr_: I'm a network guy, neither a stats guy, nor a front end guy. [05:39] mjr_: I don't want to have to quantize the data myself, if I can help it. I just want to plunk down a huge JSON array of data points and see a pretty histogram or heat map or something. [05:40] DTrejo: mjr_: maybe somewhat helpful: http://g.raphaeljs.com/barchart2.html [05:41] DTrejo: just pass it an array of values to chart [05:41] mjr_: yeah, I started fiddling with graphael, but you need to quantize the data. [05:41] mjr_: I guess I should just do that and stop whining. [05:42] mjr_: Also, are there just no docs for graphael, or am I missing something? [05:42] DTrejo: no docs hehe [05:42] DTrejo: not that I saw [05:42] DTrejo: neglected younger sibling [05:42] shripadk: mjr_: tried highcharts? [05:42] mjr_: I didn't know about highcharts [05:42] mjr_: looks quite fancy [05:43] unomi has joined the channel [05:43] shripadk: yeah or flot/dygraphs... [05:46] v8bot has joined the channel [05:47] hannesw_ has joined the channel [05:50] dilvie has joined the channel [05:51] MikhX has joined the channel [05:52] Tim_Smart: mjr_: Yeah, fictorials client doesn't even come close. [05:52] Tim_Smart: I think I have had enough redis for a while... [05:53] mjr_: I'll pull your new parser in soon. I'm working on my multi-bench now for both redis and for other node stuff. [05:53] micheil has joined the channel [05:53] Tim_Smart: Nice. I can show you the latest bench if you like. [05:53] Tim_Smart: https://gist.github.com/9897e3b9f86498fdefce [05:54] mjr_: wow [05:54] mjr_: 10X slower sometimes [05:55] Tim_Smart: mjr_: Btw, your client chokes on large buffers, as it doesn't check if the send buffer is full. [05:55] Tim_Smart: And it kinda stalls and chokes. [05:55] Tim_Smart: Then.. hangs. [05:56] mjr_: the send buffer? [05:56] mjr_: you mean node' socket buffer? [05:57] Tim_Smart has joined the channel [05:57] Tim_Smart: Yeah, write returns false when the kernel can't send any more data. [05:57] mjr_: write returns false if node is buffering for you, but node should buffer it all [05:58] Tim_Smart: mjr_: Yup, and it is slow. So I buffer it myself. [05:58] isaacs: mjr_: i got a patch to print a bit more data in those cases, where you have a range error that crashes the proces [05:58] mjr_: node's outgoing socket buffer is slow? [05:58] mjr_: If so, that's pretty bad. We should fix that. [05:58] Tim_Smart: mjr_: Either that, or it somehow hangs. [05:59] sudoer has joined the channel [05:59] mjr_: it might be that we are stressing the node socket buffer stuff a bit more than has been done before. [05:59] Tim_Smart: http://github.com/Tim-Smart/node-redis/blob/master//index.js#L59-69 [06:01] Tim_Smart: mjr_: I really should look for a faster way to do this as well http://github.com/Tim-Smart/node-redis/blob/master//index.js#L171-178 [06:01] mattly has joined the channel [06:01] Aria: Yarr. Looks like I'll have to add fsync to writableStream. That'll be fun to find a nice API for [06:02] mjr_: So I just made ASCII histograms. Easier than figuring out all of those libraries. [06:02] tyfighter has joined the channel [06:02] mjr_: Aria: yeah, we need fsync on fs.writableStream's [06:02] DTrejo: mjr_: cool [06:02] Aria: Something for me to do on the airplane this week. [06:02] dohtem has joined the channel [06:02] mjr_: I was looking at adding that myself, but by all means [06:03] Aria: Well then. If you get to it before Monday and you see me, say so ;-) [06:03] Aria: I think we need a 'flushed' event, essentially. [06:05] Aria: Sort of like a drain, only requested. [06:06] mjr_: it's sort of unclear to me what "close" vs. "end" means on streams. [06:06] Aria: Yeah... end is more generic, 'end of data' [06:06] Aria: close is what happens when it's really done under the hood. [06:07] Aria: At least in theory. [06:07] Aria: FD closed, etc. [06:07] mjr_: ASCII histogram of connection setup times: http://gist.github.com/607365 [06:07] Aria: Nice. 'cept for that long tail. [06:07] mjr_: setting up 10,000 connections form node to redis, one after the other. [06:07] mjr_: Yeah, kinda shitty actually. [06:08] Aria: v8 garbage collector? [06:09] mjr_: I don't always get that, sometimes it looks like this: http://gist.github.com/607367 [06:09] MikhX has joined the channel [06:09] Aria: Hm [06:10] rcy has joined the channel [06:12] robotarm_ has joined the channel [06:14] ngw has joined the channel [06:20] mjr_: Well, that was exciting. Time for bed. [06:23] Aria: Night~ [06:29] sudoer has joined the channel [06:30] maqr has joined the channel [06:38] davidascher has joined the channel [06:40] davidascher: is there an openid consumer auth lib for node that's just hiding somewhere? [06:42] joshholt_ has joined the channel [06:43] mattly has joined the channel [06:44] byrus has joined the channel [06:48] byrus has joined the channel [06:59] sudoer has joined the channel [07:02] Nohryb has joined the channel [07:04] guitt has joined the channel [07:05] smtlaissezfaire has joined the channel [07:09] byrus has joined the channel [07:09] olegp has joined the channel [07:13] dnolen has joined the channel [07:20] shockie has joined the channel [07:26] sudoer has joined the channel [07:31] themiddleman has joined the channel [07:33] shockie has joined the channel [07:36] micheil: isaacs: ping [07:36] isaacs: micheil: pong [07:36] micheil: sorry about that [07:36] micheil: had to set my dad up with access to my proxy server [07:37] micheil: he's an avid cyclist & wanted to watch the worlds' but couldn't due to damned location restrictions on content.. [07:38] micheil: umm, yeah, you wanted to show me something isaacs ? [07:38] kjeldahl has joined the channel [07:38] isaacs: oh, right, those tests... [07:38] isaacs: cant' seem to find them now [07:38] micheil: oh, okay :) [07:39] isaacs: ah, here they are: http://github.com/isaacs/node/commit/3938bb9d080aa3bc230054ee232ba6a050cdfdff [07:39] isaacs: oh, wait, nvm [07:39] isaacs: rebased away, i guess [07:40] isaacs: here's the ML link: http://groups.google.com/group/nodejs/browse_thread/thread/63e42aca32ab62be/7267621b4aeac09d?lnk=gst&q=Two+tests+that+show+the+https+client+failing+in+bad+ways.#7267621b4aeac09d [07:40] Tim_Smart: isaacs: I'm getting this on joyent no.de, and no.de only: https://gist.github.com/1b6695c7ed5ccafafec4 [07:40] SamuraiJack has joined the channel [07:41] Tim_Smart: I can require the file fine from repl [07:41] isaacs: Tim_Smart: is utils undefined, or is utils.Queue undefined? [07:41] micheil: man.. I always forget your joyent.. isaacs [07:41] Tim_Smart: wrapping in parens did help, so utils? [07:42] isaacs: can you output the type of both things? [07:42] isaacs: i dunno, not familiar with that code [07:43] Tim_Smart: http://github.com/Tim-Smart/node-redis/blob/master//utils.js [07:43] Twelve-60 has joined the channel [07:43] Tim_Smart: isaacs: --^ [07:43] Tim_Smart: L68 I export it. [07:44] Tim_Smart: Oh, s/did/didn't/ [07:46] micheil: isaacs: sha 3938bb9d080aa3bc230054ee232ba6a050cdfdff does not exist in your github fork of node [07:46] isaacs: micheil: yeah [07:46] micheil: k [07:46] micheil: out of curiosity, did anyone listen to The Changelog's new show? [07:47] isaacs: micheil: it's on my list of open tabs. haven't gotten to it yet :) [07:47] Tim_Smart: ACTION opens Banshee to listen. [07:47] micheil: isaacs: okay :) [07:47] micheil: isaacs: tell me what you think of it.. I kinda buggered up when recording it. [07:47] isaacs: Tim_Smart: maybe it's getting called before that export is attached? [07:47] Nohryb has joined the channel [07:47] Tim_Smart: isaacs: requires are sync? [07:47] isaacs: Tim_Smart: yeah [07:47] Tim_Smart: How the heck does that work. [07:47] isaacs: Tim_Smart: but you can have transitive deps [07:47] stephenjudkins has joined the channel [07:48] isaacs: Tim_Smart: becasue the "exports" object might not be finished [07:48] Tim_Smart: Right. [07:48] micheil: hmm.. [07:48] Tim_Smart: How do I fix it? [07:48] micheil: async requires would be kinda hot. just to fuck with people's heads. [07:48] isaacs: micheil: they were. fucked too many heads, got sent to the dustbin as punishment. [07:48] micheil: lol [07:49] isaacs: Tim_Smart: depends. i usually put all my exports at the top of the file. with named functions, you can get away with that. [07:49] micheil: ACTION is trying to figure out how to re-architect socket.io to use a better system of layering on transports. [07:49] isaacs: Tim_Smart: but this utils.js doesn't require() anything, so that's not a possibility [07:49] isaacs: Tim_Smart: yeah, i dunno [07:49] isaacs: stumped [07:50] Tim_Smart: Yeah. [07:50] Tim_Smart: I shall console.log(utils) [07:51] Tim_Smart: isaacs: console.log(utils) outputs 2? [07:51] isaacs: oh.... hahaha... [07:52] Tim_Smart: Oh, maybe not. [07:52] micheil: that'd be the issue then.. [07:52] isaacs: process.binding("natives").utils [07:52] micheil: doesn't joyent define a utils packet? [07:52] isaacs: it's a native module [07:52] micheil: or that. [07:52] Tim_Smart: >.> [07:52] isaacs: so require("./utils") would be fine [07:52] isaacs: but require("utils") loses [07:52] Tim_Smart: It is ./utils [07:52] codetonowhere has joined the channel [07:53] isaacs: Tim_Smart: if you're inspecting it and getting "2" then you're getting the utils native module. [07:53] isaacs: (it's an alias to sys) [07:53] Tim_Smart: Yup, I am. [07:53] micheil: try doing a require paths unshift? [07:53] isaacs: because sys.inspect looks for an "inspect" method on objects, and sys has an inspect method, and sys's inspect method returns 2 when called on itself [07:53] Tim_Smart: Hence pump and friends appearing the in the property names. [07:54] isaacs: s/utils/util/ and you'll be fine, i'm guessign [07:54] Tim_Smart: Mmm k [07:54] micheil: utilities? [07:54] isaacs: or, ya know, figure out the problem, fix it properly, etc. [07:54] isaacs: :0 [07:54] isaacs: :) [07:54] micheil: or stick stuff in a lib directory? [07:55] Tim_Smart: isaacs: Considering I have worked on the module system... [07:58] micheil: isaacs: do we even still need require("utils") ? [07:58] adambeynon has joined the channel [07:58] micheil: like, can we remove it? it's just a symlink [07:58] isaacs: Tim_Smart: oh, yeah, you know how all that stuff works [07:58] isaacs: Tim_Smart: derp [07:59] micheil: (that solves part of the problem) [08:00] Tim_Smart: s/utils/util/ <3 [08:01] robotarmy has joined the channel [08:01] Tim_Smart: Oh crap, I was in screen and did C-a-x by accident, and it has locked me out. [08:01] Tim_Smart: And I don't have the password.. or do I? [08:01] Tim_Smart: I don't think they gave us one. [08:01] isaacs: Tim_Smart: a no.de machine? [08:01] Tim_Smart: yeah [08:02] isaacs: no, you don't have a password. [08:02] isaacs: i can jump on there and kill your screen session if you want, though [08:02] Tim_Smart: Sure. timsmart's the name. [08:03] isaacs: k, lemme see what i can do.. [08:03] Tim_Smart: I got root access on my knockout one. This one ryah let me use for testing. [08:04] isaacs: hrm... how does one connect to a screen session [08:04] isaacs: <-- not a screen user [08:05] Tim_Smart: isaacs: I got it. [08:05] isaacs: oh, ok, kewl [08:05] Tim_Smart: I just disconnected and re-attached the session. [08:07] abiraja has joined the channel [08:08] Tim_Smart: Heh, almost getting 100k sets a second on a no.de instance. [08:10] micheil: isaacs: is there a way to check the status of a coupon? [08:11] micheil: I'm pretty sure I was told I was provisioned with a coupon on my no.de account; but I can't find it. [08:15] micheil: hmm.. make a possibly massively breaking change, or don't make a possibly massively breaking change? [08:17] micheil: make it. [08:19] rlotun has joined the channel [08:29] satori_ has joined the channel [08:32] stephank has joined the channel [08:34] mbrochh has joined the channel [08:34] mbrochh has joined the channel [08:36] dgathright has joined the channel [08:46] isaacs: micheil: https://api.no.de/coupons [08:46] mape: Why no, broken things are fun [08:46] mape: *not [08:46] micheil: isaacs: aha! [08:46] micheil: thanks :) [08:46] isaacs: np [08:46] micheil: mape: because, it's a massive internal change [08:47] micheil: I'm decoupling the server from the manager + connection [08:47] isaacs: micheil: this is very handy, pass it on: http://gist.github.com/598663 [08:47] isaacs: micheil: ./no.de.sh coupon ls [08:47] micheil: so you can effectively bring your own server ish code to the table. [08:47] isaacs: micheil: er, ./no.de.sh coupon list [08:47] isaacs: ok, sleep time [08:47] isaacs has left the channel [08:47] micheil: and so far this whole universal explosions change is working well [08:48] q_no has joined the channel [08:49] dgathright has joined the channel [08:52] omarkj has joined the channel [08:55] murphy has joined the channel [08:59] dgathright_ has joined the channel [09:00] mape has joined the channel [09:02] DozyPieman has joined the channel [09:08] aliem has joined the channel [09:12] matjas has joined the channel [09:16] mape_ has joined the channel [09:16] mischievious has joined the channel [09:20] jashkenas has joined the channel [09:26] micheil: mape_: could you have a play with the development branch of nws, if you're doing websocket stuffs atm? [09:26] mape_: micheil: sure [09:26] micheil: the API should be the same as before [09:26] AAA_awright: Wow, I just realized how majority key/value arrays with Javascript sucks, try defining a key "valueOf" and running "valueOf" on the object at the same time [09:26] micheil: it's mainly an internal change [09:26] micheil: as well as the deprecation of the datastore [09:27] AAA_awright: I think you have to run some voodoo like Object.prototype.valueOf.call(object, arguments) [09:27] ctp has joined the channel [09:29] AAA_awright: I might fork Javascript at some time in the future, and replace . with $ for member access, and make A.B(a, r, g, ...) an alias for B(A, a, r, g, ...) [09:30] AAA_awright: (that would need strict C++-style typing too) [09:31] boboroshi_ has joined the channel [09:32] codetonowhere has joined the channel [09:33] stephank: Is it possible to create a proxy in javascript? I had an idea that involved subclassing the instance I want to proxy, but I don't think that would work for writes. [09:35] murphy has joined the channel [09:35] mape has joined the channel [09:37] Tim_Smart: Nice. Managed to reduce 30k module creations from 18 secs to 12 sec. [09:37] Tim_Smart: model* [09:38] admc has joined the channel [09:49] herbySk has joined the channel [09:49] robotarmy has joined the channel [09:58] emmanueloga has joined the channel [10:02] MattJ has joined the channel [10:04] matjas has joined the channel [10:16] agnat has joined the channel [10:19] matjas has joined the channel [10:28] vvsh has joined the channel [10:28] hassox has joined the channel [10:28] mikekelly has left the channel [10:32] qFox has joined the channel [10:38] Anti-X has joined the channel [10:39] jetienne has joined the channel [10:40] DozyPieman` has joined the channel [10:42] nsm has joined the channel [10:43] matjas has joined the channel [10:43] rnewson has joined the channel [10:45] d0k has joined the channel [10:45] bencc has joined the channel [10:46] q_no has joined the channel [10:46] codetonowhere1 has joined the channel [10:47] caolanm has joined the channel [10:51] DozyPieman has joined the channel [10:52] micheil has joined the channel [10:53] rnewson has joined the channel [10:54] mAritz has joined the channel [10:54] ooooPsss has joined the channel [10:59] hannesw has joined the channel [11:08] omarkj_ has joined the channel [11:12] d0k has joined the channel [11:13] caolanm: so I have a script that outputs a bunch of info using console.log. when I run the script all the info is displayed, but if I try to redirect the output to a file by using "script > filename" only some of the scripts output appears in the file [11:13] caolanm: not having written many complicated command line tools, can someone tell me why that happens? [11:17] stride: are you sure it only outputs to STDOUT? there's also STDERR for error messages. if you're using bash you might want to try 2>&1 which redirects STDERR to STDOUT ( example: http://codesnippets.joyent.com/posts/show/63 ) [11:17] mattly has joined the channel [11:18] caolanm: stride: yes, pretty sure. And redirecting STDERR to STDOUT doesn't seem to work :( [11:19] stride: hm, weird [11:21] kjy112 has joined the channel [11:25] herbySk: caolanm: try to strip your script down to the basics so does nothing except the buggy behaviour, make it a test and submit to node [11:25] herbySk: s/so does/so it does/ [11:27] caolanm: herbySk: I've been trying to reproduce it in something simpler, but not managed it yet :\ ...if I can I'll submit it [11:29] zorzar has joined the channel [11:36] mikeal has joined the channel [11:36] nerdEd has joined the channel [11:37] robotarmy has joined the channel [11:42] hannesw has joined the channel [11:49] breccan_ has joined the channel [11:56] murphy has joined the channel [12:05] matjas has joined the channel [12:08] blaines has joined the channel [12:14] hassox has joined the channel [12:18] _tableton has joined the channel [12:24] nerdEd has joined the channel [12:26] mbrochh has joined the channel [12:26] mbrochh has joined the channel [12:30] nerdEd has joined the channel [12:34] matjas has joined the channel [12:36] mAritz has joined the channel [12:37] aaronblohowiak has joined the channel [12:37] aaronblohowiak: Ahoy! [12:40] chuhnk has joined the channel [12:40] rnewson has joined the channel [12:45] hpoydar has joined the channel [12:45] mlangenberg has joined the channel [12:45] mlangenberg: Hi guys [12:46] stride: hi [12:48] aaronblohowiak: monrnin [12:48] ryah: ACTION waves [12:58] boaz has joined the channel [13:03] MattJ: Sigh [13:09] mlangenberg: People already using Node.js in production? [13:11] EyePulp has joined the channel [13:11] AAA_awright: mlangenberg: Absolutely [13:12] mlangenberg: I'm thinking about building a chat system based in Faye. Not sure how much of the logic I should move to the node process. [13:13] mlangenberg: I have a well visited (Rails) website with chat functionality currently implemented with Juggernaut (Flash based). [13:14] mlangenberg: I would love to replace this with Node.js with Faye, so it's using websockets and longpolling. [13:14] CIA-77: node: 03Ryan Dahl 07v0.2 * rdc103ae 10/ (5 files in 3 dirs): Bump version to v0.2.3 (+21 more commits...) - http://bit.ly/bMyP6k [13:15] aaronblohowiak: mlangenberg: just use the new node-based juggernaut [13:16] mlangenberg: Ah Juggernaut2. [13:16] mlangenberg: Is it a drop in replacement? I gues I could just write it myself. [13:16] aaronblohowiak: i dont think it is drop-in replacement [13:16] mlangenberg: yeah, me too. [13:17] aaronblohowiak: websockets dont work with reverse proxies [13:17] aaronblohowiak: with the current draft [13:18] mlangenberg: Does that mean it doesn't work for setups like NGINX-->Node ? [13:19] aaronblohowiak: mlangenberg: NGINX doesn't support websockets or HTTP 1.1 for that matter [13:19] ysynopsis has joined the channel [13:20] bpadalino: seems like you guys are working at breakneck speed on this stuff .. [13:21] mlangenberg: aaronblohowiak: then I probably don't understand what you mean with websockets not working with reverse proxies. [13:21] aaronblohowiak: mlangenberg: you are correct. websockets wont work behind nginx [13:21] mikeal: ryah: isn't it like 6am there? [13:21] mikeal: what are you doing pushing releases :) [13:21] mlangenberg: ok [13:22] ryah: can't sleep [13:22] mikeal: you still dealing with the time change [13:22] mikeal: or other issues [13:23] ryah: other issues [13:23] aaronblohowiak: ryah: thanks for fixing the repl require bug!! [13:23] mikeal: i get on my plan tomorrow mornin [13:23] dylang has joined the channel [13:23] mikeal: er plane [13:25] stride: mikeal: are you still in germany? [13:25] mikeal: yeah [13:25] jashkenas has joined the channel [13:25] mlangenberg: I am doubting if I should let Node also handle the 'fast' HTTP request for my chat server. Of course Node should handle the long-polling/websocket requests, but what about the retrieval of the last n chat messages. [13:25] robotarmy has joined the channel [13:26] mlangenberg: Or even the sending of a chat message ... could just be a POST to my rails app. [13:28] Tim_Smart has joined the channel [13:28] stride: why's that? sounds like a bit unnecessary mixing of technologies [13:30] mlangenberg: well I am replacing an existing chat system based on Rails/Juggernaut. Juggernaut is very tightly integrated with Rails. So all 'logic' is still written in Ruby. [13:30] mlangenberg: But I guess I could move the logic to Node, to have the chat system totally seperated. [13:32] mlangenberg: It could use its own DB for storage, or do a callback to the Rails app to let the Rails app store the chat messages. [13:35] aaronblohowiak has left the channel [13:35] rnewson has joined the channel [13:35] rnewson has joined the channel [13:36] aho has joined the channel [13:37] |Lurch| has joined the channel [13:38] micheil: ryah: Pass correct message in client HTTP upgrade event. (Fedor Indutny) <-- was that the patch you asked me to look at? [13:38] micheil: (Just to check) [13:38] ryah: i think, iirc [13:39] micheil: okay [13:39] micheil: ACTION couldn't remember. [13:39] Tim_Smart: Well that is enough performance tuning for one day. [13:39] Tim_Smart: Time for sleep. [13:39] dipser: lol [13:39] micheil: Tim_Smart: I think I should do the same. [13:39] |Lurch|: as far as i can tell, fs.createReadStream returns a stream that does not emit "fd" when the file is successfully opened. what is the event to look for before I can attach a sys.pump to the resulting stream? [13:40] q_no has joined the channel [13:40] micheil: Tim_Smart: hmm.. weren't you US based? [13:40] micheil: or european? [13:40] Tim_Smart: micheil: NZ [13:40] micheil: oh, righteo [13:40] micheil: that's what.. 21:00? [13:40] micheil: ir 01:00? [13:40] Tim_Smart: 02.40 [13:41] micheil: good point. I'm way off. [13:41] Tim_Smart: Sunday :p [13:41] micheil: I'm used to converting times between AEST and Central. [13:41] micheil: ACTION hope's his alarm goes off tomorrow morning.. with change to non-DST and all. [13:44] ddollar has joined the channel [13:45] CIA-77: node: 03isaacs 07master * re9b6b0b 10/ (4 files in 3 dirs): (log message trimmed) [13:45] CIA-77: node: Report "weird" errors a little better. [13:45] CIA-77: node: There are a few kinds of errors that are very confusing. [13:45] CIA-77: node: 1. Errors raised in nextTick [13:45] CIA-77: node: 2. Errors emitted on the "error" event [13:45] CIA-77: node: 3. RangeErrors that crash the program (or anything without a stack trace) [13:45] CIA-77: node: Long traces will make make these better, of course. In the meantime, this [13:45] CIA-77: node: 03Ryan Dahl 07master * r29cc78f 10/ (8 files in 8 dirs): Simpler libev and libeio config - http://bit.ly/cLFMb3 [13:45] CIA-77: node: 03David Siegel 07master * r3faa3b5 10/ (2 files in 2 dirs): libev libeio: added freebsd-x86 config headers - http://bit.ly/9SQjTH [13:45] bencc has left the channel [13:46] vvsh has joined the channel [13:46] micheil: ryah: that should be a good patch that one by isaacs. [13:47] micheil: also, having fun removing stuff from wscript? [13:51] |Lurch|: ACTION wonders if his question is too simple or too stupid? [13:51] micheil: ask it any way. [13:51] |Lurch|: micheil: as far as i can tell, fs.createReadStream returns a stream that does not emit "fd" when the file is successfully opened. what is the event to look for before I can attach a sys.pump to the resulting stream? [13:51] micheil: uhh.. [13:52] micheil: I always just did: sys.pump(fs.createReadStream(), destStream) [13:52] micheil: (or like that.) [13:52] micheil: ACTION never thought about errors there. [13:53] codetonowhere has joined the channel [13:53] micheil: |Lurch|: probably check the source code, it's not too complicated. [13:53] er1c_ has joined the channel [13:54] |Lurch|: micheil: my use case: var i=fs.createReadStream(file).on('error', function(err) { resp.writeHead(404, ...); }); resp.writeHead(200,...); sys.pump(i,resp); // but this looks wrong... because writeHead(200,...) will be executed even in the case of error. [13:54] |Lurch|: i.on('fd',... ) does not fire. [13:55] micheil: ah. [13:55] micheil: var stream = fs.createReadStream(file, enc); stream.on [13:55] micheil: don't chain the .on() call/ [13:55] micheil: I did that earlier this afternoon (on a different eventemitter api) [13:56] |Lurch|: .on() does not return the original stream? [13:56] micheil: actually. [13:56] micheil: it may [13:57] |Lurch|: i thought it did... but in any case, changing to i.on('error'...); i.on('fd',...); still fails to fire 'fd' [13:57] micheil: so, on fd is meant to be when it opens? [13:58] |Lurch|: micheil: the docs say "when descriptor becomes available". i didn't see any more specific 'open' event. [13:58] micheil: because from what I can see, there's no such event as "fd" [13:58] micheil: try on("open") [13:58] |Lurch|: it's under "ReadableStream" section in nodejs.org/api.html [13:58] ekidd has joined the channel [13:59] micheil: |Lurch|: I'm reading the source code. [13:59] |Lurch|: micheil: 'open' works. i should have just tried that. :) [13:59] micheil: ;) [13:59] micheil: |Lurch|: read what it says though [13:59] micheil: Emitted when a file descriptor is received on the stream. Only UNIX streams support this functionality; all others will simply never emit this event. [13:59] micheil: UNIX only streams [14:00] |Lurch|: micheil: i think i extrapolated from "UNIX streams" to "anything that returns a file descriptor". my mistake. [14:00] micheil: yeah [14:00] micheil: that's totally unclear. [14:00] micheil: one moment. [14:01] |Lurch|: on a somewhat related note - is there a potential race condition between var i = fs.createReadStream(...); i.on('error',...); or does nodejs guarantee that the current handler returns before any events are raised due to commands inside the handler? [14:02] micheil: hmm.. not sure [14:03] |Lurch|: micheil: ok... i guess i'll assume it does until i find otherwise. thanks for the hint on 'open'. [14:04] |Lurch|: it would really be nice if docs had the 'open' event mentioned somewhere. :) [14:04] micheil: ryah: I think that's a bug in the documentation. I can't find anything saying that an event "fd" is emitted on any readable stream (looking in net.js, node_net.cc [14:05] micheil: |Lurch|: could you create an issue on the github tracker for me about it? [14:05] rauchg_ has joined the channel [14:05] |Lurch|: micheil: i would have to know what github is :) [14:05] micheil: http://github.com/ry/node/issues [14:05] micheil: I guess you can't then. [14:06] micheil: |Lurch|: could you email me a reminder then? micheil@brandedcode.com [14:06] micheil: (I'm trying to work on the documentation over the next few weeks) [14:06] micheil: also cc the node.js mailing list, I think. [14:15] dshaw has joined the channel [14:20] galaxywatcher has joined the channel [14:21] lazukars has joined the channel [14:21] kuya has joined the channel [14:23] mAritz has joined the channel [14:25] lazukars: Is there a place to find recommended modules for routing, microframeworks, middleware, etc... I know there is this http://github.com/ry/node/wiki/modules#web-frameworks, but it would be nice to see modules listed by user ratings, if something like that exists. [14:25] threeve has joined the channel [14:30] mlangenberg has joined the channel [14:31] ironfroggy_: lazukars: yeah nothing really like that. wanna write it?! [14:31] matjas has joined the channel [14:32] lazukars: ironfroggy: haha, once get better at node.js, sure. [14:35] SchAmane has joined the channel [14:37] ajsie has joined the channel [14:37] SchAmane: anyone from socket.io-node here ? [14:41] SchAmane has joined the channel [14:50] saimon_ has joined the channel [15:02] path[l] has joined the channel [15:02] skohorn has joined the channel [15:03] vvsh has joined the channel [15:04] saimon_ has joined the channel [15:11] aconbere has joined the channel [15:14] robotarmy has joined the channel [15:15] smtlaissezfaire has joined the channel [15:18] benburkert has joined the channel [15:20] hannesw has joined the channel [15:21] ctp has joined the channel [15:24] twomashi has joined the channel [15:29] dshaw has joined the channel [15:34] dohtem has joined the channel [15:34] dohtem has joined the channel [15:36] jpld has joined the channel [15:37] retif has joined the channel [15:37] retif: it works :) [15:42] twomashi has left the channel [15:42] retif has left the channel [15:44] Gurpartap: ok [15:44] SchAmane: it works (tm) [15:44] Gurpartap: ™ [15:44] Gurpartap: ok [15:44] SchAmane: exactly :D [15:45] sideshowcoder has joined the channel [15:46] dnolen has joined the channel [15:49] ginader has joined the channel [15:50] ctp has joined the channel [15:52] stephank has joined the channel [15:55] steadicat has joined the channel [15:55] guitt has joined the channel [15:56] omarkj has joined the channel [15:57] guitt has left the channel [15:57] guitt has joined the channel [15:58] stagas has joined the channel [16:00] ceej has joined the channel [16:05] DTrejo has joined the channel [16:09] vmthehut has joined the channel [16:09] mjr_ has joined the channel [16:13] omarkj has joined the channel [16:14] cognominal has joined the channel [16:26] mlangenberg: Anyone here using Faye? I would like to know if there is a way to print a statement when a client connects. [16:30] mlangenberg: Ah it's stupid simple, nevermind. [16:32] sanduz2 has joined the channel [16:35] isaacs has joined the channel [16:35] isaacs has left the channel [16:36] isaacs has joined the channel [16:36] badaxx has joined the channel [16:42] davidwalsh has joined the channel [16:44] adambeynon has joined the channel [16:45] sudoer has joined the channel [16:45] programble has joined the channel [16:45] programble has joined the channel [16:55] cloudhead has joined the channel [16:56] SamuraiJack has joined the channel [17:01] Max_Might has joined the channel [17:02] robotarmy has joined the channel [17:06] dgathright has joined the channel [17:07] davidascher has joined the channel [17:11] noahcampbell has joined the channel [17:15] atmos has joined the channel [17:16] boaz has joined the channel [17:16] steadicat has joined the channel [17:17] stephenjudkins has joined the channel [17:17] dnolen has joined the channel [17:23] joshthecoder has joined the channel [17:25] jashkenas has joined the channel [17:27] dahankzter has joined the channel [17:29] shripadk has joined the channel [17:30] shripadk has joined the channel [17:33] Aria has joined the channel [17:35] davidascher has joined the channel [17:36] tobert has left the channel [17:40] benburkert has joined the channel [17:43] kjeldahl has joined the channel [17:44] marshall_law has joined the channel [17:46] iwasbiggs has joined the channel [17:49] steadicat has joined the channel [17:50] ehaas has joined the channel [17:53] siculars has joined the channel [17:55] evanpro has joined the channel [17:56] mr_daniel: Doesn't node use unit tests or some other sort of 'test-driven-development' tools/framework to test the implementation? [17:58] mr_daniel: I find a lot of 'assert(bool)' calls in the code from which is good to detect errors at runtime, but assert(bool) is no replacement for unit tests [17:58] dgathright has joined the channel [17:58] ironfroggy_: yes, node has tests. [17:58] ironfroggy_: mr_daniel: can you rephrase that question? [17:59] mr_daniel: ironfroggy_: where can I find the tests? [17:59] sstephenson: in the test/ directory… [17:59] jashkenas: yo, #Node.js -- any favorite techniques for calling "super()" in a sane fashion? [17:59] ironfroggy_: yeah its easy to find with a simple `ls` ;-) [17:59] |Lurch| has left the channel [18:00] mr_daniel: ok, found them, thanks ironfroggy_ and sstephenson [18:00] sstephenson: "make test" to run the suite [18:01] benburkert has joined the channel [18:04] tilgovi has joined the channel [18:05] nroot7 has joined the channel [18:06] dal9k has joined the channel [18:07] badaxx has joined the channel [18:17] v8bot has joined the channel [18:21] sirevanhaas has joined the channel [18:25] jashkenas has joined the channel [18:29] dgathright has joined the channel [18:30] skohorn has joined the channel [18:33] ehaas has joined the channel [18:34] bencc has joined the channel [18:34] bencc has left the channel [18:34] bencc has joined the channel [18:34] TooTallNate has joined the channel [18:35] robotarmy has joined the channel [18:35] bencc has left the channel [18:38] ncb000gt has joined the channel [18:40] jashkenas has joined the channel [18:42] Druide__ has joined the channel [18:50] robotarmy has joined the channel [18:52] ekidd has joined the channel [18:54] dpritchett has joined the channel [18:54] dpritchett: any socket.io wizards around? [18:55] dpritchett: my sockets work fine using the CDN in chrome but that fails in firefox and IE so i'm trying to host the client files myself [18:55] dpritchett: only problem is the socket.io listener seems to be intercepting my attempts to serve ./public/socket.io/socket.io.js because it intercepts everythign with the string 'socket.io' [18:56] jarfhy has joined the channel [18:58] creationix has joined the channel [19:01] xla has joined the channel [19:05] Aria: Aww, no announcer. [19:05] Aria: I just had some thoughts on asynchronous exception handling in nested event handlers. http://goo.gl/kOK8 [19:06] Aria: Thoughts welcome. [19:06] codetonowhere has joined the channel [19:06] ginader has joined the channel [19:06] stephenjudkins_ has joined the channel [19:10] Anti-X: dpritchett, isn't node serving the same socket.io.js? [19:11] byrus has joined the channel [19:11] byrus has left the channel [19:11] saikat has joined the channel [19:12] Anti-X: there was an error in the client files in one of the latest versions, so you should get the latest commit [19:12] threeve has joined the channel [19:14] ginader has joined the channel [19:14] jherdman has joined the channel [19:17] mlangenberg has joined the channel [19:17] overra has joined the channel [19:21] bjarkih has joined the channel [19:22] bjarkih: hello [19:22] bjarkih: Just wondering have any of you gotten hummingbird monitor running ? [19:22] Me1000 has joined the channel [19:24] Yuffster has joined the channel [19:25] mape: bjarkih: I think it hasen't been updated for quite a while [19:25] mape: Won't bet any money on it working [19:25] bjarkih: hehe [19:25] creationix: mape: did my patch to connect make it work for you on v0.3.x? [19:25] mape: Or probly at least some things that are not wokring [19:25] bjarkih: I can get the server running but not the monitor [19:25] mape: creationix: the constants one? [19:25] creationix: yep [19:25] satori_ has joined the channel [19:26] dpritchett: whew, finally got socket.io working in IE [19:26] mape: not sure, I fixed it locally so haven't thought about it, creationix did you add it to npm? [19:26] ekidd has joined the channel [19:26] creationix: no, npm is for node 0.2.x [19:26] creationix: I figure if you're using experimental node, you can download latest connect [19:27] mape: ah k, will take a look [19:27] creationix: it's just a simple hack, nothing fancy [19:27] dylang has joined the channel [19:27] mape: the foreach move from constants to process one? [19:27] mlangenberg has joined the channel [19:28] bjarkih: creationix and mape, where you guys in a middle of a conversation when I joind or are you talking about hummingbird? [19:28] bjarkih: :) [19:28] creationix: bjarkih: no, no worries [19:28] mape: bjarkih: hehe we just started [19:28] mape: bjarkih: so it is a frontend issue? [19:28] creationix: I just saw mape respond to you and realized he was still up [19:28] bjarkih: hehe [19:28] bjarkih: okay :) [19:29] creationix: I've never looked at hummingbird, so I'm not much help there [19:29] bjarkih: np [19:30] bjarkih: it's starting to look "easier" to write my own version of it for my needs [19:30] Guest84781 has joined the channel [19:30] ginader has joined the channel [19:30] mape: bjarkih: what is the issue/error? [19:31] bjarkih: the monitor.js uses a old version of express, and I found a another git clone that works better, exept I cant get it to render ejs views [19:32] stagas has joined the channel [19:32] bjarkih: I's a boringly long story so :) [19:32] mape: not render ejs views in what way? [19:33] bjarkih: no for some reason, the only way I got it to output anything was if I removed <%= set('name') %> from the layout file [19:34] bjarkih: then it outputs the html as content [19:34] bjarkih: just werd [19:34] mape: try - instead of = [19:34] mape: = escapes content [19:34] bjarkih: will try [19:36] joshholt_ has joined the channel [19:36] bjarkih: then I just get the error back [19:37] bjarkih: http://pastie.org/1195693 [19:37] bjarkih: I my have to start with a smaller project to learn node :) [19:37] mape: well IS set defined? [19:37] bjarkih: I don't even know what set is :/ [19:38] mape: perhaps that was deprecated in the ejs module? [19:38] mape: how is it used in the template? [19:39] bjarkih: http://pastie.org/1195694 [19:39] mape: isn't that error from the template? [19:39] mape: not the server js [19:41] sechrist: Are people running node code through google's closure compiler? [19:42] bjarkih: mape: 1 sec trying something [19:42] mape: sechrist: how would that be a benefit? [19:42] sechrist: apparently it's different than just yui compressor [19:42] sechrist: it "optimizes" instead of just compacts [19:42] sechrist: I have no idea! [19:43] mape: think the optimizations if any are minimal, but haven't look to much into it [19:43] sechrist: but node code is already compiled during runtime so it's not like it's constantly re-running [19:43] sechrist: (like in a browser) [19:44] sechrist: hmm -- yeah [19:44] sechrist: it's changing the code up quite a bit [19:44] bjarkih: mape: http://pastie.org/1195702 [19:45] bjarkih: mape: what is set refering to, do you know? [19:45] mape: sechrist: think it changes things like 10*10*10 into 1000 at whatnot [19:45] sechrist: well that's a super simple optimization -- I think it does more complex operations too [19:45] mape: bjarkih: Most likely yes, try removing it [19:46] bjarkih: mape: remove what ? [19:46] mape: oh, nm read that wrong [19:46] mape: so removing that still lands you the same error? [19:47] bjarkih: yes [19:47] mape: hmm, and it isn't used in any other template that is included? [19:47] sechrist: hmm -- it recognized that I used the exact same callback function and just declared one and reused it [19:47] sechrist: clever [19:49] brainfck` has joined the channel [19:49] bjarkih: mape: are you asking me ? [19:51] mape: bjarkih: yes [19:53] bjarkih: mape: I'm sorry I don't understad the question [19:54] mape: bjarkih: are you sure there arne't any other templates being included that use set [19:56] bjarkih: mape: there is just a layout template, and one template per page, and I don't see any ref to set in the templates [19:57] mape: ok, that is strange then [19:59] chrischris has joined the channel [19:59] bjarkih: mape: thx for for trying to help, but can you tel me what "set" is in this contex ? [20:00] mape: I'm not really sure, haven't used/seen it when working with ejs [20:02] vvsh has joined the channel [20:04] noahcampbell has joined the channel [20:07] eisd has joined the channel [20:08] bjarkih: k [20:09] matjas has joined the channel [20:13] Yuffster has joined the channel [20:14] Yuffster has joined the channel [20:15] djwm has joined the channel [20:15] djwm: Is there a way of loading a javascript into the global 'context' with require() ? [20:16] djwm: I've got a file of extensions to some of the core classes (e.g. Array) which I want to be available everywhere. Thanks. [20:17] djwm: Ah, think I just found my own answer. [20:18] hober has joined the channel [20:19] djwm: Hmm. Nope. Any ideas? [20:28] kjeldahl has joined the channel [20:32] jherdman has joined the channel [20:36] AAA_awright: Isn't that what Prototype is for? [20:40] brainfck` has joined the channel [20:42] sugardave has joined the channel [20:51] ph^ has joined the channel [20:55] deoxxa has joined the channel [20:58] sanduz2 has joined the channel [21:10] bjarkih: will app.use(express.staticProvider(__dirname + '/public')); overwrite all requests ? [21:10] mape: bjarkih: not if you put it at the bottom [21:10] bjarkih: mape: okay will try that [21:19] tomtomdie has joined the channel [21:19] tomtomdie: I am a newb and having a hard time installing the redis module. can anyone help? [21:19] mape: tomtomdie: using npm? [21:20] tomtomdie: mape: well I would like to do it the bareboned in order to learn. [21:20] mape: k [21:20] tomtomdie: so, I have cloned the redis repo [21:21] deoxxa: tomtomdie: if you do that you're bypassing all the dependency resolution stuff in npm, it's counter productive [21:21] tomtomdie: k so just use npm for everything? [21:22] deoxxa: that's what it's there for [21:22] deoxxa: npm resolves and keeps track of dependencies for you [21:23] deoxxa: so if x module requires y and z modules, it will install them as well [21:23] deoxxa: also you can usually count on the stuff in the repositories being relatively stable [21:23] tomtomdie: nice. and thanks for explaining [21:24] deoxxa: so i'd say until you're familiar with the module in question, you should use the npm package [21:24] deoxxa: when you're more familiar with it, go ahead and try out the latest code [21:24] deoxxa: but until then, you won't be able to tell the difference between a bug in your code and a bug in the module itself [21:25] deoxxa: if something just breaks for no specific reason, you might end up barking up the wrong tree, trying to find what you did wrong [21:26] deoxxa: however, good call on wanting to learn how it all works :) [21:27] tav_ has joined the channel [21:28] joshholt_ has joined the channel [21:33] aconbere has joined the channel [21:36] tomtomdie: deoxxa: npm is installed. Now, I find out http://github.com/fictorial/redis-node-client does not support npm :( [21:36] deoxxa: oh? [21:36] codetonowhere has joined the channel [21:37] deoxxa: http://nodul.es/modules/connect-redis << there's this [21:37] deoxxa: oh hold on a second, my bad [21:37] deoxxa: http://nodul.es/modules/redis [21:37] deoxxa: there we go [21:38] bpot has joined the channel [21:38] tomtomdie: beautiful. [21:42] bartt1 has joined the channel [21:44] jakehow has joined the channel [21:45] steadicat has joined the channel [21:46] deoxxa: anyway, i had a question too if anyone feels like indulging me: i was wondering if there's any low-level networking stuff available in node, even if it's just exposed interfaces from V8 itself. specifically i'm looking for the ability to craft and send arbitrary packets on an interface of my choosing. [21:46] deoxxa: is there functionality like this built in? if not, is there a module available? [21:47] bjarkih: how to I top a node server :p [21:47] deoxxa: if the answer to both of those questions is "no", on a scale of 1 to impossible, what are the likelyhoods of someone who knows very little c or c++ being able to write some glue code for libnet or something similar? [21:47] ctp has joined the channel [21:48] deoxxa: bjarkih: i'm going to assume you meant "stop". `ps x | grep node` and find the pid, then `kill ` [21:49] stephenjudkins has joined the channel [21:49] stephenjudkins_ has joined the channel [21:50] bjarkih: deoxxa: thx [21:52] mape: deoxxa: well mjr_ has done some network centric stuff, so should be possible [21:52] mape: deoxxa: http://github.com/mranney/node_pcap [21:59] deoxxa: mape: that's the other half of the puzzle, the half that's been solved already ;) [22:00] mape: jup, just saying it is probly not impossible [22:01] deoxxa: well that interfaces with libpcap, so it's not specifically a part of node or V8 [22:01] ph^ has joined the channel [22:01] deoxxa: i'll likely be doing something similar with libnet if it turns out there's nothing low-level built in [22:02] stephenjudkins_ has joined the channel [22:04] alcuadrado has joined the channel [22:04] jamescarr_: libnet [22:04] jamescarr_: ? [22:05] alcuadrado: does anyone know a good and manteined websocket implementation for node? [22:05] deoxxa: raw ip stuff jamescarr_ [22:05] Anti-X: socket.io [22:05] deoxxa: sigh [22:05] chrislewis has joined the channel [22:06] ironfroggy_: alcuadrado: tried a few solutions and socket.io has worked the best [22:06] jashkenas has joined the channel [22:06] chrislewis: does anyone know why npm-adduser (v 0.2.2) would just hang indefinitely? [22:07] alcuadrado: ironfroggy_, socket.io seems great, but I'm wondering about it's performance implications... as it augments the websocket's API and protocol [22:07] mlangenberg: alcuadrado: also take a look at faye [22:08] mlangenberg: Is socket.io better than faye? [22:08] CIA-77: node: 03Ryan Dahl 07master * r48d7a1e 10/ (18 files in 18 dirs): libev, libeio config.h files don't depend on arch - http://bit.ly/ceSvEK [22:08] ironfroggy_: faye is nice, but its a bit limited. [22:08] ironfroggy_: what you can do on faye, socket.io can do. [22:08] alcuadrado: mlangenberg, but, why would I use event machine if I have node.js? or I'm bad? [22:08] ironfroggy_: it essentially is a websocket-ish library that only does broadbast [22:08] ironfroggy_: *broadcast [22:09] jameshome: anyone using node_redis with redis 2.2? [22:09] jamescarr_: ironfroggy_, socket.io [22:09] alcuadrado: ironfroggy_, Oh, so it doesn't feet my requirements [22:09] alcuadrado: fit* [22:09] mlangenberg: well depends on how you use channels [22:09] ironfroggy_: alcuadrado: i used faye first, then moved to socket.io [22:10] guitt has left the channel [22:10] noahcampbell has joined the channel [22:11] alcuadrado: I'm planning to enter the Mozilla's Game On contest with some kind of MMORPG, so performance is a must, and socket.io seems to be adding extra bytes to every package and sending packages every X millseconds, so I was searching something that gives me more controll over it [22:11] Tim_Smart has joined the channel [22:11] dipser: jamescarr_: 2.2? oh i have 2.0.2 hm [22:11] mlangenberg: ironfroggy_: what part of faye limited you? [22:11] dipser: i meant jameshome [22:11] jamescarr_: is there any free public redis hosting? [22:12] jamescarr_: like couchdb and mongohq? [22:12] ironfroggy_: mlangenberg: the part that it only does broadcast messages [22:12] chrislewis: hmm .. [22:12] chrislewis: npm ERR! Error: ETIMEOUT, Timeout while contacting DNS servers [22:13] Tim_Smart: jamescarr_: http://addons.heroku.com/redistogo [22:13] aconbere has joined the channel [22:13] ironfroggy_: alcuadrado: i think that you should use socket.io, and when you profile it as a bottleneck later, then you should look at replacing it. for now, use what works and lets you focus on the game. [22:13] mlangenberg: ironfroggy_: but you can get very fancy with channels, right? [22:14] jashkenas has joined the channel [22:14] jamescarr_: Tim_Smart, heh... with those prices, I'd like to see what happens if someone's small app becomes an overnight success :) [22:14] alcuadrado: ironfroggy_, Yeah, I know you are right, and I'm a huge fan of Kuth's frace "Premature optimization is the root of all evil"... but me team mate no :p [22:14] ironfroggy_: mlangenberg: yeah but it seems clunky to do that. also, no implemented security on those channels. [22:14] Tim_Smart: jamescarr_: You might also be interested in my redis orm ;) [22:14] alcuadrado: my* [22:14] ironfroggy_: so if you expose it for the users, someone could use your faye server to create and user any channels they want! [22:14] mlangenberg: ironfroggy_: right, so how does socket.io address those limits? [22:15] ironfroggy_: well you handle all the messages, so you can do whatever you want with them, be that handle it, re-broadcast it on a channel, or ignore it because they aren't authenticated [22:15] ironfroggy_: alcuadrado: smack the team mate [22:16] dipser: Tim_Smart: did you do find() without {} ? [22:16] Tim_Smart: dipser: Yup. [22:16] alcuadrado: hehe, he's even thinking in make the server in C++... but of course we won't :p Node <3 [22:16] dipser: should be easy with an function(){return true;} ..... oh cool [22:16] ironfroggy_: alcuadrado: i am doing an RPG for Game On, too. btw [22:17] alcuadrado: well, mine is not exactly an RPG [22:17] alcuadrado: is more PvP centered [22:17] Tim_Smart: dipser: Yeah, but that would slow it down ;) [22:17] dipser: i trust you on that :) [22:21] jameshome: dipser: yeah, I think it's probably not working with 2.2 yet [22:22] jameshome: dipser: I want to use LINSERT [22:22] dipser: jameshome: i am using redis2.0.2 with node_redis and Tim_Smart ORM [22:22] dipser: ok [22:23] Tim_Smart: dipser: I have switched my ORM to use my client, plus I changed the way it does transactions. There was a pretty big speed up. [22:23] Tim_Smart: Also means - no dependencies! [22:24] jameshome: maybe I should look at that instead [22:25] dipser: then i will update it later :) [22:27] bjarkih: how do I search for a world in all files in the folder in linux? ( I'm new to linux, I'm a .net dev ) [22:28] ginader has joined the channel [22:30] derferman has joined the channel [22:31] rikarends has joined the channel [22:31] rikarends: What are the ideas of making nodejs do a require method (like requirejs) that can also work in browsers? [22:32] alcuadrado: bjarkih, grep "your text" -R * [22:32] rikarends: its kindof messing up my module reuse between client and server [22:32] bjarkih: alcuadrado: thank you [22:32] mape: rikarends: since require is sync in node it will be hard to do a one to one kinda deal [22:32] alcuadrado: bjarkih, one you learn the basic staff, you are gonna love the UNIX world :) [22:32] rikarends: i know but one idea would be to make require async too in node [22:33] mape: it has been talked about but people seem to think it is a bad idea [22:33] rikarends: well it is not the shortest route for nodejs [22:33] ironfroggy_: rikarends: well remember that node gets its modeles from CommonJS, which I think has browser implementations [22:34] mape: rikarends: watched the google tech talk? [22:34] rikarends: nop [22:34] mjr_: deoxxa: I really want to be able to send packets with node_pcap as well. [22:34] ironfroggy_: also, a lot of projects I've seen have a JS that is "vanilla" and then a build script that wraps that in exports to make it CommonJS module complient, to work in Node [22:34] mape: ryah touches on require being sync in that one [22:34] mjr_: If you want to help make that happen, I'd be happy to help merge that in. [22:34] ironfroggy_: Mustache.js, for example, does this [22:34] jashkenas has joined the channel [22:34] bjarkih: alcuadrado: :) so far so good, but visual studio is just by far the best dev tool, cant be with out it, unles I'm just doing JavaScript then I have no use for it :) [22:35] scnd has joined the channel [22:35] scnd has left the channel [22:35] alcuadrado: bjarkih, Eclispse is pretty good too [22:35] rikarends: i think its a big waste of energy to have multiple module packaging methods tho [22:35] alcuadrado: and I've heard that aptana is great for javascript [22:36] rikarends: soon we'll have www.cloud9ide.com ;) [22:36] rikarends: node.exe server.js [23:21] Anti-X: lol? [23:21] Anti-X: oh and the best part [23:21] Anti-X: On linux, under mono: C:\> mono node.exe server.js [23:21] Tim_Smart: BSOD [23:22] Tim_Smart: hah [23:22] Anti-X: that's a huge wtf [23:22] jesusabdullah: c:\>? lolwat [23:22] Anti-X: he took a perfectly working unix app and made it run on windows, and explained to people how to run it in a windows emulator on linux [23:22] Anti-X: why doesn't he just kill himself [23:23] ooooPsss has joined the channel [23:23] alcuadrado: does anyone know how setTimeout behaves when the function passed takes more than the time of the setTimeout call? [23:23] Anti-X: what? [23:23] mape: alcuadrado: setTimeout delays the execution [23:23] jesusabdullah: *shrug* re: unix --> windows --> mono [23:23] mape: it doesn't limit the run time of the function passed [23:24] Anti-X: it would be great to have a function that does that tho [23:24] Tim_Smart: Anti-X: Would be easy to make. [23:24] alcuadrado: mape, and the function is excecuted right after finishing? or it waits another timeout? [23:24] Anti-X: so do it [23:24] Anti-X: NAO [23:24] Tim_Smart: k [23:24] Anti-X: put it in node [23:24] ysynopsis has joined the channel [23:25] JimBastard_: OHH HELL YEAH [23:25] JimBastard_: Maximum betweenness is 2879441.000000, vertex 2548, id thoughtbot. #1: thoughtbot #2: nakajima #3: webiest #4: marak #5: enormego [23:25] Anti-X: and it should support async io [23:25] Anti-X: which is where it will be used [23:25] JimBastard_: im number 4 in nyc [23:25] josefrichter_ has joined the channel [23:25] JimBastard_: well, new york state [23:25] SubStack: JimBastard_: now do the bay area [23:25] Anti-X: betweenness? [23:26] JimBastard_: SubStack: im going to get country hill to celebrate, ill crunch every location next [23:26] SubStack: I was probably in the tops for alaska before I moved [23:26] JimBastard_: gtg [23:26] mape: alcuadrado: console.log(1);setTimeout(function(){console.log(2);}, 1000); that shows a 1, waits a second and then writes 2. If console.log(2) took 20sec to run it would show 2 after 21sec, but it just delays the start of the excution rather then limiting the run time of the function [23:26] jesusabdullah: number what in what? [23:27] Anti-X: i wonder if intel people start the day by saying "it's crunch time" [23:27] eisd: Does anyone know why htmlfile doesn't trigger a security warning but seemingly every other ActiveXObject does? [23:27] Anti-X: anyone? no? just me then... [23:27] alcuadrado: right mape, thanks [23:28] Anti-X: eisd, delving into IE modules is a science of its own [23:29] Anti-X: you should find some sort of MSDN forum/chat room/whatever [23:29] jesusabdullah: I guess I don't get it, Anti-X [23:29] Anti-X: number crunching [23:29] jesusabdullah: but I'm pretty sleepy right now, so who knows? :) [23:29] jesusabdullah: Hah [23:29] jesusabdullah: ! [23:29] eisd: Anti-X: hmm...that's probably a better place to find answers [23:30] Anti-X: msdn has a comments section for each page [23:30] Anti-X: but it's not "active" as in daily replies or anything [23:31] eisd: Anti-X: Yeah, these are very...different... questions though, I haven't found anything in the comments [23:33] Anti-X: try stackoverflow [23:33] Anti-X: you'll probably get a reply pretty quickly [23:33] Anti-X: just tag it correctly [23:34] eisd: Anti-X: Thanks, but I think I'll try some kind of MSDN forum as you originally suggested, most of the IE hack-related questions I've seen on SF have gone unanswered, and the Microsoft-specific chats seem to have much more knowledgable people on the subject [23:34] eisd: I did ask about htmlfile here though because I *know* that hack is being used in some node libs...should probably try again later [23:39] omarkj_ has joined the channel [23:39] bjarkih: eisd what are you doing with ActiveXObject? [23:39] omarkj has joined the channel [23:40] eisd: bjarkih: Well, my first question was: How do I bind event handlers to an ActiveXObject in JScript? Further, does automagic only apply to DOM elements? [23:40] SubStack: Anti-X: maybe the scientific computing community does that [23:40] SubStack: @ "crunch time" [23:40] SubStack: jesusabdullah might know [23:40] eisd: bjarkih: And then I also noticed that htmlfile doesn't trigger a security warning, but every other ActiveXObject does :\ [23:40] bjarkih: eisd: but why do you need to do that ? [23:40] jesusabdullah: Yeah, I bet supercomputing types do that [23:40] jesusabdullah: people that research with HARD IRON [23:41] Anti-X: people that use C because they have to [23:41] eisd: bjarkih: I have InternetExplorer.Application and I need NavigationComplete2 to fire [23:41] jesusabdullah: I think the intel types are like, "fuck, those tools at AMD are doing crazy thing X" [23:41] jesusabdullah: Yeah, supercomputing types go [23:41] jesusabdullah: "It's crunch time!" [23:41] eisd: bjarkih: Beyond that, I don't really want to explain :P Let me know if you know anything about it [23:41] Anti-X: people that use C because if they didn't, they would die before the experiment finished [23:41] jesusabdullah: ./fortranCompileAGoGo [23:42] jesusabdullah: (I think I would stick with C, vs. fortran, but fortran still has its claws in those HPC guys) [23:42] bjarkih: eisd: so your project will only run in IE ? [23:42] eisd: bjarkih: No, it's an IE-specific hack [23:42] Anti-X: i heard fortran is awesome, as long as you write a flawless app [23:42] Nacho_ has joined the channel [23:42] bjarkih: eisd: then use a javascript framework, you don't have to think about this stuff [23:42] mrbrdo has joined the channel [23:43] mrbrdo: can anyone recommend a good mysql adapter for node? [23:43] Anti-X: node-mysql [23:43] Anti-X: you should get npm [23:43] mrbrdo: masuidrive's? [23:43] mrbrdo: i have npm [23:43] eisd: bjarkih: erm...there are no frameworks I'm aware of that will do low-level hacks like this [23:43] Anti-X: npm list mysql [23:43] eisd: bjarkih: Most frameworks, like jQuery, only handle trivial things such as positioning an element in the right place in IE [23:43] Anti-X: there's one called node-mysql [23:43] mrbrdo: i'm asking which one you can recommend :) [23:43] mrbrdo: aha [23:43] Anti-X: it's at v0.2.0 or something [23:44] Anti-X: something with 2 [23:44] eisd: bjarkih: This is much beyond that, and I've tried several IE-specific hacks for event handlers such as automagic, script for, even VBScript. It's just not firing [23:44] Nacho_: This is a long-shot, but does anyone have experience running the faye comet library in Node.js, behind an nginx or varnish server? [23:44] bjarkih: eisd: what event are you trying to trigger ? [23:45] eisd: bjarkih: NavigationComplete2 on InternetExplorer.Application [23:45] Nacho_: I want to use ESI for my partial results, but I'm having trouble getting nginx to allow the long-poll connection through to node [23:45] mrbrdo: Anti-X i don't see any with that version or near it.. [23:45] Anti-X: ooh [23:46] Anti-X: i just saw [23:46] Anti-X: it was there the other day [23:46] mrbrdo: is it the felixge one? [23:46] Anti-X: i guess so [23:46] mrbrdo: ty [23:46] Anti-X: he's an active guy so i would trust that one [23:46] bjarkih: eisd: there in no event with that name in IE "NavigationComplete2" [23:46] mrbrdo: yeah it looks solid [23:47] eisd: bjarkih: http://msdn.microsoft.com/en-us/library/aa768334%28VS.85%29.aspx [23:47] Anti-X: i think he's in here sometimes [23:47] eisd: bjarkih: oh, sorry, it was NavigateComplete2 [23:47] Nohryb has joined the channel [23:47] Anti-X: why is everything in VB [23:48] Anti-X: maybe to show types, but still [23:48] Anti-X: even C is better [23:49] eisd: Yeah, it's mostly VBScript in the MSDN doc examples, but VBS and JScript are using the same host object/API so it shouldn't make a dramatic difference afaik [23:49] [[zzz]] has joined the channel [23:50] Anti-X: ms love their own shit [23:50] Anti-X: or should i say farts [23:50] eisd: hehe [23:50] Anti-X: they sit around and sniff it [23:50] aliem has joined the channel [23:50] Anti-X: "ooh zesty" [23:50] bjarkih: eisd: this looks like a old event for ie4 and ie5 [23:51] Anti-X: speaking of which, what exactly are you trying to do? [23:51] eisd: bjarkih: hmm... [23:51] eisd: bjarkih: I think you're referring to NavigateComplete [23:51] eisd: bjarkih: NavigateComplete2 is the newer one [23:52] bjarkih: eisd: maybe I just have never seen this event and there are just 1400 results for this on google, so It cant me used that mutch [23:52] Anti-X: isn't this just another way of saying onload? [23:53] bjarkih: Anti-X: from what I can tel yes [23:53] bjarkih: but what do I know [23:53] eisd: bjarkih: hmm...I can probably figure out the correct event on my own, but how do I attach an event handler to an ActiveXObject? [23:53] Anti-X: or even just inline execution while the doc loads [23:54] programble has joined the channel [23:54] bjarkih: eisd: I don't know and I would try to find another way of doing it :) I have never had to f-around with ActiveXObjects [23:54] eisd: I see [23:55] SubStack: derferman: hey you are in Oakland too I see from your hackernewsers profile [23:55] SubStack: ACTION just updated his [23:56] derferman: SubStack: Yep, currently at Berkeley for undergrad [23:56] SubStack: neat, I'm in Rockridge [23:56] SubStack: just moved [23:57] bjarkih: eisd: I think stackoverflow would be the plase to ask for help on this. [23:58] derferman: awesome, welcome to the area [23:58] eisd: bjarkih: Anti-X suggested MSDN or a forum where more Microsoft devs hang out :), I've seen a lot of the SF questions on more advanced IE hacking and most go unanswered whereas the Microsoft forums seem to offer a lot more depth in their responses [23:59] Anti-X: not SF [23:59] Anti-X: SO [23:59] bjarkih: eisd: okay cool :) [23:59] eisd: yes, typo :P [23:59] Anti-X: you should still ask there though [23:59] Anti-X: who knows [23:59] bjarkih: can't hurt :)