[00:00] odie5533: What ever happened to the cool doc navigation? http://nodejs.org/docs/v0.2.5/api.html [00:00] dreamdust has joined the channel [00:00] wookiehangover has joined the channel [00:04] CStumph has joined the channel [00:05] towski has joined the channel [00:05] shanebo_: anyone know of a way to fix a large malformed json string? [00:08] pNstK has joined the channel [00:11] bnoordhuis: odie5533: it made my nokia n900 crash >:( [00:11] saschagehlich has joined the channel [00:12] metaverse has joined the channel [00:13] odie5533: bnoordhuis: that's because it's so chock-full of coolness that you puny post-it note machine can't keep up. [00:14] odie5533: Also, the page is over 100 KB. [00:14] mcluskydodallas has joined the channel [00:14] bnoordhuis: odie5533: that puny post-it note machine has more memory and horsepower than my 2001 desktop pc [00:14] odie5533: er... how do you even develop for Node?! [00:15] odie5533: What do you run on that thing computer, DSL with busybox? [00:15] jbrokc has joined the channel [00:16] ropes has joined the channel [00:16] bnoordhuis: odie5533: i use my 2009 laptop :) [00:16] odie5533: And the computer is used as an end table? [00:17] xandrews has joined the channel [00:19] bnoordhuis: mostly to heat the room [00:20] mikeal has joined the channel [00:20] slickplaid: heh i keep my servers in a closet [00:20] odie5533: I have a hash and a file name. I need to store these somehow so I can lookup my hash and get the filename. What can do this? [00:20] slickplaid: makes my clothes all warm when i put them on in the morning [00:21] slickplaid: odie5533 can't you sha1(filename) and then lookup the hash in the table? [00:21] odie5533: should I use like node-dirty? [00:21] slickplaid: and are you talking about a redis-esque store (nosql)? [00:22] metaverse: How can I represent binary data the same way in python / node for debugging? I'm quite close: https://gist.github.com/1129922 [00:22] odie5533: slickplaid: I need to figure out what kind of table to use. [00:22] tauren has joined the channel [00:22] odie5533: metaverse: use bitwise shifting and masking. [00:23] odie5533: I think number & 0x01 will give you the first bit, then (number>>1) & 0x01 for the second [00:23] metaverse: odie5533: ok thanks I will try it [00:23] odie5533: I believe it is VERY slow though [00:23] metaverse: odie5533: just for debugging :) [00:24] odie5533: okay [00:24] bnoordhuis: metaverse: where's the problem? in node or python? [00:24] bnoordhuis: in python, you'd use '%x' % ord(c) [00:24] metaverse: bnoordhuis: python. node is awesome :D [00:24] odie5533: you said binary [00:24] chjj: metaverse: good answer [00:24] odie5533: you meant hexadecimal, didn't you? [00:24] brez_ has joined the channel [00:25] metaverse: sorry guys I don't know how this stuff really works, I'm just learning right now [00:25] odie5533: metaverse: use "%02x" % number [00:25] chjj: howstuffworks.com [00:25] chjj: i heard it teaches you [00:25] chjj: how stuff works [00:25] slickplaid: amazing. [00:25] odie5533: 0 says to 0 pad it, 2 means to always return two digits, and x means to represent it as hexadecimal [00:26] odie5533: or something like that [00:26] odie5533: metaverse: When you want hex, you should say hex instead of saying binary. I thought you meant binary (e.g. 101000101000100). [00:26] jacobolus has joined the channel [00:27] Me1000 has joined the channel [00:27] tar_ has joined the channel [00:28] metaverse: odie5533: Yeah, I was confused. I know the difference between hex and binary but I didn't really know how buffers in node was represented. In the documentation it says "octet streams" so I wasn't sure [00:29] jonaslund: a node buffer is simply a bunch of bytes [00:29] metaverse: jonaslund: yes, but how it's represented when you do console.log(buffer); [00:30] odie5533: metaverse: did you get it working [00:30] dscape: any got cats? [00:30] dscape: cant keep the god damn cats out of the stove, they going to burn down the house [00:30] dguttman has joined the channel [00:31] odie5533: dscape: turn stove on. solve cat problem. [00:31] metaverse: odie5533: I'm using '%x' % ord(a) which gives me: ['b', 'b8']. I'm assuming 'b' is really '0b', right? [00:31] dscape: thanks odie5533 that's really helpful [00:31] odie5533: metaverse: You are using the wrong code. You need to have '%02x', not '%x' [00:31] metaverse: odie5533: and now i'm using '%02x', even better, thanks! [00:32] odie5533: dscape: I normally charge for my consultations, but that one's a freebie. [00:32] odie5533: metaverse: Python is the best programming language ever. [00:32] jonaslund: v8: new Buffer(20).valueOf() [00:32] v8bot_: jonaslund: ReferenceError: Buffer is not defined [00:32] jonaslund: metaverse: [00:33] metaverse: odie5533: So far, yes :) [00:33] jonaslund: metaverse: Nothing you should depend on really (Buffer.valueOf() ) [00:33] metaverse: jonaslund: tackar! [00:34] zackattack_ has joined the channel [00:36] abraxas has joined the channel [00:38] harth has joined the channel [00:38] metaverse: This is the first time I work with binary data really (except modbus) and I was wondering why the data in a new buffer is "random"? [00:38] odie5533: I am creating a node program. Where should I put modules I downloaded in the directory? [00:39] odie5533: project/lib? [00:39] odie5533: where does npm put stuff? [00:39] dscape: ./node_modules [00:40] odie5533: e.g. ./node_modules/lazy.js? or are they put in subdirectories? [00:40] dscape: that's where npm puts it [00:40] odie5533: Are they put in subdirectories of node_modules? [00:40] dscape: people normally leave node_modules to npm I think [00:41] dscape: and add it to .gitignore [00:41] dscape: so libraries go in something like a lib/ folder [00:41] dscape: then you need to require('./lib/lazy.js'); [00:41] odie5533: well I was thinking maybe I should use lib for libraries I create for my project. I dno [00:42] bnoordhuis: metaverse: node grabs a chunk of memory from the system [00:42] odie5533: So developers ignore node_modules, and then tell other people to just download possibly incompatible versions of the needed module with npm? [00:42] dscape: there's a package.json [00:42] dscape: that describes dependencies [00:42] metaverse: bnoordhuis: so it doesn't clear it? Cool, that's efficient I guess [00:42] dscape: all you need to do is npm install [00:42] dscape: and all of it will be solved for you [00:42] bnoordhuis: metaverse: yep, no zeroing [00:42] odie5533: ah. that's handy [00:43] cjm has joined the channel [00:43] ericmuyser has joined the channel [00:43] dscape: try man npm in the terminal [00:43] dscape: and go from there [00:43] dscape: :) [00:43] dscape: and btw for people that want to keep cats of stoves I just placed a large bowl over the handles [00:44] odie5533: dscape: heh. I'll definitely give it a go when the Windows port is finished ;) [00:44] odie5533: why dont you close the oven instead? [00:44] dscape: it's impossible it's a modern thing [00:44] patcito_ has joined the channel [00:44] dscape: there's a lock touchscreen [00:44] dscape: so the cat sleeps there [00:44] dscape: and stands on the lock over 5 seconds [00:44] dscape: sooooo.... fire [00:45] dscape: :P [00:45] odie5533: I say let it be. Natural selection and all. [00:46] dguttman has joined the channel [00:48] mpeddicord has joined the channel [00:48] metaverse: What's the behavior in node TCP socket if the connected host suddenly becomes unreachable? Without timeout set it would do nothing and just wait, right? But what about a situation where the host died and is now up again? I want to catch all those edge cases in my server. [00:49] matyr has joined the channel [00:49] CStumph has joined the channel [00:49] odie5533: I think the OS would close it, and thus node would end it. Have to ask someone else though to be sure. [00:50] xerox: https://twitter.com/leaverou/status/100001849746272256 [00:50] metaverse: odie5533: ok so it could probably be OS specific [00:51] gazumps has joined the channel [00:52] industrial: xerox: you can go really far with these jokes. [00:52] xerox: hehe [00:53] industrial: in c: double penetration; [00:53] industrial: and I'll leav it at that [00:53] industrial: zzz [00:53] xerox: haha [00:57] mpeddicord: Hey, can someone help me? [00:57] xerox: long long ago; /* in a galaxy far far away */ [00:57] xerox: mpeddicord: with what? [00:57] mpeddicord: After a server, running this code: http://pastebin.com/YbMfPbdd runs for an hour or so. It just stops responding... [00:57] rfay has joined the channel [00:58] mpeddicord: I'm using Connect to create two virtual host... [00:58] ryah: metaverse: likely you'll get a RST when you try to send the next message [00:58] mpeddicord: host* [00:58] ryah: metaverse: which translates into an error event ECONNREST [00:58] xerox: you're missing some 'else's aren't you [00:58] xerox: or I just don't know connect : ) [00:58] bnoordhuis: metaverse: http://groups.google.com/group/nodejs/browse_thread/thread/9c2a41f53c7047ab [00:59] bnoordhuis: and what ryah said [00:59] mpeddicord: ha [00:59] metaverse: ryah: thanks! [00:59] mpeddicord: xerox: You may be right [00:59] mpeddicord: Actually that code doesn't make any sense... [01:00] mpeddicord: wait [01:00] enherit has joined the channel [01:00] mpeddicord: no.. it does.. it's serves the page, or does the stuff in the if if there is an error [01:01] mpeddicord: It's working like it should, it just stops responding after a little while [01:01] xerox: : | [01:01] mpeddicord: No one's ever has issues with node just failing after running for a long time? [01:02] mpeddicord: had* [01:04] Swizec has joined the channel [01:06] zackattack has joined the channel [01:07] dshaw_ has joined the channel [01:09] enherit has left the channel [01:10] AD7six has joined the channel [01:11] mundanity has joined the channel [01:13] matyr has joined the channel [01:13] mikeal has joined the channel [01:13] ^robertj: whats the difference between a process and a subprocess? [01:13] admc has joined the channel [01:14] ironlad has joined the channel [01:17] tprice: Hey i need some advice on a basic routing schema to get an idea slaveA->masterA->masterB->slaveB would be the kind of routing im talking about. this is over a tcp socket [01:17] tprice: im thinking of doing with a string and have each hope broken up by say a "|" [01:18] tprice: so it would look like this 'slaveA|masterA|masterB|slaveB' [01:19] tprice: but then what if i want to more then just two hopes? [01:19] tprice: like 'slaveA|masterA|masterB|masterC|slaveC' [01:19] newy has joined the channel [01:20] ph^ has joined the channel [01:23] systemfault: If I have function foo() {} in a file, is there a way to access it from the global object? [01:23] bnoordhuis: ^robertj: nothing [01:23] systemfault: Or I have to manually add it to "global" [01:23] xerox: systemfault: files are modules [01:23] ^robertj: bnoordhuis, can you get a hold of the process that corresponds to a subprocess? [01:23] xerox: systemfault: and modules are simple http://nodejs.org/docs/v0.4.10/api/modules.html [01:24] bnoordhuis: ^robertj: that question is semantically void :) [01:24] [[zz]] has joined the channel [01:24] systemfault: xerox: Thanks :) [01:24] ^robertj: bnoordhuis, well process modules have a process.memoryUsage() and as best I can tell subprocesses don't? [01:24] xerox: systemfault: anytime [01:24] systemfault: xerox: Do you personally use 4.10 or 5.3? [01:25] xerox: the first [01:25] bnoordhuis: ^robertj: heh, didn't realize you were talking about the process global [01:25] systemfault: Ok :) [01:25] xerox: the unstable branch moves too fast [01:25] xerox: I write things in node, don't hack no node itself :D [01:25] systemfault: Haha :) [01:25] bnoordhuis: ^robertj: if you want to limit child process memory usage, look at `ulimit -v` [01:26] bnoordhuis: iow, let the OS handle it [01:26] bnoordhuis: xerox: it's the other way around for me [01:26] xerox: bnoordhuis: what do you hack mostly in node [01:26] systemfault: xerox: Is there any cool things in 5.3 that I want desperately want? [01:26] systemfault: s/want/might [01:27] xerox: systemfault: no [01:27] bnoordhuis: xerox: i'm the everything guy - so whatever the others don't feel like doing :( [01:27] xerox: bnoordhuis++ [01:27] v8bot_: xerox has given a beer to bnoordhuis. bnoordhuis now has 1 beers. [01:27] catb0t: bnoordhuis now has 1 beer [01:28] JoshC1 has joined the channel [01:28] mikeal has joined the channel [01:31] norviller has joined the channel [01:31] adrianmg has joined the channel [01:33] Aria has joined the channel [01:33] Aria has left the channel [01:34] Swizec_ has joined the channel [01:39] broofa has joined the channel [01:44] matyr has joined the channel [01:45] justmoon has joined the channel [01:47] Cromulent has joined the channel [01:51] sivy has joined the channel [01:55] mikeal has joined the channel [01:59] bksf has joined the channel [01:59] eee_c has joined the channel [01:59] matyr_ has joined the channel [02:00] mcluskyd_ has joined the channel [02:00] Peniar has joined the channel [02:01] blaenk has joined the channel [02:01] blaenk has joined the channel [02:03] adrianmg has joined the channel [02:04] JumpMast3r has joined the channel [02:05] CIA-65: libuv: 03Ryan Dahl 07master * r42c76f7 10/ (192 files in 4 dirs): [02:05] CIA-65: libuv: Add pthread-win32 temporarily [02:05] CIA-65: libuv: Until Node does not rely on libeio interfaces. - http://bit.ly/mXf1uE [02:05] airportyh has joined the channel [02:05] plutoniix has joined the channel [02:06] raidfive has joined the channel [02:07] dherman has joined the channel [02:08] blaenk: sup [02:09] fmeyer has joined the channel [02:10] catshirt has joined the channel [02:11] odie5533: What do people here use for testing? Expresso? Vows? [02:11] mynyml: ACTION uses vows [02:13] davidbanham has joined the channel [02:13] igl has joined the channel [02:14] skampy has joined the channel [02:15] hacksparrow has joined the channel [02:17] odie5533: mynyml: how is vows stored? ./node_modules/vows/bin/vows? [02:19] mynyml: odie5533: both local and global [02:20] mynyml: odie5533: global for the executable, and i guess i had to install it locally for it to find some libs.. can't remember [02:20] ericmuyser has joined the channel [02:21] mynyml: odie5533: just npm uninstalled it locally and everything still works fine. so, global [02:23] smathy has joined the channel [02:24] odie5533: I managed to install it, but I get the craziest output [02:25] _3pollard has joined the channel [02:28] odie5533: I have vows installed as ./node_modules/vows/package.json and ./node_modules/vows/lib/vows.js. My test is located in ./test/division-by-zero-test.js. When I run it does not complain about vows or eyes (I installed eyes too). I get the following output: [02:28] odie5533: ←[32m·←[39m←[32m·←[39m←[32m·←[39m [02:28] odie5533: √ ←[32m←[1mOK←[22m←[39m » ←[1m3←[22m honored←[90m (0.002s)←[39m [02:30] srid has joined the channel [02:30] srid has joined the channel [02:30] kab3wm has joined the channel [02:31] hydrozen has joined the channel [02:31] bnoordhuis: odie5533: they're terminal color codes [02:31] bnoordhuis: what system are you running it on? [02:31] odie5533: oh, that makes sense. [02:31] odie5533: Windows [02:32] bnoordhuis: right, windows doesn't understand them [02:32] odie5533: I am using cmd.exe through msys. let me try plain cmd and mintty [02:34] Aiden has joined the channel [02:35] Dohsane has joined the channel [02:35] orijnal has joined the channel [02:37] odie5533: good catch on the color codes. I didn't recognize them. [02:39] odie5533: alright, and changing mintty to use UTF8 fixed everything [02:40] odie5533: however, mintty does not work with git. It has problems with color and interaction. Kind of ironic that the cmd.exe won't work with vows's coloring but works with git's, but the mintty won't work with git's coloring but works with vows's. [02:40] tphummel has joined the channel [02:43] matyr has joined the channel [02:43] sivy has joined the channel [02:44] bnoordhuis: odie5533: you can disable colors in your .gitconfig [02:45] odie5533: bnoordhuis: using it in mintty automatically disables colors. I prefer having the colors though. [02:45] bnoordhuis: i like colors too [02:45] bnoordhuis: especially green [02:46] Nexxy: mmm, green [02:49] random123: What would it mean if "object.method();" is working fine but when I inspect "object" it doesn't say that method is there? [02:49] mcluskydodallas has joined the channel [02:50] devongovett has joined the channel [02:52] matyr_ has joined the channel [02:53] mynyml: random123: it's probably set on the prototype [02:53] mynyml: random123: try `util.inspect(Foo.prototype)` [02:54] mynyml: or `util.inspect(object.constructor.prototype)` [02:57] CIA-65: node: 03Ryan Dahl 07gyp * r5aa75eb 10/ (203 files in 8 dirs): Upgrade libuv - it now depends on pthreads - http://bit.ly/n0cXRJ [02:57] CIA-65: node: 03Peter Bright 07gyp * r71333b3 10/ (5 files in 3 dirs): Modify GYP scripts for VC build - http://bit.ly/r2MY5g [03:01] newy has joined the channel [03:02] NickABusey has joined the channel [03:02] gazumps has joined the channel [03:05] mape: devongovett: Are you liking chocolat so far? [03:05] devongovett: mape: yeah totally! I didn't expect anything to replace TextMate for me, but I've been using it for a week and haven't gone back! [03:06] mape: I've been using sublime lately but there are so many things that are of compared to textmate [03:06] mape: But yet it is so much faster.. [03:10] pifantastic: Any everyauth folks around? I can't get google auth working. It appears that the google module may be hardcoded against the feeds API? [03:11] odie5533: I can't get vows colors to work on windows cmd.exe =/ [03:11] pifantastic: I get a AuthSub scope mismatch when I set the scope to Googles Prediction API [03:12] matyr has joined the channel [03:13] boehm has joined the channel [03:14] zackattack has joined the channel [03:16] CIA-65: node: 03Peter Bright 07gyp * rb88c481 10/ deps/v8/tools/gyp/v8.gyp : V8 GYP should attempt to not use cygwin. - http://bit.ly/pjg3NV [03:18] mcluskydodallas has joined the channel [03:20] odie5533: Is there a node.js command to detect windows? [03:22] matyr has joined the channel [03:25] llrcombs: odie5533: os.platform [03:27] matyr has joined the channel [03:27] odie5533: thanks [03:28] Me1000 has joined the channel [03:29] llrcombs: welcome [03:33] isaacs: hey, you know those times when npm says "Could not delete the following files, remove them manually and try again"? [03:36] ryanfitz has joined the channel [03:40] systemfault: How wrong it is to synchronously load a small file? (Configuration file [03:41] ringomanatee has left the channel [03:41] jerrysv has joined the channel [03:42] jerrysv: hello - does anyone have [a favorite] module for getting all filenames in a directory recursively? [03:43] llrcombs: I'm sure npm has one [03:44] dshaw_ has joined the channel [03:44] llrcombs: http://search.npmjs.org/#/walker [03:45] dexter_e has joined the channel [03:45] kriszyp has joined the channel [03:47] SubStack: jerrysv: findit can do that [03:47] SubStack: http://github.com/substack/node-findit [03:48] eee_c has joined the channel [03:50] JakeyChan has joined the channel [03:52] matyr_ has joined the channel [03:52] elijah has joined the channel [03:53] mikeal has joined the channel [03:54] unlink has joined the channel [03:55] mikeal has joined the channel [03:56] isaacs: jerrysv: fs.readdir [03:56] isaacs: oh, recursively [03:57] isaacs: SubStack: i need to finish that find walker thingie i'm hope to abstract out of npm someday [03:57] isaacs: it's so intermingled, though [04:02] jerrysv: substack: awesome, thanks [04:02] some1else has joined the channel [04:02] jerrysv: isaacs: yeah :) [04:05] jerrysv: hm. so far i'm using 3 modules with this, all 3 from substack [04:06] norviller has joined the channel [04:06] AndroUser has joined the channel [04:09] AndroUser has left the channel [04:13] isaacs: jerrysv: he's got some nice modules :) [04:13] deadman87 has joined the channel [04:13] jerrysv: isaacs: indeed! [04:13] jerrysv: in this case, optimist, findit, and burrito [04:14] nodelog has joined the channel [04:16] yept has joined the channel [04:19] isaacs: jerrysv, materialdesigner: "What're you using that hammer for?" "hittin stuff" [04:19] materialdesigner: basically [04:19] isaacs: jerrysv: isn't burrito primarily *for* instrumenting? [04:19] materialdesigner: I just looked at burrito and thought "wtf am I ever going to use this for?" [04:19] jerrysv: isaacs: yes, i was being intentionally vague :) [04:19] isaacs: haha [04:19] freewil: ACTION is away: I'm away [04:19] jtsnow has joined the channel [04:19] materialdesigner: I really like substack's stuff on the whole [04:19] jerrysv: isaacs: if tj isn't going to release node-jscoverage, i'm going to release something comparable [15:37] nodelog has joined the channel [15:41] ChrisBuchholz: Anyone familiar with node-mongodb-native? I have a problem i cant seem to find help to anywhere [15:41] jetienne has joined the channel [15:44] newy has joined the channel [15:51] replore_ has joined the channel [15:51] replore has joined the channel [15:53] Aiden has joined the channel [15:54] brianseeders has joined the channel [16:02] d0k has joined the channel [16:03] confoocious has joined the channel [16:03] tphummel has joined the channel [16:07] matomesc has joined the channel [16:09] broofa has joined the channel [16:10] dguttman has joined the channel [16:12] losing has joined the channel [16:13] hlindset has joined the channel [16:13] hlindset has joined the channel [16:13] ironlad has joined the channel [16:14] matyr_ has joined the channel [16:15] sirdancealot has joined the channel [16:16] freewil: ACTION is back (gone 01:01:49) [16:23] hybsch has joined the channel [16:24] TheJH: freewil, could you please turn that off? [16:24] `3rdEden has joined the channel [16:25] freewil: TheJH, yeah ok [16:25] freewil: ive got like 2 people bitching at me [16:25] TheJH: freewil, thanks [16:26] xerox: ChrisBuchholz: you should ask the question not if you ask a question [16:26] matyr has joined the channel [16:26] xerox: +can [16:26] Stythys has joined the channel [16:26] xerox: I should have coffee >.> [16:27] mike5w3c has joined the channel [16:28] jarek has joined the channel [16:28] jarek has joined the channel [16:33] stagas_ has joined the channel [16:36] amiller has joined the channel [16:39] ironlad has joined the channel [16:44] adrianolaru has joined the channel [16:47] smtlaissezfaire has joined the channel [16:55] matyr_ has joined the channel [16:56] jarek_ has joined the channel [16:56] mcluskydodallas has joined the channel [16:56] cjm has joined the channel [16:57] kriszyp has joined the channel [16:57] Wa has joined the channel [16:58] loveshine: would it be okay to create several read streams for a file to get its contents faster? [17:00] materialdesigner has joined the channel [17:03] newy has joined the channel [17:03] gde33 has joined the channel [17:03] matyr has joined the channel [17:03] threecreepio has joined the channel [17:04] _root_ has joined the channel [17:04] alex3 has joined the channel [17:04] alex3 has joined the channel [17:04] Destos has joined the channel [17:06] ryanfitz has joined the channel [17:08] dnjaramba has joined the channel [17:08] alnewkirk has joined the channel [17:10] cjm has joined the channel [17:10] maushu has joined the channel [17:12] Me1000 has joined the channel [17:13] mscdex: loveshine: i don't think you have to worry about that kinf of issue [17:14] mscdex: s/kinf/kind [17:14] PragCypher has joined the channel [17:15] DennisRasmussen has joined the channel [17:15] loveshine: mscdex: alright then i'll do it! [17:15] hybsch has joined the channel [17:16] mscdex: loveshine: no, i mean you shouldn't have to worry about a single read stream being slow enough to have to think about using multiple streams [17:16] ts__ has joined the channel [17:16] DennisRasmussen: How do you check if a net stream is still open before using it to avoid a js error? [17:16] loveshine: mscdex: ok what if the file is several GB? [17:17] mscdex: DennisRasmussen: you can check stream.writable or stream.readable [17:17] DennisRasmussen: Thanks, is it okay to do that before every write or should I do that in intervals? [17:17] random123: Is it possible for write an asyncronous function inside of JavaScript? Does it involve having some sort of loop so you can check to see if anything else needs done constantly while you process the function slowly? [17:18] mscdex: DennisRasmussen: i don't see why it wouldn't be ok [17:18] srid has joined the channel [17:18] DennisRasmussen: Could be slow or something, but good. [17:18] mscdex: DennisRasmussen: it's just checking a boolean. you could abstract it into your own write method that checks .writable first, that way you only check in one place [17:19] Swimming_bird has joined the channel [17:19] mscdex: random123: node knows if there's still stuff to do or not [17:19] DennisRasmussen: mscdex, yes ofcourse :) [17:20] mscdex: random123: you don't have to worry about manually dealing with the event loop, you just write your async functions and use them [17:20] DennisRasmussen: How do you handle multiple SQL callbacks? Say you need to write some data back to the client with data from multiple SQL tables. With callbacks I then have to nest all these callbacks or? [17:21] clifton has joined the channel [17:21] DennisRasmussen: Or do you create a handler which checks whether all the callbacks have been called before writing to the stream? [17:21] random123: mscdex: I am just trying to understand async better by writing a function that is actually async, but if you write a function that for instance, sits in a while loop for 1 billion interations, it will just freeze everything [17:22] random123: So I am wondering if how you create one is to check the main loop while the function is processing to see if there is anything else to do [17:22] mscdex: DennisRasmussen: i would probably do that, wait until all of the sql query callbacks have all returned before continuing [17:22] janhalfar has joined the channel [17:22] jerrysv has joined the channel [17:23] DennisRasmussen: mscdex, would you make the callbacks call the same handler and sort out in the handler? [17:23] ttpva has joined the channel [17:24] jetienne1 has joined the channel [17:24] mscdex: random123: if you have something that's processor intensive like that (i.e. video/audio encoding), then you can either break the task up into several parts and distribute them across x ticks of the event loop, or spawn a child process [17:24] mscdex: DennisRasmussen: depends, do any of the queries depend on each other? [17:25] DennisRasmussen: mscdex, haven't written any yet, just thinking ahead [17:25] madsleejensen has joined the channel [17:26] mscdex: DennisRasmussen: well, i mean you can have the queries execute in parallel (no nesting), use a counter to determine when all results have come back, and then continue when they have [17:26] mscdex: DennisRasmussen: then you could use separate result callback handlers [17:27] DennisRasmussen: Yeah that's what I thought [17:28] industrial: How would I go about updating cloud9 in npm? I see a 0.4.0 tag in git but not in npm [17:28] industrial: (0.3.0 there) [17:28] openpercept has joined the channel [17:29] ecin has joined the channel [17:29] mscdex: industrial: if they're on github, post an issue and tell them to npm publish 0.4.0 ;-) [17:29] random123: mscdex: How can you be inside a function, and tell it to pause and go to other stuff until the next tick, then come back and continue processing something big? [17:30] mscdex: random123: process.nextTick allows you to defer a function until the next iteration of the event loop [17:30] whitman has joined the channel [17:31] mscdex: random123: functions provided to process.nextTick will execute before any i/o, etc. event listeners are executed [17:34] industrial: mscdex: mmright [17:34] blup: stupid question, how can i check out the node version i currently have installed? [17:34] blup: i lost track [17:35] mscdex: blup: node -v [17:36] random123: mscdex: I see that process.nextTick does something next, but how to you come back to where you left off? [17:37] blup: mscdex :) [17:37] rickharrison has joined the channel [17:37] industrial: npm install -g cloud9 is taking ages :( [17:37] random123: You have to stop the function yourself or it will continue forever, so you have to put it on hold and make sure that when that function runs it will continue where it left off [17:37] industrial: I wish npm would spit out more text so I'd know what its doing [17:38] mscdex: random123: can you gist an example you have in mind? [17:39] CrisO has joined the channel [17:39] random123: mscdex, well process.nextTick is basically just like setTimeout, you wait until a future time to run a function, but nextTick is better as I see because it times it perfectly to run at each tick [17:39] gazumps has joined the channel [17:39] mscdex: industrial: i guess you could also just download the cloud9 0.4.0 tarball and extract it, replacing the directory that currently has 0.3.0 [17:39] CrisO has left the channel [17:40] mscdex: random123: yes, it's more efficient [17:40] pandeiro has joined the channel [17:41] industrial: mscdex: its failing aswell :S [17:41] industrial: (the 0.3.0) [17:41] industrial: TypeError: Object # has no method 'main' at Object. (/home/tom/Applications/node/lib/node_modules/cloud9/bin/cloud9.js:42:19) [17:41] random123: mscdex: So all I can think is to time that function you give to process.nextTick so that it does a little work, saves its progress in memory in some sort of data stucture, then manually stops after maybe 10ms and waits unti lthe next tick [17:41] industrial: node v0.4.10 [17:41] mscdex: industrial: no idea then, never used cloud9 :\ [17:42] ChrisBuchholz: xerox: the reason why i asked to ask, is because its not totally on topic. But i figured it out. It didnt find any item because my id was delivered as a string instead of an int [17:42] xerox: ChrisBuchholz: great! [17:42] mscdex: random123: right, it doesn't even have to be a set time like 10ms, it can just be so many equal iterations of work that you do [17:42] hasta84: Hello there, anyone here with good knowledge of AMF0 / AMF3 ? [17:43] markwubben has joined the channel [17:44] jtsnow has joined the channel [17:44] necrodearia has joined the channel [17:44] random123: mscdex: So is that how Node.js actually works, but maybe it uses the same technique but at a lower level like C or at the level we are in JS? [17:45] random123: mscdex: I am wondering if thats what Node does for async calls like readFile, etc [17:45] CStumph has joined the channel [17:45] mscdex: random123: node's built-in i/o stuff occurs at the C++ level, where it deals directly with the event loop for doing things like waiting on file descriptors, etc [17:46] gde33 has left the channel [17:46] Swimming_bird has joined the channel [17:46] matomesc has joined the channel [17:47] xat- has joined the channel [17:47] mscdex: random123: although, for file i/o, those are executed within libeio in threads because there are no reliable async file i/o operations in linux for example [17:48] admc has joined the channel [17:48] isaacs has joined the channel [17:49] cjm has joined the channel [17:52] KrooniX has joined the channel [17:53] mscdex: random123: although iirc windows has proper support for async file i/o, so no threads on there with node [17:56] stagas: shouldn't console.error(err) output something useful? [17:56] mscdex: stagas: it's for displaying to stderr [17:57] Swimming_bird has joined the channel [17:57] mscdex: which is sync [17:58] skunkape has joined the channel [17:58] dgathright has joined the channel [18:00] jakehow has joined the channel [18:01] djcoin has joined the channel [18:02] stagas: mscdex: so it has nothing to do with the Error object [18:02] mscdex: stagas: nope [18:05] Cromulent has joined the channel [18:06] zivester has joined the channel [18:07] __tosh has joined the channel [18:07] zeade has joined the channel [18:07] butu5 has joined the channel [18:09] CStumph has joined the channel [18:10] piscisaureus has joined the channel [18:14] newy has joined the channel [18:16] newy has joined the channel [18:21] jbrokc has joined the channel [18:22] __tosh has joined the channel [18:23] towski has joined the channel [18:24] smplstk_ has joined the channel [18:28] charleyd has joined the channel [18:28] jacobolus has joined the channel [18:30] kraft has joined the channel [18:31] random123: What is the terminology for the function that PROVIDES the callback function versus the function that actually EXECUTES the callback function? [18:32] random123: I guess I could just call them the Provider/Executer, but I was curious what the standard term is [18:32] odie5533: What testing framework do people use? [18:33] openpercept has joined the channel [18:34] charleyd has joined the channel [18:35] csanz has joined the channel [18:35] TheJH has joined the channel [18:36] er1c_ has joined the channel [18:36] _root_ has joined the channel [18:37] dshaw_ has joined the channel [18:37] yept has joined the channel [18:38] jerrysv: odie5533: i use and really like vows [18:39] criswell has joined the channel [18:39] mike5w3c_ has joined the channel [18:39] mscdex: random123: i don't think there really is one for that kind of situation, it's different for events though [18:39] jerrysv: it's bdd, and has test coverage if you instrument with node-jscoverage [18:39] mscdex: random123: for events you have the listener and the emitter [18:39] Vertice has joined the channel [18:39] isaacs: odie5533: i like node-tap [18:39] isaacs: but it's still pretty larval [18:40] cccaldas has joined the channel [18:41] agnat has joined the channel [18:41] necrodearia has joined the channel [18:41] saikat has joined the channel [18:41] altamic has joined the channel [18:42] kylefox has joined the channel [18:42] hkjels__ has joined the channel [18:42] cjm has joined the channel [18:45] chrisdickinson: odie5533: in a particularly severe case of NIH, I use my test framework, platoon. but, in general, tj's expresso seems to be gaining a good bit of traction [18:47] rickharrison has joined the channel [18:49] micheil has joined the channel [18:50] xerox: express or expresso? [18:50] xerox: expresso [18:50] xerox: didn't realize he did both *_* [18:51] jbrokc has joined the channel [18:52] jonaslund: NIH NIH NIH [18:52] jonaslund: The developes who say, NIH! [18:52] chrisdickinson: jonaslund: "nihnihnih-nihnihnih, baaatman." [18:52] jetienne1 has joined the channel [18:53] chrisdickinson: i think the `npm test` command more or less relieves whatever pains are caused by having a billion-and-a-half test frameworks, though. [18:53] Me1000 has joined the channel [18:53] jetienne1 has left the channel [18:53] felixge has joined the channel [18:53] felixge has joined the channel [18:54] industrial: chrisdickinson: http://funny-pictures-blog.com/wp-content/uploads/2011/05/Batman_vs_Superman.jpg [18:54] chrisdickinson: ahaha. [18:54] jamescarr_ has joined the channel [18:55] jamescarr_: hmmm... is there any reason why stylus requires a stylesheet with the same name in the output dir? [18:56] DennisRasmussen has joined the channel [18:56] industrial: I'd ask myself (i dont know the answer to your question, though); Why wouldn't you keep these the same? [18:56] industrial: jamescarr_: ^ [18:56] kriszyp has joined the channel [18:56] ghost has joined the channel [18:56] Croms has joined the channel [18:57] industrial: pretty DRY that way [18:57] CrisO has joined the channel [18:57] saschagehlich has joined the channel [18:58] te-brian has joined the channel [18:58] harthur has joined the channel [18:59] dherman has joined the channel [18:59] Sazpaimon has joined the channel [18:59] jamescarr_: industrial, you're suggestion doesn't make any sense, but I figured it out [18:59] Mustansir has joined the channel [18:59] jamescarr_: had a typo in my dest dir that was hard to see [19:00] industrial: I thought you meant you wanted different input and output file names, but nvm. [19:00] josdehar has joined the channel [19:04] max_dev has joined the channel [19:05] felixge: for anybody interested: We (isaac, mikael, SubStack, Me) will do a live node.js podcast in a few minutes. Join #nodeup and listen over at http://nodeup.com/ [19:06] EvRide has joined the channel [19:06] TheJH: felixge, about what topic? [19:07] NetRoY has joined the channel [19:07] TheJH: felixge, will you glance at this chat from time to time while doing it? [19:07] felixge: TheJH: node.js and stuff :) [19:07] felixge: TheJH: yes, we will [19:08] isaacs: SubStack: yt? [19:08] TheJH: more like an introduction or like new developments? [19:08] smathy has joined the channel [19:09] necrodearia has joined the channel [19:09] scott_gonzalez has joined the channel [19:10] Guest69881 has joined the channel [19:12] danielrmz has joined the channel [19:12] GeneralMotors has joined the channel [19:13] GeneralMotors: Hey, haven't been here in a while. [19:13] GeneralMotors: What's new in node.js? [19:13] markdaws has joined the channel [19:13] kenperkins has joined the channel [19:13] TheJH: GeneralMotors, did you already update node and npm? Which versions are you using? [19:14] dsirijus has joined the channel [19:14] micheil: GeneralMotors: this: https://github.com/joyent/node/blob/master/ChangeLog [19:14] markdaws has joined the channel [19:14] micheil: felixge: is that mikeal (rogers?) [19:15] GeneralMotors: TheJH: I'm on node-v0.4.8 [19:15] felixge: micheil: yes, but looks like the lineup is changing slightly. Will be live very quickly with introductions [19:16] micheil: felixge: okay. well, if you talk to him, tell him I still need to send him the rest of the The Noded podcast pieces [19:16] TheJH: GeneralMotors, then you weren't absent very long, I think [19:16] ttpva has joined the channel [19:16] GeneralMotors: Good :) [19:16] hij1nx has joined the channel [19:16] micheil: (moving countries pretty much screwed up any plans for me to do it earlier in the year) [19:16] GeneralMotors: So Joylent is still going strong? :) [19:17] llrcombs: YEP [19:17] llrcombs: oops, capslock [19:17] dsirijus has joined the channel [19:18] gazumps has joined the channel [19:18] Circlefusion has joined the channel [19:19] Sazpaimon_ has joined the channel [19:19] smtlaissezfaire_ has joined the channel [19:20] rhaen: good evening. [19:21] zomgbie has joined the channel [19:22] dsirijus has joined the channel [19:24] patcito has joined the channel [19:24] margle has joined the channel [19:25] jamescarr_: ready to get pissed off? [19:25] jamescarr_: https://gist.github.com/1130679 [19:25] TheJH: I like coffee :) [19:26] TheJH: for the JS guys: [19:26] hybsch has left the channel [19:26] TheJH: !coffee compilegist https://gist.github.com/1130679 [19:26] jhbot: https://gist.github.com/1130682 [19:26] tbranyen: i can't read it [19:26] tbranyen: :( [19:27] TheJH: tbranyen, you mean, the coffee? then look at the compiled stuff my bot generated [19:27] simenbrekken has joined the channel [19:27] criswell has joined the channel [19:27] tbranyen: the javascript is more readable [19:27] liar has joined the channel [19:29] smathy has joined the channel [19:29] liquidproof has joined the channel [19:31] Swizec has joined the channel [19:32] rickharrison has joined the channel [19:32] tmpvar has joined the channel [19:34] Fabryz has joined the channel [19:35] Fabryz: I had the bad idea to remove nodejs + npm to reinstall it [19:35] patcito_ has joined the channel [19:36] jamescarr_: tbranyen, to each his own. ;) [19:36] tbranyen: jamescarr_: yup [19:37] tbranyen: unless i want to contribute to a JS project and realize the source is CS and i can't do anything :-/ [19:37] caolanm has joined the channel [19:38] yept has joined the channel [19:38] materialdesigner: just learn both [19:39] jamescarr_: tbranyen, I used to be pretty anti-coffeescript [19:40] jamescarr_: I think it's useful to at least try out on a toy project and see if you like it. [19:40] jamescarr_: The only reason I like it is that it shortcuts a lot of things I do often [19:40] micheil: tbranyen: I think as a modern javascript developer, you should be able to read coffeescript, and be able to roughly convert that to javascript in your head [19:40] mike5w3c_ has joined the channel [19:40] tbranyen: micheil: why? [19:40] tbranyen: jamescarr_: i just have problems with non c-style languages [19:40] Me1000 has joined the channel [19:40] micheil: because coffeescript compiles down to javascript when it gets down to it. [19:41] jamescarr_: I'd like to dynamically modify my layout template from certain templates without including that logic in the routes... [19:41] skohorn has joined the channel [19:41] tbranyen: micheil: i mean why as a modern javascript dev should i care at all what coffeescript is? [19:41] jamescarr_: in jade with express [19:41] micheil: tbranyen: oh, purely because more and more javascript libraries are being written in it. [19:41] hasta84: is there another way to export something from a js module than having it bound to a var like "var lib = require('lib.js')" ? [19:41] ph^_ has joined the channel [19:41] tbranyen: yea, seems that way :-/ [19:41] tbranyen: hasta84: thats requiring not exporting? [19:41] stride: heh, 90% of my coworkers don't even know what coffeescript is [19:42] tbranyen: hasta84: you can leak globals, or attach to a global object [19:42] jamescarr_: stride, actually coffeescript has been good for me... [19:42] hasta84: tbranyen: for example, so I don't have to call "lib.something()" [19:43] ph^ has joined the channel [19:43] tbranyen: hasta84: you'd have to leak globals to do that [19:43] tbranyen: which is frowned upon unless you have a good reason [19:43] jamescarr_: at my day job I've had little luck for the past 3 years to get people to "give a rats ass" about javascript and treat it more than "something to quickly hack together and be done with it" [19:43] hasta84: what if I want to export two objects, or is that just bad practice? [19:43] jamescarr_: a lot of people are interested in coffeescript though [19:43] hooch_ has joined the channel [19:43] tbranyen: exports.obj1 = {}; exports.obj2 = {} [19:43] jamescarr_: so it's fine by me, because that means more people are TDD'ing their code and writing their code... well, right [19:44] jamescarr_: Wish I could motivate them otherwise, but *shrug* [19:44] hooch_: hi all [19:44] hasta84: tbranyen; but then I still have to use lib.obj [19:44] mc_greeny has joined the channel [19:44] codemanki has joined the channel [19:44] micheil: if you're a londoner, then there's london.js #4, which is focusing on testing (august 15th) [19:45] stride: jamescarr_: okay, thanks, I should try that [19:45] tbranyen: hasta84: no you don't... not if you are leaking globals [19:45] tbranyen: hasta84: why do you care so much about having to not use lib.whatever [19:45] tbranyen: thats how modules work in node [19:45] tbranyen: and how everyone would expect to use your lib [19:45] hasta84: tbranyen: I want to use some namespacing like for my AMF example I have AMF0 and AMF3 but it would be bound to AMF so I have to call AMF.AMF0.read() [19:45] hasta84: just looks ugly [19:46] tbranyen: it looks like namespacing... if you think thats ugly, well don't namespace then? [19:46] smathy has joined the channel [19:46] hasta84: tbranyen: :) yeah, maybe I am thinking too complicated again... [19:46] GeneralMotors: It's a node party!!! WOOOOO! [19:46] jma has joined the channel [19:47] hooch_: i use nodejs on windows downloaded from here: http://nodejs.org/dist/v0.5.3/node.exe - how to use external modules on windows??? [19:47] GeneralMotors: Sorry, upgrading node.js gets me excited. :-] [19:47] hasta84: tbranyen: I was just looking for another way than having different functions like readAMF0Value - readAMF3Value [19:47] materialdesigner: hooch_: download them and put them in the node_modules [19:47] materialdesigner: you can't use npm on windows yet, AFAIK [19:48] materialdesigner: because of child.spawnprocess? [19:48] hasta84: tbranyen: what do you think is more readable? the namespacing or the AMFx in the method names? [19:48] CrisO has joined the channel [19:48] tbranyen: hasta84: depends on what you're trying to do [19:49] tbranyen: namespacing is really useful in a lot of situations, but if its a Node specific library, why bother? Just localize everything per module [19:49] tbranyen: and require and assign to a local variable [19:49] stride: that's not enterprise ready [19:49] stride: :> [19:51] hooch_ has left the channel [19:52] hasta84: tbranyen: I think I'll go for the localization, seems like a good compromise [19:52] amiller has joined the channel [19:55] TheFuzzball has joined the channel [19:56] jMerliN has joined the channel [19:57] jamescarr_: in express is there someway to determine the current route from within the callback? [19:57] omni5cience_ has joined the channel [19:57] tbranyen: jamescarr_: have you logged the arguments? [19:57] tbranyen: pretty sure that'd be in req [19:57] jamescarr_: req.url [19:58] jamescarr_: thats right, thanks [19:58] jamescarr_: for some reason I thought it was req.path [19:58] tbranyen: same [19:58] tbranyen: lol [19:58] smtlaissezfaire_ has joined the channel [19:58] hasta84: tbranyen: thanks, now that I changed it, I like it very much :) [19:59] tbranyen: hasta84: np man, glad it works for you [20:00] kulor-uk has joined the channel [20:01] csanz has joined the channel [20:02] Elems: Oh dear... I've created such an unmanageable work of code... what is this I don't even... [20:03] jamescarr_: hmmm [20:03] jamescarr_: so 90% of the time my templates closely match my routes in express [20:03] igl: and now the mvc gods rain down on you [20:03] jamescarr_: is there some magic to make it deault to that? [20:03] GeneralMotors: Elems: is it because node.js is predispositioned to messy code? [20:03] jamescarr_: GeneralMotors, no [20:04] jamescarr_: for now I just did a req.all, assign req.template to req.url.substr(1) [20:04] Elems: GeneralMotors I think its because I'm predispositioned to messy code [20:04] GeneralMotors: I think we all are :p [20:04] Elems: I thought "eh. why put everything into different files when all of the server's logic can go in this one file?" [20:05] Elems: And don't even get me started on the UI/client-side code... [20:05] necrodearia has joined the channel [20:07] CrisO has left the channel [20:09] lng has joined the channel [20:09] djko_ has joined the channel [20:09] bentruyman has joined the channel [20:10] replore has joined the channel [20:10] replore_ has joined the channel [20:10] lng: Hi! Is it possible to use sinle MySQL connection using mysql module? [20:13] csanz has joined the channel [20:13] cafesofie has joined the channel [20:14] jeedey: whats the best framework for just routing http requests without MVC, similar to a basic connect setup [20:14] konobi: how about connect? [20:15] jeedey: i originally wrote the app in connect [20:16] csanz has joined the channel [20:16] jeedey: didn't work, filed a bug report, taking too long to get it sorted [20:16] tilgovi has joined the channel [20:16] madsleejensen has joined the channel [20:17] mikedeboer has joined the channel [20:17] davidpadbury has joined the channel [20:17] hlindset has joined the channel [20:18] tilgovi has joined the channel [20:18] nodokodo has joined the channel [20:19] topaxi has joined the channel [20:19] eee_c has joined the channel [20:20] matyr has joined the channel [20:21] Elems: lng single connection? [20:22] lng: Elems: yes [20:22] tilgovi has joined the channel [20:22] tilgovi has joined the channel [20:22] Elems: lng: so you don't want to keep making new connections? [20:24] lng: exactly [20:24] djko_ has joined the channel [20:25] Elems: So right now I'm guessing your app just runs and listens for some stuff to happen, and then perform some mysql queries. So if you just open a connection when the app starts, and close it when it exits, isn't that all you need? [20:26] Elems: so if the app you're doing runs persistantly just keep one connection open and perform queries using that one single connection [20:26] lng: in PHP, it would be different [20:26] lng: as every process has itsown connection [20:26] Elems: Yea, that's what I was thinking your question was about at first [20:27] lng: I am so excited with Node.JS [20:27] lng: very interesting tech [20:27] Elems: because in PHP I beleive you would use mysql_pconnect or something like that. So this isn't an issue for you becaues you're using node.js right? [20:27] jamescarr_: fuck [20:27] mscdex: lng: yes, you can just use one connection [20:28] mscdex: lng: just keep it around in a variable at the top of your script [20:28] Elems: exactly [20:28] lng: Elems: mysql_pconnect is not encouraged. nm [20:28] Elems: I came from the world of php too so that threw me off a bit too [20:28] SneakyNinjas has joined the channel [20:28] lng: Elems: PDO [20:29] lng: and app will be like mini server [20:29] Elems: lng yea I forgot about PDO, I was just using that as an example though [20:30] lng: nm [20:31] kawaz_home has joined the channel [20:32] towski has joined the channel [20:33] Qbix1 has joined the channel [20:33] newy has joined the channel [20:36] topaxi has joined the channel [20:36] jerrysv: jeedly: bricks? [20:36] jerrysv: er, jeedey [20:37] Fabryz: anyone can link me a good tutorial for MongoDB + Node.js? [20:37] fmeyer has joined the channel [20:38] lng: but single MySQL connection supports one request... [20:38] kawaz_home has joined the channel [20:38] lng: wwill it spawn threads for every request? [20:38] jeedey: jerrysv: taken a look, is it based on connect code? [20:39] jerrysv: jeedey: no [20:39] tmzt has joined the channel [20:39] jeedey: yay [20:39] jeedey: thanks [20:40] csanz has left the channel [20:40] mscdex: lng: it can support multiple requests [20:40] mscdex: lng: it does not spawn multiple threads [20:41] lng: mscdex: interesting [20:41] lng: so connection can handle multiple requests? [20:41] lng: so 1 connection can handle multiple requests? [20:42] harthur has joined the channel [20:43] lng: queued? [20:44] csanz has joined the channel [20:44] lng: mscdex: ^ [20:45] tmzt_ has joined the channel [20:45] figital has joined the channel [20:45] cjm: some live Q&A with isaacs, hij1nx, and felixge going on in #nodeup, come ask questions and listen at nodeup.com [20:46] PragCypher has joined the channel [20:48] aaronblohowiak has joined the channel [20:48] aaronblohowiak: is require.extensions a stable API? [20:49] necrodearia has joined the channel [20:50] mike27 has joined the channel [20:50] _root_ has joined the channel [20:52] azend has joined the channel [20:52] mscdex: lng: i'm not familiar with the mysql protocol to say for sure [20:53] mscdex: lng: if nothing else, they're queued [20:55] matyr_ has joined the channel [20:55] stride: yeah, one connection can handle multiple requests [20:56] jbrokc: so im still not getting it - for project dependencies that are not modules themselves, is it best to commit the local node_modules? what about global ones? install a copy locally as well right? [20:56] jtsnow has joined the channel [20:57] nerdfiles1 has joined the channel [20:58] nerdfiles1 has left the channel [20:58] Druide_ has joined the channel [20:58] cccaldas has joined the channel [20:58] ecin has joined the channel [21:01] kulor-uk has joined the channel [21:01] asabil has joined the channel [21:02] sniper506th has joined the channel [21:05] jakehow has joined the channel [21:05] gazumps has joined the channel [21:07] JKarsrud has joined the channel [21:09] blup has joined the channel [21:10] CrabDude has joined the channel [21:10] galaxywatcher has joined the channel [21:11] lng: stride: not possible - queue will be used [21:12] stride: lng: yeah, but that's still inside one tcp connection [21:15] Qbix1 has joined the channel [21:17] PragCypher has joined the channel [21:17] willwhite has joined the channel [21:18] mcluskydodallas has joined the channel [21:21] jamescarr_: so how do you do an OR query in mongoose? [21:21] jamescarr_: I need to fetch documents where the status is any of three values [21:21] jamescarr_: http://groups.google.com/group/mongoose-orm/browse_thread/thread/c6b542476ba3e040/fbca677467503a62?lnk=gst&q=OR#fbca677467503a62 [21:23] CIA-65: node: 03Peter Bright 07gyp * r79d9f62 10/ tools/all.gyp : Fix bad platform name. - http://bit.ly/nSfnP5 [21:23] CIA-65: node: 03Peter Bright 07gyp * rbcff53d 10/ deps/uv/src/eio/eio.c : Fix missing prototype warnings. - http://bit.ly/q02Eow [21:23] CIA-65: node: 03Peter Bright 07gyp * r588ef72 10/ tools/all.gyp : Silence VC++ warnings about use of badly-designed parts of the C library. - http://bit.ly/mPz0rb [21:23] CIA-65: node: 03Peter Bright 07gyp * re38fc6c 10/ tools/all.gyp : [21:23] CIA-65: node: Disable optimization in debug builds. [21:23] CIA-65: node: Enable full optimization in release builds. - http://bit.ly/nMlwzJ [21:23] Qbix1 has joined the channel [21:25] lng: MySQL Server can process queries concurrently, so storring them in queue is bad idea [21:26] lng: especially, when second query depends on result of the first one [21:29] lng: so that separate connection should be used for every client [21:30] tauren has joined the channel [21:30] CIA-65: node: 03Ben Noordhuis 07master * r54bb53b 10/ doc/api/tls.markdown : docs: fix typo in tls API docs - http://bit.ly/pDrnWf [21:32] Druide_ has joined the channel [21:34] kulor-uk has joined the channel [21:35] kenperkins has joined the channel [21:35] VeXii: im trying to build a portal whith express and mongoose. but im abit confused about how i get arund the async load of one model and res.render() callnig response.end() [21:36] zastaph: I have a feeling that local npm install/uninstalls affects my global packages .. because after some of those I get coffee: command not found for the second time. It works again I globally uninstall and install coffee-script [21:36] zastaph: why does it disappear from PATH? [21:36] VeXii: do i need to make a model for each possible render result? [21:36] isaacs: zastaph: maybe your bash hash is getting mucked up? [21:36] isaacs: zastaph: try `hash -r` next time, rather than global reinstall [21:36] isaacs: zastaph: i assure you, local installs don't even know where the global install location *is* [21:37] sebastiandeutsch has joined the channel [21:37] zastaph: next time what? im not familiar with bash hash [21:37] isaacs: zastaph: i mean, the next time you locally insall something, and then "coffee" disappear [21:37] isaacs: s [21:38] isaacs: zastaph: try doing `hash -r` to clear your shell's executable lookup has [21:38] isaacs: *hash [21:38] zastaph: ok, so if I just write hash -r it might work? [21:38] sebastiandeutsch: hi, just a beginner question - I've updated npm to the latest version, now everytime I install a modules it will create a node_module directory in ./ (I know about the -g option) do I have to set additional env vars? [21:38] isaacs: sebastiandeutsch: npm faq <-- read that [21:38] blup: has anyone used nvm? i keep getting :export:10: not valid in this context: README.markdown [21:38] zastaph: isaacs: it didn't help [21:39] unlink has joined the channel [21:39] isaacs: sebastiandeutsch: (not a blowoff answer, it actually is covered in the first few questions) [21:39] isaacs: sebastiandeutsch: more thoroughly discussed in `npm help folders` [21:40] Drakonite has joined the channel [21:40] tauren: if an npm module installs a bin command, is it common practice to `npm install module` into your project and also `npm install -g module` to get the bin into your path? [21:40] sebastiandeutsch: isaacs: cool thanks - will investigate [21:40] zastaph: isaacs, where does npm add the coffee to PATH though? [21:40] isaacs: tauren: yes. or you can use `npm link` to symlink the global install locally [21:40] SneakyNinjas has joined the channel [21:40] isaacs: zastaph: npm install coffee-script -g ; which coffee [21:40] tauren: isaacs: ok, thanks [21:40] davidbanham has joined the channel [21:41] zastaph: do I write the which coffee too? :) [21:41] Kami_ has joined the channel [21:41] isaacs: zastaph: `which coffee` will tell you where the "coffee" program lives. [21:41] isaacs: zastaph: it'll be in `npm bin -g` <-- that folder [21:41] zastaph: ouch now npm is not found too! [21:41] zastaph: i must have messed up big time [21:42] isaacs: zastaph: have you destroyed your PATH environ? [21:42] isaacs: zastaph: what's this output? echo $PATH [21:42] zastaph: usr/local/bin usrbin bin usrlocalgames usrgames [21:42] jesusabdullah has joined the channel [21:42] davidban_ has joined the channel [21:43] isaacs: zastaph: just like that, with spaces and no slashes? [21:43] zastaph: i edited ~/.bash_profile [21:43] zastaph: but it was empty [21:43] isaacs: create a new shell. what is `echo $PATH`? gist it. [21:43] isaacs: or pastie, whatever. [21:43] zastaph: I run debian virtualized.. I had issues with not being able to install coffee-script from real Terminal, but when thorugh SSH it worked [21:44] zackattack has joined the channel [21:44] isaacs: ok [21:44] Qbix1 has joined the channel [21:44] augustl: can npm have platform specific dependencies? [21:44] PhilK has joined the channel [21:44] isaacs: augustl: no, not right now [21:45] augustl: we want to depend on http://search.npmjs.org/#/inotify for a project that should work on mac and linux [21:45] mcluskydodallas has joined the channel [21:45] augustl: but it doesn't build on OS X [21:45] isaacs: augustl: right, because inotify is linux only [21:45] augustl: isaacs: so it's a question of time I guess? :) [21:45] isaacs: augustl: yeah [21:45] zastaph: isaacs, I logged out and into SSH again and echo $PATH is the same [21:45] isaacs: zastaph: i don't believe that it's "usr/local/bin usrbin bin usrlocalgames usrgames" [21:45] apanda has joined the channel [21:45] isaacs: zastaph: i think it's absolute paths separated by the : character [21:46] isaacs: if it's not, then something is *profoundly* broken, quite apart from npm or node [21:46] zastaph: isaacs, it was fast typing, insert /'s yourself :) But I think you got the idea what my PATH is [21:46] isaacs: zastaph: how did you install node? [21:46] zastaph: following https://github.com/joyent/node/wiki/Installation [21:47] isaacs: how did you get the code? [21:47] isaacs: you compiled it yourself? [21:47] piscisaureus has joined the channel [21:47] zastaph: yes it compiled [21:47] isaacs: did you use apt or yum to fetch and install a binary package? [21:47] isaacs: ok, great. [21:47] augustl: isaacs: I see, tnx [21:47] isaacs: zastaph: what's this output? `which node` [21:48] zastaph: none [21:48] zastaph: ouch node doesnt work too [21:48] isaacs: zastaph: you've broken your machine somehow. [21:48] zastaph: ACTION is digging for his snapshot :) [21:48] levi501d has joined the channel [21:48] isaacs: zastaph: go into the node source folder, and run this: ./configure && make && sudo make install [21:48] sebastiandeutsch: isaacs: understood the node_modules dir, could you give me a hint: .gitignore or not to .gitignore? [21:48] isaacs: sebastiandeutsch: depends ;) [21:49] zastaph: isaacs, I really believe it's just a PATH issue [21:49] isaacs: sebastiandeutsch: i generally do not check node_modules into git, though i do sometimes manage deps with submodules. [21:49] isaacs: zastaph: ok. [21:49] zastaph: something must have cleared it [21:49] isaacs: zastaph: you just echoed it [21:49] sebastiandeutsch: isaacs: ok, sounds cool. thx. [21:49] isaacs: zastaph: you see, this is why i want to see the actual copy-pasted output. i don't trust your fingers to type it properly, because your fingers are made of human. [21:50] zackattack_ has joined the channel [21:50] isaacs: if i can't see any problems that you don't see, then i can't help you. [21:50] zastaph: isaacs, dont know how to copy from SSH :) [21:50] isaacs: zastaph: what are you using to ssh? [21:50] zastaph: putty [21:50] isaacs: you're running ubuntu in a vmware or something? [21:50] zastaph: debian in vbox [21:50] isaacs: ok. do you have a gui runing on it? gnome or something? [21:50] zastaph: usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games [21:50] zastaph: there [21:51] zastaph: no its headless [21:51] isaacs: zastaph: http://www.chiark.greenend.org.uk/~sgtatham/putty/faq.html#faq-cutpaste [21:51] zastaph: but I suspect that I just ran the full gnome desktop before could have erased something [21:51] zastaph: i didnt do that for a long time [21:51] zastaph: i just figured, the above is the paste [21:51] zastaph: just add a / first [21:52] isaacs: zastaph: ok. have you run the `./configure && make && sudo make install` in the node source folder? [21:52] zastaph: but no.. isnt it obvious that node and npm is missing from my path? isnt building it from scratch overkill? [21:52] Billbad has joined the channel [21:52] isaacs: zastaph: ok, so, try just doing `make install`, and see what that outputs [21:52] isaacs: zastaph: make will only rebuild things that need to be. [21:53] zastaph: that didnt help [21:53] zastaph: unless i need to logout first [21:54] hasta84_ has joined the channel [21:54] isaacs: zastaph: what happened? please paste the output to http://gist.github.com and then share the link [21:54] isaacs: zastaph: i don't know what "didn't help" means [21:54] zastaph: i mean node still command not found [21:54] zastaph: and PATH is the same [21:54] isaacs: zastaph: ok. please gist the output ofthe `make install` command [21:54] CIA-65: node: 03Ryan Dahl 07gyp * rb031429 10/ generate-projects.bat : Add generate-projects.bat - http://bit.ly/q43EM7 [21:54] CIA-65: node: 03Ryan Dahl 07gyp * r13d685b 10/ Makefile : symlink in ./node and ./node_g for make users - http://bit.ly/purZ0n [21:55] isaacs: zastaph: until i see the output, i cannot proceed. [21:55] eee_c1 has joined the channel [21:55] xandrews has joined the channel [21:56] norviller has joined the channel [21:57] zastaph: im gonna load a previous snapshot [21:57] zastaph: and I gotta sleep now [21:58] isaacs: oh well [22:01] zackattack has joined the channel [22:05] matyr has joined the channel [22:06] hasta84_: NPM: my preinstall script fails, it's just ./configure which works fine when invoked directly... [22:06] hasta84_: and all it does is "git submodule init" and "git submodule update" [22:06] davidbanham has joined the channel [22:06] isaacs: hasta84_: probably because npm doesn't put the .git folder in your package, ever. [22:06] isaacs: hasta84_: git folders are huge. [22:07] skm has joined the channel [22:07] isaacs: hasta84_: take a look at how npm manages its own internal deps with submodules. [22:07] hasta84_: mhh... [22:07] isaacs: hasta84_: the "make" command does [ -d .git ] && git submodule update --init --recursive [22:07] isaacs: hasta84_: then i list all the deps as "bundleDependencies" [22:08] davidcoallier has joined the channel [22:09] hasta84_: ok, how do I specify bundleDependencies? [22:09] clifton has joined the channel [22:10] DTrejo has joined the channel [22:11] cl0udy has joined the channel [22:18] isaacs: hasta84_: npm help json [22:18] hasta84_: I just found it, thanks! [22:19] hasta84_: but I will have to use a make file? [22:19] hasta84_: or can I handle the submodule with a bash script? [22:19] losing has joined the channel [22:19] mquin has joined the channel [22:20] hasta84_: and what if my dependency is not a npm package? [22:20] hasta84_: fragen �ber fragen... [22:22] saschagehlich has joined the channel [22:22] squeese has joined the channel [22:24] isaacs: hasta84_: npm submodule blahblahblah [22:25] isaacs: if your dep is not an npm package, then don't put it in node_modules [22:25] tomb_ has joined the channel [22:25] Qbix1 has joined the channel [22:25] isaacs: hasta84_: check out the submodule (or just download the code) somewhere else. [22:25] isaacs: lib/blahblahb [22:25] isaacs: taking off for a bit [22:26] max_dev has joined the channel [22:26] hasta84_: alright, thanks again [22:27] jtrudeau has joined the channel [22:28] jslatts has joined the channel [22:29] bksf has joined the channel [22:30] tauren: is there a good library for parsing file paths and getting file name, file ext, last folder name in path, etc.? [22:30] hlindset has joined the channel [22:30] ryanfitz has joined the channel [22:30] hlindset has joined the channel [22:31] TheFuzzb_ has joined the channel [22:34] bksf: i've setup https with node/express. now however, if i accidentally (or a user) hits the wrong protocol i get an empty response, vs. not found for http:// - how can i check or force https? [22:34] bksf: basically not sure how i can check for https. [22:38] bksf: bump [22:38] hasta84_ has left the channel [22:39] tk has joined the channel [22:39] bnoordhuis: tauren: require('path') [22:40] tauren: bnoordhuis: thanks, i'll check it out [22:40] Cromulent has joined the channel [22:40] tilgovi has joined the channel [22:40] tilgovi has joined the channel [22:40] Druide_: woot [22:40] Druide_: http://nowjs.com/ [22:40] Druide_: that looks nice [22:43] Yuffster has joined the channel [22:46] DTrejo: bnoordhuis: can you tell me about how branch v0.4 works vs master, and the best way to get some of my updates to the docs committed? [22:46] DTrejo: bnoordhuis: basically, I wrote the docs a long time ago, and somehow they never made it into master [22:46] DTrejo: (for the readline module) [22:46] bnoordhuis: DTrejo: they got committed tot the v0.4 branch? [22:47] DTrejo: bnoordhuis: it looks like it when I fetch in the repo and checkout origin/v0.4 [22:47] Cromulen_ has joined the channel [22:47] DTrejo: bnoordhuis: except then I don't see them in master at all [22:47] DTrejo: bnoordhuis: git show 932e9ce [22:48] bnoordhuis: DTrejo: is it commit f4e69e4? [22:48] aaronblohowiak: New JavaScript dialect: https://github.com/aaronblohowiak/decafscript [22:48] aaronblohowiak: :D [22:48] xerox: hahaha [22:49] DTrejo: bnoordhuis: umm, is it in multiple spots? this is confusing [22:49] DTrejo: bnoordhuis: I do see a version of it at f4e69e4 [22:49] DTrejo: bnoordhuis: but that is a diff version than what is at the tip of origin/v0.4 [22:50] bnoordhuis: DTrejo: right, i ask because f4e69e4 is in both v0.4 and master [22:50] bnoordhuis: DTrejo: can you link me to the commit on github? [22:50] hij1nx has joined the channel [22:50] DTrejo: well, it was a patch I sent in [22:50] DTrejo: let me see [22:51] kenperkins has joined the channel [22:51] DTrejo: bnoordhuis: the conversation: https://github.com/joyent/node/pull/1024 [22:51] DTrejo: https://gist.github.com/980029 is the patch that looks like was applied [22:51] adrianolaru has left the channel [22:51] isaacs has joined the channel [22:52] davidcoallier has joined the channel [22:52] bnoordhuis: DTrejo: yes, that's commit f4e69e4 [22:52] bnoordhuis: so it's in master and all is well [22:52] DTrejo: bnoordhuis: ok, so what we need on the website is not totally up to date [22:52] DTrejo: *what we see on the site [22:53] DTrejo: people are still asking about it in IRC [22:53] DTrejo: which is why I though it was not added / got confused [22:53] DTrejo: *thought [22:53] DTrejo: bnoordhuis: who is in charge of the site? [22:53] bnoordhuis: DTrejo: ryah [22:53] DTrejo: ok [22:54] DTrejo: bnoordhuis: this is why I was questioning that it's really there: http://nodejs.org/docs/v0.5.3/api/readline.html [22:54] DTrejo: it's the old version that still has TODOs in it [22:54] broofa has joined the channel [22:55] bnoordhuis: DTrejo: hah, i know what the problem is [22:55] langworthy has joined the channel [22:55] bnoordhuis: one sec [22:55] odie5533: I wonder what isaacs uses to test with.. :) [22:55] DTrejo: bnoordhuis: yay :) [22:55] losing has joined the channel [22:56] CIA-65: node: 03Ben Noordhuis 07master * rd5c95f0 10/ (doc/api/readline.markdown doc/api/readline.md): docs: rename readline.md to readline.markdown - http://bit.ly/pkB4I6 [22:57] bnoordhuis: DTrejo: ^ [22:57] MaSch: hi. can someone pls have a quick look on this snippet: http://paste.pocoo.org/show/454423/ the first console.log works perfectly but the .replace nerver ends [22:57] ezmobius has joined the channel [22:58] brianseeders has joined the channel [22:59] DTrejo: bnoordhuis: thank you! [22:59] slifty_corsair has joined the channel [23:00] blaenk has joined the channel [23:00] blaenk has joined the channel [23:00] smathy has joined the channel [23:02] bradleymeck has joined the channel [23:03] CIA-65: node: 03Tom Hughes 07v0.4 * rb267dc4 10/ (3 files): (log message trimmed) [23:03] CIA-65: node: cmake: Various fixes. [23:03] CIA-65: node: * Allow overriding install path with CMAKE_INSTALL_PREFIX. [23:03] CIA-65: node: * make sure js2min.py can be found when building out of source. [23:03] CIA-65: node: * Replace empty macros with void(0). [23:03] CIA-65: node: Expressions like "debug(x) && foo()" fail if debug(x) is an empty macro. [23:03] CIA-65: node: * Make sure node-natives.h creation is deterministic. [23:03] CIA-65: node: 03Ben Noordhuis 07v0.4 * rfc57df2 10/ (doc/api/readline.markdown doc/api/readline.md): docs: rename readline.md to readline.markdown - http://bit.ly/q9OZdR [23:03] _root_ has joined the channel [23:05] DTrejo: isaacs: I notice that solaris does not have make — does it make sense for npm to fall back to things like cmake and gmake if regular make can't be found? [23:05] DTrejo: rmustacc: ^ that is kind of a question for you as well [23:07] isaacs: DTrejo: on joyent's stuff at least, `pkgin install gmake` will also add a gnustyle "make", I believe [23:07] xerox: where is described the EventEmitter error event handling? [23:07] xerox: I noticed it's treated differently than the other events! [23:08] DTrejo: oh great, in that case I don't need to care. thank you isaacs !! :) [23:08] isaacs: DTrejo: or you can just alias make to "gmake", probably [23:08] DTrejo: k, I'll try that [23:09] dominictarr has joined the channel [23:10] DTrejo: isaacs: it seems that the pkgin install gmake does not add a `make` binary as well, and so npm can't compile things [23:11] Vertice has joined the channel [23:11] rmustacc: All the make binary would be is a symlink to gmake. [23:11] DTrejo: rmustacc: I tried to make a symlink and I didnt have permission [23:12] DTrejo: rmustacc: is there something special I need to do? (other than sudo, b/c I don't think I have that) [23:12] smathy has joined the channel [23:12] hybsch has joined the channel [23:12] rmustacc: What user are you using to ssh in as? [23:12] DTrejo: node@joyent [23:12] DTrejo: err [23:13] DTrejo: node@dtrejo.no.de [23:13] bnoordhuis: xerox: what do you mean with different? [23:14] fdenbow has joined the channel [23:14] xerox: bnoordhuis: it actually raises exceptions [23:14] xerox: I didn't think it did [23:14] rmustacc: DTrejo: Why not just add the symlink in local/bin? [23:15] rmustacc: * ~/local/bin [23:15] mDraze has joined the channel [23:15] bnoordhuis: xerox: if 'error' isn't handled you mean? [23:15] xerox: yes [23:15] rmustacc: DTrejo: Also why don't you add an npmrc? [23:15] bnoordhuis: xerox: it's the right thing to do [23:16] xerox: bnoordhuis: yes but where is that written [23:16] DTrejo: seeing if the symlink in localbin will fix things [23:16] rmustacc: DTrejo: You'll just want something like make=gmake. Right isaacs? [23:16] bnoordhuis: xerox: Error events are treated as a special case in node. If there is no listener for it, then the default action is to print a stack trace and exit the program. [23:16] bnoordhuis: xerox: from events.markdown [23:16] isaacs: rmustacc: yeah [23:16] Cromulent has joined the channel [23:16] xerox: ah here it is [23:17] xerox: thanks [23:17] isaacs: say what you want about the tenets of foot-eating, the gnu toolchain is actually quite good, and it's the one that everyone expects. [23:17] DTrejo: (oh I have no problem with it, just trying to get something to compile on solaris via npm) [23:18] SubStack: isaacs: oh no I am getting even crazier ideas for what uglify makes possible [23:18] SubStack: basically scoped grammars [23:18] isaacs: SubStack: hhahaha [23:18] DTrejo: rmustacc: so it seems that ~/local/bin already has a symlink to gmake. make it's not in my path or something [23:18] isaacs: SubStack: you could make a really nice cooperative threading utility with that, i bet. [23:18] SubStack: probably but I don't care about that [23:18] isaacs: hahahaha [23:18] isaacs: ACTION is trolling [23:19] SubStack: I more want custom operators [23:19] SubStack: like <=> [23:19] isaacs: oh, god, no [23:19] SubStack: (a spaceship) [23:19] bksf has joined the channel [23:19] isaacs: don't do this thing [23:19] SubStack: and ☃ [23:19] isaacs: we dont' need operator overloading. [23:19] DTrejo: <~> is a good operator [23:19] SubStack: not overloading [23:19] DTrejo: it looks cool [23:19] SubStack: custom operator definitions [23:19] SubStack: like in haskell [23:20] isaacs: what does <=> mean? greater than, equal to, or less than? [23:20] SubStack: it means whatever you want it to mean [23:20] isaacs: x <=> y for all x and y [23:20] bksf: anyone know how i can force https? [23:20] SubStack: in haskell operators are just regular functions [23:20] SubStack: I want that in javascript [23:20] bnoordhuis: isaacs: in perl it returns -1, 0 or 1 based on if a < b, a == b or a > b [23:20] isaacs: bnoordhuis: ahh [23:20] bksf: if i hit a server running https, but hit it with http not https its a 'blank' site with no response written [23:20] isaacs: it's a sort comparator [23:20] ericmuyser has joined the channel [23:20] bnoordhuis: isaacs: yep [23:21] kenperkins has joined the channel [23:21] isaacs: if operators are just functions, then does that mean you could do list.sort(<=>) [23:21] isaacs: ? [23:21] DTrejo: rmustacc: so when you do sh -c make, it can't find the symlink even though I've sourced my bashrc which adds ~/local/bin to my path [23:22] bnoordhuis: isaacs: not in perl [23:22] R4md4c has joined the channel [23:22] SubStack: isaacs: sure you could [23:22] isaacs: SubStack: you should just stop beating around the bush and write your own language [23:22] SubStack: in haskell that's how it works [23:22] SubStack: ug I don't want to write my own language [23:22] dominictarr: another way of saying that is that you want infix syntax for functions [23:22] SubStack: I want to be able to use libraries [23:22] rmustacc: DTrejo: You really just want to tell npm that the make to use is gmake in the npmrc. [23:22] isaacs: i feel vaguely like i just got a view of the future, where our dear friend substack is huddled in a corner rocking back and forth, and i am wracked with guilt knowing that i'm the one who sent him there... [23:22] DTrejo: oh [23:22] DTrejo: I missed you saying that [23:23] isaacs: don't write a language [23:23] DTrejo: oops [23:23] isaacs: that's a mistake [23:23] SubStack: "languages" are a bad idea [23:23] R4md4c: Hello, How can I catch Error: ECONNREFUSED, Connection refused at Socket._onConnect (net.js:601:18) at IOWatcher.onWritable (net.js:186:12) this error is really frustrating me it happens after I return the response back to the browser ? [23:23] SubStack: they should be decomposed down to individual modules [23:23] SubStack: reductio ad absurdium! [23:24] csm has joined the channel [23:24] SubStack: s/ium/um/ [23:24] CrisO has joined the channel [23:24] CrisO has left the channel [23:24] dominictarr: the libraries should not be tightly coupled to the language. [23:24] SubStack: reductio ad (reductio ad absurdum)! [23:24] SubStack: reductio ad (reductio ad (reductio ad absurdum))! [23:24] a11235 has joined the channel [23:25] SubStack: dominictarr: the language should not be tightly coupled to the libraries either! [23:25] SubStack: languages are just bundles of seperable moving parts [23:25] MARCH0514S has joined the channel [23:25] MARCH0514S: Hello everyone 8D [23:25] bnoordhuis: R4md4c: does the socket listen for error events? [23:25] SubStack: little computing machines that turn formal descriptions of computation into meaningful output [23:25] bnoordhuis: universal turing machines! [23:26] bnoordhuis: the one language to rule them all [23:26] isaacs: iknow where this road leads [23:26] DTrejo: rmustacc: npm docs dont seem to mention how to change that in npm help config [23:26] SubStack: it leads to perl6 probably [23:26] SubStack: only in javascript [23:26] isaacs: it leads to "writing stuff in javascript is better" [23:26] isaacs: ACTION does that [23:26] bnoordhuis: isaacs: in a lot of left,left,left,right,write 0,left,left,etc. [23:27] isaacs: DTrejo: what are you tryingto change? [23:27] isaacs: oh, gmake [23:27] DTrejo: isaacs: I want to have gmake be the default thing used to make stuff [23:27] SubStack: isaacs: I more see this as a way to rapidly prototype language features without modifying the language [23:27] isaacs: rmustacc: npm doesn't use make or gmake except to build itself [23:27] isaacs: rmustacc: and it'll just use node if make isnt' found [23:27] DTrejo: isaacs: addons [23:28] isaacs: DTrejo: it uses node-waf [23:28] DTrejo: can't find that either I don't think [23:28] isaacs: DTrejo: if it's calling make, then that's because the package told it to [23:28] SubStack: whereas the es-harmony approach is to declare features by royal decree [23:28] AvianFlu has joined the channel [23:28] DTrejo: isaacs: oh [23:28] brainproxy: how about a "dynamic modules" network, ala CPAN, but one which allows free specification of the engine, e.g. perl, javascript, ruby; and an engine neutral "brew" style engine installer and version maintainer [23:28] SubStack: without doing a very good job of searching the solution space first [23:29] isaacs: SubStack: meh. there's a bunch of languages that target vanilla js [23:29] DTrejo: isaacs: ok, well. so all the packages that don't compile on solaris need to go and change their makefiles [23:29] isaacs: DTrejo: i agree. would you please tell them this? [23:29] DTrejo: ok :) [23:29] ericmuyser has joined the channel [23:31] R4md4c: bnoordhuis, Yeah I am doing this request.connection.on('error', function(error) { console.log(error); }); but nothing is printed when the error happens [23:31] jimt_ has joined the channel [23:31] bnoordhuis: R4md4c: i think it's a known bug [23:32] bnoordhuis: R4md4c: can you catch the error with a try/catch statement? [23:32] chjj has joined the channel [23:32] dominictarr: isaacs: SubStack: this discussion reminds me of this: http://steve-yegge.blogspot.com/2006/04/lisp-is-not-acceptable-lisp.html [23:32] R4md4c: Surround which part exactly with the try/catch statement ? [23:33] bnoordhuis: R4md4c: the call to net.createConnection() [23:33] R4md4c: But I am using httpServer [23:34] SubStack: isaacs: actually I just got an idea to do most of what I want without changing anything [23:34] JoshC1 has joined the channel [23:34] SubStack: npm module forthcoming [23:34] bnoordhuis: R4md4c: can you gist the full stack trace? what node version is this? [23:35] ironlad has joined the channel [23:37] jimt has joined the channel [23:37] PragCypher has joined the channel [23:38] dominictarr: hey, are you being a jerk to open an issue that some one has applied semver wrong? [23:38] gerard0 has joined the channel [23:38] bnoordhuis: dominictarr: no, just a pedant [23:38] AvianFlu: dominictarr: if the person announces conspicuously that they're following semver, then not at all [23:39] AvianFlu: well, still a little pedantic [23:39] rmustacc has left the channel [23:40] R4md4c: bnoordhuis, https://gist.github.com/1130938 that is all what I get from using node debug and I am using node v0.4.10 [23:42] dominictarr: hmm, a guess you can still treat minor versions like major, it's just everything has a 0. infront [23:42] eee_c has joined the channel [23:43] dominictarr: hmm. oh yeah, and there in special allowances for major version 0. [23:44] davidcoallier has joined the channel [23:45] newy has joined the channel [23:45] yozgrahame has joined the channel [23:47] bnoordhuis: R4md4c: you probably need to attach a listener with req.connection.on('error', callback) [23:50] ttpva has joined the channel [23:51] TheFuzzball has joined the channel [23:51] blup: is it possible to use a cb() multiple times? for example, i'm calling a function a(args,cb) which loops through some values, and i'd like it to invoke the callback on each iteration (rather than wait for the whole loop to finish) [23:51] jbrokc has joined the channel [23:52] kenperkins has joined the channel [23:52] AvianFlu: blup: as long as it's in scope, you can do whatever you want [23:52] AvianFlu: I'd recommend naming it though [23:53] blup: well, my first cb goes through, but the rest say the cb() function is undefined [23:53] tilgovi has joined the channel [23:53] tilgovi has joined the channel [23:54] deadman87 has joined the channel [23:57] socketio\test\45 has joined the channel [23:57] blup: AvianFlu: http://pastebin.com/a6Xm0aBD [23:58] AvianFlu: is that coffeescript? [23:58] kab3wm has joined the channel [23:58] AvianFlu: where do you define cb? [23:59] blup: AvianFlu: sorry http://pastebin.com/rAjYK44M [23:59] blup: (data)-> is the cb [23:59] newy_ has joined the channel [23:59] socketio\test\99 has joined the channel [23:59] blup: contentUser expects (settings, cb)