[00:01] losing has joined the channel [00:01] zspencer has joined the channel [00:03] jeromegn has joined the channel [00:06] CrabDude has joined the channel [00:06] dannycoates has left the channel [00:06] _bat has joined the channel [00:07] nerdfiles has joined the channel [00:09] [[zz]] has joined the channel [00:09] alvaro_o_ has joined the channel [00:12] jspiros_ has joined the channel [00:12] theCole_ has joined the channel [00:12] jspiros has joined the channel [00:16] dguttman has joined the channel [00:17] Nuck has joined the channel [00:18] luke` has joined the channel [00:18] nerdfiles has left the channel [00:19] luke`_ has joined the channel [00:21] themiddleman has joined the channel [00:24] k1ttty has joined the channel [00:24] NickABusey has joined the channel [00:25] jhurliman has joined the channel [00:27] alvaro_o_ has joined the channel [00:28] _jhs has joined the channel [00:29] tre has joined the channel [00:30] alvaro_o_ has joined the channel [00:30] monokrome has left the channel [00:31] CrabDude has joined the channel [00:31] tre: gi [00:31] tre: *hi [00:31] tre: i am trying to install node 0.5.1 on windows 7 [00:32] tre: i made it until ./configure [00:32] tre: after running rebaseall -v and all [00:32] tre: now, i get error when running 'make' [00:33] andihit: what error? [00:33] tre: wondering if anybody here is active? :D [00:33] tre: hey [00:33] alvaro_o_ has joined the channel [00:33] tre: wait [00:34] tre: waf: entering directory ...asdf/build [00:34] zivester has joined the channel [00:34] tre: uv: deps/uv/include/uv.h --> build/default/deps/uv/uv.a [00:34] bksf has joined the channel [00:35] tre: src/uv-unix.c : in function 'uv_getaddrinfo': [00:35] tre: src/uv-unix.c:1605 warning: pointer/integer type mismatch in conditional expression [00:35] tre: src/uv-unix.c:1606 warning: pointer/integer type mismatch in conditional expression [00:36] bronson: Anyone know how to watch mongo's queries? [00:36] tre: src/uv-cygwin.c: in function uv_hrtime [00:36] bronson: I have a failing node-mongodb-native query, want to watch the traffic between node and mongodb. [00:36] tre: src/uv-cygwin.c:33: error 'CLOCK_MONOTONIC' undeclared [00:36] andihit: tre: have you gcc4 installed? [00:37] tre: hmmm [00:37] tre: let me check [00:37] andihit: I've just yesterday installed node.js on a win7 with cygwin, following this: https://github.com/joyent/node/wiki/Building-node.js-on-Cygwin-%28Windows%29 [00:37] Sorella has joined the channel [00:38] andihit: the only error I got is the thing with rebaseall, which you know already ;) [00:39] alvaro_o_ has joined the channel [00:39] andihit: oh sorry, I havn't tried it with 0.5.1, I used 0.4.10 [00:39] tre: i'll try following that wiki through :D [00:39] andihit: there is a node.exe if you don't need npm, fyi [00:40] tre: that wiki helped me with the remap error, but i didn;t read the installation guide above [00:40] tre: yeah i have node.exe installed, i just want to try installing using cygwin :D [00:40] andihit: if it doesn't work, maybe you can try it with a fresh cygwin. or it somehow doenst work with the unstable [00:41] andihit: good luck ;) [00:41] tre: thanks ! [00:41] tre: i'll let you know what went wrong [00:41] sonnym has joined the channel [00:42] alvaro_o_ has joined the channel [00:43] andihit: just out of curiosity, why do you want the unstable? [00:44] _fat has joined the channel [00:44] tre: that's the first version i came across, didn't look for previous stable ones :p [00:45] andihit: ok ;) [00:48] dherman has joined the channel [00:49] nerdfiles has joined the channel [00:49] natdivad has left the channel [00:49] aconbere has joined the channel [00:51] context: anyone here in Toronto ? [00:53] monokrome has joined the channel [00:53] monokrome: Hey. Does anyone in here know how to install npm in an automated fashion? I need a non-interactive installation for it... [00:53] isaacs: monokrome: curl http://npmjs.org/install.sh | clean=no sh [00:54] isaacs: (or clean=yes if you WANT it to clean) [00:54] monokrome: cool, thanks again isaacs [00:54] yozgrahame has joined the channel [00:54] isaacs: np [00:54] nerdfiles has left the channel [00:54] monokrome: Now, puppet is happy again :) [00:55] alvaro_o_ has joined the channel [00:57] dgathright has joined the channel [00:58] catshirt has joined the channel [00:59] Xeon06_ has joined the channel [01:01] seivan has joined the channel [01:03] alvaro_o_ has joined the channel [01:03] Xeon06_ has joined the channel [01:04] cliffano has joined the channel [01:04] raidfive has joined the channel [01:05] towski has joined the channel [01:07] brez has joined the channel [01:08] mjr_ has joined the channel [01:08] jbrokc has joined the channel [01:09] ggg has joined the channel [01:09] ggg: Im trying to run connect and express on node for windows [01:10] ggg: I keep getting this "cannot find module 'qs' " error, any clues ? [01:11] andihit: ggg: try node -e require.paths [01:11] andihit: then you'll see the directorys where node is looking for modules [01:11] mundanity has joined the channel [01:11] andihit: probably you shoud set NODE_PATH [01:11] Remoun has joined the channel [01:12] metellus has joined the channel [01:12] ggg: andihit, seems to be the problem. How do you target someone you want to talk to in this chatroom? [01:13] bradleymeck has joined the channel [01:13] caiges has joined the channel [01:14] ggg: andihit: where can I find documentation about setting NODE_PATH ? [01:15] Twelve-60 has joined the channel [01:15] andihit: http://shapeshed.com/journal/setting-up-nodejs-and-npm-on-mac-osx/ maybe [01:15] EyePulp has joined the channel [01:17] Nuck has joined the channel [01:19] ggg: it has something to do with my my cmd prompt environment variables [01:20] neoesque has joined the channel [01:21] edude03 has joined the channel [01:22] Kiba has joined the channel [01:22] Kiba: hey folks [01:22] Kiba: installation problem: [01:22] Kiba: http://pastie.org/2287474 [01:22] halfhalo-work has joined the channel [01:24] caiges has joined the channel [01:24] ph^ has joined the channel [01:24] CrisO has joined the channel [01:28] zeade has joined the channel [01:30] al3xnull has joined the channel [01:30] Drakonite has joined the channel [01:31] al3xnull: Does anyone happen to have a decent yet simple example of node amqp? I'm really have an issue with getting it working. Ruby and Python were rather simple, but Node, I feel like I'm banging my head on the wall. [01:32] vikstrous has left the channel [01:32] hacfi has joined the channel [01:34] swilson has joined the channel [01:34] ggg: require.paths is removed? I get this error in my console [01:34] bradleymeck: in 0.5.x it is being removed yes [01:35] bradleymeck: Kiba seems like a python prereq isnt right [01:36] Kiba: bradleymeck: probably a python2 versus python3 problem [01:37] CrisO has joined the channel [01:39] AvianFlu has joined the channel [01:39] JojoBoss has joined the channel [01:41] aconbere has joined the channel [01:41] loveshine has joined the channel [01:42] mikeal has joined the channel [01:43] Kiba: mission accomplished [01:43] Kiba: http://www.robsearles.com/2011/02/11/nodejs-v0-4-0-on-arch-linux/ [01:43] Kiba: very useful post even for 0.4.10 [01:44] kmiyashiro has joined the channel [01:45] andersonfreitas has joined the channel [01:45] softdrink has joined the channel [01:45] swilson has joined the channel [01:46] kuhrt has joined the channel [01:47] Tidwell has joined the channel [01:47] caolanm has joined the channel [01:49] monokrome has joined the channel [01:49] CIA-65: libuv: 03Ryan Dahl 07master * rcf5babe 10/ src/eio/eio.c : Fix getaddrinfo bug - https://github.com/joyent/libuv/commit/cf5babef80a82cc8afc6153535c20ef4d7481169 [01:52] mbrevoort has joined the channel [01:52] bartt has joined the channel [01:52] diegoviola has joined the channel [01:53] CIA-65: libuv: 03Ryan Dahl 07master * rd0e1e62 10/ config-unix.mk : Increase eio thread stacksize - https://github.com/joyent/libuv/commit/d0e1e62d87820f50f020372b1699d9be0bf9e67e [01:55] brolin has joined the channel [01:55] abraxas has joined the channel [01:58] aconbere has joined the channel [02:03] Xeon06_ has joined the channel [02:05] AAA_awright_ has joined the channel [02:06] hookdump has joined the channel [02:08] d0k has joined the channel [02:09] AAA_awright has joined the channel [02:17] AvianFlu_ has joined the channel [02:17] zackattack_ has joined the channel [02:20] Cleer has joined the channel [02:21] Sorella has joined the channel [02:24] euforic has joined the channel [02:24] darshanshankar has joined the channel [02:26] dgathright has joined the channel [02:28] levi501d has joined the channel [02:32] fattytuna has joined the channel [02:32] ixti has joined the channel [02:34] swilson has joined the channel [02:34] galaxywatcher has joined the channel [02:36] McMAGIC--Copy has joined the channel [02:37] boehm has joined the channel [02:38] Destos has joined the channel [02:40] ph^ has joined the channel [02:42] jtsnow has joined the channel [02:42] binarypie has joined the channel [02:43] jcrls has joined the channel [02:43] chickamade has joined the channel [02:44] unlink has joined the channel [02:45] cjm has joined the channel [02:47] jtsnow has joined the channel [02:51] tk has joined the channel [02:51] nadirvardar has joined the channel [02:52] tk has joined the channel [02:52] gazumps has joined the channel [02:53] tre has joined the channel [02:54] tre: andihit: hey i'm back [02:54] mike5w3c has joined the channel [02:54] tre: i restart installation with clean cygwin [02:54] tre: configure ran smoothly [02:55] tre: make runs halfway and i am stuck with the "Build failed: -> task failed (err #2): {task: libv8.a SConstruct -> libv8.a}" error [02:55] tre: i tried setting the SHELL [02:56] tre: export SHELL=/bin/bash [02:56] tre: closed the cygwin, reopened it [02:56] tre: still get the same error [02:56] tre: any tips? [02:57] andihit: no, maybe you can try the stable version? [02:57] andihit: or google around ;) [02:57] tre: i checked out v0.5.2 [02:58] bassui has joined the channel [02:58] tre: yeah i'm looking around [02:58] tre: :D [02:58] andihit: or maybe somebody of the 626 people here can help you out ;-) [02:59] davidwalsh has joined the channel [02:59] jellosea has joined the channel [02:59] jellosea: hey does anybody know how to sue jquery's parseXML in node.js ? [03:00] mikeal has joined the channel [03:02] jellosea: i really hope somebody knows this [03:02] jellosea: i will give them a muffin [03:02] jellosea: as a prize [03:03] dguttman has joined the channel [03:03] jacobolus has joined the channel [03:04] Swizec has joined the channel [03:04] bassui: is it possible for socket.io to respond with a template like express does: res.render('mytemplate.jade') [03:07] davidwalsh has joined the channel [03:07] softdrink has joined the channel [03:07] zilch has joined the channel [03:07] bradleymeck: bassui, since templates are just strings yes, now will it replace all of a pages contents : no [03:08] zilch_ has joined the channel [03:08] tre: andihit: yeeeaaa i got it working, [03:08] __directory: jellosea: muffin if I tell you how to 'sue' jquery? [03:08] tre: have to run ./configure --without-snapshot [03:08] bradleymeck: jellosea do you need jquery's specifically? [03:08] jellosea: bradleymeck: no [03:08] jellosea: but i'd like to use its find features and stuff [03:08] jellosea: i found a dom xml parser [03:09] tre: wondering if it will affect anything? [03:09] jellosea: lol it was commited on july 20th [03:09] jellosea: you cant use jquery's parseXML [03:09] tre: thanks for your help :D [03:09] jellosea: cos it asks for some microsoft xml thing. [03:09] Corren has joined the channel [03:10] bradleymeck: jsdom + html5, or if you can set up a proxy, something like spider might be better [03:10] Cybrix has joined the channel [03:10] bradleymeck: node.io zombie and spider all make crawling / using web pages pretty darn easy [03:11] jellosea: why do i need html5 [03:11] jellosea: i'm scraping a page [03:11] eee_c1 has joined the channel [03:12] mbrevoort has joined the channel [03:12] jellosea: more like, is html5 necessary [03:12] jellosea: will it take shitty html too [03:13] DTrejo_ has joined the channel [03:13] slifty_ has joined the channel [03:14] yozgrahame has joined the channel [03:14] yhahn has joined the channel [03:16] kmiyashiro has joined the channel [03:16] Cybrix: is there a library to clean bad formated html? [03:16] rfay has joined the channel [03:18] progme has joined the channel [03:21] meelash_ has joined the channel [03:21] JakeyChan has joined the channel [03:22] blaenk has joined the channel [03:22] blaenk has joined the channel [03:22] sonnym has joined the channel [03:23] Murugaratham has joined the channel [03:23] bradleymeck: jellosea the html5 module is a very nice parser, it takes pretty crappy stuff [03:23] jellosea: oh btw i found another way [03:24] jellosea: you dont need to use jquery XMLparser [03:24] jellosea: just use $(stuffinhere) [03:24] davidbanham: Behold my epicly ridiculous callback chain! http://pastebin.com/nYNFNPnJ [03:24] jellosea: if you use jquery from npm [03:24] blaenk has joined the channel [03:24] blaenk has joined the channel [03:24] jellosea: davidbanham: damn son [03:26] abraxas: What do people here use for runtime JS minification? [03:27] sourcode has joined the channel [03:31] AvianFlu has joined the channel [03:31] Swimming_bird has joined the channel [03:34] swaj has joined the channel [03:34] swaj has joined the channel [03:34] chickamade_ has joined the channel [03:34] Nexxy: Nexxo, you will never be me. [03:34] rhdoenges has joined the channel [03:35] SubStack: abraxas: uglify is pretty easy [03:36] davemo has joined the channel [03:36] __directory: loading 10k records in a page kicks the laptop fans on high for sure... [03:36] __directory: time to paginate or something [03:36] thescooter has joined the channel [03:36] SubStack: just require('uglify-js')(src) [03:36] SubStack: returns the minified source with the default options [03:36] softdrink: whoa, i didn't know you could use it that way [03:36] softdrink: good to know [03:37] neoesque has joined the channel [03:37] SubStack: and if you're using browserify you can just browserify({ filter : require('uglify-js'), ... }) [03:37] mikeal has joined the channel [03:38] softdrink: haven't tried browserify yet [03:39] softdrink: right now i have a cake task that recursively concatenates all my coffeescript files then compiles them down to one js file whenever any are changed [03:39] abraxas: SubStack: thanks [03:39] abraxas: SubStack: how well does it perform in your experience, compared to say google closure compiler? [03:40] SubStack: abraxas: I haven't used google closure [03:40] JakeyChan: hi, do you know node.js can convert pdf to html ? [03:40] abraxas: SubStack: ah actually, they have comparison tables on https://github.com/mishoo/UglifyJS [03:41] bassui has left the channel [03:41] SubStack: plus you shouldn't ask about people's experience of performance when there are much more reliable and verifiable sources about that sort of thing [03:42] kartmetal: abraxas, probably not a fair comparison. [03:42] kartmetal: google closure works best on source javascript designed for google closure. [03:42] ditesh|cassini has joined the channel [03:42] kartmetal: the comparison with YUI and any other traditional minifier is valid though. [03:43] SubStack: here it is http://www.peterbe.com/plog/comparing-google-closure-with-uglifyjs [03:43] abraxas: kartmetal: you mean it's not fair because closure does more than just minify? [03:43] eee_c has joined the channel [03:43] kartmetal: right [03:43] kartmetal: you're scratching the surface of what it can do in those kind of tests [03:44] bartt has joined the channel [03:45] AvianFlu has joined the channel [03:45] chickamade has joined the channel [03:45] SubStack: kartmetal: what else does it do? [03:45] SubStack: uglify also has an AST thing that's useful too, I don't see how it matters [03:46] kartmetal: well, the source language google closure takes isn't really javascript. [03:46] kartmetal: it's javascript plus language hints in special comments [03:46] kartmetal: which allows the closure compiler to do things minifiers can't really touch. [03:47] kartmetal: it also expects a specific coding style, particularly when it comes to OO stuff [03:47] Remoun has joined the channel [03:47] SubStack: that sounds like an antifeature [03:47] kartmetal: could well be. [03:47] kartmetal: I know folks that hate the concept. [03:48] tmzt: seems everybody has their own js now :) [03:48] kartmetal: but if you get in the mindset that you're not writing javascript so much as writing for the closure compiler, you will get the most of it. [03:48] tmzt: eventually v8 will just load up front ends based on the source code notation you're using or something [03:49] SubStack: kartmetal: that sounds terrible [03:49] SubStack: tools should get the fuck out of the way [03:49] kartmetal: but that's why the closure compiler was written, not just to remove a few whitespaces. [03:49] kartmetal: it will aggressively rewrite your JS when possible, inline some functions, removing dead code, etc. [03:49] tk: SubStack: closure will work with plain JS... however if you learn the "tricks" it watches for you can get better results [03:50] SubStack: I hate everything about that idea. [03:50] tk: kartmetal's representation of it is very.... poorly worded making it sound like the coffeescript of the compilers [03:50] kartmetal: sorry :P [03:51] tk: heh [03:51] SubStack: minifiers should minify. full stop. [03:51] kartmetal: would it be fair to say it's kinda like GWT but with javascript instead of java as the source language? [03:51] SubStack: GWT is even worse >_< [03:51] tk: kartmetal: not really... apples give you oranges with GWT... [03:51] tk: you still get JS with closure [03:51] SubStack: I feel sorry for all those poor engineers, writing code that computers should be writing [03:52] tk: kartmetal: I wouldnt call closure a minifier but an optimizer [03:52] kartmetal: ok, I can get behind that. [03:52] tk: it looks for the patterns that the compiler can take advantage of and extorts them to the fullest extent [03:52] meelash_ has joined the channel [03:52] tk: with the proper flags [03:53] perezd has joined the channel [03:53] zanes has joined the channel [03:54] tk: by default it really does mostly just minifcation w/minimal (very safe) optimizations [03:55] seivan has joined the channel [03:55] Nexxy has joined the channel [03:55] Nexxy has joined the channel [03:56] Spion has joined the channel [03:58] _class_ has joined the channel [03:59] abraxas: When it comes to inlining and loop unrolling and what not, I prefer to rely on V8 than on their compiler. [03:59] SubStack: likewise [03:59] abraxas: But UglifyJS looks very nice... I'll go for that. [04:00] Aria has joined the channel [04:00] kartmetal: it's probably a better value when you have to care about inferior browsers. [04:02] nadirvardar has joined the channel [04:06] rhdoenges has joined the channel [04:08] JakeyChan has joined the channel [04:10] Ginlock has joined the channel [04:10] tmzt: so do they I think [04:13] mikeal has joined the channel [04:13] blaenk: hey, I have a quick thing I want to test, is there a way I can run it with node and have it dump out the errors when they occur? [04:13] blaenk: currently the only way I can see the errors is when I enter the code manually into the repl [04:13] tmzt: they output on the console [04:14] tmzt: not to the browser [04:16] tmzt: any way yet to write code once, model, view, controller, rendering, resources and possibly websocket, and have the same code run in the browser and on the server, handle validation automatically in both places, sync data structures in both places, and still be able to write custom backend (event+continuation) driven handlers that only run on the server? [04:16] blaenk: I'm working in the console [04:16] blaenk: I basically have a file, blah.js that's using a module and I'm running it from the console with the node command [04:16] blaenk: but instead of giving me errors like the repl does it just keeps running and gives null values to certain things [04:16] tmzt: it should be triggering exceptions [04:16] blaenk: whereas in the repl I see TypeError: Invalid argument to getAgent [04:17] tmzt: what kind of errors are you getting in repl? [04:17] blaenk: I'm just running it as node blah.js, am I supposed to be passing a flag? [04:17] blaenk: and in the repl I also see a stack trace [04:18] chickamade has joined the channel [04:18] blaenk: I'm on 0.5-pre i'm gonna try upgrading to 0.5.2 [04:18] srid has joined the channel [04:18] srid has joined the channel [04:18] DTrejo_ has joined the channel [04:18] Bonuspunk has joined the channel [04:18] kartmetal: blaenk, you might have some code in your source files that add a listener for "uncaughtException" on the process object.. [04:19] kartmetal: that'd account for the behavior you're seeing. [04:20] blaenk: I know for fact I'm not doing that myself, I basically only have 3 lines which I'm using to test if a module works for me. the module itself might, I'll check. thanks [04:20] blaenk: yeah nope [04:20] blaenk: I'm gonna try upgrading to 0.5.2 see if that fixes anything [04:20] rchavik has joined the channel [04:21] dexter_e has joined the channel [04:22] Ans5i has joined the channel [04:23] luckysmack_ has joined the channel [04:24] blaenk: yeah upgrading worked :) [04:24] blaenk: waaay nicer error output than before too :) [04:24] luckysmack has joined the channel [04:26] luckysmack_: im looking to get into game development. and node seemed like a great fit. ive looked around for game design related articles centered around node but havent found many. i was wondering if anyone was willing to give some pointers on where I can look for more info. also things like if i do a game in node, what would the overall project be comprised of> just node in the back end and maybe javascript for a front end? im not quite su [04:27] ixti has joined the channel [04:27] jstroem has joined the channel [04:27] tk: luckysmack_: well.... Node is javascript.... so you'd be looking at Javascript on both ends.... in that case [04:28] luckysmack_: i was considering python as well but came to the realization that if i wanted a browser intensive game, that most of it would have to be done in JS for performance reasons. game type is multiplayer where players can all play and interact at the same time. [04:28] luckysmack: oops had 2 windows open [04:28] tk: your argument against python is kinda odd though [04:29] __directory: first you'll want to just look into how to make JS games [04:29] Aria: Well, if you want the processing distributed to the clients -- "smart clients", it makes sense. [04:29] luckysmack: yea. and Im just not sure where that line starts/ends. ive never done game development so its somewhat new to me. most of my background is php backend stuff. [04:29] Swizec has joined the channel [04:30] tk: Aria: node doesnt pass processing to the client.... so how is that different than python? (besides the obvious JS/PYthon) [04:30] luckysmack: well i like python too. i would like to use it. but node looks good as well. it seemed like i would use either node or python. thats why I said it like that. [04:31] tmzt: luckysmack: I started working on a game frontend/backend in node [04:31] tmzt: with javascript client [04:31] luckysmack: yea and those are the questions im not too sure about yet either. my JS skills are still minimal. i can do basics and some jquery fine. im still in the process of learning it [04:31] Aria: tk: node != javascript. [04:32] tmzt: I started with ajax but moved to websocket (not socket.io) and a server-driven system, where the client is basically a dumb client [04:32] __directory: luckysmack: learn JavaScript game development - I mean google it like that without node [04:32] tmzt: there's a few problems with taht approach though [04:32] luckysmack: tmzt, so node can handle the frontend as well like JS? [04:32] tmzt: luckysmack: uh no, I mean that js can handle the frontend unless we are using that term differently here [04:32] tk: Aria: I'm sorry, I didnt know the v8 javascript engine handled other languages.... [04:33] Aria: tk: huh? [04:33] tk: here I thought .js meant... javascript [04:33] Aria: "For performance, I'd have to use Javascript" -- because then you can have most of the game happen on the client. [04:33] tk: Aria: Node is serverside javascript, saying node != javascript is rather assinine [04:33] luckysmack: __directory, yea ive looked that up a lot recently. and found a few decent looking ways I can do that. but i saw node as well and want to investigate it too. i just want to make sure im covering my based before starting. [04:33] Aria: tk: node is javascript, javascript isn't node. It's not transitive. [04:34] AvianFlu has joined the channel [04:34] __directory: luckysmack: I know jack about game development but it does seem like you would have the game itself and use node could provision storage and multiplayer crap perhaps [04:34] tk: Aria: we were talking about Node vs Python... and you jump in about Clientside.... so.... yes my comment still fits [04:34] luckysmack: heh. [04:35] tmzt: how is python relevant to this discussion? [04:35] Aria: tk: Well, it's the one reason I can think of that that statement is true ;-) [04:35] jakehow has joined the channel [04:35] Aria: And then if you have to use Javascript /anyway/, then you might as well use node, since the same language in both places is NICE. [04:35] luckysmack: i had brough up python when i mentioned what im familiar with and what i was considering for doing games. [04:35] Aria: Well, that and Javascript is nice anyway. [04:36] tk: Aria: although I will admit I did miss the "browser intensive" part of luckysmack's statement which would certainly make your comment make more sense as well ;) [04:36] tmzt: luckysmack: one of the benifits I had in using node and js was that I could prototype some logic on the client and then move it to the server [04:36] SubStack: it's much nicer to go the other direction [04:37] Aria: Agreed. [04:37] Aria: But it depends on what environ you're most comfortable in. [04:37] __directory: booze has loosened up my thinker and i has a dumb so I would be much more concerned about physics and math with game stuff [04:38] luckysmack: so in general, i would handle the backend in node, and the frontend in javascript. Also i say browser intensive because of being able to offload some processing on the lcient side and that clientside JS is faster than server side. thats what i meant . but still yes the UI would have many objects on it and would be complex. [04:38] __directory: and it probably depends on what game(s) you want to make [04:38] luckysmack: ah yes. [04:38] Aria: Server-side javascript is just as fast. V8 on both ends if you compare to Chrome. [04:39] luckysmack: think rts, isometric, where multiple players can play at the same time and interact live. though not all players may be present at all times. [04:39] __directory: I would target node as the backend for multiplayer [04:39] __directory: `case closed`. [04:40] euforic has left the channel [04:40] luckysmack: Aria, yea i know server side JS is just as fast. but it also has to go through transfer from client to server which isnt as fast as doing it client side. [04:40] binarypie has joined the channel [04:40] tmzt: you can use node for everything if you want [04:40] binarypie has joined the channel [04:40] Aria: Hehe. Depends on what you're measuring the speed of. [04:40] luckysmack: yes for the backend i am very interested in node. [04:40] Aria: But yes. Latency of data transfer can be a problem. [04:40] __directory: I actually would use BASIC + COBOL + GO [04:40] tmzt: we were going to have the business backend in php but that was because one of the project members was familiar with it [04:41] luckysmack: see thats the thing. node is still kinda out there form me. im not sure how much i can use it on the front end and how much i should use JS on the front end to make the client side as fast/clean/smooth as possible. [04:41] __directory: well [04:42] __directory: if you ahve to move pieces back and forth between the browser and node [04:42] tmzt: luckysmack: start wit ha game but make it simpler [04:42] luckysmack: im mostly familiar with php. im kinda learning python too. which is why i originally wanted to use it for the back end. node just seemed to fit the bill better. [04:42] __directory: that should be easiest with the same language front/back and side to side [04:42] tmzt: until you get how it should work [04:42] tmzt: it is because it lets you keep thinking in js all the way though [04:42] tmzt: through [04:42] __directory: I think the most difficult part to this still is `the game` itself. [04:42] tiglionabbit_ has joined the channel [04:43] tmzt: and you can use the evented style in the browser too, I used Backbone but mostly for it's implementation of Backbone.Events after I moved to a iso/rts system [04:43] luckysmack: tmzt, yea im going to build the game over a long time. slowly building small apps to represent different parts in the game. then over time peice things to gether (or rewrite if thats the best route, for the end game) [04:43] tmzt: you could also use EventEmitter from browserify [04:43] mike5w3c has joined the channel [04:43] tmzt: what kind of game is it? [04:44] luckysmack: to be honest, the game backend, the engine, i already have largely mocked up on my computer. [04:44] luckysmack: well the one in mind is an rts. [04:45] tmzt: I was using an observer style setup with eventemitter, then having an observer that watched those events and sent them back to the client [04:45] luckysmack: think like starcraft or any other game like that but in MMO fashion [04:45] tmzt: that part actually worked pretty well [04:45] luckysmack: ok. [04:45] srid has joined the channel [04:46] luckysmack: to be honest im not sure what you mean by an observer style setup. unless im just not thinking straight. [04:46] rurufufuss has joined the channel [04:46] JumpMast3r has joined the channel [04:46] tmzt: observer pattern [04:46] SubStack: >_< [04:47] SubStack: I don't use those terms because they seem to obscure a meaningful exchange more than promote one [04:48] Lorentz: Patterns are good [04:48] Lorentz: Just don't write programs around patterns. [04:48] Lorentz: Describe your code with patterns :3 [04:48] SubStack: Lorentz: I strongly disagree. [04:48] tmzt: SubStack: yeah, but at least that one is pretty well defined [04:48] materialdesigner has joined the channel [04:48] blaenk: has anyone used the node-xmlrpc module? [04:48] blaenk: https://github.com/baalexander/node-xmlrpc [04:49] SubStack: tmzt: well you could have just as well said "an eventemitter sent events back to the client" [04:49] Lorentz: SubStack: Perhaps your idea of patterns are something beyond just another vocab to describe "code layout / design / etc"? [04:49] tmzt: essentially I had a basic event that came from the client, then it would trigger other events that would mutate it and and trigger events in turn [04:49] Aria has joined the channel [04:49] tmzt: SubStack: yes, but that's more content free than what I said [04:49] luckysmack: i looked up observer pattern. i know what you mean now [04:49] SubStack: tmzt: I find them to be equivalent [04:50] SubStack: using event emitters /implies/ this "observer pattern" [04:50] SubStack: fuck everything about design patterns [04:50] luckysmack: heh [04:50] SubStack: I hate them so much. [04:50] Aria: I am so with you. [04:51] blaenk: arya stark [04:51] Aria: (They're brilliant if you use them to recognize patterns, not as a cookbook.) [04:51] kmiyashiro has joined the channel [04:51] Aria: (but man, when you have to debug a FooBarStrategyManagerFactoryImpl, you need to go hurt someone.) [04:52] SubStack: Aria: I haven't even found them to be useful in describing patterns [04:52] AvianFlu has joined the channel [04:52] SubStack: it's like calling it a pattern just nounifies where some verbs would be much more appropriate [04:52] Aria: HEh. [04:52] Aria: Possibly. [04:53] SubStack: it's like passive voice in this respect [04:53] luckysmack: ok. so since im still in the process of learning javascript. should i thoroughly go through my JS learning before getting started with node? or is it feasable to take what i know and start learning node. seems like they are so similar that finishing JS first will have benefits as well. [04:53] SubStack: "having an observer" versus "observes" [04:53] luckysmack: aside from the fact that i would still need to learn it better for the front end [04:53] SubStack: although a more specific verb than observes would probably be even better [04:54] Ishpeck has joined the channel [04:54] tmzt: this is what I mean [04:54] tmzt: https://gist.github.com/1113155 [04:54] seivan has joined the channel [04:55] jhurliman has joined the channel [04:55] towski has joined the channel [04:55] Aria has joined the channel [04:56] tmzt: luckysmack: also, I think node is a better js approach to learn if you are first starting out [04:56] tmzt: better to keep js and dom concepts separate [04:57] dguttman has joined the channel [04:57] luckysmack: yea. so you think ill be fine just starting out with node for a while. [04:57] luckysmack: picking up JS better later on. [04:57] luckysmack: when i need it [04:57] tmzt: just start :) [04:58] tmzt: you'll pick it up qukly [04:58] luckysmack: yea. thats what i did with JS and python. lol [04:58] tmzt: (node *is* js( [04:58] luckysmack: well. yea. heh [04:58] __directory: lol [04:59] luckysmack: so ok start with node. im going to do that. but in general when making these kind of apps, where users should be able to interact live with other players, does node have everything i need or are there other libraries i should look into? [04:59] AvianFlu: luckysmack: get a github account, and check out search.npmjs.org [05:01] tmzt: luckysmack: eventually you mgiht want a message queue, like zeromq, redis pub/sub etc. [05:01] tmzt: but get it working on one server first [05:01] tmzt: a few things to remember [05:01] tmzt: a node instance is a server instance, every variable you define globally is going to be there between requests [05:02] tmzt: any state you want to add is something you add yourself, or use a framework like express or connect etc. [05:02] tmzt: node *just* processes events and runs callbacks in response to those events, when no more events are pending it exists [05:02] tmzt: exits [05:02] luckysmack: AvianFlu, yup, have a github account. [05:03] AvianFlu: I hadn't read up when I said that [05:03] luckysmack: craaap. so many tabs open right now in chrome for crap you guys say. i need to look at them all still. hah. [05:03] tmzt: get an editor window and start writing :) [05:04] tmzt: do the examples on the nodejs.org page, the look simple but they have to make sense before you will be able to effectively move on [05:04] tmzt: get a feel for it essentially [05:04] tmzt: love the nesting anonymous functions :) [05:05] luckysmack: AvianFlu, ah. i didnt say it. you mean this: search.npmjs.org thats for using couchdb for a DB? im familiar with mongodb and would like to use that. [05:05] AvianFlu: search.npmjs.org is for searching the npm repository of node modules [05:05] tmzt: uh you can use either [05:05] AvianFlu: so, it's for everything you'd want that somebody else wrote already [05:05] binarypie has left the channel [05:06] tmzt: yeah, hopefully [05:06] luckysmack: oh heh. i thought you were referring to the github repo. [05:06] AvianFlu: no, go there in your browser [05:07] luckysmack: heh yea im there now [05:07] xoreaxeax_ has joined the channel [05:07] stisti has joined the channel [05:08] mikeal has joined the channel [05:08] materialdesigner: https://github.com/joyent/node/wiki/modules is also a good resource, but beware of things that are only usable on old versions of node, or aren't actively being developed [05:08] materialdesigner: (which is, sadly, a lot of things) [05:08] luckysmack: yea frameworks was another question entirely. i saw express, connect, and geddy. coming from using full stack frameworks, geddy (from posts i read about the frameworks) seemd more akin to what im used to using. [05:08] tmzt: it's harder to get help with it [05:08] luckysmack: cool thanks [05:09] tmzt: and takes you away from the bare metal [05:09] luckysmack: yea [05:09] tmzt: which you'll need if you're doing a game [05:09] tmzt: get to know express and if you need it, connect [05:09] materialdesigner: I use express and enjoy it a lot [05:10] luckysmack: ok cool. thanks [05:10] materialdesigner: it's surprisingly simple, yet powerfully flexible [05:10] tmzt: it's simple and similar to wsgi etc. [05:10] luckysmack: yea express seemed to be the other good one. [05:10] skoom has joined the channel [05:11] luckysmack: ok cool guys. thanks for the help so far. definitely need to bookmark this channel [05:11] luckysmack: very appreciative. [05:11] __directory: express is what you want [05:12] tmzt: express you do somethikng liek app.get('/page', function(req,res){res.send('The page');}); [05:12] tmzt: and then in the browser /page will be that message [05:12] luckysmack: granted i havent looked into them much yet. what makes express different or better than geddy? [05:12] luckysmack: oh. interesting [05:13] tmzt: or you can do templates with jade, like res.render('index.jade',{option: 'test'}); and have a page like #{option} [05:13] tmzt: which will render as test [05:13] tmzt: very simple [05:13] __directory: express is simple, middleware via connect is good [05:13] mikl has joined the channel [05:13] mikl has joined the channel [05:13] tmzt: haven't looked at geddy but haven't seen anyone in here using it [05:13] __directory: i hated how rails abstracted stuff so much - express puts me closer to the guts - and what what I like as a C guy [05:14] tmzt: yeah, so you can have a user object and define app.use(function(req,res,next){req.user=getMyUser(req.session['userid']);next()}); [05:14] tmzt: and every request will have a req.user object [05:14] kartmetal: opinions about connect-router vs express? [05:15] skm has joined the channel [05:15] luckysmack: yea, coming from php and frameworks like cakephp and yii, i do like some magic. it nice. things like helpers. but i also agree, as long as i can still do what i need without feeling like theyre in the way. [05:15] __directory: i think there's some helper addons [05:15] tmzt: oh, there's also express-resource now [05:15] __directory: but im not aware of any [05:15] tmzt: which is a bit like controllers in php frameworks or resources in rails [05:16] tmzt: haven't played with it yet and it's a little different than the declarative syntax I'm used too in express, but it looks good [05:16] __directory: i think im going to use Backbone and do more client side stuff on this project [05:16] tmzt: __directory: express-resource looks like a good fit with backbone [05:16] chrisdickinson: hypothesis: it seems easier to approach express if you've worked with rails or (particularly) sinatra before. [05:17] __directory: tmzt: i would assume so eh..just need REST resources for backbone, right? [05:17] tmzt: right [05:17] luckysmack: tmzt, yea MVC is what im mostly familiar with. [05:18] materialdesigner: familiarity with sinatra definitely helps [05:18] captain_morgan has joined the channel [05:19] luckysmack: havent used rails or anything ruby [05:19] tmzt: luckysmack: build something, all we can really say [05:19] tmzt: copy the nodejs.org example, modify it [05:19] tmzt: it's not express, it's simpler than that [05:19] tmzt: it's the bare metal of node [05:19] luckysmack: yea. thats what im getting ready to do. organizing these notes first. [05:19] __directory: do the hands on node book [05:20] tmzt: when you're ready for express, go to expressjs.com and do that one [05:20] luckysmack: yea. i want to learn the system first. been there done that having to learn by existing code i didnt know. screw that [05:21] tmzt: um [05:21] tmzt: you're expect there to be a lot more than there is [05:21] tmzt: it's not rails [05:21] luckysmack: system as in node [05:21] zackattack has joined the channel [05:21] luckysmack: i mean [05:21] luckysmack: oh yea i know [05:21] tmzt: have you seen nodejs.org? [05:22] wookiehangover has joined the channel [05:22] luckysmack: i know its supposed to be a lot simpler than that [05:22] tmzt: er .com [05:22] luckysmack: yea. [05:22] luckysmack: oh [05:22] tmzt: er [05:22] tmzt: I give up ;) [05:22] luckysmack: uh, nodejs.com doesnt work. lol [05:22] luckysmack: i found a .org version though ;) [05:23] materialdesigner: http://nodebeginner.org/ <-- helped me a lot [05:24] __directory: http://nodetuts.com/ [05:25] jerrysv has joined the channel [05:25] luckysmack: awesome. thanks. [05:26] materialdesigner: nodetuts rocks. I <3 pedro teixeira [05:26] hybsch has joined the channel [05:27] __directory: ya! [05:29] Swizec has joined the channel [05:30] meelash_ has joined the channel [05:33] meso_ has joined the channel [05:33] Xeon06_ has joined the channel [05:33] fangel has joined the channel [05:36] chjj has joined the channel [05:36] chjj: ls [05:36] chjj: oops [05:37] luckysmack: wrong window [05:37] chjj: i know :) [05:37] chjj: damn terminal clients [05:37] chrisdickinson: chjj: projects/ Documents/ picturesofawesomehats/ Library/ [05:37] chrisdickinson: (et al.) [05:37] luckysmack: who knows how many times ive seen: -bash: /join: No such file or directory [05:38] __directory: /usr/games/jive [05:38] jimt has joined the channel [05:38] chrisdickinson: i'm sure i've alienated my fair share of non-programmers by sending an IM full of vim commands :\ [05:39] __directory: d2f.;;;;;; [05:39] chrisdickinson: (which is great, since it basically just looks like ascii-vomit to folk who have never heard of vim before) [05:39] chrisdickinson: __directory: case in point! [05:39] __directory: yah i've dun did dat befo'e. What it is, Mama! [05:40] chjj: why am i not a vim pro [05:40] __directory: not sure [05:40] luckysmack: lol ive done many IM terminal commands. ppl just saying wtf? ... nerd [05:41] luckysmack: __directory, hah [05:41] chjj: and then you reply rm -rf you [05:41] luckysmack: we need a gtfo and a rtfm command [05:41] vaheh has joined the channel [05:41] chrisdickinson: chjj: because becoming a vim pro and being a sufferer of stockholm syndrome are... pretty much the same thing [05:42] chjj: so what youre saying is [05:42] chjj: vim needs to take me hostage [05:42] chjj: ..? [05:42] chrisdickinson: chjj: more or less. [05:43] mikeal has joined the channel [05:43] chrisdickinson: (i only embraced it because, at the outset, I didn't know there was any other editor. oh, capricious youth.) [05:43] paulwe has joined the channel [05:43] __directory: there was pico! [05:43] vaheh has joined the channel [05:43] chjj: damn, ill uninstall gedit and nano, brb [05:44] namelessnotion has joined the channel [05:44] luckysmack: for some reason, i cant stand vim [05:45] vaheh has joined the channel [05:45] chjj: haha, "some reason" [05:45] luckysmack: i can do a few basic things if i need to... [05:45] kmiyashiro: wtf [05:45] chjj: yeah, i can use vim, but not like the magical vim wizards do [05:45] kmiyashiro: did node HTTP choke on apostrophes in URL params? [05:45] luckysmack: for basic quick edits i use nano. anything beyond that i use gedit. or my IDE [05:45] kmiyashiro: node 0.4.5 [05:45] EvRide has joined the channel [05:45] chjj: ew, ide [05:46] luckysmack: lol [05:46] chjj: IDE's are like "here let me type shit in for you", and youre like "no thanks" and its like "lol 2 late" [05:47] luckysmack: i can get by without one too. thats not a problem. but i have a good system so performance istn a problem. i like an ide for the extra handy tools that come with it. ive done non IDE as well. [05:47] luckysmack: haha [05:47] luckysmack: nice [05:48] zackattack has joined the channel [05:48] luckysmack: autocompletion doesnt really ever screw up for me. [05:48] chjj: i just dont like the feel of it in most ide's [05:48] luckysmack: sure once in a while, i hit space and it does something, and i curse at it. but thats rare [05:48] chjj: it will like, pop up a menu and distract you [05:48] luckysmack: ok. so turn off autocomplete [05:48] chjj: dont tell me what to do [05:49] luckysmack: i only give suggestions :D [05:49] SamuraiJack has joined the channel [05:49] jobim: you said he has to turn it off. [05:49] luckysmack: heh. but really. i know people that dont use IDE's either. if thats how youre most productive. awesome. im a big fan of using the tools that make you the most productive. [05:50] luckysmack: lol i know. [05:50] kmiyashiro: damn, it does have a bug [05:50] chrisdickinson: i just like all my editing to take place in my terminal. it's cozy. [05:51] chrisdickinson: also, it has that lovely "SNES Jurassic Park console" feel to it. [05:52] shimondoodkin has joined the channel [05:52] boehm has joined the channel [05:53] luckysmack: hah [05:54] mike5w3c_ has joined the channel [05:55] __directory: pretty thug life, imo [05:58] maru_cc_ has joined the channel [05:58] ixti has joined the channel [06:01] stephank has joined the channel [06:01] tobmastr has joined the channel [06:01] vns has joined the channel [06:02] Dreamer3 has joined the channel [06:03] balaa has joined the channel [06:04] vaheh has joined the channel [06:04] killfill has joined the channel [06:06] mykul has joined the channel [06:07] _dc has joined the channel [06:08] fuzzyone has joined the channel [06:08] fuzzyone has joined the channel [06:08] dguttman_ has joined the channel [06:09] adelcambre has joined the channel [06:11] confoocious has joined the channel [06:11] confoocious has joined the channel [06:11] shanebo has joined the channel [06:11] muhqu has joined the channel [06:11] necrodearia has joined the channel [06:12] mraleph has joined the channel [06:15] anti has joined the channel [06:16] seivan has joined the channel [06:16] saikat has joined the channel [06:18] kdng-saleem3 has joined the channel [06:19] AvianFlu_ has joined the channel [06:21] freewil has joined the channel [06:21] scas has joined the channel [06:22] kdng-saleem3 has left the channel [06:22] NetRoY has joined the channel [06:24] kdng-saleem3 has joined the channel [06:25] ditesh|cassini has joined the channel [06:27] loob2 has joined the channel [06:29] tim_smart has joined the channel [06:29] Prism has joined the channel [06:30] wadey has joined the channel [06:30] chickamade has joined the channel [06:31] mjr_ has joined the channel [06:32] mnaser has joined the channel [06:34] pietern has joined the channel [06:34] ixti has joined the channel [06:35] mikedeboer has joined the channel [06:41] brownies has joined the channel [06:42] ckknight has joined the channel [06:43] framlin: if I need the tooling eclipse is offering me vs. vim doesnt, depends on my working environment. I am working on 10 diffrent 'tickets' a day and change all the time between them forward and backward sometimes days or weeks backward. If I do not want to have 'analog protocol' as many of my colleques have, I need some digital assist and that is e.g. mylin within eclipse. Its possible to have remote-debugging node only by console and browser, but for me its much [06:46] Circlefusion has joined the channel [06:47] tk: framlin: i really doubt anyone understood that uhm..... collection of words.... [06:48] zilch_ has joined the channel [06:48] AvianFlu has joined the channel [06:48] SubStack: framlin: write your code so it's easy to test [06:49] ivanfi has joined the channel [06:49] SubStack: also: write tests [06:49] ccare has joined the channel [06:51] mikeal has joined the channel [06:54] djcoin has joined the channel [06:54] mehlah has joined the channel [06:54] jellosea: framlin: what is tooling [06:54] kevmoo has joined the channel [06:55] SubStack: whoa canvas actually implements a stack-based context system like opengl [06:55] Nuck has joined the channel [06:55] SubStack: jellosea: a development toolchain, in framlin's case centered around eclipse it would seem [06:56] jellosea: i see [06:56] jellosea: do you use vim substack? [06:56] SubStack: yes [06:56] jellosea: do you use debuggers a lot [06:56] jellosea: i use vim but like almost never use debuggers [06:57] SubStack: likewise [06:57] jellosea: just print statements [06:57] jellosea: and i feel that sometimes thats not so good [06:57] SubStack: print statements and unit tests [06:57] SubStack: and the repl [06:57] jellosea: i wish vim had better debugger support [06:57] jellosea: i'm thinking about trying to get some sort of text snippet thing to work like in textmate [06:57] jellosea: to put printstatements [06:58] jellosea: like yo can just press something and it will dump a nice print statement [06:58] jellosea: with the variable name, maybe function inside or something like that [06:58] jellosea: so i can just start throwing a bunch of nicely formatted print statements quickly [06:58] groom has joined the channel [06:58] tiglionabbit_ has joined the channel [06:58] jellosea: instead of haveing to type console.log('the var is:' + var ); [06:58] jellosea: :( [07:00] ttpva has joined the channel [07:02] baudehlo has joined the channel [07:03] raidfive has joined the channel [07:04] simenbrekken has joined the channel [07:04] dshaw_ has joined the channel [07:05] Murugaratham has joined the channel [07:05] framlin: SubStack: if I would only to code within *my* own code that would be (sometimes) a solution, but devloping code that have 5 people over 6 years have developed beside me, makes it not so easy to test ... [07:06] framlin: jellosea: tooling ar all the little plugins and hlpers like mylin cvs-client remote-debugger outlines classtrees ... that kind of stuff ... [07:07] framlin: tk: sorry I am not an english native-speaker ... ;) [07:08] framlin: SubStack: writing tests is diffucult, ife.g. your data you need for testing are permanently changing and if you have no db-mock-system, too .... [07:08] dgathright has joined the channel [07:09] bergie has joined the channel [07:11] dsirijus has joined the channel [07:11] topaxi has joined the channel [07:12] `3rdEden has joined the channel [07:13] framlin: jellosea: you may abuse the arguments-variable to write a trace-function that looks for the caller and the filename of the 'script' etc. Is not as good as a debugger but more speaking as 'the var is:' + var [07:13] SubStack: framlin: you can always break up the problem into lots of tiny modules that are easy to test [07:13] luke` has joined the channel [07:14] SubStack: it might take a bit more effort at first but it's worth it [07:14] framlin: SubStack: thats theory or at least only possible, if you work for your own [07:14] ckknight has joined the channel [07:14] SubStack: jellosea: you could use stackedy to generate nice stack trace information [07:14] luke`_ has joined the channel [07:14] SubStack: I'm doing this for testling which should be ready soon [07:15] jellosea: link? [07:15] SubStack: http://github.com/substack/node-stackedy [07:16] fangel has joined the channel [07:17] jellosea: cool [07:17] pietern has joined the channel [07:17] jellosea: i will bookmark this [07:17] tuhoojabotti: SubStack: I see it's not ready, it's missing the must-have-readme-image [07:17] tuhoojabotti: :u [07:17] framlin: SubStack: here we are about 100 peaople that develop and administrate a business-critical system, that is 25 years old and that has evolved every day since its first line. Some of the people sitting here are working on that since 15 years. There is a culture and this culture is much much more powerfulll that any software-development-methodology ever will be ;) [07:18] Lorentz: You don't need to try to rewrite the entire thing to test. Start small. Even just doing some functional testing helps. [07:18] NickABusey has joined the channel [07:18] SubStack: yep [07:18] Lorentz: And just keep on building from there. Build a culture of testing into the system. [07:18] SubStack: just little pieces [07:18] SubStack: incrementalism! [07:19] SubStack: if you've got a pretty good test suite you can modify pieces without worrying too much about breaking everything [07:19] zilch_ has joined the channel [07:19] framlin: Lorentz: I know how to test, I have worked as a QA for some years some years ago. But it is not enought if 1 Person knows that and is willing to do that ... that the culture I wrote about .. [07:20] Lorentz: Even if one person does it, it's better than no one doing it. [07:20] Lorentz: And thankfully, tests build up, and broken tests are a good way to learn more about the business process, so it's a win-win. [07:20] framlin: .... thats all theory .... [07:21] Lorentz: Nope, it's practical [07:21] Lorentz: I started at this company few months back, had absolutely no testing in place other than two testers. [07:21] framlin: But, are they willing to test? [07:21] Lorentz: I have a small selenium thing being built on, because tacking on entire unit testing was going to be too much at this point in time, but it's already saved me many days of work. [07:21] framlin: do they think test could be good for anything? [07:22] Lorentz: Yep, even the testers think at least functional testing can be automated [07:22] Lorentz: And they're learning [07:22] Lorentz: Too bad they can't code, so I need to prod them along, but ultimately it saves time. Eventually. [07:22] framlin: and what would happen, if you told them, you need a little DB to have "frozen" data for tests? [07:23] framlin: what about, if its obviously such a huge amount of new software each day, that you would need 10 people to test ist and you have onl one? [07:23] Lorentz: I don't get what you're asking, but we have db replications in place for these things, with few control DBs for last-word-period. [07:24] darshanshankar has joined the channel [07:24] Lorentz: Who cares? Get that one person testing as much as they can. [07:24] jensn has joined the channel [07:24] sgimeno has joined the channel [07:24] Lorentz: Testing isn't about making sure the program is flawless. It's about confidence that it won't break or behave wrongly. [07:24] shapeshe1: tests are important for refactoring and performance analysis no? [07:24] SubStack: framlin: I would be hugely skeptical of all of that new software [07:25] SubStack: new software without tests is highly suspect [07:25] shapeshe1: here here [07:25] mrtrosen has joined the channel [07:26] framlin: yes, you all are right! I share all your opinions, but thee are environments and cultures where that is not as easy as writing about, becaus if your DBA says "No chance, you cant get any mock-db.point. Than any kind of test that needs a mock-db has to be canceld point ;) [07:26] digiwano has joined the channel [07:27] framlin: SubStack: and that is the realy crazy thing, I would never have belived this 5 years ago, but it works ... [07:27] Lorentz: Even the data doesn't have to be accurate. Make up your own data, see if it breaks or works. [07:28] Lorentz: If it breaks because you fed it wrong data, you just learnt something too. [07:28] Lorentz: Ultimately [07:28] framlin: that software is good enough for the business it hase to do and it is far far far cheeper than having al that QA stuff around it .... [07:28] Lorentz: Just shut up and test [07:30] SubStack: yeah you don't need to ask people for shit, just do it anyways [07:30] piscisaureus has joined the channel [07:31] gozala has joined the channel [07:31] [AD]Turbo has joined the channel [07:31] [AD]Turbo: hi there [07:31] framlin: Lorentz: I will not be payed to learn or to test, just because I have 20 books that say I need to test ... I will be payed, to give my customer the possibility keep on being market-leader witin its erveryday-changing businees ... [07:32] framlin: SubStack: I did not have asked anything .... [07:32] SubStack: oh that's even worse then [07:33] saikat has joined the channel [07:36] emattias has joined the channel [07:36] ixti has joined the channel [07:36] SubStack: it could be that everybody would secretly like tests but nobody is brazen enough to start writing them [07:36] framlin: SubStack: I have only answered at *your* statemnt to *me* .... sorry will never happen again ... ;) [07:37] kmox83 has joined the channel [07:38] margle has joined the channel [07:39] uchuff has joined the channel [07:41] hlindset has joined the channel [07:41] framlin: SubStack: I have written a tool that records my actions on my GUI, passes the HTTp-traffic to couchDB to have a mock that way and simulates the environment of my XUL-Apps within nodeJS to do some kind of integration and unit-test .... but again ... ist nice and i am learning and so on ... but for the business its not relevant ... [07:42] framlin: and now I am quiet ;) [07:44] jbpros has joined the channel [07:44] lmorchard has joined the channel [07:47] hwinkel has joined the channel [07:48] Druide_ has joined the channel [07:49] is_null has left the channel [07:49] Xeon06_ has joined the channel [07:50] gausby has joined the channel [07:52] zilch_ has joined the channel [07:53] margle has joined the channel [07:54] chjj has joined the channel [07:55] margle has joined the channel [07:57] vortec has joined the channel [07:57] chjj: ACTION needs more webscale [07:57] eee_c has joined the channel [07:58] zilch has joined the channel [07:58] markwubben has joined the channel [08:00] robhawkes has joined the channel [08:00] tiglionabbit_ has joined the channel [08:01] scas_ has joined the channel [08:02] StepanKuzmin has joined the channel [08:03] christophsturm has joined the channel [08:06] AAA_awright: MongoDB is webscale! [08:07] brownies has joined the channel [08:07] framlin: cool! [08:07] framlin: ;) [08:07] chjj: what is mongodb, is it webscale? [08:08] framlin: but I belive couchDB is webscaler [08:08] chjj: i get my couchdb with an extra order of webscale because its webscaless [08:10] framlin: :) [08:11] Vaffles has joined the channel [08:13] tbassetto has joined the channel [08:14] SuperShabam has joined the channel [08:16] FireFly has joined the channel [08:18] shanebo: is there a danger in passing the req/res to a controller and setting both as a class var to be accessed by any action? [08:18] shanebo: rather than pass req/res to every action... [08:19] Nuck: FFFFFFFFFFFFFFFFFFFFFFFFF [08:19] Nuck: Fakooda.com got bought [08:19] Nuck: How the fuck [08:19] Nuck: It's a gibberish name [08:19] tuhoojabotti: lol [08:19] Nuck: So why would somebody buy it? [08:19] Nuck: ACTION rages [08:19] tuhoojabotti: Nuck: Question is, why did you want it? [08:20] Nuck: tuhoojabotti: Fuck-you-dA [08:20] Nuck: Fak-oo-dA [08:20] Nuck: get it? [08:20] tuhoojabotti: Not really. [08:20] jomoho has joined the channel [08:21] Peniar has joined the channel [08:22] whitman has joined the channel [08:23] chjj has joined the channel [08:29] mikedeboer has joined the channel [08:30] Esteb has joined the channel [08:33] zilch has joined the channel [08:33] Xeon06_ has joined the channel [08:35] sooli has joined the channel [08:37] __doc__ has joined the channel [08:39] AAA_awright: Nuck: Did you whois it ever? Also, #Node.js is publically logged [08:39] boehm has joined the channel [08:40] radiodario has joined the channel [08:40] jhurliman has joined the channel [08:42] mnaser has joined the channel [08:44] markwubben has joined the channel [08:44] kulor-uk has joined the channel [08:47] TomY has joined the channel [08:47] galaxywatcher has joined the channel [08:54] booo has joined the channel [08:56] jomoho2 has joined the channel [08:58] jomoho3 has joined the channel [08:59] mikl has joined the channel [08:59] mikl has joined the channel [08:59] shreekavi has joined the channel [09:00] bzinger has joined the channel [09:05] Xeon06_ has joined the channel [09:05] zilch has joined the channel [09:07] ccare has joined the channel [09:07] adambeynon has joined the channel [09:08] zilch_ has joined the channel [09:11] gozala has joined the channel [09:16] Xeon06_ has joined the channel [09:20] ixti has joined the channel [09:20] newy_ has joined the channel [09:23] Xeon06_ has joined the channel [09:26] indutny: ryah: yt? [09:27] tiglionabbit_ has joined the channel [09:31] zackattack has joined the channel [09:31] McMAGIC--Copy has joined the channel [09:31] Xeon06_ has joined the channel [09:33] incon has joined the channel [09:33] zilch_ has joined the channel [09:33] zilch has joined the channel [09:35] __tosh has joined the channel [09:38] Shrink has joined the channel [09:39] jstroem has joined the channel [09:39] robhawkes has joined the channel [09:46] christophsturm: is there a node.js version of screwunit? [09:48] ps_jinx has joined the channel [09:51] CrisO has joined the channel [09:51] Xeon06_ has joined the channel [09:52] yept has joined the channel [09:53] shreekavi has joined the channel [09:55] unlink has joined the channel [09:55] unlink has joined the channel [09:57] Ramosa has joined the channel [09:59] okuryu has joined the channel [09:59] Xeon06_ has joined the channel [09:59] tauren has joined the channel [10:02] zilch_ has joined the channel [10:03] jellosea: can i get expresso to run with node-fibers [10:05] liquidproof has joined the channel [10:08] odie5533 has joined the channel [10:08] cjroebuck has joined the channel [10:12] arnee has joined the channel [10:12] adrianmg has joined the channel [10:13] StepanKuzmin has joined the channel [10:15] apalmer has joined the channel [10:16] saschagehlich has joined the channel [10:19] apalmer_ has joined the channel [10:23] pickels has joined the channel [10:27] zilch has joined the channel [10:29] Xeon06_ has joined the channel [10:33] mnaser has joined the channel [10:34] mertimor has joined the channel [10:36] jayfresh has joined the channel [10:37] cognominal_ has joined the channel [10:38] kuya has joined the channel [10:38] Metal3d has joined the channel [10:43] shreekavi has joined the channel [10:43] Xeon06_ has joined the channel [10:44] zilch_ has joined the channel [10:46] Ans5i has joined the channel [10:48] apalmer has joined the channel [10:49] zilch has joined the channel [10:52] materialdesigner has joined the channel [10:54] H4ns` has joined the channel [10:54] brainproxy: a bit OT, but seems like a good crowd to ask .. anyone here using a standing desk or an adjustable height desk so you can easily switch between standing and sitting? [10:55] brainproxy: I'm wondering w/ all the long programming hours, if it wouldn't be a wortwhile purchase and better for health, but wondering if anyone here has tried it and liked/hated it [10:55] SubStack: I'm sitting in a chair I got from the street last night [10:55] brainproxy: nice [10:55] Corren has joined the channel [10:56] Nuck: AAA_awright: Found it out [10:56] AAA_awright: Oh? [10:56] Nuck: Some guy who our mobile dev knew and actually was discussing the concept with him before [10:56] fermion has joined the channel [10:56] Nuck: Sentrixx on dA [10:56] AAA_awright: Rogue CFO decide to register it and not tell anyone? [10:57] Nuck: We've got a new name [10:57] tuhoojabotti: Happy sysadmin day btw. [10:57] Nuck: And we're blocking all communications on such things [10:57] AAA_awright: Ah [10:57] AAA_awright: Nuck: Use a codename [10:57] AAA_awright: You already have a safe one [10:57] Nuck: yeah, Codename Fakooda [10:57] AAA_awright: :) [10:58] Nuck: Know any good image comparison libs? [10:59] apalmer_ has joined the channel [11:02] StepanKuzmin has joined the channel [11:02] zilch_ has joined the channel [11:02] zilch has joined the channel [11:02] Nuck: how 'bout some EXIF libs? [11:02] zippy has joined the channel [11:02] Nuck: Any good exif libs? [11:02] tcurdt has joined the channel [11:02] zippy: can anyone help me with a socket.io question? [11:03] tuhoojabotti: #socket.io [11:03] zippy: ta [11:03] ph^_ has joined the channel [11:03] tuhoojabotti: ta? [11:04] AAA_awright: Is it related to EXR at all? [11:04] Nuck: EXR? [11:04] Nuck: Wuzzat? [11:04] apalmer_ has joined the channel [11:04] Nuck: Is it related to EXIF data? [11:05] meelash_ has joined the channel [11:06] yept has joined the channel [11:06] AAA_awright: Nuck: Not at all [11:07] AAA_awright: It's an image format for floating-point colors [11:07] AAA_awright: i.e. HDR images [11:07] Nuck: ah [11:07] Nuck: Well, EXIF is related to image formats [11:07] Nuck: It's the way you store metadata in a JPEG [11:07] AAA_awright: That's metadata [11:07] AAA_awright: Ah yehs [11:07] tuhoojabotti: lulz [11:08] tuhoojabotti: I parse metadata with PHP! [11:08] tuhoojabotti: ACTION hides [11:08] AAA_awright: I did that for mp3 metadata [11:08] tuhoojabotti: Though, I haven't implemented my gallery in node.js at all yet. [11:08] Nuck: My SA said that lol [11:08] AAA_awright: I got shut down for excessive I/O usage [11:08] Nuck: He's like "Well, PHP is good at EXIF" [11:08] Nuck: I'm just like "So is C, good thing Node can interface with that :D" [11:09] Nuck: LOL [11:09] tuhoojabotti: Nuck was like http://urly.fi/dC [11:10] Ramosa has joined the channel [11:10] Nuck: Yush, that's me [11:12] threecreepio has joined the channel [11:14] Kaco has joined the channel [11:15] boaz has joined the channel [11:16] Swizec has joined the channel [11:19] fairwinds has joined the channel [11:19] no-gooder has joined the channel [11:21] no-gooder: what's up honkeys ? [11:21] zomgbie has joined the channel [11:24] fly-away has joined the channel [11:26] c_t has joined the channel [11:27] zilch_ has joined the channel [11:33] bshumate has joined the channel [11:35] hellp has joined the channel [11:35] Xeon06_ has joined the channel [11:36] dexter_e has joined the channel [11:39] __tosh has joined the channel [11:39] ditesh|cassini has joined the channel [11:41] alnewkirk-hiring has joined the channel [11:42] no-gooder has joined the channel [11:43] hassox has joined the channel [11:46] eee_c has joined the channel [11:47] socketio\test\64 has joined the channel [11:53] no-gooder has left the channel [11:53] tim_smart has joined the channel [11:54] abraxas has joined the channel [11:54] Ramosa_ has joined the channel [11:56] kulor-uk has joined the channel [11:56] robhawkes has joined the channel [11:58] thalll has joined the channel [11:59] vyvea has joined the channel [12:00] mehlah has joined the channel [12:01] TechCel has joined the channel [12:08] naughty_david has joined the channel [12:08] naughty_david: hey .. any one there? [12:08] tuhoojabotti: No [12:09] naughty_david: aah .. a bot! [12:09] naughty_david: ;-) [12:09] frodenius: bot is a derogatory term. please use artificial communication software. [12:09] tuhoojabotti: Yes. [12:09] naughty_david: oki :P [12:10] tuhoojabotti: I feel a bit offended now. [12:10] naughty_david: ohh .. :( [12:10] naughty_david: ok my bad .. [12:10] naughty_david: and guys.. need a lil help here ... [12:10] jshaw has joined the channel [12:11] frodenius: state your problem, we might then be able to determine wether it lies in our programmed capabilities to help you. [12:12] MonsieurLu has joined the channel [12:12] kevva has joined the channel [12:12] vortec has joined the channel [12:12] naughty_david: i am running a http server on a webos device .. the server starts off well .. [12:12] naughty_david: i need to stop the server when my app closes.. [12:13] naughty_david: if i have var server = http.createServer() [12:13] naughty_david: how can i stop the server [12:13] tuhoojabotti: Ctrl+C [12:13] tuhoojabotti: umm [12:13] Sonny_ has joined the channel [12:13] naughty_david: the server runs as a service [12:14] naughty_david: so Ctrl + C wont work [12:14] tuhoojabotti: Oh [12:14] tuhoojabotti: Well [12:14] noderfs has joined the channel [12:14] tuhoojabotti: Well [12:14] tuhoojabotti: process.exit [12:14] tuhoojabotti: http://nodejs.org/docs/v0.3.1/api/process.html#process.exit [12:14] naughty_david: does the server object have a method to close it ? [12:14] tuhoojabotti: http://nodejs.org/docs/v0.5.2/api/process.html#process.exit [12:14] kevva has left the channel [12:14] tuhoojabotti: :P [12:15] frodenius: hm webos should have an event or something for the end of the app [12:15] tuhoojabotti: yeah [12:15] tuhoojabotti: killall node [12:15] tuhoojabotti: ":D" [12:15] naughty_david: :P [12:15] frodenius: hehe [12:16] naughty_david: yes there ..is an event for the end of the app [12:16] tuhoojabotti: (My nick is destroyer bot in english btw.) [12:16] Sonny_: is there any guy who will help me on skype? [12:16] bradleymeck has joined the channel [12:17] Sonny_: im trying to learn how to use that [12:17] tuhoojabotti: that? [12:17] naughty_david: that ? [12:17] igl has joined the channel [12:17] Sonny_: that :D [12:17] tuhoojabotti: skype? [12:17] frodenius: skype? [12:17] Sonny_: i'll write you on pm if you want to help me [12:18] tuhoojabotti: :D [12:18] tuhoojabotti: Sonny_: 1. ask for help 2. don't specify for what 3. ???? 4. profit [12:20] Sonny_: i'm making mmorpg and i don't know how to use that to get data from mysql [12:20] tuhoojabotti: npm install mysql [12:20] frodenius: do it for the lulz [12:20] Sonny_: i've got mysql [12:20] frodenius: what is "that" [12:20] tuhoojabotti: Use it [12:21] Sonny_: what do you mean [12:21] tuhoojabotti: God he's gotta be kidding me. [12:21] tuhoojabotti: Sonny_: You have a server right? [12:21] Sonny_: yeah i do [12:21] tuhoojabotti: you have a mysql [12:21] tuhoojabotti: you have installed mysql module for node? [12:22] tuhoojabotti: you have read the documentation of it. [12:22] tuhoojabotti: I don't see the problem here. [12:22] Sonny_: mysql module for node? [12:22] tuhoojabotti: Yes. [12:22] Sonny_: i didn't [12:22] tuhoojabotti: `npm install mysql` [12:23] Sonny_: i'm using windows exe and i typed that [12:23] Sonny_: there's now "..." [12:23] tuhoojabotti: ah I see. [12:24] tuhoojabotti: 1. Install linux [12:24] bradleymeck: npm doesnt like windows, many modules dont like windows [12:24] Sonny_: ubunto will do? [12:24] tuhoojabotti: 2. come back [12:24] tuhoojabotti: :D [12:24] Sonny_: ubuntu* [12:24] tuhoojabotti: I guess yeah. [12:24] Sonny_: can i use virtual box? [12:24] bradleymeck: yes [12:24] tuhoojabotti: Ye [12:24] tuhoojabotti: But you _should_ install linux. [12:24] Sonny_: ok thx i will be in like 20 minutes [12:24] tuhoojabotti: Because linux [12:24] tuhoojabotti: :D [12:31] temp01 has joined the channel [12:31] jensn_ has joined the channel [12:33] jbrokc has joined the channel [12:35] colinclark has joined the channel [12:36] brianseeders has joined the channel [12:42] kuhrt: Is there a way to share npm modules between sever and client? [12:42] kuhrt: server* [12:43] kuya: browserify works ok [12:45] kuhrt: ya just found it, thanks [12:45] StepanKuzmin has joined the channel [12:45] jbpros has joined the channel [12:46] zeade1 has joined the channel [12:49] xtianw has joined the channel [12:52] boaz has joined the channel [12:52] AaronMT has joined the channel [12:53] keeto has joined the channel [12:53] broofa has joined the channel [12:57] mendel_ has joined the channel [12:58] swaj has joined the channel [12:58] swaj has joined the channel [12:58] shanebo has joined the channel [12:59] davidwalsh has joined the channel [12:59] Xeon06_ has joined the channel [13:00] Shrink has joined the channel [13:00] Shrink has joined the channel [13:02] jbrokc: you guys are awesome [13:02] jbrokc: all my questions these past couple have days have had great answers and people willing to help [13:02] jbrokc: thanks [13:02] jbrokc: couple of days** [13:02] tuhoojabotti: Send me gold! [13:02] tuhoojabotti: ;) [13:02] jbrokc: again with the send me this send me that.. [13:02] tuhoojabotti: :D [13:02] tuhoojabotti: It's my last day at work! \o/ [13:02] tuhoojabotti: you all know what this mean [13:03] jbrokc: you're fired? [13:03] tuhoojabotti: I can finally allocate more time for Node development! [13:03] tuhoojabotti: No [13:03] supjeff has joined the channel [13:03] tuhoojabotti: I've been working most of my holiday now. :P [13:04] shreekavi has joined the channel [13:06] shreekavi has left the channel [13:09] Sonny9393 has joined the channel [13:09] jeedey: When using connect-js, Why does a working route fail to route if requested multiple times? (Connect just gives a 'Cannot get /blahblah/' error [13:10] hij1nx has joined the channel [13:11] bnoordhuis has joined the channel [13:11] kdng-saleem3 has joined the channel [13:11] ggg has joined the channel [13:11] replore has joined the channel [13:11] Xeon06_ has joined the channel [13:12] ggg: Anyone can help e setting up modules on with a windows build node? [13:12] ggg: meÉ* [13:12] tuhoojabotti: ggg: 1. Install linux. [13:12] zokko: tuhoojabotti: +1 for ya! [13:12] zokko: :D [13:12] tuhoojabotti: zokko: tuhoojabotti++ [13:13] tuhoojabotti: :3 [13:13] ggg: I can run a basic node http server, but when I put modules, i keep getting "cannot find module 'qs' " [13:13] tuhoojabotti: ggg: Modules don't like windows. [13:13] zokko: ggg: take a look at node_modules directory placement [13:13] xtianw: ggg: https://github.com/japj/ryppi [13:13] zokko: i had ~similar issues 1st time running node.js + zombie.js [13:15] ggg: i have my node_modules folder in the same folder then where the node.exe is...shouldnt that be ok% [13:15] matt_taylor has joined the channel [13:15] ggg: ?? [13:15] patrickgamer has joined the channel [13:15] patrickgamer has left the channel [13:15] xtianw: node_modules should be where the .js file you're running is [13:16] ggg: it is [13:16] xtianw: Ok [13:17] diegoviola has joined the channel [13:17] ggg: if i put an error in the require path ill get an error that the module cant be found, if its well written, i get the 'qs' error for any modules [13:17] supjeff: [/exit [13:18] tuhoojabotti: :D [13:19] xsist10 has joined the channel [13:19] xsist10 has left the channel [13:19] xtianw: Because they probably depend on qs to be in their node_modules directory [13:20] xtianw: Use https://github.com/japj/ryppi to install modules [13:20] xtianw: Takes care of dependencies [13:20] ggg: .py ? [13:20] xsist10 has joined the channel [13:20] ggg: what is qs? [13:20] xtianw: Python [13:20] gkmngrgn has joined the channel [13:20] xtianw: query string parser [13:21] ggg: shouldnt that be in node by default? [13:21] xtianw: Install python if you don't have it and run ryppi from the command line [13:21] xtianw: No? [13:21] ggg: ok ill check python [13:22] xtianw: Dealing with the nested dependencies is a pain without npm, which doesn't support Windows yet [13:23] tuhoojabotti: Windows support is in the works [13:23] ggg: what i do is i clone from github [13:23] industrial: How do I generate random numbers with NodeJS? [13:23] SubStack: .. Math.random() [13:23] Peniar: Math.random() ? [13:24] catb0t: 0.8451561683323234 [13:24] tuhoojabotti: ggg: That way you will only the get module you need, not the modules that the module you use needs. [13:24] thomblake has joined the channel [13:24] industrial: http://nodejs.org/docs/v0.4.9/api/ I dont see a math here, where does it come from? [13:24] SubStack: .. Math.floor(6 * Math.random() + 1) [13:24] catb0t: 5 [13:24] thomblake has left the channel [13:24] SubStack: industrial: from javascript [13:24] industrial: (and where would the docs for that be) [13:24] SubStack: hahaha [13:24] ggg: ok [13:25] naughty_david has left the channel [13:25] SubStack: industrial: they're terrible, they really are, the docs [13:25] xtianw: industrial: https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Math [13:25] industrial: ah, right. thanks [13:25] SubStack: yeah the mozilla stuff isn't bad but the official docs are pretty horrible [13:25] SubStack: the ecmascript pdfs [13:26] c4milo1 has joined the channel [13:26] rfay has joined the channel [13:27] Peniar: http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf [13:28] SubStack: that's the one [13:30] chjj: save me from pdf [13:31] chjj: http://ecma262-5.com/ [13:31] chjj: thats where i go to consult the spec [13:32] vortec: hi guys, i'm looking at the child_process module. i fail to understand how stdout is a stream, as the "data" event (for spawn()) is only triggered when the process has finished. the process i call outputs data before, then has a long pause, then outputs some more. why doesnt it trigger the "data" event before the pause? [13:32] vortec: -before* [13:32] galaxywatcher has joined the channel [13:33] chjj: vortec, well it would depend on the process, why wouldn't a process' stdout be a stream? [13:34] vortec: [disclaimer: i'm new to node.js] i expected it would trigger data two times [13:34] tuhoojabotti: Disclaimer denied. [13:35] vortec: so that i can work with the first chunk once its out, then work with the second chunk [13:35] vortec: hmm well [13:36] unlink has joined the channel [13:36] unlink has joined the channel [13:37] Sonny9393: ok i've runned the ubuntu [13:37] tuhoojabotti: runned :P [13:37] chjj: run that ubuntu, run it! [13:37] bradleymeck has joined the channel [13:38] chjj: or go with pure debian instead [13:38] chjj: ... ! [13:38] tuhoojabotti: GENTOO [13:39] chjj: uhoh, i started the best linux distro argument [13:39] chjj: inc [13:39] tuhoojabotti: I stopped it. [13:39] tuhoojabotti: ;) [13:39] chjj: lol [13:39] tuhoojabotti: Though ubuntu<3 [13:39] chjj: i never used gentoo, cause the gentoo website looks like shit [13:39] chjj: always put me off [13:40] tuhoojabotti: http://asenna.gentoo.fi/ [13:40] Sonny9393: yeah my english rlz :D [13:40] tuhoojabotti: that's finnish for install gentoo. [13:40] tuhoojabotti: :P [13:40] hlindset has joined the channel [13:40] hlindset has joined the channel [13:40] Sonny9393: some update says that is downloading 4 bits xD [13:41] brez has joined the channel [13:41] chjj: 4 bits? [13:41] Sonny9393: actually it was 4 files with 1 bit per one xD [13:41] Sonny9393: ok i am total noob on linux so how do i install node xD? [13:42] __class__ has joined the channel [13:42] bnoordhuis: Sonny9393: first, you compile your own distro from scratch [13:42] Sonny_ has joined the channel [13:42] bnoordhuis: i kid, i kid [13:42] wink_: and no cheating with grub either, you have to make lilo work [13:42] Sonny_: damn that wifi [13:42] chjj: make sure your have openssl [13:43] bnoordhuis: `git clone` the repo, `./configure`, `make install` [13:43] chjj: on ubuntu do sudo apt-get install libssl-dev [13:43] wink_: LI [13:43] chjj: then do that ^ [13:43] Sonny_: slowly please xD [13:43] lukegalea has joined the channel [13:43] bnoordhuis: maybe after cloning, do a `git checkout v0.4.10` or you'll be compiling the bleeding edge [13:43] chjj: what, our reverse instructions arent good enough? [13:43] chjj: yeah thats a good idea too [13:43] tuhoojabotti: Sonny_: http://joyeur.com/2010/12/10/installing-node-and-npm/ [13:43] kevwil has joined the channel [13:43] Sonny_: thx [13:43] bnoordhuis: Sonny_: there are instructions on the wiki too [13:44] Sonny_: i was asking irc not the wiki [13:44] chjj: bnoordhuis just got told [13:44] tuhoojabotti: :D [13:44] tuhoojabotti: I just got server [13:44] bnoordhuis: aw [13:44] tuhoojabotti: served* [13:44] tuhoojabotti: by a server [13:45] tuhoojabotti: :O [13:47] bradleymeck: cloudhead been seen lately? [13:50] jarek has joined the channel [13:51] jarek: Hi [13:51] tuhoojabotti: jarek: Hey there! [13:52] jarek: would it be possible with Node.js to fetch any random site from the web, inject additional script into it and display it on 127.0.0.1? [13:52] jarek: I guess I mean a proxy server [13:52] tuhoojabotti: Yes. [13:52] jarek: but it would also have to inject some additional scripts [13:52] bradleymeck: still yes, you would have to do some parsing though [13:53] jarek: ok, so what should I google to find some sample code? I tried googling "node.js proxy server", but I can't find any example that would show how to inject stuff into proxied websites [13:53] tuhoojabotti: jarek: Just use http.get and then parse and reply? [13:53] tuhoojabotti: :P [13:54] Sonny_: ehh it's too hard for me [13:54] tuhoojabotti: Sonny_: Seriously now. [13:54] c4milo1 has joined the channel [13:54] tuhoojabotti: I installed node + npm in 5 minutes [13:55] tuhoojabotti: got my server working on 10 [13:55] Sonny_: i never been on linux [13:55] Sonny_: anyway [13:55] simenbrekken has joined the channel [13:56] Sonny_: i don't understand everything in point 5 [13:56] Swimming_bird has joined the channel [13:56] Ans5i has joined the channel [13:56] ngs has joined the channel [13:56] Xeon06_ has left the channel [13:56] liar has joined the channel [13:56] Sonny_: sry point 4 [13:57] tuhoojabotti: https://gist.github.com/579814#file_node_and_npm_in_30_seconds.sh [13:57] tuhoojabotti: copy paste every single command to your terminal one by one [13:58] Sonny_: i've used sudo [13:58] tuhoojabotti: You don't need to. [13:58] Sonny_: but i used xD [13:58] tuhoojabotti: You shouldn't actually. [13:59] tuhoojabotti: I think it flags the files root only, then you have to use sudo always [13:59] tuhoojabotti: btw I started making a game server too. :P [13:59] tuhoojabotti: https://gist.github.com/1071492 [13:59] Sonny_: now when i type node it's says about ports that are not working [13:59] tuhoojabotti: It's bad I know :P [13:59] xtianw: tuhoojabotti: It doesn't [13:59] tuhoojabotti: What [14:00] xtianw: tuhoojabotti: flag as root only [14:00] zomgbie has joined the channel [14:00] tuhoojabotti: xtianw: Well it does something nasty! [14:00] tuhoojabotti: :E [14:00] xtianw: :-( I install with sudo [14:00] ksheurs has joined the channel [14:00] tuhoojabotti: I install with sudo too, but only when I do sudo apt-get ;D [14:00] chjj: pfft, sudo, i just open a terminal, su into root and then leave it open all day [14:01] tuhoojabotti: Yes [14:01] Sonny_: ok ok now how do i can get connect to mysql [14:01] tuhoojabotti: Good practise :) [14:01] tuhoojabotti: Sonny_: npm install mysql [14:01] tuhoojabotti: then see the doc [14:01] Sonny_: wo wo wowowo [14:01] tuhoojabotti: https://github.com/felixge/node-mysql [14:01] Sonny_: the hell hppd xD [14:03] Sonny_: it says "out of OEM specific VK codes [14:04] Sonny_: it assigned $ff [14:04] tuhoojabotti: ACTION hides [14:04] chjj: Sonny_: what are you doing? [14:04] gkmngrgn has joined the channel [14:04] Sonny_: and mysterious "Non-Parametric Mapping" window appers [14:04] Sonny_: appears* [14:04] sub_pop has joined the channel [14:05] ggg: ok, i was missing the qs and mime module for connect [14:05] brianc has joined the channel [14:05] ggg: now i have cannot read property 'prototype' .... how can i fix this issue? [14:05] vipaca has joined the channel [14:05] vipaca has joined the channel [14:05] Sonny_: chjj: i've used "npm install mysql" [14:05] ggg: modules on windows is such a mess [14:05] bksf has joined the channel [14:06] xsist10 has left the channel [14:06] chjj: windows is going to add such a different twist on things [14:06] chjj: i dont feel like making my modules windows compliant :( [14:07] Sonny_: it's not like windows is diffrent the others systems are diffrent xD [14:07] vortec: chjj: my process didnt flush the output [14:07] Sonny_: ok i give up [14:07] Sonny_: is there any other way to get synch with something? [14:07] TomY has joined the channel [14:08] chjj: vortec: huh? [14:08] stagas_ has joined the channel [14:08] vortec: chjj: my child_process question from earlier. it was the processes fault and stdout really is a stream in nodejs ;) [14:08] Poetro has joined the channel [14:08] Poetro has joined the channel [14:09] chjj: vortec: oh i see, good it worked out [14:09] Sonny_: do websockets are good way to do that? [14:09] ggg: i guess a working npm for windows would solve te problems, or just making sure all the required modules are included in the actual git module structure [14:09] luke`_ has joined the channel [14:10] tuhoojabotti: Sonny_: See http://socket.io [14:10] jtsnow has joined the channel [14:10] wink_ has joined the channel [14:10] Sonny_: i still need to use linux T.T [14:11] ph^ has joined the channel [14:11] dshaw_ has joined the channel [14:11] wdperson has joined the channel [14:11] eastender has joined the channel [14:12] sonnym has joined the channel [14:13] nibblebot has joined the channel [14:13] Sonny_: ok i give up i gonna use ajax php and mysql [14:13] chjj: that way lies damnation [14:14] SubStack: hooray http://71.198.76.38:8080/ [14:14] tuhoojabotti: Eww [14:14] SubStack: works in node and in the browser ;) [14:14] jayfresh has joined the channel [14:14] tuhoojabotti: SubStack: What's that? [14:14] tuhoojabotti: I don't even [14:14] SubStack: heat mappery [14:14] Sonny_: heat map xD [14:14] tuhoojabotti: What's heat is it mapping? [14:14] chjj: substack, if i click that link and its not a turtle + v8, im going to be very upset [14:14] tuhoojabotti: :P [14:15] robhawkes has joined the channel [14:15] wdperson has joined the channel [14:15] CrisO1 has joined the channel [14:15] SubStack: tuhoojabotti: it is mapping entropy [14:15] SubStack: in polar coordinates [14:15] tuhoojabotti: Entropy, eek! [14:16] hojberg has joined the channel [14:16] caiges has joined the channel [14:16] marekweb has joined the channel [14:17] tuhoojabotti: But I don't see the usefulness of it. [14:17] tuhoojabotti: :P [14:17] ChrisBuchholz has joined the channel [14:17] softdrink has joined the channel [14:17] SubStack: well it is a library for making pretty things [14:17] zk has joined the channel [14:19] radiodario has joined the channel [14:20] dguttman has joined the channel [14:20] threecreepio has joined the channel [14:24] jelveh has joined the channel [14:25] ChrisBuchholz has joined the channel [14:25] albertosheinfeld has joined the channel [14:27] migimunz has joined the channel [14:28] madsleejensen has joined the channel [14:29] aconbere has joined the channel [14:29] index0h_ has joined the channel [14:30] smtlaissezfaire has joined the channel [14:30] hij1nx has joined the channel [14:31] mbrevoort has joined the channel [14:32] __class__ has joined the channel [14:33] losing has joined the channel [14:34] willwhite has joined the channel [14:37] mendel_ has joined the channel [14:37] geetarista has joined the channel [14:39] explodes has joined the channel [14:40] mbrevoort has joined the channel [14:40] `3rdEden: not really effecient way of creating it SubStack [14:41] `3rdEden: 106kb for small canvas image [14:41] SubStack: not efficient for what? [14:41] `3rdEden: That yo uneed 106kb to generate a simple heatmap =/ [14:42] SubStack: 106kb of javascript? [14:42] SubStack: I don't even care about that. [14:44] fumanchu182 has joined the channel [14:44] SubStack: 106 kilobits / (3 megabits / second) ~ 0.035 seconds [14:45] tuhoojabotti: Yes. [14:45] SubStack: and that's only if you have shit internet like I do [14:46] SubStack: which incidentally I am hosting that from, so my upload rate is pretty low [14:46] lan3y has joined the channel [14:46] tuhoojabotti: I have 5/1 [14:46] tuhoojabotti: Mostly working 1,5/0,5 now [14:46] tuhoojabotti: :E [14:46] tuhoojabotti: 3,5km copper line [14:47] ben_alman has joined the channel [14:47] NetRoY has joined the channel [14:48] lan3y: hey, is there any guides to setup a slide controller for the google html5slides deck? like using an ipod touch for example. [14:50] jtsnow has joined the channel [14:51] CrisO has joined the channel [14:52] clifton has joined the channel [14:52] ph^ has joined the channel [14:54] brolin has joined the channel [14:54] loveshine has joined the channel [14:55] markmarkoh has joined the channel [14:56] pjacobs has joined the channel [14:56] StepanKuzmin has joined the channel [14:57] vortec: http://pastebin.com/abjGzG3C << this mini-http server doesnt seem to be non-blocking [14:57] vortec: is spawn() blocking? [14:58] pjacobs2 has joined the channel [14:58] SubStack: vortec: nope [14:59] SubStack: vortec: but I bet python is buffering its own output [15:00] kevwil has joined the channel [15:00] SubStack: vortec: http://stackoverflow.com/questions/107705/python-output-buffering [15:00] indutny: lan3y: http://slides.indutny.com/ [15:01] progme has joined the channel [15:01] vortec: SubStack: the python script generates a random number between 0 and 10 and sleeps for that amount of seconds. i want to emulate real scripts with long execution time. my expected result was, that if i open a couple of tabs that they would complete their requests at different speeds [15:02] mbrevoort has joined the channel [15:02] vortec: i thought for each request, it would spawn a new process [15:02] davidwalsh has joined the channel [15:02] Metal3d: ACTION is away: Occupé [15:04] SubStack: it should [15:04] mikl has joined the channel [15:04] mikl has joined the channel [15:05] zanes has joined the channel [15:06] bassui has joined the channel [15:07] vortec: SubStack: the "got request" debug output in line 3 is delayed too. i inserted "console.log('done')" into the "end" event to see when one process exits. at 5 browser tabs which i fire up sequentially, this is what i get at console level: http://pastebin.com/nzyZBvTi [15:08] mikl has joined the channel [15:08] mikl has joined the channel [15:08] vortec: i expected "got request" a couple of times [15:08] vortec: then, "done" a couple of times [15:08] case_ has joined the channel [15:10] aheckmann has joined the channel [15:10] robertfw has joined the channel [15:11] SubStack: hey lookit: heat maps in node and the browser https://github.com/substack/node-heatmap [15:11] softdrink: hot [15:11] softdrink: *rimshot* [15:12] softdrink: actually, i might have a good use for this [15:12] mikl has joined the channel [15:12] mikl has joined the channel [15:14] slifty has joined the channel [15:14] Brentonator has joined the channel [15:14] Brentonator: Why would one use nodejs? [15:15] Vertice has joined the channel [15:16] softdrink: because it's designed to be non-blocking, fast, and easy to use [15:16] softdrink: :) [15:16] Bonuspunk: Brentonator because there is one language on server/client [15:16] migimunz: also, it's fun [15:16] TomY has joined the channel [15:16] bradleymeck: Brentonator : need for a ton of IO, websockets, or same language (not necessarily sharing of modules) [15:17] Xano has joined the channel [15:17] thalll has joined the channel [15:17] halfhalo-work has joined the channel [15:18] softdrink: Brentonator: also, many, many of the core contributors and library authors hang out here in #node.js, and are pretty helpful [15:18] ceej has joined the channel [15:19] Brentonator: How is Apache a "blocking" system any moreso than nodejs? [15:19] ditesh|cassini has joined the channel [15:20] Brentonator: Unless you're using the HTTP request types for writing to files I dont see how non-blocking is an advantage when both servers have to block to do that [15:20] catb0t has joined the channel [15:20] newy_ has joined the channel [15:20] Metal3d: ACTION is back (gone 00:18:01) [15:20] softdrink: i wouldn't really compare apache and node, they're two different beasts [15:20] softdrink: i mean, a lot of people even throw apache or nginx in front of node anyway [15:21] bradleymeck: Apache on its own in a multithreaded system, compared to a single threaded event loop, has nothing truly to do w/ the io apache modules do... there are async and sync modules for apache [15:21] bradleymeck: but its a very very complicated question [15:21] SubStack: curse you coolaj86, why you gotta release so many modules [15:21] SubStack: and here I was just starting to catch up to tj [15:22] EvRide has joined the channel [15:22] Brentonator: They only use-cases I have for nodejs are for a lighttpd replacement or a local server for a local webapp [15:22] Brentonator: is that right? [15:23] bradleymeck: you can if you want, but unless you need async and dont know anything terribly well id just stick w/ what you know [15:23] ceej has joined the channel [15:23] bradleymeck: if you need the io performance later, thats later [15:23] zanes has joined the channel [15:23] jakehow has joined the channel [15:24] catb0t has joined the channel [15:25] shanez_ has joined the channel [15:25] softdrink: node itself is really a thin js glue layer on top of v8, which makes writing lower level modules in c++ and exposing them to js pretty easy. because of that, it can be used in lots of different ways. it just happens to have a web server module included ;) [15:25] markmarkoh has joined the channel [15:25] _dc has joined the channel [15:26] bradleymeck: !help [15:26] bradleymeck: aww [15:26] Brentonator: that makes more sense @ softdrink [15:26] meelash has joined the channel [15:27] Brentonator: So I can assume it has some file i/o capability [15:27] softdrink: absolutely [15:27] softdrink: it gives you file io, networking, process handling... [15:28] donald_cook has joined the channel [15:28] softdrink: http://nodejs.org/docs/v0.5.2/api/ ← effectively this is a list of the core modules [15:28] bayousoft has joined the channel [15:32] mertimor_ has joined the channel [15:33] tjholowaychuk has joined the channel [15:33] EvRide has joined the channel [15:34] catb0t has joined the channel [15:34] broofa has joined the channel [15:35] Spion_ has joined the channel [15:37] Brentonator: Nodejs looks like a great way to compete with C and possibly even surpass python while not having to waste time writing redundant code. [15:38] dguttman has joined the channel [15:39] zer0-: Brentonator: performance isn't even close to C [15:39] dtan has joined the channel [15:41] mhauri has joined the channel [15:41] jesusabdullah: Beating python's easy enough though [15:41] jesusabdullah: but python doesn't really present any competition to C. [15:42] catb0t has joined the channel [15:42] zer0-: yeah [15:43] catb0t has joined the channel [15:43] zer0-: V8 is fast but it's just a compromise between having interpreted language against compiled [15:43] softdrink: Just write everything in assembly like a Real Man™ :D [15:43] captain_morgan has joined the channel [15:44] bradleymeck: also, dev time compared to C?... [15:44] zer0-: Real Man takes Ruby VM and tries to make it fast.. [15:44] softdrink: zing. [15:46] vortec: how do i close a stream in nodejs? [15:46] skohorn has joined the channel [15:46] CIA-65: node: 03koichik 07v0.4 * r8b3ba47 10/ (lib/http.js test/simple/test-http-request-end-twice.js): [15:46] CIA-65: node: Fix http.ClientRequest crashes if end() was called twice [15:46] CIA-65: node: Fixes #1417. [15:46] CIA-65: node: Fixes #1223. - https://github.com/joyent/node/commit/8b3ba47f88e5f59256818e3173c75c66ff5a82df [15:47] zer0-: vortec: stream.close() or stream.end() ? :) [15:48] Brentonator: I read something where Google was touted for V8's ability to compile the javascript making it run remotely as fast to C. [15:48] Bonuspunk: crankshaft [15:48] zer0-: *cough*bullshit*cough* [15:48] zer0-: Brentonator: only applies to some cases [15:49] zer0-: and even then keyword in the sentence is "remotely as fast" [15:49] CIA-65: node: 03koichik 07master * r62aaf56 10/ (lib/http.js test/simple/test-http-request-end-twice.js): [15:49] CIA-65: node: Fix http.ClientRequest crashes if end() was called twice [15:49] CIA-65: node: Fixes #1417. [15:49] CIA-65: node: Fixes #1223. - https://github.com/joyent/node/commit/62aaf56d1bf4819bf78ecb352092b625b9a4a0ea [15:49] CIA-65: node: 03koichik 07master * rbffb758 10/ lib/http2.js : [15:49] CIA-65: node: Fix http.ClientRequest crashes if end() was called twice [15:49] CIA-65: node: Fixes #1417. [15:49] CIA-65: node: Fixes #1223. - https://github.com/joyent/node/commit/bffb758243ca19d334696a07c8091cf5fb75fe7b [15:49] bradleymeck: factor of 10+, (varies for your code, though for regexp it sometimes destroys c) [15:49] catb0t has joined the channel [15:49] zer0-: I mean you can say that Ruby is remotely fast [15:49] smathy has joined the channel [15:50] c4milo1: Brentonator: where did you read it? [15:51] jonaslund: teoretically JS could be approaching C speeds for a fair number of tasks.. i don't think they've advanced the interpreter that far yet though [15:51] jonaslund: (typed arrays will help out alot on this) [15:51] vortec: zer0-: thank you [15:52] zer0-: vortec: it worked? [15:52] Yuffster_work has joined the channel [15:52] progme: what is a good templating engine that lets you write your own html and just input variables inside of the html, add templates within templates, etc [15:52] vortec: well, it didn't give me an error :) [15:52] zer0-: jonaslund: yeah but it will depend a lot that the programmer understand to program in a way that V8 can work it's magic [15:52] vortec: getting pipe(): Too many open files [15:52] progme: i dont want an html generating template that makes you write json objects that output to html or w/e [15:52] zer0-: vortec: heh, I just guessed it.. I guess I have learned ryan's logic or something :) [15:52] vortec: using child_process.spawn() [15:53] xtianw: progme: ejs [15:53] aconbere has joined the channel [15:53] fattytuna has joined the channel [15:53] catb0t has joined the channel [15:53] progme: xtianw: thanks, i will check it out [15:53] mnaser has joined the channel [15:54] _sorensen_: theres mustache as well, but i'm not sure it has template within template support [15:54] admc has joined the channel [15:54] rfay has joined the channel [15:55] isaacs has joined the channel [15:55] Brentonator: The tests I saw exceeded compiled languages. Agreed the tests were orchestrated. [15:55] jonaslund: zer0-: I think the most important threshold has been crossed by V8 already (once typed arrays comes into full play for node) [15:55] markmarkoh has joined the channel [15:56] catb0t has joined the channel [15:56] butu5 has joined the channel [15:56] jonaslund: zer0-: for quite a big number of tasks.. it'll be faster to write JS code than do C++ extensions since crossing the interpreter gap and working with non-native JS objects will be more expensive [15:56] indutny: pquerna: :) [15:56] indutny: pquerna: what do you think about C++ part of it and JS API? [15:56] Brentonator: jonaslund: that can be solved by requiring more proper coding techniques. [15:57] zer0-: jonaslund: well I do hope you are right :) [15:57] colinclark has joined the channel [15:57] jcrls has joined the channel [15:57] Brentonator: I didnt even think about that...nodejs can so much more easily interface with an executable compared to say PHP. [15:57] mhauri has joined the channel [15:57] alvaro_o has joined the channel [15:59] catb0t has joined the channel [15:59] smathy: <-- brand new. Do y'all use a framework like Express/Geddy? If so, is there a consensus on which one works best in the node world? [16:01] materialdesigner has joined the channel [16:01] ngs has joined the channel [16:01] fs_ has joined the channel [16:02] meandi has joined the channel [16:02] geetarista has joined the channel [16:03] catb0t has joined the channel [16:04] mhauri has joined the channel [16:04] BillyBreen has joined the channel [16:04] smathy: Tough question - or common flame bait question? Didn't mean to troll. [16:05] patrickjst has joined the channel [16:05] pastak has joined the channel [16:05] pen_ has joined the channel [16:05] tjholowaychuk: smathy express is more like sinatra, geddy is more like rails. so it depends if you want to write code and build your framework up or have something more opinionated to guide you. though I'm not sure if geddy is actively developed anymore [16:06] tjholowaychuk: the best thing to do is try them both and see what you like [16:06] booo has joined the channel [16:06] alvaro_o has joined the channel [16:06] _sorensen_: express ftw [16:06] _sorensen_: :D [16:06] smathy: tjholowaychuk… ok thanks. That's what I got from my research so far too. I was just wondering if with experience, one or the other clearly fits in with the node way of doing things. [16:06] catb0t has joined the channel [16:06] iammerrick has joined the channel [16:07] smathy: Seems that Geddy might be a bit, "fat and slow" feeling for node. [16:07] tjholowaychuk: smathy meh i mean it's more or less the same as any other language/framework [16:07] tjholowaychuk: as far as how things work [16:07] tjholowaychuk: just more events [16:07] dannycoates has joined the channel [16:08] kdng-saleem3 has joined the channel [16:08] marekweb has joined the channel [16:09] t|f has joined the channel [16:09] svenlito has joined the channel [16:10] butu5: tjholowaychuk: tjholowaychuk: Hi, you developed mongoose? [16:10] tjholowaychuk: butu5 nope [16:10] smathy: tjholowaychuk… ok, thanks. [16:10] tjholowaychuk: butu5 that's aheckmann and guillermo [16:10] SubStack: isaacs: a patch already! [16:11] markdaws has joined the channel [16:11] kmiyashiro has joined the channel [16:11] k0stask has joined the channel [16:11] isaacs: SubStack: a tiny thing [16:11] markdaws has joined the channel [16:12] butu5: ohh okay thanks! [16:12] dshaw_ has joined the channel [16:12] bassui has left the channel [16:13] mbrevoort has joined the channel [16:13] isaacs: mbrevoort: hey [16:13] jj0hns0n has joined the channel [16:13] catb0t has joined the channel [16:14] isaacs: mbrevoort: can you try to replicate from http://admin.npmjs.org:5984/registry? [16:14] jerrysv has joined the channel [16:14] alvaro_o has joined the channel [16:15] kdng-saleem3 has joined the channel [16:16] tiglionabbit_ has joined the channel [16:16] SubStack: heylookit, I blogged: http://substack.net/posts/7fce46/heatmaps-for-node-js-and-the-browser [16:17] jerrysv: substack: just saw your tweet. looks awesome. [16:17] PhilK has joined the channel [16:17] catb0t has joined the channel [16:18] SubStack: rawk [16:18] SubStack: upboats welcome: http://news.ycombinator.com/newest [16:18] jbrokc has joined the channel [16:19] smathy: Followup question, anyone played with zappa (or have a strong opinion)? [16:19] butu5: SubStack: it looks pretty good.. thanks for writing [16:20] zippy has joined the channel [16:20] butu5: SubStack: one upvote from my side :) [16:20] zippy: why does socket.end not appear to stop a tcp connection but the destroy works fine [16:20] SubStack: \o/ [16:21] kdng-saleem3 has joined the channel [16:21] unlink has joined the channel [16:22] wookiehangover has joined the channel [16:22] EyePulp has joined the channel [16:22] mbrevoort has joined the channel [16:23] CrabDude has joined the channel [16:23] zippy: anyone help with node net? [16:23] kdng-saleem3 has joined the channel [16:25] Corren has joined the channel [16:26] Hosh has joined the channel [16:26] markmarkoh has joined the channel [16:26] alvaro_o_ has joined the channel [16:26] catb0t has joined the channel [16:26] zippy: noone? [16:26] tuhoojabotti: What? [16:27] tuhoojabotti: Oh [16:27] jshaw_ has joined the channel [16:27] tuhoojabotti: zippy: Why not use destroy then? [16:27] tuhoojabotti: :u [16:27] catb0t has joined the channel [16:27] monokrome has joined the channel [16:27] zippy: because the documentation says destroy on bad errors [16:27] meandi2 has joined the channel [16:28] balaa has joined the channel [16:28] tuhoojabotti: (My nick is destroyer bot) [16:28] tuhoojabotti: :D [16:28] monokrome: Hey. Does express allow you to create new settings? I want a setting to specify which port to listen on, so that production and development use different ports. [16:29] balaa has joined the channel [16:29] xerox: yep, they are called configurations [16:29] catb0t has joined the channel [16:29] tuhoojabotti: :D [16:29] xerox: and you choose them with environment variables [16:29] xerox: v simple [16:29] monokrome: right, but how can I choose the port with those? [16:29] wadey has joined the channel [16:29] dgathright has joined the channel [16:30] zippy: i think end is expecting the server to send a packet to end the connection as well. is that right?? [16:31] xerox: monokrome: oh it's not one of the baked in settings [16:31] xerox: : ( [16:31] yozgrahame has joined the channel [16:31] xerox: monokrome: but you can do it with app.{set,get} right [16:31] hij1nx_ has joined the channel [16:32] xerox: err, only set it seems [16:32] monokrome: No, that's where I am confused. app.get is for routing view functions. [16:32] monokrome: (routing them to GET requests) [16:32] mhauri has joined the channel [16:32] explodes: I'm running into an issue here, 404 'registry' is not in the npm registry. [16:32] explodes: I'm using a local registry [16:33] doctorm: I'm not seeing any obvious way to return results as field/value pairs with mysql-native. Anyone familiar with this library know what it would take to implement that? [16:33] monokrome: I'm doing app.set('listening_port', 8080) in a configureat ion - but don't know how to get that value back "the right way" [16:33] xerox: monokrome: app.set('listening_port') [16:33] monokrome: Well, that's interesting! [16:33] zeade has joined the channel [16:33] monokrome: Thank you, xerox. [16:33] tjholowaychuk: monokrome: or app.settings.listening_port [16:33] xerox: that's much better [16:33] xerox: I was guessing because the docs says [16:34] tjholowaychuk: .set() means setting not a literal set but it looks awkward for a get [16:34] xerox: app.set(key[, val]) [16:34] monokrome: but app.set('listening_port') is probably the "right way"? [16:34] tjholowaychuk: doesn't really matter [16:34] xerox: I'd go with tjholowaychuk's way [16:34] tjholowaychuk: it's shorter but that's about it [16:34] topaxi has joined the channel [16:34] xerox: when you read that line in 10 days you'll know what it does [16:34] monokrome: I see it now in the docs, and they say to use app.set('var') [16:34] tjholowaychuk: app.set() as a getter performs some inheritance stuff for apps [16:34] stephank has joined the channel [16:34] tjholowaychuk: for *mounted apps [16:35] tjholowaychuk: but if you're not using the mounting stuff it doesnt matter [16:35] monokrome: Cool. Well thank you both all your help :) [16:35] xerox: ❤ [16:35] monokrome: s/both all/all/ [16:36] tuhoojabotti: ♡ [16:37] drudge: <3 [16:37] tuhoojabotti: Eww [16:37] drudge: looks nice in Linkinus :P [16:38] vipaca has joined the channel [16:39] Vaffles has joined the channel [16:40] alvaro_o_ has joined the channel [16:41] harthur has joined the channel [16:41] butu5 has joined the channel [16:42] jtsnow has joined the channel [16:42] skohorn has joined the channel [16:42] cjm has joined the channel [16:43] dexter_e has joined the channel [16:44] tbranyen: tjholowaychuk: lol that .net stack trace is because someone left Debug=True on >_< what a nublet [16:44] tjholowaychuk: haha [16:44] tjholowaychuk: yeah good times lol [16:45] tjholowaychuk: i love that you can even see the template context [16:45] tbranyen: i was a .net dev for a few years... f that s [16:45] rfay has joined the channel [16:45] tbranyen: not to mention the complete physical file path [16:45] Destos has joined the channel [16:45] tjholowaychuk: that too [16:46] tjholowaychuk: the version numbers are probably the worst [16:46] tjholowaychuk: ACTION googls vulnerabilities [16:46] tjholowaychuk: ACTION googles* [16:46] jbpros has joined the channel [16:46] tbranyen: oddly enough .net is really solid [16:46] tbranyen: asp.net specifically [16:47] tbranyen: lots of financial sites use it [16:47] tjholowaychuk: reminds me of when facebook's source was exposed for like 5 seconds that one day [16:47] matyr_ has joined the channel [16:47] tjholowaychuk: and it was so nasty [16:47] tbranyen: oh wait wasn't that a leak? [16:47] tbranyen: thought it was a developer inside that leaked it [16:47] tjholowaychuk: no haha i saw it [16:47] CIA-65: libuv: 03Ben Noordhuis 07master * r3c057ff 10/ src/uv-unix.c : uv-unix: add simple lock file API for internal use - https://github.com/joyent/libuv/commit/3c057ff8e5fcc4843dfb0cca292943727da85492 [16:47] CIA-65: libuv: 03Ben Noordhuis 07master * r8e8af8f 10/ (include/uv-unix.h src/uv-unix.c): uv-unix: use lock file to detect stale UNIX sockets - https://github.com/joyent/libuv/commit/8e8af8fd348152da27abb080f9a8643ad4a2f295 [16:47] CIA-65: libuv: 03Ben Noordhuis 07master * reed6f39 10/ (src/uv-unix.c src/win/pipe.c test/test-pipe-bind-error.c): pipe: uv_pipe_listen raises UV_EINVAL on unbound socket - https://github.com/joyent/libuv/commit/eed6f395d1afb62ee93b916c5d52152481fcf350 [16:47] tjholowaychuk: i refreshed and had a bunch of the php i was like ah woah wtf [16:48] tjholowaychuk: and immediately saved it haha [16:48] tbranyen: http://techcrunch.com/2007/08/11/facebook-source-code-leaked/ [16:48] tbranyen: oh weird [16:48] tbranyen: once it one of those php errors that drops source? [16:48] tbranyen: was* [16:48] jonaslund: tomorrow [16:48] tjholowaychuk: they were just serving literal php text [16:48] tbranyen: oh weird [16:48] jonaslund: "Chinabook launches" [16:49] tjholowaychuk: it was a big heap of spaghetti [16:49] tjholowaychuk: i would be more embarrased than anything else [16:49] tbranyen: well they are laughing all the way to the bank [16:49] tjholowaychuk: that's true [16:49] tmcw has joined the channel [16:50] drudge: hey guys [16:50] alvaro_o_ has joined the channel [16:51] mikeal has joined the channel [16:51] jonaslund: url ? [16:51] explodes: sudo npm install er-util -g --registry http://localhost:5984/registry/_design/app/_rewrite Tries to install "registry" ... [16:52] tjholowaychuk: that's true [16:52] tjholowaychuk: damnit [16:52] isaacs: explodes: do you have the latest npmjs.org code in your couchdb? can you share the error output? [16:53] slajax has joined the channel [16:54] Stythys has joined the channel [16:54] Stythys has joined the channel [16:54] vortec has left the channel [16:54] newy_ has joined the channel [16:55] jbpros has joined the channel [16:55] jtsnow_ has joined the channel [16:56] explodes: isaacs: I updated (no changes) npmjs.org, repushed registry.app & www.app to couch, and ran the command: http://pastie.org/2290766 [16:56] markmarkoh has joined the channel [16:56] isaacs: explodes: aha! ok, that's just an bug in the error reporting [16:56] isaacs: it assumes that the first thing is what you wanted,  [16:57] isaacs: explodes: is http://localhost:5984/registry/_design/app/_rewrite/er-util 404ing? [16:57] igl has joined the channel [16:57] isaacs: explodes: or maybe it has deps that are? [16:57] explodes: curl http://localhost:5984/registry/_design/app/_rewrite/er-util -v :: 200 OK [16:58] explodes: isaacs, ahh, the dependencies are probably all wonky because I only have my packages in my registry. No replication. [16:58] ohtogo has joined the channel [16:58] isaacs: there ya go [16:58] samuelkadolph has joined the channel [16:58] isaacs: i'm thinking it'd be really handy in some cases to have a --no-dependencies option. [16:58] explodes: Do I need to make the replication job a cron job? Or does it replicate automatically? [16:59] isaacs: dumb as that is [16:59] isaacs: explodes: you can set up continuous replication. [16:59] explodes: Ok [16:59] explodes: Thanks man. [16:59] isaacs: explodes: if you want i can give you access to the .couch file to get started faster. there's some issue with couch 1.1 which i'm running into where some weird data bits make the replication over http fai [16:59] isaacs: *fail [16:59] japj has joined the channel [17:00] dnjaramba has joined the channel [17:00] skohorn has joined the channel [17:00] gazumps has joined the channel [17:01] nadirvardar has joined the channel [17:01] loob2 has joined the channel [17:01] explodes: yea, lets do that [17:01] perezd has joined the channel [17:02] samuelkadolph: Is there anyway to use the dns stuff to query SOA records? [17:02] fattytuna has joined the channel [17:03] foxbunny has joined the channel [17:03] hydrozen_ has joined the channel [17:05] foxbunny has joined the channel [17:05] dguttman has joined the channel [17:07] explodes: isaacs: Do you need anything from me? [17:07] isaacs: explodes: fixed on 8923b80796770da810f41b93634c4bbb6a8f2482 [17:07] isaacs: (the error reporting i mean) [17:07] tbranyen: cradle has a really weird api imo [17:08] isaacs: explodes: i'm thinking about starting a bittorrent feed or something of the npm registry so that it's faster for people to download. [17:08] isaacs: rsyncing the .couch file take sa while [17:08] isaacs: especially starting from scratch [17:08] Tobsn has joined the channel [17:08] tbranyen: bittorrent sounds awkward for something like that [17:08] japj: why do you want to rsync the .couch file? [17:09] Cromulent has joined the channel [17:09] isaacs: japj: to start with a copy of the public registry [17:09] japj: the couch file also contains all the attachments (tar.gz) of all the files right? [17:10] jerrysv has joined the channel [17:10] chjj has joined the channel [17:10] isaacs: japj: yeah [17:10] isaacs: it's about 3.5 gb [17:10] japj: isaacs: ah, this is about people wanting to develop the npmjs registry webapp and needing testdata? [17:10] eee_c has joined the channel [17:10] japj: isaacs: it's not about downloading a cache file for npm to speed up local searches is it? [17:11] isaacs: japj: development, testing, etc. no, not for local searching [17:11] japj: isaacs: would it make sense to have an npm test suite and fabricated couch repository [17:12] isaacs: japj: but also for inside-the-firewall registries [17:12] explodes: isaacs: I saw a comment on github about multiple repositories. That would be nice [17:12] zeade has joined the channel [17:12] isaacs: private stuff, etc [17:12] uchuff has joined the channel [17:13] japj: isaacs: what about couchdb replication? (or is that not fast enough?) [17:13] japj: isaacs: is 3.5 gb the compacted or uncompacted database? [17:13] monokrome: ACTION wishes npm supported multiple registries for hosting private packages… Is that what we're talking about? [17:13] isaacs: monokrome: yes [17:14] monokrome: :) [17:14] isaacs: japj: that's compacted. the replication seems to be hitting some kind of bug [17:14] japj: when did this turn into the npm channel btw? :) [17:14] monokrome: japj: Why wouldn't it be? [17:14] japj: isaacs: ah, the famous invalid json in couchdb bug? [17:14] isaacs: japj: yep. [17:14] isaacs: is it infamous? [17:15] isaacs: *famous [17:15] japj: isaacs: you tweeted it ;) [17:15] isaacs: oh, right :) [17:16] japj: isaacs: jan was still trying to figure it out? [17:16] NickABusey has joined the channel [17:18] Metal3d: ACTION is away: Occupé [17:19] ggg: with express i have cannot read property 'prototype' .... how can i fix this issue? [17:24] monokrome: ggg: Traceback? Code example? [17:24] alvaro_o_ has joined the channel [17:25] losing has joined the channel [17:25] ggg: basic express http server, on windows node.exe [17:25] ggg: looks to be related with module paths< [17:26] `3rdEden has joined the channel [17:26] perlmonkey2 has joined the channel [17:26] monokrome: Traceback? Code example? [17:26] tjholowaychuk: ggg connect/express need some fixes to use path.join() [17:26] tjholowaychuk: instead of concats [17:26] markmarkoh has joined the channel [17:27] rmustacc has joined the channel [17:27] ggg: im not using path,join() [17:27] ggg: in my code [17:27] sweetd has joined the channel [17:27] monokrome: Like tjholowaychuk said, connect/express need fixes because they aren't either. [17:28] ggg: ive put my node modules in /node_modules/ where my .exe and server.js are sitting [17:29] c_t has joined the channel [17:30] zackattack has joined the channel [17:30] rfay has joined the channel [17:30] guillermo has joined the channel [17:32] smithworx has joined the channel [17:32] patrickjst has joined the channel [17:32] dharmamike has joined the channel [17:33] binarypie has joined the channel [17:34] Cromulent has joined the channel [17:35] remysharp has joined the channel [17:36] indutny: pquerna: ping [17:39] Cleer has joined the channel [17:40] stepheneb has joined the channel [17:40] tilgovi has joined the channel [17:41] losing has joined the channel [17:41] foxbunny: anyone had a situation where should.[not.]exist throws? [17:42] `3rdEden has joined the channel [17:42] hojberg has joined the channel [17:43] pifantastic has joined the channel [17:43] aconbere has joined the channel [17:44] JojoTheBoss has joined the channel [17:44] mhauri has joined the channel [17:45] mikeal has joined the channel [17:45] perezd has joined the channel [17:45] svenlito has joined the channel [17:46] foxbunny: err... yeah, I mean should.[not.]exist throws error like "Object blah has no property exist" rather than the test result... sorry [17:46] smathy has joined the channel [17:47] aguynamedben has joined the channel [17:49] explodes: monokrome: indahous [17:49] caolanm has joined the channel [17:50] monokrome: oy [17:52] raidfive has joined the channel [17:53] mehlah has joined the channel [17:53] Metal3d: ACTION is back (gone 00:34:59) [17:54] bradleymeck has joined the channel [17:54] monokrome: explodes: What's up? [17:55] AvianFlu has joined the channel [17:55] djcoin has joined the channel [17:56] pquerna: indutny: pong, at oscon, so spotty [17:56] jstroem has joined the channel [17:56] samuelkadolph has left the channel [17:57] indutny: pquerna: ah, ok. looks like I finished pull request, can you please review once you'll be free [17:57] indutny: ? [17:57] kjeldahl has joined the channel [17:58] pquerna: yea [17:59] mikeal has joined the channel [18:00] dtan_ has joined the channel [18:00] explodes: monokrome: Looking at this require-analyzer... how can you use in place of a private npm registry? [18:01] samuelkadolph has joined the channel [18:01] catb0t has joined the channel [18:01] __tosh has joined the channel [18:02] reid has joined the channel [18:02] samuelkadolph has left the channel [18:03] Metal3d: ACTION is away: Occupé [18:03] xerox: _sorensen_: not very many, like, 4 [18:03] blup has joined the channel [18:03] xerox: pretty surely problem is another, I'm rewriting the code [18:03] xerox: (not sure *what* tho) [18:04] explodes: It doesn't seem like it would work [18:05] catb0t has joined the channel [18:05] JumpMast3r has joined the channel [18:05] gozala has joined the channel [18:05] k0stask has joined the channel [18:06] _sorensen_: hmm [18:07] mendel_ has joined the channel [18:07] _sorensen_: share a code sample if you like, it seems really strange you would have that problem with only 4 [18:09] dexter_e has joined the channel [18:09] maushu has joined the channel [18:10] xerox: _sorensen_: I think my problem is handling attributes which are arrays [18:11] mjijackson has joined the channel [18:11] xerox: is something like this kosher: previous_vote.voters = previous_vote.voters.filter(function(n) { return n !== name }); previous_vote.save() [18:11] mjijackson: xerox: don't see why not. [18:12] xerox: mjijackson: previous_vote being a mongoose object [18:12] mjijackson: hi all: quick question. i noticed earlier today that the `write` method of a writable stream can accept a callback, but it's not documented. [18:12] rcaskey has joined the channel [18:12] alvaro_o_ has joined the channel [18:12] xerox: I am never sure what functions I can use because, I think, node has some more than mongodb? [18:13] mjijackson: xerox: in the example you provided, you're using Array.prototype.filter [18:13] rcaskey: I'm trying to run some code and the only error I get is node.js:63\n\tthrow e; - any idea what's wrong [18:13] randallb has joined the channel [18:13] randallb has left the channel [18:13] mcluskydodallas has joined the channel [18:13] mjijackson: xerox: which is fully supported in node. [18:13] mjijackson: (or v8, rather) [18:14] mjijackson: rcaskey: could you pastie the full stack trace? [18:14] rcaskey: mjijackson, I don't get one [18:14] dnjaramba has joined the channel [18:14] rcaskey: that's it [18:14] mjijackson: rcaskey: could you pastie the script you're trying to run? [18:15] rcaskey: mjijackson, I could but it definately is not anywhere near running, I'm starting the process of converting some legacy code [18:15] rcaskey: hrmm purging and reinstalling node got me a backtracke now, odd [18:16] alvaro_o_ has joined the channel [18:17] maushu has joined the channel [18:17] dshaw_ has joined the channel [18:17] mjijackson: may be that recent versions of node got a better backtrace inspector. [18:17] catb0t has joined the channel [18:17] _sorensen_: xerox: maybe put a console log inside there to see if you have some recursion issues somewhere? [18:17] xerox: _sorensen_, mjijackson - I found the problem [18:18] bayousoft has joined the channel [18:18] xerox: I'm doing foo.save(); bar.save() [18:19] xerox: if I comment either one of them, it works, if I leave them both, it complains [18:19] _sorensen_: hmm [18:19] dexter_e has joined the channel [18:19] xerox: Requests coming too quickly. Please wait a few seconds before sending next request [18:20] xerox: the reason I am doing them like that is that foo.save() only happens sometimes [18:20] theCole_ has joined the channel [18:20] xerox: it's really if (..) { foo.save() }; bar.save() [18:20] Murvin has joined the channel [18:21] tuhoojabotti: ryah mentioned me in his talk! (those 600 idlers in irc) [18:22] newy_ has joined the channel [18:22] johnduhart has joined the channel [18:22] CIA-65: node: 03koichik 07v0.4 * rc72223e 10/ (doc/api/crypto.markdown doc/api/http.markdown): [18:22] CIA-65: node: Doc improvements [18:22] CIA-65: node: related to #1391, #1415. - https://github.com/joyent/node/commit/c72223e2a9aae2d5c20825562657c50a644d8a59 [18:24] sveimac has joined the channel [18:24] mikeal has joined the channel [18:25] TheJH has joined the channel [18:25] TheJH has joined the channel [18:25] tiglionabbit_ has joined the channel [18:26] TheJH: hey guys, did you already see that there's going to be a talk on vulnerabilities in node.js applications at the blackhat conference next week? sounds interesting [18:26] explodes: git status [18:26] guillermo has joined the channel [18:26] explodes: nice [18:26] ryah: TheJH: link? [18:26] zmbmartin has joined the channel [18:27] tk has joined the channel [18:28] TheJH: ryah: https://www.blackhat.com/html/bh-us-11/bh-us-11-briefings.html#Sullivan [18:28] blup has joined the channel [18:28] Marak has joined the channel [18:28] bradleymeck: TheJH, i bet i know like half of them from just meandering, but i dont know of any parse bug (which would be the big one) [18:28] Marak: spoits? o noes [18:29] tbranyen: about time [18:29] brez has joined the channel [18:29] Marak: i can have overflowed net server? sup? [18:29] TheJH: ryah, by the way, did you see my attempt to make usable stack traces? [18:29] alvaro_o_ has joined the channel [18:30] ryah: TheJH: no [18:31] mnaser has joined the channel [18:31] bradleymeck: and 10 to 1 they use some sort of lack of data validation; eval, Function, vm.run*Context; redefine a native's prototype method (.apply, .call, .toString, .valueOf, x['__proto__']); and fn.caller [18:31] xerox: _sorensen_: any ideas? I'm at a loss [18:32] jakehow has joined the channel [18:33] Jason has joined the channel [18:33] bradleymeck: v8: 1 [18:33] v8bot_: bradleymeck: 1 [18:33] isaacs has joined the channel [18:34] tjholowaychuk: bradleymeck probably stuff like this "li(foo='bar')= ''; console.log('fail')" [18:34] bradleymeck: ACTION is writing [18:34] tbranyen: gotta love twitter timing out all day [18:34] tbranyen: thanks guys xD [18:35] bartt has joined the channel [18:35] Metal3d: ACTION is back (gone 00:31:49) [18:35] tuhoojabotti: Metal3d: Please, turn of that notification script. [18:36] Metal3d: lol tuhoojabotti, someone on fedora-fr told me exacly the same [18:36] tuhoojabotti: Weird. [18:36] jhurliman has joined the channel [18:36] tuhoojabotti: Who would get annoyed by that? [18:36] _sorensen_: xerox: wait whats the problem? i thought you figured it out [18:36] Metal3d: and I answered "sorry, didn't see that I had switch on this option" [18:36] ohtogo has joined the channel [18:37] TheJH: ryah: http://groups.google.com/group/nodejs/browse_thread/thread/81aad71844e1f112/5f3868043aa83e7a?lnk=gst&q=Jann+Horn#5f3868043aa83e7a [18:37] Cromulent has joined the channel [18:37] xerox: oh damn, I have a memory leak [18:37] xerox: _sorensen_: I mean, I thought I found the cause [18:37] AvianFlu has joined the channel [18:37] patcito has joined the channel [18:38] rcaskey: hrmm nodejs balks at got_element_open: which is the first line of a switch statement [18:38] xerox: how do I debug a memory leak? [18:39] tbranyen: xerox: valgrind [18:39] mrsrikanth has joined the channel [18:39] tbranyen: there are a crap ton of guides on how to use it [18:39] tbranyen: and a few gui tools too [18:39] TheJH: xerox: how does "assertvanish" sound? I wrote it, it's kinda immature, but it can generate reference tracebacks for objects that don't disappear [18:39] xerox: this is going to be complicated, sigh [18:40] jerrysv has joined the channel [18:40] TheJH: xerox: something like "connection.onClose(function(){assertvanish(connection, 20000);});" [18:40] TheJH: !npm search assertvanish [18:40] jhbot: package assertvanish: assert that an object will vanish [18:41] japj: will it assert if the object doesnt vanish? [18:41] matomesc has joined the channel [18:41] jbrokc has joined the channel [18:42] Ramosa has joined the channel [18:42] dherman has joined the channel [18:42] catb0t has joined the channel [18:43] Lagnus has joined the channel [18:43] TheJH: japj: no, it will print a fat, long reference traceback to the console [18:45] TheJH: japj: there's a way to get a list of all references to an object in v8, and assertvanish will generate a tree of references for the object [18:45] Murvin: TheJH: node.js attack.. hmmm do u know any more information about it? [18:45] othiym23 has joined the channel [18:45] TheJH: Murvin: just what the link says, not more. but they'll probably put up the slides after the talk. [18:47] cccaldas has joined the channel [18:48] xerox: mjijackson: so really that way to fiddle with mongoose array attributes does not work [18:48] mjijackson: xerox: why not? [18:48] albertos_ has joined the channel [18:48] mjijackson: is mongoose trying to do some dirty tracking? [18:49] xerox: I am not sure [18:49] mjijackson: i hate ORM's with a passion. [18:49] mjijackson: you never know exactly what they're doing under the covers. :) [18:49] mjijackson: it's always a mystery. [18:50] t|f_ has joined the channel [18:50] xerox: var vs = movie.voters.push(nick); movie.voters = vs; movie.save() [18:50] mjijackson: one man's micro optimization is another man's rabbit hole. [18:50] tbranyen: mjijackson: unless you wrote it [18:50] iFire has joined the channel [18:50] xerox: then I query movie.voters from mongo, and it is [ 1 ] [18:50] Marak has left the channel [18:50] xerox: when I ran again, it's [ 2 ] [18:51] ngs has joined the channel [18:51] mwhooker_ has joined the channel [18:51] mjijackson: xerox: sorry, i don't know anything about how mongoose works under the covers. [18:52] mjijackson: as tbranyen suggests, you'll probably want to ask the person who wrote mongoose to get a definitive answer on why it's not working the way you expect. [18:54] JJMalina has joined the channel [18:54] TheJH: !npm author mongoose [18:54] TheJH: !npm owner mongoose [18:54] jhbot: owners: tmpvar , rauchg , tjholowaychuk , aaron [18:55] tuhoojabotti: TheJH: Btw, I did !help, and your bot spammed like hell to my query [18:55] tuhoojabotti: :( [18:55] tuhoojabotti: like 10 minutes of bell spam [18:55] xerox: haha this is fun [18:55] TheJH: tuhoojabotti: with 2 seconds delay between the messages [18:55] tuhoojabotti: Yes. [18:55] TheJH: tuhoojabotti: at least in the query :) [18:55] tuhoojabotti: Sux [18:56] tuhoojabotti: Make !help only work in query [18:56] Foxster has joined the channel [18:56] CIA-65: node: 03isaacs 07master * r703a1ff 10/ (10 files in 5 dirs): [18:56] CIA-65: node: Revert "AMD compatibility for node" [18:56] CIA-65: node: This reverts commit 9967c369c9272335bb0343558673b689725c6d7c. [18:56] CIA-65: node: Conflicts: [18:56] CIA-65: node: test/simple/test-module-loading.js - https://github.com/joyent/node/commit/703a1ffe52b66972f38db19fb68e0f70c3dd2631 [18:57] isaacs: bye bye amd [18:57] tuhoojabotti: TheJH: Actually, make !help short, and !help verbose [18:57] tuhoojabotti: Haha [18:57] tuhoojabotti: nVidia<3 [18:57] Foxster: I know about the Joyent wiki for Node.js hosting. But are there any managed hosting solutions that support Websockets yet? [18:58] blkcat: tuhoojabotti: nvidia, wha? [18:58] CIA-65: node: 03Robert Mustacchi 07master * rde0b8d6 10/ (6 files): jslint cleanup: path.js, readline.js, repl.js, tls.js, tty_win32.js, url.js - https://github.com/joyent/node/commit/de0b8d601c31314cb885e99609597084ab8a4d99 [18:58] TheJH: tuhoojabotti: would be a good idea. unfortunately, I'm just in front of my laptop here and I'll be back home on moday or so. I'll see whether I can get my nodester access running here. [18:58] tuhoojabotti: TheJH: worts excuse ever ;) [18:59] tuhoojabotti: worst* [19:00] chjj has joined the channel [19:00] jellosea: when i try and run my test cases of expresso serially they fail, but in serial it works.. does anyone know why? [19:00] TheJH: tuhoojabotti: isn't it pretty good? I'm on vacation with the whole family and this laptop has 500MB RAM or so (=constantly swapping) [19:00] jellosea: 'i mean not in serial [19:01] alvaro_o_ has joined the channel [19:02] iFire has joined the channel [19:04] dtan has joined the channel [19:04] surg has joined the channel [19:07] CIA-65: libuv: 03Ben Noordhuis 07master * r78e94e9 10/ test/benchmark-pump.c : bench: remove unused locals from benchmark-pump.c - https://github.com/joyent/libuv/commit/78e94e9589bf8d7206dbfe71a24c7346d9340aae [19:07] muhqu has joined the channel [19:08] kjeldahl has joined the channel [19:08] patrickstokes has joined the channel [19:08] pen_ has joined the channel [19:09] jonaslund: 500meg of memory on a win laptop = pain [19:10] TheJH: jonaslund: it's a debian [19:11] TheJH: with gnome [19:11] AvianFlu has joined the channel [19:11] jbpros has joined the channel [19:11] Destos has joined the channel [19:12] jonaslund: no idea how bloated gnome is [19:12] ckknight: hey all, is fun.apply(obj, arguments) safe? I have been doing fun.apply(obj, Array.prototype.slice.call(arguments)) instead [19:13] tuhoojabotti: TheJH: Nah. [19:13] mjijackson: ckknight: yes, it's safe. [19:13] tuhoojabotti: Bad excuses. ;) [19:13] mjijackson: ckknight: no need for the slice. [19:13] ckknight: mjijackson: even in things like IE6? [19:13] mjijackson: ckknight: not sure about IE6. i was talking about node. [19:13] ckknight: okay [19:14] TheJH: jonaslund: it's not only because of gnome, it's also because I'm used to browsing with 20 tabs or more opened [19:15] TheJH: 10 open tabs on the laptop right now [19:16] mehlah has joined the channel [19:18] figital has joined the channel [19:18] jonaslund: TheJH: I'll give you a little screenshot in a sec [19:18] jellosea: how do i get expresso to print out the test names its runnign [19:18] tjholowaychuk: jellosea you dont :D [19:18] tjholowaychuk: they all run at the same time [19:18] Metal3d has joined the channel [19:18] jellosea: if im doing it serially [19:19] tjholowaychuk: ah [19:19] tjholowaychuk: i can't remember if i added output for that [19:19] jellosea: tjholowaychuk: also i have a problem where im trying to run them serially but it doesnt work, i'm using fibers / fibers-promises [19:20] tjholowaychuk: i see [19:22] jellosea: tjholowaychuk: i'm having two test cases clash with each other.. why is this? [19:22] klovadis has joined the channel [19:22] tjholowaychuk: i dont know lol it's your code :p [19:22] xtianw has joined the channel [19:22] jellosea: like the values are going to each others resutsl.. i'm using a http.request [19:22] jellosea: tjholowaychuk: shouldnt tehy be in different scope? [19:22] tjholowaychuk: bug in node-fibers maybe? [19:23] jellosea: are all varaibles in expresso in the same scope? [19:23] tjholowaychuk: they are scoped like any other js [19:23] technoweenie has joined the channel [19:23] jaredev has joined the channel [19:23] TheJH: jellosea: could you show us your code? maybe you forgot a "var" or so [19:23] mertimor has joined the channel [19:24] xtianw has joined the channel [19:24] broofa has joined the channel [19:25] technoweenie: hey do people stream large files through node? we're seeing some nasty memory leaks switching from nginx [19:25] technoweenie: we're using pipe() and all that [19:25] jellosea: http://pastie.org/2291382 [19:26] technoweenie: piping a file read stream on one app, and a http client respons on another [19:26] jellosea: these two test cases clash with each other.. [19:26] shanebo has joined the channel [19:30] alvaro_o_ has joined the channel [19:30] xerox: _sorensen_: mystery solved [19:31] seivan has joined the channel [19:31] newy_ has joined the channel [19:31] brownies has joined the channel [19:31] xerox: _sorensen_: .save() triggered the off-site JSON API which has a rate limiter, that's where the error came from, now I sincerely hope .update won't trigger it, if I am not updating the field that needs validation [19:32] Circlefusion has joined the channel [19:33] _sorensen_: ahh, makes sense [19:37] eee_c1 has joined the channel [19:37] AvianFlu has joined the channel [19:37] dpritchett has joined the channel [19:38] gg777 has joined the channel [19:38] alvaro_o_ has joined the channel [19:38] mapleman has joined the channel [19:39] Dreamer3 has joined the channel [19:39] jonaslund: TheJH: there ? [19:39] mbrevoort has joined the channel [19:39] tjholowaychuk: can node 0.4.9 eval without the console.log() ? [19:40] tjholowaychuk: via cli [19:40] tjholowaychuk: 0.4.10 [19:42] omni5cience has joined the channel [19:43] eee_c has joined the channel [19:44] monokrome: Why eval? :( [19:45] loveshine has joined the channel [19:45] mikeal has joined the channel [19:45] kjeldahl has joined the channel [19:45] bradleymeck: tjholowaychuk, monkey punch it? "process.stdout.write = function(){};" [19:46] keyvan has joined the channel [19:47] monokrome: ;'( [19:48] stagas_ has joined the channel [19:48] bradleymeck: people understanding eval, thats the stuff makes me care [19:49] tbranyen: duck punch [19:49] tbranyen: some day i hope to use the with statement [19:50] bradleymeck: mmm the with statement, never found a true use for it except js1k [19:50] wookiehangover has joined the channel [19:50] sixoneeight has joined the channel [19:51] aconbere has joined the channel [19:51] MooGoo: yea it really is helpful for dealing with canvas for js1k [19:53] liar has joined the channel [19:54] socketio\test\93 has joined the channel [19:54] liar has joined the channel [19:54] CrisO has joined the channel [19:55] dshaw_ has joined the channel [19:55] progme: In the default views/layout file, the body place holder needs to look like: <%- body %> ? [19:56] necrodearia has joined the channel [19:56] unlink has joined the channel [19:56] unlink has joined the channel [19:58] tjholowaychuk: progme yeah body is just a local var [19:59] __tosh has joined the channel [20:00] progme: tjholowaychuk: Ok. Are there any other vars like it that I can use on the layout? [20:00] tjholowaychuk: progme anything you pass / generate with express [20:00] progme: I guess i can just create my own [20:00] progme: ok [20:00] eastender has joined the channel [20:02] broofa has joined the channel [20:02] broofa: awolff sorry, my irc crashed. [20:03] broofa has joined the channel [20:04] sweetd_ has joined the channel [20:05] bradleymeck: anyone know of a way to get a hold of an socket that is a bad http request from httpServer and prevent it from closing? [20:06] krnlyng has joined the channel [20:06] mcluskydodallas has joined the channel [20:10] eastender has joined the channel [20:11] gazumps856 has joined the channel [20:16] Lagnus has joined the channel [20:19] supster has joined the channel [20:19] ehedenst has joined the channel [20:22] ceej has joined the channel [20:22] zackattack has joined the channel [20:24] springmeyer has joined the channel [20:24] agnat_ has joined the channel [20:24] stagas: bradleymeck: maybe overwrite the socket.destroy function with a custom one? :P [20:25] tmcw has joined the channel [20:27] mbrevoort has joined the channel [20:27] bradleymeck: stagas im thinking something similar, but a lot happens in http.js, bleh [20:28] minimalist has left the channel [20:28] dgathright has joined the channel [20:28] iFire has joined the channel [20:28] AvianFlu has joined the channel [20:30] __directory: bleh [20:31] TheJH has joined the channel [20:31] guidocalvano has joined the channel [20:32] guidocalvano: does anyone know at what version the startup sequence of node got exposed through node.h? [20:33] patrickgamer1 has joined the channel [20:33] patrickgamer1 has left the channel [20:33] guidocalvano: when I want to use node as a library it gives me errors, but when I checkout the latest version I know where this isn't a problem the functions I am calling are no longer in node.h [20:33] guidocalvano: ? [20:33] guidocalvano: anyway [20:34] bnoordhuis: guidocalvano: what startup sequence? [20:35] guidocalvano: in the latest version of node you can call Init, SetupProcessObject uv::run yourself [20:35] jeremy_c has left the channel [20:35] BillyBreen has joined the channel [20:35] slifty has joined the channel [20:36] guidocalvano: https://github.com/joyent/node/blob/master/src/node.cc#L2518 [20:36] guidocalvano: this is the latest version [20:36] guidocalvano: but if I compile this version I get errors about missing stuff [20:37] davidsklar has joined the channel [20:37] jj0hns0n has joined the channel [20:38] guidocalvano: you can see the functions there [20:38] guidocalvano: in Start [20:40] losing has joined the channel [20:40] guidocalvano: I already found it [20:41] mjr_ has joined the channel [20:41] guidocalvano: 0.5.0 [20:41] guidocalvano: now lets just hope it will compile into a library [20:42] zomgbie has joined the channel [20:43] guidocalvano: compiling is such a total !@#$!@#$!@# B in C++ [20:43] yhahn has joined the channel [20:43] monokrome: guidocalvano: It's not that bad... [20:43] guidocalvano: compared to ány other language except maybe assembly? [20:44] monokrome: What languages are you comparing to? [20:44] skohorn has joined the channel [20:45] monokrome: The only language that I really consider on par with C and doesn't take forever to compile is Go [20:45] bradleymeck: D~ but no one uses that :/ [20:45] tjholowaychuk: blame the compiler not the language [20:46] tbranyen: i am so bored right now [20:46] guidocalvano: its not just the time you have to wait. it's the hell you go through getting libraries to talk together (: [20:46] tbranyen: couchconf has had a few good talks [20:46] tbranyen: but right now... [20:46] tbranyen: mikeal: you're here right? [20:46] mikeal: where? [20:46] tbranyen: couchconf [20:46] mikeal: nope [20:46] mikeal: been on vacation for 4 days on honeymoon [20:47] tbranyen: oh lol [20:47] tbranyen: nice :D [20:47] mikeal: this is my first day back at work, so i couldn't make it [20:47] mikeal: i'll be out tonight tho :) [20:48] guidocalvano: congrats with your marriage [20:48] tbranyen: mawwiage [20:49] mikeal: thanks [20:49] tilgovi has joined the channel [20:49] tilgovi has joined the channel [20:50] puffpio has joined the channel [20:50] skohorn has joined the channel [20:56] guidocalvano: I get all these linking errors trying to link node 0.5.0 [20:56] guidocalvano: ): [20:56] guidocalvano: frustrating [20:56] guidocalvano: missing libraries [20:56] wdperson has joined the channel [20:56] dreamdust has joined the channel [20:56] icebox has joined the channel [20:57] Wizek has joined the channel [20:57] icebox: Hello... Do you know how to check the endianness? [20:57] augustl: it would be useful to have a npm package for https://github.com/douglascrockford/JSON-js [20:57] skohorn has joined the channel [20:57] augustl: need it for a npm package that does some browser stuff [20:57] augustl: could embed it I guess [20:58] augustl: icebox: what's the practical use of checking endianness? [20:59] perezd has joined the channel [20:59] markdaws has joined the channel [21:00] icebox: I have been developing a binary protocol [21:00] ryah: icebox: javascript is always big endian [21:00] eastender has joined the channel [21:00] jerrysv: `3rdeden: ping [21:00] `3rdEden: jerrysv pong [21:00] isaacs: augustl: why would that need to be an npm package, though? JSON is already there. [21:01] jerrysv: `3rdeden: any ideas on why the amd support was ripped out? [21:01] `3rdEden: poke isaacs and ryah about that jerrysv [21:01] pifantastic_ has joined the channel [21:01] isaacs: jerrysv: see the very very long awful thread on the mailing list [21:01] isaacs: sorry, threadS [21:01] `3rdEden: ;D [21:01] jerrysv: `3rdeden, isaacs: thanks! [21:01] isaacs: also, it's done better in userland [21:02] ryah: icebox: that is to say bit opts make it seem that way - i think natively they're stored native [21:02] isaacs: or at least, done in the way that RequireJS and Dojo do it [21:02] ryah: but it doesn't really matter because you can't access that [21:02] `3rdEden: there are a gazillion ways of code sharing, amd is just one of them.. [21:02] dreamdust has joined the channel [21:03] xerox: mongoose error: Error: Can't use $push with Array. [21:03] xerox: what does that mean! [21:03] `3rdEden: that you got an error! :D [21:03] wadey has joined the channel [21:04] mikeal has joined the channel [21:04] kriszyp has joined the channel [21:04] xerox: that's a start hehe [21:05] markwubben has joined the channel [21:06] xerox: but doesn't make any sense :| [21:08] losing has joined the channel [21:08] icebox: ryah: thanks [21:08] broofa has joined the channel [21:10] noyum has joined the channel [21:10] bradleymeck: ok, got that working... now, can anyone think of a good way to install HttpServer ontop of an existing net.server? [21:11] noyum: Hey guys, getting a exception from net, no idea how to track it down. net.js:354 this._writeQueueCallbacks[last](); ^ TypeError: Cannot call method '0' of undefined [21:11] augustl: isaacs: for browsers that doesn't have a native JSON implementation [21:11] augustl: isaacs: ended up just submoduling it and embedding json2.js in the npm package, works fine I guess [21:12] augustl: noyum: when you do what? [21:12] amiller has joined the channel [21:13] noyum: So basically, im testing, two node processes talk to each other via TCP. I start both, start sending packets every 1ms, then I close the server. Everything ok, but then I start the server up again, and the client crashes with that message. [21:13] noyum: By the way, the client has build in logic to handle when server closes, it stores messages in an arrray, and when the serve comes back up, it flushes the array [21:14] bnoordhuis: noyum: what version of node? [21:14] ryah: noyum: please open a bug on github [21:15] ryah: i bet this got broken when we changed the 'close' event for server [21:15] noyum: Im running 0.4.10 by the way sure, I can log it [21:18] tmm1: are there any known meory leaks in 0.4.10? [21:18] kriz has joined the channel [21:18] kriz has left the channel [21:18] EyePulp: yo ho ho... I seem to be getting large, sustained cpu usage when using cluster along with its cluster.reload() plugin. I'm on a fairly recent node (0.5ish) and update cluster a day or two ago. Anyone else run into this? [21:19] tjholowaychuk: EyePulp it's not tested with 0.5.x [21:19] tjholowaychuk: and dont use reload() in production :p [21:19] nnnnathann has joined the channel [21:19] EyePulp: this isn't production, it's on my local dev box [21:19] tjholowaychuk: ah [21:19] sridatta has joined the channel [21:19] tjholowaychuk: probably due to a shit ton of polling [21:20] tjholowaychuk: from the watchers on all your js files [21:20] bnoordhuis: noyum: probably a bug, can you reduce it to a standalone test case? [21:20] EyePulp: and since I hadn't noticed the severe cpu hit previously, I'm naturally interested... [21:20] losing_ has joined the channel [21:20] bnoordhuis: tmm1: many - anything particular you had in mind? [21:20] noyum: @ryah Here is the issue; https://github.com/joyent/node/issues/1419 [21:20] EyePulp: tjholowaychuk: I'm wondering if it's going into my node_modules directory and having a field day... [21:21] tmm1: bnoordhuis: something with stream.pipe? [21:21] tjholowaychuk: EyePulp maybe haha, you can give a path [21:21] tjholowaychuk: or several [21:22] EyePulp: can I give it an exclude pattern? [21:22] tjholowaychuk: I can't remember if I explicitly ignore node_modules or not [21:22] bnoordhuis: tmm1: not that i'm aware of [21:22] bnoordhuis: tmm1: but streams may buffer a lot of data [21:24] tmm1: even when piping? [21:24] tmm1: is there a way to configure that [21:25] bnoordhuis: tmm1: it depends on the streams you pass in [21:25] Nexxy has joined the channel [21:25] Nexxy has joined the channel [21:25] jj0hns0n has joined the channel [21:26] tmm1: they're all tcps streams [21:26] fostah has joined the channel [21:27] jtsnow has joined the channel [21:27] sweetd has joined the channel [21:27] bnoordhuis: tmm1: that'll buffer if the target tcp socket gets saturated [21:28] bnoordhuis: tmm1: what behaviour are you seeing? [21:28] Rob- has joined the channel [21:28] tmm1: but it calls pause on the source stream, no? [21:28] losing has joined the channel [21:29] Cromulent has joined the channel [21:29] tmm1: bnoordhuis: rapid memory growth http://f.cl.ly/items/0B0o1z3u0x33220t3Z0b/Screen%20shot%202011-07-29%20at%202.28.51%20PM.png [21:30] sridatta: ryah: hey, this is sridatta from yesterday's workup. I ran our profiler again and we're still getting 71.4% of our runtime spent on accept(). would you be interested in seeing a test case for this if I made one? [21:30] bnoordhuis: tmm1: could be lazy gc [21:30] bnoordhuis: tmm1: it's being reclaimed right? [21:31] CrisO has joined the channel [21:31] tmm1: bnoordhuis: no [21:31] tmm1: the dips are restarts [21:32] mendel_ has joined the channel [21:32] bnoordhuis: tmm1: and what happens if you don't restart? [21:32] jbrokc has joined the channel [21:33] jmreidy has joined the channel [21:33] ezmobius has joined the channel [21:33] tmm1: bnoordhuis: the box starts swapping and load shoots up [21:35] bnoordhuis: tmm1: 2GB machine? that shouldn't happen [21:35] bnoordhuis: tmm1: what version of node and do you have a test case i can try? [21:36] tmm1: bnoordhuis: 0.4.10 [21:38] jbrokc_ has joined the channel [21:39] bnoordhuis: tmm1: how can i reproduce it? [21:39] technoweenie has joined the channel [21:39] EyePulp: tjholowaychuk: what's the syntax for reducing the interval with the cluster.reload()? [21:39] tmm1: bnoordhuis: i'm not sure we have an isolated case, technoweenie would know better [21:39] EyePulp: I see it's an option, but I'm not sure where to plug it in [21:39] lolwut has joined the channel [21:39] tjholowaychuk: EyePulp: i can't remember off hand, crack open the code [21:39] eastender2 has joined the channel [21:40] ryah: sridatta: sure [21:40] ryah: sridatta: you see tht from inspector? [21:40] EyePulp: aight [21:40] technoweenie: well most of the code was running for a year without leaks, but i just split the app in two an started using stream.pipe() to push big static files [21:41] sridatta: ryah: yes, from inspector. I am trying to cut down on as many dependencies/libraries as possible so we can narrow down a bare-minimum test case [21:41] bnoordhuis: technoweenie: that's all you do with stream.pipe()? how big is big btw? [21:42] bayousoft has joined the channel [21:42] tmm1: bnoordhuis: the app is basically receiving http requests, making outbound http requests and then piping the responses [21:42] technoweenie: anyway from a few k to 2GB+ [21:42] technoweenie: this is for github tarball downloads [21:42] technoweenie: we used to serve the tarballs through nginx [21:43] _skm has joined the channel [21:43] bnoordhuis: technoweenie tmm1: right, so it's essentially a proxy? [21:43] technoweenie: yea [21:43] technoweenie: tmm1: we could put nginx on the fs's and see if those node processes still leak [21:45] bnoordhuis: technoweenie tmm1: i'll see if i can reproduce it here [21:47] cjroebuck has joined the channel [21:48] EyePulp: tjholowaychuk: it does reduce the CPU hit somewhat if I limit the files it's watching, but it's still a pretty big cpu hit (e.g. watching two small .js files I still bounce around 20% cpu). Should I post an issue on github? I haven't got the cleanest smallest example, just a lot of local anecdotes. [21:48] tjholowaychuk: EyePulp hmm, well try it with node directly first [21:48] patrickjst has joined the channel [21:48] tjholowaychuk: it may be a node or a dep bug [21:48] tjholowaychuk: osx? [21:48] EyePulp: si [21:49] EyePulp: not Lion yet [21:49] tjholowaychuk: what did you change the interval to [21:49] kmiyashiro has joined the channel [21:50] ryah: sridatta: er i meant instruments [21:50] sridatta: I'll try it out in instruments as well [21:50] robhawkes has joined the channel [21:51] bnoordhuis: technoweenie tmm1: what do you guys use to make the outbound request? http.request()? [21:52] bradwright has joined the channel [21:54] technoweenie: yea [21:55] jj0hns0n has joined the channel [21:55] technoweenie: well, i have a small wrapper around it [21:55] EyePulp: tjholowaychuk: hadn't found the syntax yet - so running on the default interval. Apologies, but I'm heading out for a while. just upgraded to master of the current node - cpu appears quieter (with the node_modules folder being ignored for reloads). I'll whine about this later, I'm sure. thanks for listening... =) [21:55] technoweenie: oh sweet i got node-inspector and v8-profiler working. [21:57] pylon__ has joined the channel [21:57] elijah has joined the channel [21:58] CrisO has joined the channel [21:59] mbrevoort has joined the channel [21:59] boogyman has joined the channel [21:59] xerox: anybody knows offhand of a mongoose example where they use an array attribute? I think I saw one using tags but I can't find it anymore [22:00] Ian_Corne has joined the channel [22:02] geetarista has joined the channel [22:02] Elems has joined the channel [22:02] mikeal has joined the channel [22:03] alek_br has joined the channel [22:04] technoweenie: is there a reliable way to tell when an http server response closes? [22:04] beriberikix has joined the channel [22:04] lan3y has joined the channel [22:05] meelash has joined the channel [22:06] beriberikix: Is 'process' fully implemented in 0.5.2 for windows? [22:07] beriberikix: I'm on a win7x64, but process.platform = win32 & process.arch = ia32 [22:08] gr-eg has joined the channel [22:08] gr-eg has left the channel [22:10] gr-eg has joined the channel [22:11] bnoordhuis: technoweenie: 'close' and 'end' [22:11] bnoordhuis: beriberikix: the windows port is WIP [22:12] technoweenie: they dont seem to get called for me. i'm trying to keep some live counts so i can see how many people are connected currently [22:12] admc has joined the channel [22:12] Xano has joined the channel [22:12] bnoordhuis: technoweenie: do you get 'response' events? [22:13] technoweenie: yea, on the request [22:13] beriberikix: bnoordhuis: yup, just wanted to know if I should report the issue [22:13] technoweenie: and i get end/close on the request. but thats when the client stops sending me request data right? [22:13] beriberikix: looks like its not reported [22:14] bnoordhuis: beriberikix: no, but we're aware of it :) [22:14] brez has joined the channel [22:14] bnoordhuis: technoweenie: request == http.request()? [22:14] beriberikix: ah, k :) Then I'll save the keystrokes. thx! [22:14] technoweenie: oh wait no, *server* responses [22:15] hij1nx has joined the channel [22:16] R4md4c has joined the channel [22:16] perlmonkey2 has joined the channel [22:18] slifty has joined the channel [22:18] bnoordhuis: technoweenie: http.ServerResponse emits 'finish' [22:19] R4md4c: Hello is there some tutorial or an article that discuss JSONP in node js [22:20] rfay has joined the channel [22:22] tilgovi has joined the channel [22:22] tilgovi has joined the channel [22:22] technoweenie: oh word? [22:24] boxysean has joined the channel [22:24] technoweenie: oh so it does, awesome [22:25] hiphophooray has joined the channel [22:25] Cromulent has joined the channel [22:25] hiphophooray: Is there a way to require remote scripts? For example, require from a centralized repo? [22:25] R4md4c: Any JSONP stuff with node ? [22:27] samBiotic has joined the channel [22:27] brianc has joined the channel [22:27] jorenl_ has joined the channel [22:28] AvianFlu has joined the channel [22:28] jorenl_: Hey all! Is there someone here who could help me with a Socket.IO question? the #socket.io channel is relatively dead :/ [22:28] xicubed has left the channel [22:29] blup has joined the channel [22:29] iFire has joined the channel [22:30] elijah|home has joined the channel [22:30] technoweenie: hiphophooray: you could setup an npm registry [22:30] hiphophooray: Humm just thought about this, what if I setup a NTF mount on all clients, and they pull from the NTF share, which is a central repo. [22:31] hiphophooray: With NPM they have to copy the files locally right? I am looking to have scripts in a centralized location, and when I chance the files in the central repo, it propagates to all clients automatically. [22:34] tuhoojabotti: wait so [22:34] tuhoojabotti: if I make my own module [22:34] tuhoojabotti: and place next to my other code [22:34] yhahn has joined the channel [22:34] tuhoojabotti: should node find it? [22:34] tuhoojabotti: :P [22:34] tuhoojabotti: or do I need to add the path to the require.paths? [22:34] mikeal: ryah: here's the pipe() stuff i was talking about in request http://www.mikealrogers.com/posts/request-20.html#comment-269003740 [22:34] puffpio has joined the channel [22:36] tuhoojabotti: Yes [22:36] kraft has joined the channel [22:36] mikeal: tuhoojabotti: you can require anything in the same directory with require('./filename') [22:36] slifty: noob question for folks -- I have a native OSX application sending a stream of data to a node server. Currently sending it in bursts of HTTP but I can only assume there is a faster way [22:36] mikeal: slifty: HTTP is fine [22:37] mikeal: i mean, if it's one persistent connection [22:37] iammerrick: How do you prevent jade from escaping things again? [22:37] mikeal: not much difference between HTTP and raw TCP after the connection is setup [22:37] slifty: well I suppose that's part 2 of the question... [22:37] iammerrick: doh #{} [22:38] slifty: the application is built on OpenFrameworks; maybe Socket.IO can interface with that somehow... [22:38] tuhoojabotti: mikeal: It didn't seemed to work. :P [22:38] CIA-65: libuv: 03Ryan Dahl 07master * r7108ca8 10/ (include/uv.h src/uv-unix.c test/test-spawn.c): uv_spawn requires stdio pipes to be initialized - https://github.com/joyent/libuv/commit/7108ca885341a81b405c71ecd1b12efc632504fb [22:39] mikeal: is it named filename.js? [22:39] mikeal: and you're doing require('./filename') without a .js [22:39] tuhoojabotti: mikeal: Nevermind, I just failed at something else. :P [22:39] tuhoojabotti: No idea what. [22:39] tuhoojabotti: :P [22:39] aconbere has joined the channel [22:40] slifty: thanks mikeal btw [22:40] ryah: mikeal: nice [22:40] mikeal: np [22:40] Wa has joined the channel [22:40] balaa has joined the channel [22:40] mikeal: i can't wait to use req.pipe(request('http://mysite.com/doodle.png')).pipe(resp) in production :) [22:41] brianseeders has joined the channel [22:41] ryah: mikeal: yeah that's hot [22:41] tbranyen: whats that called? transloading or something? [22:41] mikeal: just pipes [22:42] mikeal: tbranyen: http://www.mikealrogers.com/posts/request-20.html [22:42] tbranyen: yeah i'm familiar with request [22:42] tbranyen: i mean specifically what you're doing in that example [22:42] Drakonite has joined the channel [22:42] mikeal: streams and pipes [22:42] mikeal: terminology is lacking :) [22:43] mikeal: hopefully i'll have some good words for things in future identifying patterns posts [22:43] tbranyen: that is really hot [22:44] mikeal: there is some "capability checking", but that term is really loaded [22:44] tbranyen: feature testing? [22:44] jakehow has joined the channel [22:44] mikeal: it implies safety and some kind of "interface" validation, which is not what is happening [22:45] tbranyen: dear god i'm loving backbone.js in Node [22:45] mikeal: so, feature testing, as using in the browser, is a little different because the assumption is that you're doing *one* thing and you do it *differently* based on the features of an environment or an object [22:45] slifty: hmmm -- anyone seen an OSC library for node.js? [22:45] Brentonator: tbranyen: why? [22:45] tbranyen: could be, or could be you're feature testing to polyfill an identical replacement [22:45] mikeal: what we're doing here is actually changing behavior based on capabilities [22:45] boxysean: anybody have a favourite module/app for bundling a node.js app for OS X that handles old openssl versions or lack of a compiler in deployment? [22:46] tbranyen: Brentonator: well i'm writing some of my models to be shared [22:46] tbranyen: and with a unified api [22:46] boxysean: slifty: NoBarrierOSC [22:47] matomesc has joined the channel [22:47] kmiyashiro has joined the channel [22:50] boxysean: slifty: or osc-web [22:53] CIA-65: node: 03Ryan Dahl 07master * r9dd9792 10/ (9 files in 6 dirs): Upgrade libuv to 7108ca88 - https://github.com/joyent/node/commit/9dd979228d73688af743a76ec59a38f7b8a39624 [22:53] jmoyers has joined the channel [22:55] NickABusey has joined the channel [22:55] pizzaface has joined the channel [22:55] slifty: boxysean: thanks [22:55] jmoyers: hmm [22:56] jmoyers: for you vim heads -- is there a version of this: http://justinlilly.com/vim/vim_and_python.html for js? [22:56] jmoyers: meaning, a badass blog post about a variety of timesavers/snippets for js? [22:56] newy has joined the channel [22:57] springmeyer_ has joined the channel [23:00] jorenl_: Is there a socket.room property in Socket.IO? Or do you really need to store the room first, then do socket.get('room', function(err, room) {}... all the time [23:00] jorenl_: Sorry for asking here, #socket.io is just dead :( [23:00] matt_taylor has joined the channel [23:02] isaacs: jorenl_: the best place to ask questions about express, npm, socket.io, etc. is usually here. [23:02] isaacs: jorenl_: it's fine, really [23:02] samBiotic has joined the channel [23:02] jorenl_: isaacs: Oh ok :) That's great. [23:06] idefine has joined the channel [23:06] yhahn has left the channel [23:06] Chani: ACTION wonders what causes Error('Socket is not writable'); [23:06] technoweenie: chani: what kind of socket is it [23:06] Chani: my socket was just fine, I was writing data to it, and then boom! [23:06] ph^_ has joined the channel [23:06] tuhoojabotti: Chani: I guess you're trying to write to a socket that is already closed [23:06] Chani: technoweenie: tcp connetion to another node process [23:07] technoweenie: are you watching for close/end events [23:07] tuhoojabotti: ryah had the same problem when he was programming a tcp chat in a talk. :P [23:07] Chani: the other process was running fine [23:07] tuhoojabotti: But yeah [23:07] tuhoojabotti: close and end. [23:07] tuhoojabotti: Use them. [23:07] tuhoojabotti: :P [23:07] Chani: tuhoojabotti: where would I get a close/end event? [23:07] technoweenie: on the socket you're trying to read from [23:07] tuhoojabotti: Yes [23:07] Chani: I've been keeping it open indefinitely,. none of my code explicitly closes it [23:07] Chani: on *ewither* side [23:07] tuhoojabotti: But the client can close it. [23:08] Chani: tuhoojabotti: I wrote the client. it does not close it. [23:08] tuhoojabotti: but it might close itself [23:08] _skm: node.js is beautiful! [23:08] Chani: it was like, "oh, the connection closed, guess the server carshed". which it had, with that not-writable error [23:08] Chani: tuhoojabotti: why might it close itself? [23:09] zmbmartin: so I am on npm 1.0.6 how do I update [23:09] tuhoojabotti: Chani: Connection problems? [23:09] zmbmartin: I ran the install script but am getting some errors [23:09] Chani: tuhoojabotti: on localhost? [23:09] isaacs: zmbmartin: curl http://npmjs.org/install.sh | sh [23:09] isaacs: !npm-install [23:09] tuhoojabotti: Chani: It could be anything, just handle them. [23:09] tuhoojabotti: :P [23:09] isaacs: !npm install [23:09] isaacs: hm, i thought there was a bot that did that.. [23:09] Chani: damnit [23:10] Chani: part of this assignment was that we were allowed to assume the connetion would be reliable and focus on other things [23:10] tuhoojabotti: isaacs: !npm search and author [23:10] tuhoojabotti: see !help (flood warning) [23:10] nairbo has joined the channel [23:10] technoweenie: Chani: never assume connections are reliable [23:11] tuhoojabotti: Exactly. [23:11] technoweenie: you could look into zeromq, it handles some of that stuff for you. and it turns things into erlang [23:11] boxysean has joined the channel [23:11] zmbmartin: isaacs: one moment having some problems [23:12] meomic has joined the channel [23:13] Wizek_ has joined the channel [23:13] patrickjst has joined the channel [23:14] Sorella has joined the channel [23:15] Chani: technoweenie: so... after every single socket.write call I have to reenter the event loop to see if I've got any close/error events? :( [23:15] Bonuspunkt has joined the channel [23:15] ircretary has joined the channel [23:15] Chani: maybe I'll cat all my data together and make it one write, then :/ [23:16] isaacs: ircretary: install zmbmartin [23:16] isaacs: hm... [23:16] Chani: although it still shouldn't have had an error. [23:16] isaacs: ircretary: hello? [23:16] ircretary: isaacs: Hello :) [23:16] isaacs: ircretary: inst zmbmartin [23:16] isaacs: ircretary: inst [23:16] isaacs: oh, whoops.. [23:17] ircretary has joined the channel [23:17] isaacs: ircretary: inst [23:17] ircretary: curl http://npmjs.org/install.sh | sh [23:17] jorenl_: should I store a clients nicknames and room server side with Socket.IO, or is it ok to have the client send it with every event? [23:17] isaacs: ircretary: inst zmbmartin [23:17] ircretary: zmbmartin: curl http://npmjs.org/install.sh | sh [23:17] isaacs: great :) [23:17] Nuck has joined the channel [23:17] tuhoojabotti: lulz [23:18] bksf has joined the channel [23:18] tuhoojabotti: isaacs, my man [23:18] tuhoojabotti: how do I use scrollback in screen? :D [23:18] tbranyen: page up and down? [23:18] jorenl_: tuhoojabotti: wondered about that too [23:18] jorenl_: and there's my solution, wow. nice. [23:18] tuhoojabotti: tbranyen: doesn't work. :E [23:18] tuhoojabotti: Well in irssi it does [23:19] tbranyen: tuhoojabotti: even with shift? [23:19] zmbmartin: isaacs: when I ran the install script it errored and now I have no npm at all? [23:19] tuhoojabotti: mg [23:19] tbranyen: i recently switched to tmux [23:19] tuhoojabotti: tbranyen: You're my hero [23:19] tuhoojabotti: :D [23:19] tbranyen: woot [23:19] tuhoojabotti: tbranyen++ [23:19] v8bot_: tuhoojabotti has given a beer to tbranyen. tbranyen now has 1 beers. [23:19] catb0t: tbranyen now has 1 beer [23:19] tbranyen: no more beer my head still hurts [23:19] zmbmartin: I am reading through the error now [23:19] zmbmartin: some stuff about remove them manually and try again. [23:20] tuhoojabotti: tbranyen: You don't have to drink it all at once. [23:20] isaacs: zmbmartin: gist output, please [23:20] zmbmartin: https://gist.github.com/1114951 [23:20] isaacs: zmbmartin: maybe curl http://npmjs.org/install.sh | sudo sh [23:21] zmbmartin: isaacs: that worked [23:21] zmbmartin: I tried sudo at the front of the install command [23:21] isaacs: great :) [23:21] Chani: o.0 [23:21] zmbmartin: isaacs: thanks [23:21] isaacs: yep. [23:21] isaacs: the curl doesn't need admin rights :) [23:21] isaacs: and permissions don't pipe [23:21] Chani: my socket is giving out an error event, with 'undefined' as the error. [23:22] Chani: ...error code. my bad. [23:22] Chani: guess I'll dump the full error instaed :) [23:22] ohtogo has joined the channel [23:23] ircretary has joined the channel [23:23] isaacs: ircretary: inst zmbmartin [23:23] ircretary: zmbmartin: `curl http://npmjs.org/install.sh | sh` (or, if there are permission issues, you can try: `curl http://npmjs.org/install.sh | sudo sh`) [23:23] isaacs: sweeet [23:24] squeese has joined the channel [23:25] bnoordhuis: technoweenie: what does this do for you? https://gist.github.com/1114958 [23:25] bnoordhuis: you might want to play around with the CONTENT_LENGTH variable [23:25] necrodearia has joined the channel [23:26] Drakonite2 has joined the channel [23:27] zmbmartin: does connect need to be install globally for express? [23:27] tuhoojabotti: I installed express [23:27] tuhoojabotti: then I made the example app [23:27] tuhoojabotti: then I was like, shit. It's too much. [23:27] tuhoojabotti: :D [23:27] tjholowaychuk: zmbmartin no [23:27] tjholowaychuk: it has connect as its own dep [23:28] fraserkillip has joined the channel [23:28] Chani: funny how these things magically disappear once you've got your debug code working right... [23:28] zmbmartin: tjholowaychuk: that is what I thought but after a npm install I am getting a cannot find module 'connect' [23:29] tuhoojabotti: Chani: Debugging<3 [23:29] fraserkillip has joined the channel [23:29] tjholowaychuk: zmbmartin: if you add express to your package.json [23:29] tjholowaychuk: and $ npm install [23:29] tjholowaychuk: it should grab it [23:30] zmbmartin: tjholowaychuk: it should that it installed from output of npm. weird [23:30] rfay has joined the channel [23:32] Kenj1 has joined the channel [23:34] sonnym has joined the channel [23:34] tilgovi has joined the channel [23:34] tilgovi has joined the channel [23:34] tuhoojabotti: Hmm [23:35] swhit has joined the channel [23:35] jorenl_: am I the only one who thinks that rooms are implemented in socket.IO in a stupid way >< [23:35] Kenj1 has left the channel [23:35] tuhoojabotti: Probably not. [23:35] tuhoojabotti: There are a lot of people here. [23:36] thalll has joined the channel [23:36] jorenl_: tuhoojabotti: You are most probably right. [23:36] zmbmartin: tjholowaychuk: since express uses it do I need to require it anymore? [23:36] zmbmartin: connect [23:36] tjholowaychuk: nope [23:36] tuhoojabotti: Hmm [23:36] tuhoojabotti: How easy would it be for me to update to 0.5.2 [23:36] tuhoojabotti: D: [23:36] jorenl_: but honestly; why not just socket.room.emit() instead of socket.to('the text you first have to find out').emit [23:37] zmbmartin: tjholowaychuk: that would explain the error then. [23:38] tuhoojabotti: I'll just install nvm [23:42] technoweenie: bnoordhuis: the rss on the node processes is hovering around 30m, but the server's available memory is dropping [23:42] technoweenie: for(var i = 0; i < 100; i++) { http.request(options, function(s) { var num=0; s.on('data', function(c) { num+=c.size}); s.on('end', function() { console.log("END") }) }).end() } [23:43] zeade has joined the channel [23:43] tuhoojabotti: Whii [23:43] tuhoojabotti: installing 0.5.0 [23:43] tuhoojabotti: or sth [23:43] tuhoojabotti: :D [23:43] zmbmartin: trying to start up express I am getting this error now https://gist.github.com/1114977 [23:43] bksf: if im running a node server either with node server.js, or foreman start ... on a remote server i've setup im running nohup node server.js / do i need to search for a process id to kill then start once again, or is there a node command like "node server.js --background, then later on an ssh node restart? [23:44] bnoordhuis: technoweenie: can you bench it with `ab -c 20 -n 400`? [23:44] bnoordhuis: technoweenie: and monitor memory usage while ab is running? [23:45] technoweenie: ab isnt handy on this server for some reason :/ [23:45] technoweenie: but memory went back up. guess there was a big gc run [23:46] bnoordhuis: technoweenie: okay, so that seems to work as expected [23:46] bnoordhuis: is the test case anything like your app? [23:47] technoweenie: yup pretty much just like it [23:47] bksf: anyone? :P [23:47] bnoordhuis: only it's not leaking :) [23:47] CStumph has joined the channel [23:47] technoweenie: except our connections are open way longer.. it takes people much longer to download 2GB [23:48] bnoordhuis: okay, what happens if you bump CONTENT_LENGTH to [23:48] technoweenie: oh i bumped it to 2GB, and the requests arent done [23:48] bnoordhuis: yeah, that'll take a while [23:48] bnoordhuis: took a couple of minutes here [23:48] NickABusey has joined the channel [23:49] technoweenie: yea i suppose downloading ~200GB will [23:50] bnoordhuis: bksf: not in node core [23:50] bnoordhuis: but there are daemonization tools out there [23:50] bksf: bnoordhuis: any ideas on a solution? or .. in rails we have shotgun, it lets you run an app and reloads changes on the backend without a restart .. [23:51] bksf: will node reload new changes or are they in memory? [23:51] bksf: the initial code - [23:51] technoweenie: node wont [23:51] technoweenie: you'd need to write something like shotgun [23:51] clifton has joined the channel [23:52] jhurliman: bksf, nodemon will do that [23:52] tjholowaychuk: bksf or cluster's reload() plugin [23:52] jhurliman: although i just use it for local dev, not on our production server [23:52] cognominal_ has joined the channel [23:52] tjholowaychuk: if you're using that [23:52] zmbmartin: tjholowaychuk: any ideas on this error https://gist.github.com/1114977 [23:53] bksf: jhurliman: sweet perfect thanks :P [23:53] tjholowaychuk: zmbmartin what are you passing to listen()? [23:53] geetarista has left the channel [23:53] zmbmartin: tjholowaychuk: just in cluster I think [23:54] tjholowaychuk: no i mean like what value are you passing to the .listen() method :p [23:54] bnoordhuis: technoweenie: what's memory usage like? [23:55] zmbmartin: tjholowaychuk: a port number? [23:55] tjholowaychuk: zmbmartin are you sure it's not a string [23:55] tjholowaychuk: because if it is node will try to use it as a local socket path [23:55] tjholowaychuk: which looks like what is happening [23:55] tjholowaychuk: by that vague error [23:56] tjholowaychuk: if you are doing .listen(process.env.MY_APP_PORT) or something [23:56] zmbmartin: tjholowaychuk: this is the cluster part of my app.js https://gist.github.com/1114994 [23:57] tjholowaychuk: sockets are not pidfiles, but try removing that setting and see if it works [23:57] tjholowaychuk: the dirs need to exist as well cluster doesn't currently create them for you [23:57] CIA-65: node: 03Fedor Indutny 07master * r9010f5f 10/ (8 files in 3 dirs): [23:57] CIA-65: node: Add support for TLS SNI [23:57] CIA-65: node: Fixes #1411 - https://github.com/joyent/node/commit/9010f5fbab2695e6c0435db396f3e92118da6d76 [23:57] zmbmartin: tjholowaychuk: oh that is probably it. Not sure why I had that there. [23:58] zmbmartin: let me check [23:58] ryah: indutny: thanks! [23:59] Swizec has joined the channel [23:59] zmbmartin: tjholowaychuk: thanks my bad.