[00:01] hij1nx has joined the channel [00:02] FearOfMusic has joined the channel [00:02] cccaldas has joined the channel [00:03] endian7000: noooooes! 0:00 GMT has come and gone, and no more spots for @node_knockout! [00:07] Nuck: tjholowaychuk: Your commander lib's CLI args stuff is pretty sweet :D [00:07] tjholowaychuk: haha thanks [00:07] tjholowaychuk: not done yet [00:07] mikeal has joined the channel [00:07] Nuck: So I can tell :P [00:07] Nuck: The prompt and password things are still rather error-prone [00:08] insin: ye gods, it almost works, Jim [00:09] amiller has joined the channel [00:09] sridatta has joined the channel [00:09] Nuck: tjholowaychuk: I think it might be nice to have an easier way to provide a prompt-fallback for arguments, though. [00:09] tjholowaychuk: Nuck feel free to open up some issues for bugs/features [00:10] tjholowaychuk: was just going off common stuff I end up doing [00:10] Nuck: Isn't that how all libs start? [00:11] robotmay has joined the channel [00:11] cjroebuck has joined the channel [00:11] tjholowaychuk: haha yeah, just saying im interested in hearing your use-cases [00:11] tjholowaychuk: but it's better to create an issue or two so i remember [00:11] Nuck: I built a behemoth of a solution for that prompt-for-empty-arg a second ago [00:11] Nuck: abusing apply and such [00:11] BrianTheCoder has joined the channel [00:12] Nuck: But it works, and that's what matters :P [00:12] tjholowaychuk: yeah I wouldn't have bothered if it were just option parsing but it's annoying to recreate the rest [00:12] tjholowaychuk: and free docs is always a bonus [00:13] matyr_ has joined the channel [00:13] Nuck: lol [00:13] Nuck: I think it's a good combination of tools [00:14] Nuck: tjholowaychuk: Oh, and your readme sorta confused me the first time — you use require('../') [00:14] Nuck: Err, ..\ [00:14] tjholowaychuk: doh hahaha [00:14] tjholowaychuk: my bad [00:14] Nuck: or whatever, lol [00:14] tjholowaychuk: fixed [00:15] zilch has joined the channel [00:15] CIA-65: libuv: 03Igor Zinkovsky 07zero_reads * rff7d1ef 10/ src/win/tcp.c : Issue the read_cb with 0-bytes in case of read_stop - http://bit.ly/rbUuv4 [00:15] hakunin has joined the channel [00:15] rchavik has joined the channel [00:16] shinuza has joined the channel [00:16] jaequery has joined the channel [00:18] [[zz]] has joined the channel [00:19] zilch has joined the channel [00:20] jtsnow has joined the channel [00:21] elijah|home has joined the channel [00:21] _truppp has joined the channel [00:21] elijah|home has joined the channel [00:22] secoif has joined the channel [00:27] truppp has joined the channel [00:29] torsd has joined the channel [00:29] zilch has joined the channel [00:33] soapyillusions has joined the channel [00:34] brianloveswords has left the channel [00:35] zilch has joined the channel [00:39] junkee[]: ping [00:40] zilch has joined the channel [00:41] AvianFlu: pong! [00:41] rfay has joined the channel [00:42] kmiyashiro has joined the channel [00:42] soapyillusions has joined the channel [00:43] CIA-65: libuv: 03Ryan Dahl 07master * re5a938f 10/ (include/uv.h src/uv-common.c test/echo-server.c): Add uv_buf_init() constructor - http://bit.ly/oeqNjg [00:44] junkee[]: it's so quite... [00:45] AvianFlu: sometimes [00:45] AvianFlu: everybody's fingers need a rest from time to time! [00:45] pkrumins: collaborative rest [00:46] dguttman has joined the channel [00:46] junkee[]: mh. or they are all working in silent [00:46] neilk_ has joined the channel [00:47] CIA-65: libuv: 03Igor Zinkovsky 07master * r422c139 10/ (include/uv-win.h src/win/internal.h src/win/tcp.c): Windows: Pre-allocate buffers for overlapped WSARecv if the number of active tcp streams is below 50. - http://bit.ly/o99CYw [00:48] FearTheCowboy has joined the channel [00:48] FearTheCowboy has joined the channel [00:49] kmiyashiro: how the hell do you separate templates into files on the frontend? [00:49] tbranyen: kmiyashiro: by making files [00:49] tbranyen: and then ajaxing them in [00:49] _storrgie_ has joined the channel [00:49] kmiyashiro: so they're just text files? [00:50] tbranyen: thats actually my preferred method [00:50] tbranyen: sure [00:50] tbranyen: some people like to use script tags with illegal type attributes so they are loaded with the page [00:50] tbranyen: but thats just not my thang [00:50] kmiyashiro: so you'd do something like _.template(file) [00:51] tbranyen: sec i will show you [00:51] insin: ACTION wrote a templates-in-code templating engine [00:51] tbranyen: http://tabdeveloper.com:9002/assets/js/views/Partial.js [00:51] jeromegn has joined the channel [00:51] tbranyen: fetchTemplate function [00:51] storrgie has joined the channel [00:51] tbranyen: i trigger that as soon as possible and then late bind whatever [00:52] tbranyen: ACTION wrote a mustache/django derivative engine [00:52] insin: Just got it working to act as a single-page app if you have JS-enabled, but to use the same codebase to generate full pages which work with regular links & forms if JS is turned off :) [00:52] tbranyen: yeah its a novel idea, i was working on something similar [00:52] insin: Mine is Django-derivative too. Can't get enough of those blocks! [00:52] tbranyen: heh [00:53] tbranyen: oh i borrowed filters from django [00:53] tbranyen: not blocks [00:53] tbranyen: insin: https://github.com/tbranyen/combyne.js [00:53] tbranyen: if you're interested [00:53] insin: Cool - ta [00:53] tbranyen: http://combyne.github.com/ is more readable imo [00:53] insin: I just need to implement filters as the last thing before I give mine an official release [00:53] tbranyen: filters are so tite [00:54] insin: Have it shimplemented for now for IfNodes can check for variable existence [00:55] kmiyashiro: hmmm [00:55] necrodearia has joined the channel [00:55] gazumps has joined the channel [00:55] kmiyashiro: when do you define this.template.path,? [00:56] tbranyen: http://tabdeveloper.com:9002/assets/js/views/gallery/GalleryList.js [00:56] tbranyen: all my views define a unique template object [00:56] shanez has joined the channel [00:57] Xanderby has joined the channel [00:57] kmiyashiro: oh, I see. [00:58] tbranyen: if you're fetching more than one template, i'd recommend using something like jQuery deferreds [00:58] tbranyen: parallel downloads rule [00:58] Xanderby: so, this is going to sound nuts but does anyone know of any tool or package that would allow me to include a PHP or Ruby class (JIT recompilation, glue code, IPC, something) in node.js? [00:58] tbranyen: Xanderby: you could shell out to it [00:58] Nuck: Xanderby: Why would you want that? [00:58] Xanderby: tbranyen: ideally it would be performant [00:59] mikeal has joined the channel [00:59] Xanderby: Nuck: I want to turn my PHP framework into a language agnostic framework [00:59] Xanderby: with bootloaders in each language [00:59] Xanderby: and interoperability between each [00:59] Xanderby: depending on how a dev wants to deploy [00:59] Nuck: Xanderby: ... Then rewrite it in Node? [00:59] Nuck: If you want it to be in all languages, you should probably either make it in all languages [00:59] tbranyen: Xanderby: noble goal, but i think foolish tbh [01:00] tbranyen: these languages work very differently [01:00] Xanderby: Nuck: to clarify, I don't want to port the entire framework [01:00] Nuck: Or use a nice "Least Common Denominator" (i.e. use C or C++) [01:00] tbranyen: :D [01:00] Xanderby: I want the bootloaders and autoloaders to be interoperable [01:00] Xanderby: think .NET [01:00] dgathright_ has left the channel [01:00] Nuck: bootloaders? [01:00] Xanderby: yes [01:00] Xanderby: so I could run the framework from node.js, or apache / PHP, or rails [01:01] cjm has joined the channel [01:01] Nuck: Xanderby: Use an LCD then, C, C++, bash, etc. [01:02] ryantm has joined the channel [01:05] dgathright has joined the channel [01:05] shiawuen has joined the channel [01:05] zilch has joined the channel [01:07] Xanderby: whoa [01:07] Xanderby: LLVM [01:07] Xanderby: has interepretters for ruby, php and js [01:08] pives has joined the channel [01:08] k1ttty has joined the channel [01:10] ryanfitz has joined the channel [01:10] storrgie has joined the channel [01:11] wookiehangover has joined the channel [01:11] zilch has joined the channel [01:13] enhydra has joined the channel [01:14] markdaws has joined the channel [01:14] seivan has joined the channel [01:15] zilch has joined the channel [01:18] matyr has joined the channel [01:19] CStumph has joined the channel [01:20] materialdesigner has joined the channel [01:20] skampler_ has joined the channel [01:20] skampler_ has left the channel [01:22] tk has joined the channel [01:23] ryanfitz has joined the channel [01:23] StanlySoManly: is there any sort of guide for troubleshooting node/npm issues? I'm trying to figure out why i can't require a module that npm knows is there: http://pastebin.com/92L4wzs3 [01:23] jeromegn has joined the channel [01:24] isaacs: StanlySoManly: because you installed it globally, not locally [01:24] isaacs: StanlySoManly: start with `npm faq` and `npm help` and keep reading until you're bored. [01:24] zilch has joined the channel [01:24] StanlySoManly: isaacs: can do. clearly my assumptions of what "global" means are out of whack. :) [01:25] isaacs: StanlySoManly: also, you may want to either get a shell that supports understands unicode, or `npm config set unicode false` [01:25] cccaldas has joined the channel [01:25] isaacs: StanlySoManly: you can `npm link blah` to link from the global space into the local [01:25] pandeiro_ has joined the channel [01:25] isaacs: StanlySoManly: global for command line utils. local for require() [01:25] balaa has joined the channel [01:26] StanlySoManly: isaacs: gotcha. thanks! obviously i didn't make it far enough through these FAQs last time. [01:26] isaacs: :) [01:27] ekryski has joined the channel [01:27] teadict: so, the thing to put an eye then is express, when doing a normal comet web app.. node is node.. [01:27] ryah: please test the v0.4.11 build: http://nodejs.org/docs/v0.4.11 [01:27] smus has joined the channel [01:27] JacobSingh has joined the channel [01:28] hij1nx has left the channel [01:28] smus has joined the channel [01:30] zilch has joined the channel [01:30] aoberoi has joined the channel [01:31] smus has joined the channel [01:34] jasonmog has left the channel [01:35] zilch has joined the channel [01:36] junkee[]: how can i find the absolute path of the directory in which node is executed? [01:36] c4milo1 has joined the channel [01:36] neoesque has joined the channel [01:37] zilch has joined the channel [01:38] junkee[]: sry, found it (process.cwd()) [01:38] srid has joined the channel [01:38] srid has joined the channel [01:39] ekryski has joined the channel [01:41] hij1nx has joined the channel [01:42] teadict: does node follows unix naming convention for that kind of methods? if yes, that's great [01:43] jerrysv has joined the channel [01:43] insin: oh, piss off, Cygwin [01:43] insin: temperamental bastard [01:44] junkee[]: teadict: often.http://nodejs.org/docs/v0.5.4/api/fs.html [01:44] Drakonite has joined the channel [01:45] Renegade001 has joined the channel [01:45] keikubo has joined the channel [01:45] junkee[]: anyone wants to try my node-gstreamer addon? https://github.com/swick/node-gstreamer/tree/v2 [01:46] junkee[]: would like to hear if it successfully builds on other systems. [01:47] CIA-65: node: 03Ryan Dahl 07v0.4 * ra745d19 10/ (5 files in 3 dirs): Bump version to v0.4.11 - http://bit.ly/r0mHSq [01:47] CIA-65: node: 03Ryan Dahl 07v0.4 * rdc57872 10/ src/node_version.h : Now working on v0.4.12 - http://bit.ly/riuiuF [01:47] Anton_ has joined the channel [01:47] zilch has joined the channel [01:48] Xanderby has left the channel [01:48] achiu has joined the channel [01:48] CIA-65: node: 03isaacs 07v0.4 * rb4712bf 10/ doc/api/url.markdown : Close #1544 Document slashesDenoteHost flag in url.parse - http://bit.ly/nQvYWm [01:48] techwraith has joined the channel [01:48] shiawuen has joined the channel [01:49] int_64 has joined the channel [01:49] int_64: hello [01:49] int_64: Is there a website where I can read about security competence of node.js? [01:50] int_64: Penentration test results, etc? [01:50] ryah: int_64: no [01:50] int_64: okkkk [01:50] int_64: so what does a person do to get confidence in node.js? [01:50] int_64: Run his own pentests? [01:50] ryah: depends on one's expectations :) [01:50] int_64: heh [01:50] ryah: hire a security auditor [01:51] int_64: Well I dont know anything about node.js except it uses a lnaguage that I like to use. [01:51] int_64: I cant build a site for a client if there are some gaping holes in it [01:51] int_64: hire a security auditor :p [01:51] int_64: heh [01:51] ryah: there are no security holes that we know of [01:51] ryah: :) [01:51] tjholowaychuk: int_64 it's more likely that you'll personally expose a whole than node [01:51] int_64: ok.. [01:51] eboyjr: security is in the hands of the programmer [01:51] int_64: are any of you fellows on the dev team? [01:51] ryah: yes [01:52] tbranyen: lol [01:52] inimino: hehe [01:52] int_64: eboyjr, im not surre about that [01:52] ekryski has joined the channel [01:52] int_64: Servers can be exploited [01:52] int_64: ryah : ok heh [01:52] ryah: int_64: there are probably holes in it - it's young software [01:52] ryah: int_64: bugs are found often [01:52] int_64: ok [01:52] eboyjr: okay i spoke too soon [01:52] int_64: not trying to come in here and rabble rouse [01:52] int_64: just curious [01:53] bluesmoon has joined the channel [01:53] ryah: but as i said - no security bugs that we know of.. [01:53] int_64: ok thanks [01:53] tbranyen: compared to the other options i wouldn't hesistate to wager that node is the most secure xD [01:53] int_64: ryah, do any major corporations run node.js? [01:53] jerrysv: int_64: the interpreter is v8 [01:53] int_64: tbranyen, really? why do you say that? [01:53] ryah: int_64: some [01:53] inimino: tbranyen ⋱ Compared to mature software like Apache httpd? [01:53] tbranyen: int_64: because i have no idea what i'm talking about [01:53] tmzt: linkedin is running mobile off of it now [01:54] jerrysv: yahoo is hiring for it [01:54] tbranyen: inimino: tbh don't those get hammered with exploits since they're so popular? [01:54] int_64: tmzt, nice! [01:54] int_64: thats good enough for me [01:54] tbranyen: makes them a nicer target [01:54] jerrysv: i hear there's some sort of OS using it, something from a small company called HP [01:54] int_64: ok ok [01:54] int_64: I get it :) [01:54] inimino: tbranyen ⋱ Bugs tend to decline over time, I'd guess node.js has more exploitable holes than software of similar size that is older. [01:54] tmzt: that isn't exactly exposed to the internet [01:54] tmzt: as a server [01:54] tbranyen: inimino: yeah it'd be pretty incredible if it didn't [01:54] tbranyen: actually i think it was talked about at defcon [01:55] jerrysv: inimino: but that also depends on how easy it is to do something stupid [01:55] tbranyen: some xss style attacks or something [01:55] SubStack: HP is that hot new calculator startup down in palo alto I think [01:55] zilch has joined the channel [01:55] jerrysv: eg: php and globals [01:55] c4milo1: how did mention xss? [01:55] jerrysv: substack: i thought they did printers [01:55] tmzt: but a large amount of code is written in js, hard to get things like formatting string validations issues there [01:55] SubStack: node makes for a pretty good calculator [01:55] tbranyen: SubStack: for serious [01:55] isaacs: inimino: i'm not convinced of any such tendency [01:56] tbranyen: super+n is node for me and then boom maths [01:56] isaacs: inimino: in my experience, bugs quite often increase or remain constant over time. [01:56] ryah: SubStack: unless you go over 53 bits:) [01:56] tmzt: could node.js work entirly without globals? [01:56] int_64: ryah, this might be answerabl;e by viewing the web ppage, but Il.l ask you anyway... [01:56] soapyillusions has joined the channel [01:56] tmzt: like make the global context read only [01:56] ryah: int_64: shoot [01:56] int_64: Is there any deeper server-client connection by using node.js than some other server lang, except for the fact they share syntax and semantics? [01:56] jerrysv: substack can answer that one :) [01:57] int_64: Like are there methodlologies that a node.js coder uses, that simply cant be done in any other platform? [01:57] ryah: int_64: no [01:57] isaacs: int_64: the http boundary is exactly the same for everyone. [01:57] int_64: gotcha [01:57] int_64: thanks [01:57] isaacs: int_64: but having the same syntax and language is huge. [01:57] SubStack: ryah: but at least we have bigint! [01:57] isaacs: int_64: there's a library SubStack wrote called "browserify" that can convert your node programs to run client-side [01:57] SubStack: although I don't think there is an arbitrary precision floating point module on npm yet [01:57] Emmanuel` has joined the channel [01:57] SubStack: it can convert /some/ node programs to run client-side [01:57] int_64: isaccs, oh! interesting [01:57] bluesmoon: at least in node.js you don't have php generating javascript that generates html using input parameters. fewer language boundaries == fewer chances of screwing up [01:58] SubStack: it tries [01:58] int_64: I can see some value in that [01:58] int_64: for sopme thing [01:58] isaacs: int_64: and you can use socket.io to send messages back and forth, or dnode over socket.io to call functions. [01:58] jerrysv: also, there's dnode -- rpc [01:58] int_64: that dont use databases I guess [01:58] int_64: ah ok [01:58] tjholowaychuk: int_64 i though that too it comes in quite handy even for utils n shit that you dont end up writing twice [01:58] jerrysv: and you can always expose the REPL [01:58] isaacs: int_64, SubStack: yeah, not ALL node programs, but a lot of stuff. [01:58] int_64: right [01:58] tjholowaychuk: when i first started with node i didn't think i would reuse much [01:58] jerrysv: .. 1 + 1; [01:58] catb0t: 2 [01:59] tmzt: SubStack: have you seen this? https://github.com/tristandunn/webkit-server [01:59] int_64: isaccs, ok [01:59] steffan_ has joined the channel [02:00] tmzt: int_64: you can use databases if you want [02:00] tmzt: most of the libraries are asynchronous, so you wait for the results then it calls acallback [02:00] pandeiro has joined the channel [02:01] int_64: tmzt, oh sure, I just meant about what was mentioned of converting server side JS to client side [02:01] int_64: hmm maybe you also mean that [02:01] tjholowaychuk: int_64 and you can have APIs like this that are nearly identical for the client/server https://github.com/visionmedia/superagent [02:01] int_64: That is pretty interesting to be able to atuomatically convert your server side app to the client [02:01] SubStack: tmzt: not sure what that is for [02:01] tmzt: you can, for validation for instance [02:01] tmzt: http://rzrsharp.net/2011/08/16/introducing-vows-bdd.html [02:01] tmzt: SubStack: they are using it to run tests on client-side html in node.js [02:02] tmzt: I don't know if it renders pages or not [02:02] CStumph has joined the channel [02:02] jerrysv: we test client-side in vows via node [02:02] jerrysv: need a couple of mocks, but it works fairly well [02:02] techwraith has left the channel [02:03] jerrysv: er, client side js [02:03] SubStack: tmzt: I have something much more capable in the works [02:03] tmzt: than rdp? [02:03] SubStack: for testing [02:08] eee_c has joined the channel [02:10] d0k has joined the channel [02:11] Sorella has joined the channel [02:11] zilch has joined the channel [02:11] yept has joined the channel [02:13] matyr_ has joined the channel [02:14] JacobSingh has joined the channel [02:15] CIA-65: libuv: 03Bert Belder 07spawnext * r8ed2ffb 10/ src/win/process.c : Windows: when searching path, look only for .com and .exe files - http://bit.ly/otwF5x [02:15] zilch has joined the channel [02:16] ecin has joined the channel [02:18] eee_c: Ouch. https://github.com/joyent/node/commit/0df08c6a breaks backwards compatibility with Buffer.writeUInt* methods :( [02:22] zilch has joined the channel [02:23] davidbanham has joined the channel [02:24] mscdex: eee_c: it changed again after that :-) [02:24] mscdex: eee_c: but for good this time [02:24] eee_c: Yah, but the boolean third parameter stuck (instead of the string). [02:25] _sorensen_ has joined the channel [02:26] eee_c: Gonna have to add compatibility layer to send in string or boolean argument depending on the node version :-\ [02:27] mscdex: eee_c: yeah, it's unfortunate that there was a release before the last change was made [02:28] mscdex: eee_c: but the method names changed, so the booleans shouldn't be confused now [02:29] eee_c: True, but Buffer.writeUInt32 still exists but with a different signature now. [02:29] mscdex: it shouldn't.... [02:29] mscdex: not in master anyway [02:30] tk has joined the channel [02:30] mscdex: in 0.5.4 it did switch to boolean for third argument [02:30] zilch has joined the channel [02:31] mscdex: eee_c: but hey, 0.5.x is an unstable version for a reason ;-) [02:31] eee_c: mscdex: true :) [02:32] eee_c: mscdex: https://github.com/joyent/node/blob/master/lib/buffer.js#L869 (still in master) [02:32] jetienne_ has joined the channel [02:33] mscdex: eee_c: right, but as you can see, it's private and not exported :-) [02:34] ChrisPartridge has joined the channel [02:34] slifty has joined the channel [02:35] eee_c: mscdex: Ah, gotcha. Thanks, I had missed that. [02:35] zilch has joined the channel [02:35] pives has joined the channel [02:35] smus has joined the channel [02:41] achiu has joined the channel [02:44] dgathright has joined the channel [02:46] davidban_ has joined the channel [02:47] zilch has joined the channel [02:48] clifton has joined the channel [02:48] boehm has joined the channel [02:51] nodejs_noob has joined the channel [02:51] zilch has joined the channel [02:56] davidbanham has joined the channel [02:57] zilch has joined the channel [02:58] langworthy has joined the channel [02:59] willwhite has joined the channel [02:59] hippich has left the channel [03:01] jeromegn has joined the channel [03:02] jtsnow has joined the channel [03:04] elifou has joined the channel [03:05] elifou: if i want to profile my application and run node --prof script.js on my script ... what do i do next? [03:06] zilch has joined the channel [03:06] elifou: or rather are there any good guis for viewing the prfile? [03:06] jerrysv: elifou: expresso and vows both output coverage maps [03:08] Knifed has joined the channel [03:09] elifou: jerrysv: do you recommend one? i can't find documentation on it for vows. [03:09] jerrysv: elifou: via vows, instrument with node-jscoverage, and run --cover-plain or --cover-html [03:10] elifou: jerrysv: thx. i'll check that out. [03:10] zilch has joined the channel [03:10] jerrysv: elifou: vows --help will show you the options, but you still need to instrument [03:13] Sazpaimon__ has joined the channel [03:15] bluesmoon: when trying to install the zmq package, npm tells me that package libzmq was not found. [03:16] bluesmoon: how do I find out where it's looking? [03:16] bluesmoon: because libzmq is installed in /usr/local/lib [03:16] zilch has joined the channel [03:16] achiu has joined the channel [03:19] dgathright has joined the channel [03:20] jj0hns0n has joined the channel [03:21] EyePulp has joined the channel [03:21] zilch has joined the channel [03:21] bluesmoon: nevermind, figured it out [03:22] hij1nx has joined the channel [03:25] jtsnow has joined the channel [03:26] slifty has joined the channel [03:27] ryanfitz_ has joined the channel [03:28] Aco- has joined the channel [03:28] zilch has joined the channel [03:30] eee_c has joined the channel [03:30] slifty has joined the channel [03:30] beawesomeinstead has joined the channel [03:30] zilch has joined the channel [03:31] jerrysv: indexzero: ping [03:35] zilch has joined the channel [03:35] matyr has joined the channel [03:36] Spion_ has joined the channel [03:39] framlin has joined the channel [03:39] zilch has joined the channel [03:39] ditesh|cassini has joined the channel [03:40] Circlefusion has joined the channel [03:41] tim_smart has joined the channel [03:41] TheEmpath2 has joined the channel [03:41] TheEmpath2: hail nodelings [03:42] kenperkins has joined the channel [03:42] Swizec has joined the channel [03:42] zilch has joined the channel [03:43] ryanallenbobcat has joined the channel [03:43] luke` has joined the channel [03:44] kriszyp has joined the channel [03:46] kaarlo has joined the channel [03:46] neilk_ has joined the channel [03:46] luke` has joined the channel [03:48] luke`_ has joined the channel [03:48] Draggor: hail satan! I mean TheEmpath2! [03:50] tim_smart: o/ [03:50] zilch has joined the channel [03:50] Draggor: \o [03:52] jj0hns0n has joined the channel [03:53] mynyml has joined the channel [03:55] matyr_ has joined the channel [03:55] zilch has joined the channel [04:00] zilch has joined the channel [04:00] matyr has joined the channel [04:01] tylerstalder has joined the channel [04:03] fmeyer has joined the channel [04:04] smus has joined the channel [04:06] ryanfitz has joined the channel [04:08] hydrozen: how can i send http requests in node? is it built in or should i use a library? [04:08] BulletBob has joined the channel [04:09] zilch has joined the channel [04:10] mikey_p: hydrozen: Yes. [04:10] hydrozen: http.client.request() it seems [04:11] mikey_p: no, you want http://nodejs.org/docs/v0.4.11/api/http.html#http.request [04:11] hydrozen: there's also this.. https://github.com/mikeal/request [04:11] meso has joined the channel [04:11] davidbanham has joined the channel [04:11] mikey_p: yup, that's why the answer to your question is just "yes" [04:11] zilch has joined the channel [04:11] ptlo has joined the channel [04:12] amerine has joined the channel [04:13] tylerstalder has joined the channel [04:15] zilch has joined the channel [04:15] kenperkins has joined the channel [04:16] tristanseifert has joined the channel [04:17] slifty has joined the channel [04:17] wookiehangover has joined the channel [04:18] zilch has joined the channel [04:19] eee_c1 has joined the channel [04:20] slajax has joined the channel [04:21] jtsnow has joined the channel [04:22] marcosvm has joined the channel [04:24] slifty has joined the channel [04:24] perezd has joined the channel [04:24] zilch has joined the channel [04:24] JoshC1 has joined the channel [04:29] zilch has joined the channel [04:29] clifton: use mikael's library [04:30] clifton: its really nice [04:31] ngs has joined the channel [04:31] torsd has joined the channel [04:32] jmoyers has joined the channel [04:32] matyr has joined the channel [04:33] elifou`` has joined the channel [04:33] sridatta has joined the channel [04:34] achiu has joined the channel [04:34] avalanche123 has joined the channel [04:34] bosky101 has joined the channel [04:37] zilch has joined the channel [04:38] bosky101 has joined the channel [04:39] EyePulp has joined the channel [04:39] MUILTFN has joined the channel [04:42] openpercept has joined the channel [04:42] zmbmartin has joined the channel [04:42] avalanche123 has joined the channel [04:42] zilch has joined the channel [04:43] neilk_ has joined the channel [04:43] slifty has joined the channel [04:44] tmpvar has joined the channel [04:45] androoid has joined the channel [04:46] Yoric has joined the channel [04:47] Nexxy has joined the channel [04:47] Nexxy has joined the channel [04:48] maushu_: bad endian value? wat. [04:49] elijah|home: can anyone recommend any good getting started guides for node? [04:49] zilch has joined the channel [04:49] StanlySoManly: anyone still alive? trying to shake out why this isn't working: http://pastebin.com/yaPejPbZ i can run the same script in the directory where i installed node/npm, but outside of that directory it doesn't work. not sure what sort of config can only be seen in that dir. any ideas? [04:50] ChrisPartridge: StanlySoManly: node_modules ? [04:50] StanlySoManly: ChrisPartridge: not sure what you're asking. sorry. [04:50] bosky101 has joined the channel [04:51] maushu_: StanlySoManly, http://nodejs.org/api/modules.html [04:52] StanlySoManly: my bad that i forgot this info: node: 0.5.4 and npm 1.0.24 ... is the 0.4.11 doc close enough? [04:52] zilch has joined the channel [04:53] ekryski has joined the channel [04:53] maushu_: StanlySoManly, my bad: http://nodejs.org/docs/v0.5.4/api/modules.html [04:55] rurufufuss has joined the channel [04:55] stonebranch has joined the channel [04:56] zilch has joined the channel [04:56] Nexxy: StanlySoManly, your require may not be working properly [04:57] maushu_: Woah, big change on the endianess option. [04:58] maushu_: Sometimes I wonder if ryah does this on purpose. [04:58] StanlySoManly: Nexxy: seems like that's very much what's breaking, but not sure why. i'm looking through the docs that maushu_ pointed me at, but so far i'm finding why it's broken, but not yet how to fix it. :) [04:58] Nexxy: the file in local/ should be requiring ../jsdom if it resides in ../ [04:59] Nexxy: if jsdom is in node_modules [04:59] Nexxy: then it may be a paths issue [05:00] Bogh has joined the channel [05:00] zilch has joined the channel [05:00] Nexxy: where is tj when I need personal library support ;< [05:01] joshthecoder has joined the channel [05:01] StanlySoManly: Nexxy: i was hoping that i can find a way to not have to reference a fixed path for modules since they should all hang off of ~/local anyways. i want to be able to run something like this (only with stuff that actually does something useful) from different places in my filesystem. [05:02] Nexxy: put it in node_modules [05:02] matyr has joined the channel [05:02] Nexxy: jsdom that is [05:03] StanlySoManly: Nexxy: it is, I think... ~/local/node_modules has jsdom -> ../lib/node_modules/jsdom [05:04] StanlySoManly: or maybe there's something huge that I'm missing? definitely a possibility. [05:04] Nexxy: http://nodejs.org/docs/v0.4.11/api/all.html#loading_from_node_modules_Folders [05:05] bosky101 has joined the channel [05:07] binaryjohn has joined the channel [05:07] StanlySoManly: Nexxy: yeah. that's exactly what i was looking at before that describes why it's not working, but doesn't tell me how i can "fix" it. if i want require('bar.js') in /home/ry/projects/foo.js and have node installed in /home/ry/local then i'm hosed. [05:07] zilch has joined the channel [05:07] eventualbuddha has joined the channel [05:08] domo1 has joined the channel [05:08] domo1: hey is there a way i can dynamically check if a function exists and then call it in js? for example in php I could do something like $method_name = 'my_method'; if (method_exists($method_name)) { $method_name(); } [05:09] clifton: function = {functionThatExists: function() { console.log('ya im here');}}; [05:09] clifton: functions = {functionThatExists: function() { console.log('ya im here');}}; [05:09] StanlySoManly: Nexxy: am i describing my problem well enough? i could dive into specifics if that would be helpful, but i thought probably this isn't the first time someone's tripped on this. [05:09] clifton: then if(functions['functionThatExists]) functions['functionThatExists'](); [05:10] domo1: ah ok [05:10] zilch has joined the channel [05:10] domo1: cool cool [05:10] domo1: thanks [05:10] clifton: np [05:11] AAA_awright: domo1: Functions evaluate to true, or undefined if the variable you're using doesn't exist [05:11] bosky101 has joined the channel [05:11] tristanseifert has joined the channel [05:12] Bogh has joined the channel [05:13] smus has joined the channel [05:13] kawaz_home has joined the channel [05:13] domo1: one more question - whats the best way to define a class and export it in node? what javascript style should i use.. ie. prototype, using a function, object literal [05:14] materialdesigner has joined the channel [05:15] zilch has joined the channel [05:16] bosky101 has joined the channel [05:18] kenperkins: here's a good example of function checking [05:18] kenperkins: http://www.clipboard.com/clip/LR3p99HmAllnLILR [05:18] kenperkins: you're probably on the node side tho, eh? [05:18] domo1: yup [05:18] kenperkins: :) my bad [05:19] Spion has joined the channel [05:19] zilch has joined the channel [05:19] clifton: exports.MyClass = function MyClass(arg) { this.arg = arg; }; MyClass.prototype.getArg = function () { return this.arg} [05:20] domo1: AAA_awright: so does that mean i should do if (typeof(functions['my_function']) != 'undefined')) { [05:20] domo1: ? [05:20] clifton: then in another file, var MyClass = require('./my_class_file').MyClass, my_obj = new MyClass('something'); [05:20] bosky101 has joined the channel [05:21] clifton: then my_obj.getArG() should return 'something' [05:21] zilch has joined the channel [05:21] clifton: but thats off the top of my head, might have something wrong in there [05:21] clifton: have fun with it, good night [05:21] skipper_ has joined the channel [05:23] kenperkins: http://www.clipboard.com/clip/LR3p7nFFAllnPAX2 [05:23] kenperkins: (it's about nodejs on an app built with nodejs) :D [05:23] random123: Stallman's a goddamn nut case [05:24] AAA_awright: domo1: If you want to make sure something is a function, use typeof variable=='function' [05:24] domo1: ohh i see [05:24] clifton: well, === [05:24] domo1: so cant I just test for that and im safe to call it? [05:24] clifton: but ya that works for unexpected types [05:25] foxkid has joined the channel [05:25] domo1: like if i know the type is a function, then no need to test for anything else [05:25] domo1: right? [05:25] AAA_awright: domo1: I use typeof() too but just know that it isn't a function, typeof is a keyword and it's evaluating the type of "(functions['my_function'])" [05:26] AAA_awright: domo1: Yes, if it's undefined, typeof... well: [05:26] AAA_awright: v8: typeof undefined [05:26] AAA_awright: Who killed v8bot [05:27] slifty has joined the channel [05:27] zinkem has joined the channel [05:27] AAA_awright: typeof someUndefinedVar == 'undefined' [05:27] AAA_awright: typeof function(){} == 'function' [05:27] zilch has joined the channel [05:27] domo1: I understand typeof [05:27] clifton: https://developer.mozilla.org/en/JavaScript/Reference/Operators/Special/typeof [05:28] clifton: oh [05:28] domo1: but I'm asking if its safe to just check if typeof is 'function' then im safe to call it [05:28] clifton: its not reliable for most objects though [05:28] domo1: or would there be any other "gotchas" [05:28] DennisRasmussen has joined the channel [05:29] AAA_awright: domo1: Yeah, if the type is a function, then you can call it as a function [05:29] AAA_awright: There's no gotchas for that [05:30] domo1: and what clifton said? [05:30] AAA_awright: There are bizarre gotchas for determining if a key exists or not [05:30] AAA_awright: Or rather, if you can lookup a key and not get an error [05:30] SamuraiJack has joined the channel [05:31] AAA_awright: I forget exactly but I had trouble trying to do something as simple as see if object.someProperty and guarentee no errors for an arbritrary "object" [05:32] zilch has joined the channel [05:33] Jarrod- has joined the channel [05:33] AAA_awright: Oh I remember, it was testing to see if object.someProperty was a string [05:33] AAA_awright: Because object&&object.someProperty still returns false if object.someProperty=="" [05:34] AAA_awright: (specifically, it returns "" which evaluates to false) [05:35] Fuzion has joined the channel [05:35] AAA_awright: It's tricky because it's legal to do this: [05:35] AAA_awright: var a="Some string"; a.property="substring"; [05:36] fuzion_ has joined the channel [05:36] fmeyer has joined the channel [05:37] Jarrod_ has joined the channel [05:37] domo1: ohh I see [05:37] KingJamool has joined the channel [05:37] bluesmoon: has anyone run node.js on Amazon EC2? [05:38] k1ttty has joined the channel [05:38] domo1: bluesmoon: thats where I run mine, but I'm not sure what you're asking exactly [05:38] AAA_awright: That's just hell when you're defining properties on native types like strings and numbers, but it's really cool when you're defining properties on functions [05:38] bluesmoon: did you install it from source tarball? [05:39] bluesmoon: and did you install it to /usr/local or /usr? [05:39] zilch has joined the channel [05:39] domo1: uh, i installed from source [05:39] AAA_awright: var func=function(a,b){return arguments.callee.paths;}; func.paths="123"; func()=="123"; [05:39] Fuzion: quit [05:39] domo1: I think.. did I? I might of used apt-get (ubuntu server) [05:39] domo1: I really don't remember [05:39] bluesmoon: I ran into all sorts of issues with paths when I installed to /usr/local [05:39] domo1: like what [05:40] bluesmoon: ah, ok. I'm on the Amazon linux which uses yum [05:40] domo1: ohh [05:40] bluesmoon: no package for node on yum [05:40] balupton has joined the channel [05:40] bluesmoon: and compiling it takes ages [05:40] domo1: it doesnt take that long at all [05:40] domo1: I compiled it a few times [05:40] domo1: when I was switching versions for library depens [05:41] AAA_awright: domo1: Oh, this is the gotcha: typeof null === 'object', but you can't dereference null otherwise you get an error. [05:41] bluesmoon: on the micro instance it does :) [05:41] Peniar has joined the channel [05:41] bluesmoon: AAA_awright: just use YUI to figure out the type of a variable in JavaScript [05:44] stisti has joined the channel [05:45] zilch has joined the channel [05:45] broofa has joined the channel [05:45] AAA_awright: http://wtfjs.com/ this needs to be pinned to the /topic [05:45] domo1: AAA_awright: thanks again [05:46] AAA_awright: domo1: Thanks for putting up with me trying to remember the gotcha :p [05:46] clifton: http://bonsaiden.github.com/JavaScript-Garden/#types.typeof [05:46] clifton: that very well explains the typeof operator [05:46] clifton: and a lot of about some of the weird parts of javascript [05:47] clifton: definitely required reading for anyone learning js as a language [05:47] clifton: night [05:47] rook2pawn: ACTION met issacs, ryah, mikeal, visnup! [05:47] rook2pawn: ACTION is at KO drink up [05:48] domo1 has left the channel [05:48] zilch has joined the channel [05:48] asabil has joined the channel [05:51] cpetzold has joined the channel [05:51] cpetzold: Is there a way to do a quiet save in mongoose? [05:51] cpetzold: where it doesn't call pre('save')? [05:51] zilch has joined the channel [05:52] amerine has joined the channel [05:53] markdaws has joined the channel [05:53] kawaz_home has joined the channel [05:54] zilch has joined the channel [05:56] kwk has joined the channel [05:56] kwk: Hi there! [05:57] zilch has joined the channel [05:57] kwk: Which one of theses is the most stable MySQL binding for node? https://gist.github.com/1153397 [05:57] [[zz]] has joined the channel [05:59] AAA_awright: kwk: I use felixge's [06:00] AAA_awright: It's simple enough and hasn't failed me [06:00] kwk: OK, that's good to know [06:01] zilch has joined the channel [06:03] zilch has joined the channel [06:04] themiddleman has joined the channel [06:04] xat- has joined the channel [06:05] stephank has joined the channel [06:07] ditesh|cassini has joined the channel [06:08] zilch has joined the channel [06:10] achiu has joined the channel [06:10] zanes has joined the channel [06:10] zilch has joined the channel [06:11] hellp has joined the channel [06:14] reid has joined the channel [06:14] matyr has joined the channel [06:15] zilch has joined the channel [06:16] zeissoctopus has joined the channel [06:16] Nuck: Is it possible to send a stack trace without dying? [06:18] unlink has joined the channel [06:18] unlink has joined the channel [06:19] Nuck: Is it possible to get an answer at this time of night? [06:20] AAA_awright: Nuck: Like (new Error).stack ? [06:20] kwk has left the channel [06:20] zilch has joined the channel [06:20] Nuck: I want the shit that throwing spews [06:20] Nuck: But I want it emailed to me :P [06:20] Nuck: (I can handle the emailing with some node-mailer or something) [06:20] AAA_awright: Nuck: Like process.on('error', ...) ? [06:21] Nuck: Well, no, its for my overall error handler shit >_> [06:21] Draggor: Nuck: http://nodejs.org/docs/v0.4.11/api/all.html#event_uncaughtException_ [06:21] Nuck: I throw to the error code I've got [06:21] Nuck: Well, not throw [06:21] Nuck: But I do return toErrIsHuman(err, req, res) [06:22] Nuck: I have it send the error.message [06:22] squeese has joined the channel [06:22] Nuck: Do I just send myself error.stack? [06:22] AAA_awright: Yeah [06:22] Nuck: v8> (new Error).stack [06:22] AAA_awright: Someone killed v8bot [06:22] Nuck: v8: (new Error).stack [06:22] Nuck: v8> true [06:22] zilch has joined the channel [06:22] Nuck: shit, it's down [06:22] Draggor: looks like this: [06:22] Draggor: 'Error\n at [object Context]:1:3\n at Interface. (repl.js:161:22)\n at Interface.emit (events.js:64:17)\n at Interface._onLine (readline.js:153:10)\n at Interface._line (readline.js:408:8)\n at Interface._ttyWrite (readline.js:585:14)\n at ReadStream. (readline.js:73:12)\n at ReadStream.emit (events.js:81:20)\n at ReadStream._emitKey [06:22] Draggor: (tty_posix.js:307:10)\n at ReadStream.onData (tty_posix.js:70:12)' [06:23] Nuck: AAA_awright: I'll bring 'er back [06:23] matyr has joined the channel [06:23] AAA_awright: Time to type "node" in a termianl :p [06:23] Nuck: And find out why she died. [06:23] Draggor: yakuake + repl languages == win [06:23] Nuck: Well, no stack trace there [06:23] v8bot_ has joined the channel [06:23] Draggor: node, clisp, and ghci are typed a lot [06:23] Draggor: for now, the sleeps [06:23] Nuck: v8: (new Error).stack [06:24] v8bot_: Nuck: at Socket._onReadable (net.js:658:51) [06:24] AAA_awright: Nuck: You have e.{message,arguments,stack,type} [06:24] v8bot_: Nuck: at Socket._onReadable (net.js:658:51) [06:24] robotmay has joined the channel [06:24] v8bot_: Nuck: at Socket._onReadable (net.js:658:51) [06:24] v8bot_: Nuck: at Socket._onReadable (net.js:658:51) [06:24] v8bot_: Nuck: at Socket._onReadable (net.js:658:51) [06:24] Nuck: v8bot_ is a LAGGING [06:24] v8bot_: Nuck: [Output truncated...] [06:24] Nuck: LOL [06:24] AAA_awright: where e instanceof Error [06:24] Nuck: That was fun. [06:24] Draggor: not lagging, throttled [06:24] Nuck: Draggor: Ah. [06:25] Draggor: though its throttle could probably be better handled [06:25] Draggor: freenode allows a burst of 5 messages in a second, then 2/second until you open up the window or osme such [06:25] Draggor: I have it configured on a bot somewhere [06:25] Draggor: sleeps for reals now though [06:25] andrewfff has joined the channel [06:25] Nuck: Draggor:You should go implement that for v8bot [06:26] cryptic has joined the channel [06:26] Nuck: I'd use that fork [06:27] Nuck: wow [06:27] Nuck: v8bot original has been gone over 5 weeks >_> [06:27] zilch has joined the channel [06:27] Tobsn has joined the channel [06:28] sixty7ideas has joined the channel [06:29] AAA_awright: Name it v9bot or something [06:29] zilch has joined the channel [06:31] sixty7ideas has left the channel [06:32] garrensmith: morning all [06:32] sgimeno has joined the channel [06:32] Emmanuel`: afternoon [06:32] AAA_awright has joined the channel [06:32] zilch has joined the channel [06:33] craigbarnes has left the channel [06:33] dgathright has joined the channel [06:35] avalanche123 has joined the channel [06:35] andree has joined the channel [06:35] zilch has joined the channel [06:36] jhurliman has joined the channel [06:37] DrMcKay has joined the channel [06:38] ph^ has joined the channel [06:39] zmbmartin: I am using substring to truncate some text. Can I do that so it is either 200 chars or 3 \r? [06:42] zilch has joined the channel [06:42] matyr has joined the channel [06:44] DrMcKay: zmbmartin: what do you mean? [06:45] _derferman has joined the channel [06:45] Nexxy has joined the channel [06:45] zmbmartin: DrMcKay: I want to truncate at 200 chars or the 3rd return (line) whichever is first. [06:46] matyr_ has joined the channel [06:46] zmbmartin: I have the chars working just not sure how to do it at return [06:46] dnjaramba has joined the channel [06:47] guidocalvano_ has joined the channel [06:47] DrMcKay: Oh, OK, that seems simple [06:47] guidocalvano_ has left the channel [06:48] robotmay has joined the channel [06:49] DrMcKay: zmbmartin: first find those 3 \rs using indexOf, like pos = str.indexOf("\r\r\r"), then if pos < 200, use str = str.substring(0, pos) and if pos > 200, use str = str.substring(0, 200) [06:50] TomY has joined the channel [06:50] AAA_awright: I think it's the 3rd instance, not just in seqeuence [06:50] DrMcKay: zmbmartin: I think... I haven't had coffee yet, so I may be terribly wrong [06:51] GlynnR has joined the channel [06:51] nodokodo has joined the channel [06:51] AAA_awright: zmbmartin: content.substr(0,200).replace(/somefancyregex/); [06:51] __class__ has joined the channel [06:52] zilch has joined the channel [06:52] matyr has joined the channel [06:52] AAA_awright: This is one of those things that pure C is far better at doing [06:52] davidbanham: zmbmartin: Completely untested, may be horribly flawed - http://pastebin.com/SB5aYjDq [06:53] matyr__ has joined the channel [06:53] temp01 has joined the channel [06:54] AAA_awright: for(var i=0,j=0; i = [07:18] matyr has joined the channel [07:18] mrtrosen has joined the channel [07:18] blup has joined the channel [07:19] bluesmoon: butu5: I think you need exports, not export [07:19] butu5: ohh sorry for spell mistake.. didn't notice I am missing s [07:19] bluesmoon: and it's an object, not a keyword [07:19] butu5: hmmm [07:19] DrMcKay has joined the channel [07:20] zilch has joined the channel [07:20] AvianFlu has joined the channel [07:22] nodokodo has joined the channel [07:23] JakeyChan has joined the channel [07:24] louissmit has joined the channel [07:26] djcoin has joined the channel [07:26] framlin: yep you assign a value to a varaiable with name exports [07:26] zilch has joined the channel [07:27] nordicdyno has joined the channel [07:27] Fuu` has joined the channel [07:29] NetRoY has joined the channel [07:30] uchuff has joined the channel [07:30] nordicdy_ has joined the channel [07:31] burningdog has joined the channel [07:32] [AD]Turbo has joined the channel [07:32] zilch has joined the channel [07:33] nordicdyno has joined the channel [07:34] Charuru has joined the channel [07:35] zilch has joined the channel [07:36] Malar has joined the channel [07:36] kriszyp has joined the channel [07:38] zilch has joined the channel [07:40] alek_br has joined the channel [07:41] Malar has joined the channel [07:42] DrMcKay: ACTION wrote his first IRC bot in node.js and is very proud [07:43] zilch has joined the channel [07:44] AvianFlu: DrMcKay ++ [07:44] matyr has joined the channel [07:44] DrMcKay: AvianFlu: :). It'll be done today, for simple things, like linking to node.js docs, etc. [07:44] cosmincx has joined the channel [07:44] AvianFlu: what lib did you use? [07:45] DrMcKay: https://github.com/martynsmith/node-irc [07:45] brimster has joined the channel [07:47] pickels has joined the channel [07:47] zilch has joined the channel [07:47] fangel has joined the channel [07:50] randomn1c has joined the channel [07:50] zilch has joined the channel [07:52] DrMcKay: hell yeah, routing done [07:52] DrMcKay: do I have to talk to someone if I want to setup a bot here? [07:52] butu5: DrMcKay: ur github repostitory? [07:52] DrMcKay: wait, I will set it up and push in few minutes :) [07:52] butu5: :) ok np [07:53] DrMcKay: (also, it can only ping people currently, I'm writing modules now) [07:53] dob_ has joined the channel [07:53] butu5: can I implement few thing for u? on github [07:53] DrMcKay: yeah, sure, I'll be very happy :) [07:54] zilch has joined the channel [07:54] mehlah has joined the channel [07:55] AvianFlu: node-irc is boss [07:56] AvianFlu: and no, this room is open to bots as long as the bots aren't really annoying [07:56] DrMcKay: AvianFlu: it's awesome! [07:56] achiu has joined the channel [07:56] DrMcKay: Ok, thanks [07:56] DrMcKay: repo: https://github.com/mmalecki/dmkbot [07:56] zilch has joined the channel [07:56] AvianFlu: I built http://github.com/hookio/irc with node-irc [07:57] DrMcKay: AvianFlu: nice library [07:57] nodokodo has joined the channel [07:58] AvianFlu: thanks [07:58] AvianFlu: irc + ipc = win [07:58] fyskij has joined the channel [07:59] DrMcKay: AvianFlu: :) [07:59] DrMcKay: so, something like !doc link http#get to link to docs is OK? [07:59] jetienne_ has joined the channel [08:00] ccare has joined the channel [08:01] thalll has joined the channel [08:01] jomoho has joined the channel [08:02] robhawkes has joined the channel [08:02] AvianFlu: yeah, just don't make the output 15 IRC messages, you know? [08:02] AvianFlu: it has to be reasonably unobtrusive [08:02] robotmay has joined the channel [08:03] DrMcKay: I think link will fit into one message [08:04] Wizek has joined the channel [08:04] DrMcKay: wut? is fb.com domain for FB employees? [08:05] tbassetto has joined the channel [08:06] mpavel has joined the channel [08:06] nordicdy_ has joined the channel [08:07] achiu has joined the channel [08:07] mc_greeny has joined the channel [08:09] randomn1c: afaik yeah, fb.com is for employees. [08:09] andree has joined the channel [08:10] DrMcKay: randomn1c: thanks [08:10] AvianFlu has joined the channel [08:10] bru_ has joined the channel [08:10] CIA-65: libuv: 03Igor Zinkovsky 07pound-fixes * rdcf8770 10/ test/benchmark-pound.c : Fix pipe-pound and clean-up - http://bit.ly/oFboc3 [08:12] mc_greeny has joined the channel [08:12] bicranial has joined the channel [08:12] socketio\test\78 has joined the channel [08:13] Shrink has joined the channel [08:14] seebees has joined the channel [08:14] socketio\test\37 has joined the channel [08:14] FireFly has joined the channel [08:16] jvduf has joined the channel [08:17] clu3 has joined the channel [08:17] clu3_ has joined the channel [08:18] JakeyChan has joined the channel [08:18] matyr_ has joined the channel [08:19] JakeyChan: why I can not install module with npm [08:19] JakeyChan: npm install underscore [08:20] AvianFlu has joined the channel [08:20] kasadu has joined the channel [08:20] JakeyChan: failed to fetch https://registry.npmjs.org/underscore/-/underscore-1.1.7.tgz [08:20] DrMcKay: JakeyChan: npm --version? [08:21] escii has joined the channel [08:21] JakeyChan: 1.0.25 [08:21] seivan has joined the channel [08:22] DrMcKay: oh, it should work [08:22] DrMcKay: could you please run it like npm install underscore --verbose and paste the output somewhere [08:23] JakeyChan: --verbose ? [08:23] JakeyChan: what's it ? [08:23] matyr has joined the channel [08:23] JakeyChan: no problem [08:24] stonebranch has joined the channel [08:25] radiodario has joined the channel [08:27] MUILTFN has joined the channel [08:28] nickbruun has joined the channel [08:28] JoshC1 has joined the channel [08:29] JakeyChan: it works ... [08:29] JakeyChan: strange [08:29] AvianFlu has joined the channel [08:29] DrMcKay: JakeyChan: it sometimes just doesn't work, it seems to be rather related to host than npm [08:29] sfoster has joined the channel [08:29] sylvinus has joined the channel [08:30] JakeyChan: DrMcKay, yes, it sometimes [08:30] fangel has joined the channel [08:31] garrensmith: DrMcKay: what was that cool bash command you did to generate a random secret? [08:31] bicranial has joined the channel [08:31] navaru has joined the channel [08:31] dmkbot1 has joined the channel [08:32] DrMcKay: dd if=/dev/random bs=1 count=whatever | base64 [08:32] sechrist has joined the channel [08:32] JakeyChan: I downloaded the package of node module, how to install it ? [08:32] Esteb has joined the channel [08:32] JakeyChan: npm install ? [08:33] dmkbot1 has joined the channel [08:33] DrMcKay: !doc link http#get [08:33] DrMcKay: wut? [08:34] JakeyChan: ? [08:34] DrMcKay: JakeyChan: downloaded? [08:34] DrMcKay: not using npm? [08:34] JakeyChan: git clone [08:34] JakeyChan: from gitthub [08:34] JakeyChan: no, because I want to learn it [08:34] AAA_awright: JakeyChan: You just use it [08:34] AAA_awright: uh [08:34] AAA_awright: JakeyChan: Throw it in a directory called node_modules, see the Node.js documentation [08:34] sebastia_ has joined the channel [08:35] JakeyChan: but it dependent many other modules. [08:35] AAA_awright: Does it have Git submodules? [08:35] JakeyChan: I install the other modules one by one ? [08:35] JakeyChan: no .. [08:35] AAA_awright: JakeyChan: Which package is this [08:36] AAA_awright: That's a bug, not all of us use npm [08:36] JakeyChan: package ? what's your mean? [08:36] AAA_awright: JakeyChan: Collection of modules [08:36] AAA_awright: Which repository is this [08:37] blup has joined the channel [08:37] JakeyChan: repository? you mean git or svn ? [08:37] luke` has joined the channel [08:38] AvianFlu has joined the channel [08:38] AAA_awright: JakeyChan: Yes [08:38] AAA_awright: Which package? I downloaded the package of node module, how to install it ? [08:38] JakeyChan: bones [08:38] dmkbot1 has joined the channel [08:38] JakeyChan: sorry [08:38] JakeyChan: https://github.com/developmentseed/bones [08:38] shiawuen has joined the channel [08:39] DrMcKay: !doc link http#get [08:39] DrMcKay: what the hell? [08:39] AAA_awright: kkaefer: Can you provide the Git repositories you use for that package? [08:40] dmkbot1 has joined the channel [08:41] AAA_awright: There has to be a better way to do this because people not providing Git links just irritates the crap out of me [08:41] JakeyChan: :) [08:41] JakeyChan: :) [08:41] dmkbot has joined the channel [08:41] DrMcKay: !doc link http#get [08:42] DrMcKay: !doc link http#get [08:42] garrensmith: DrMcKay: [08:42] DrMcKay: !ping [08:42] garrensmith: DrMcKay: thanks :-) [08:42] DrMcKay: damn you, dmkbot! [08:43] garrensmith: !ping [08:43] DrMcKay: gerrensmith: :) [08:43] DrMcKay: it works on my machine :/ [08:43] garrensmith: lol [08:44] hellp has joined the channel [08:44] AAA_awright: Because you're going to have to look at package.json, then go to http://search.npmjs.org/ with a Javascript-enabled browser (Seriously, people? This is why we moved the Javascript SERVER SIDE), then search for the package, then hope it has a Git clone URL, then clone it into node_modules [08:45] dmkbot has joined the channel [08:45] AAA_awright: With the correct directory name, you can't clone it as node-mysql if the package name is mysql. [08:45] rhaen: hej [08:45] DrMcKay: !ping [08:45] tuhoojabotti: .ping [08:45] tuhoojabotti: No wait, pong! [08:46] tuhoojabotti: I'm pretty good at this game. [08:46] rhaen: 1 packets transmitted, 1 received, 0% packet loss, time 0ms [08:46] DrMcKay: lol :D [08:46] k1ttty has joined the channel [08:46] DrMcKay: no, seriously, this is weird, it works at localhost [08:46] DrMcKay: I'm gonna get him some console.log, bots love console.logs [08:46] rhaen: works for me, too. [08:47] rhaen: haha! [08:47] DrMcKay: oh, silly me [08:47] DrMcKay: config :/ [08:47] JakeyChan: oooooo :( [08:47] Glenjamin: AAA_awright: can't you just do "npm link" and let it install the deps for you? [08:47] JakeyChan: npm install express [08:47] AAA_awright: JakeyChan: Like "mirror" doesn't even have a Git URL published [08:47] JakeyChan: npm ERR! registry error parsing json [08:47] JakeyChan: npm ERR! SyntaxError: Unexpected token ILLEGAL [08:48] AAA_awright: Glenjamin: Some of us don't use npm [08:48] dmkbot has joined the channel [08:48] rhaen: AAA_awright: hm, what's the alternative? [08:48] DrMcKay: !ping [08:48] dmkbot: DrMcKay, pong [08:48] DrMcKay: hell yeah! [08:48] Glenjamin: and some people don't dev their modules on github [08:48] tuhoojabotti: pong [08:48] DrMcKay: !doc link http#get [08:48] dmkbot: http://nodejs.org/docs/v0.5.4/api/http.html#http.get [08:49] JakeyChan: AAA_awright: what do you use ? [08:49] JakeyChan: to install package ? [08:49] AAA_awright: git clone [08:49] JakeyChan: and put the folder into ~/node_modules? [08:49] rhaen: AAA_awright: just cloning them in the right place? [08:50] AAA_awright: JakeyChan: You clone it into a node_modules directory under where your node.js app is [08:50] [[zz]] has joined the channel [08:50] AAA_awright: JakeyChan: Read the Node.js documentation [08:50] AAA_awright: It explains how it searches for modules [08:50] AAA_awright: rhaen: Yeah [08:51] JakeyChan: but I want the modules can be used by another app that I created :) [08:51] JakeyChan: share module :) [08:51] rhaen: AAA_awright: that's alot easier to track their progress, true :) [08:51] JakeyChan: :D [08:52] AAA_awright: Somehow npm positioned itself as able to do something new and unique, did it in a horrible way (global install path), even though Node.js could do local modules all along without any need for a package manager [08:52] mscdex: just so you know, you can do: npm install [08:52] AvianFlu: DrMcKay: +10 for just giving a docs link and not spitting out mad text! [08:52] AAA_awright: And the only package manager I've ever liked is portage, npm is no exception to my wrath of hatred of package managers and build systems [08:52] DrMcKay: AvianFlu: thanks :) [08:52] brainproxy: AAA_awright: tried Dist::Zilla? [08:53] Nuck: Goddamnit, node_mailer [08:53] mscdex: what the nuck [08:53] AAA_awright: brainproxy: Never heard of it [08:53] AAA_awright: http://bzfx.net/guru/ is my improved build system+package manager [08:53] rhaen: AAA_awright: I agree partially with you :) But the registry of modules is a nice thing in NPM! [08:53] brainproxy: AAA_awright: pluggable build system, built in perl/Moose [08:53] AvianFlu: lol nice mscdex, new catchphrase [08:54] AAA_awright: rhaen: You don't need it, we have URIs to use for idenyifying packages, and just use package.json to map module names => Git repository/etc [08:54] AAA_awright: Global namespaces are evil, I've learned, RDF has it right, use URIs to identify resources [08:54] mscdex: you can also do: npm install [08:54] AvianFlu: Nuck: what's up with node mailer [08:55] rhaen: AAA_awright: ah, right. I just makes it very easy to check for available modules (for me as newbie) [08:55] DrMcKay: fun fact: config/environment.js has 256 characters [08:56] AAA_awright: rhaen: Oh I see, as a directory of things, though the Node.js wiki already has something for that [08:56] bzinger has joined the channel [08:56] mscdex: fun fact: it's 5am and i'm hungry [08:56] rhaen: AAA_awright: yep, not everything is listed there but I see what you mean. [08:56] mscdex: :-D [08:57] junkee[] has joined the channel [08:57] Nuck: AvianFlu: Node_mailer won't npm install [08:57] randomn1c: 5am = American east coast? [08:57] Nuck: npm install mailer gives me issues on unpacking the tarball :/ [08:57] Glenjamin: your complaint about npm is that it globally installs? [08:57] rhaen: mscdex: hm, you are hungry? Just get something to eat :) [08:58] mscdex: npm install food [08:58] Nuck: mscdex: It's 2 AM and I ate asstons about an hour ago. [08:58] mscdex: is that an SI unit? [08:58] Nuck: isaac should make NPM edible. [08:58] rhaen: mscdex, try -g if it doesn't work :) [08:58] Nuck: mscdex: No, that's asskilograms [08:58] Nuck: ASSGRAMS [08:58] Nuck: It's like a candygram but... with an ass. [08:59] Glenjamin: surely it'd have to be kiloassgrams [08:59] Nuck: Glenjamin: I'm fine with that. [09:00] kulor-uk has joined the channel [09:00] AvianFlu: so you aren't talking about node-mailer? [09:00] Nuck: AvianFlu: Meh, got it to work on my VPS, which is Good Enough(tm) [09:01] AvianFlu: is an assgram like an instagram? [09:01] squeese has joined the channel [09:01] AvianFlu: or is it more like a hatergram [09:01] Nuck: AvianFlu: A collection of pictures of butts? [09:01] markwubben has joined the channel [09:01] Nuck: I think that's called a redtube. [09:01] AvianFlu: I mean, I like big butts, and I cannot lie [09:01] AvianFlu: You other brothers? [09:01] Nuck: You other brothers can't deny. [09:01] AvianFlu: Can't deny! [09:02] mscdex: this sounds like something Marak would be saying [09:02] Nuck: When a girl walks in with an itty-bitty waist and a round thing in yo' face, you get sprungh! [09:02] jetienne_ has left the channel [09:02] Nuck: SO HARD IT ADDS AN H [09:02] AAA_awright: You know what we should do, we should eliminate the package manager paradigm entirely [09:02] Nuck: AAA_awright: Just bundle it all into core [09:02] Nuck: Do the PHP thing [09:03] DrMcKay: I like the way Python manages it's packages [09:03] AvianFlu: Go do the PHP thing on your own time! [09:03] DrMcKay: it doesn't [09:04] Nuck: I like how NPM manages packages. [09:04] AAA_awright: I thought it did, it has some bizarre naming scheme [09:04] AvianFlu: I mean, npm isn't actually official, guys [09:04] Nuck: The handling of dependencies is amazing. [09:04] AvianFlu: it's just the super popular open source solution [09:04] Nuck: IMO, it SHOULD be official. [09:04] AvianFlu: I mean, you know, "official" [09:04] Nuck: It might as well be at this point :P [09:04] AvianFlu: it is anyway [09:04] AvianFlu: exactly [09:04] JakeyChan has joined the channel [09:05] rfay has joined the channel [09:05] uchuff: long shot but anyone here know AWS EC2 at all? [09:05] AvianFlu: a bit [09:05] DrMcKay: No, seriously, npm is cool, bu there should be a choice [09:05] AvianFlu: what's the question [09:05] AvianFlu: ? [09:05] Nuck: DrMcKay: There is a choice [09:05] AvianFlu: I find it's always better to ask than to ask if you can ask before you ask [09:05] AAA_awright: DrMcKay: It's even harder to install a python package because that has to be global, that's like, python is stuck in the state that npm thought Node.js was in (when you had to install stuff globally, before npm became usable by more than 3 people) [09:05] uchuff: true AvianFlu [09:05] uchuff: wondering how I know if my EC2 instance is set up to use persistant storage if I stop it (to increase it in size) [09:06] Nuck: You can use it, or use one of the unmaintained alternatives, or do it yourself. [09:06] uchuff: "Root Device Type" says "EBS" [09:06] DrMcKay: AAA_awright: you don't really have to install it globally, you can just set PYTHONPATH [09:06] Nuck: But trust me, you never want to do that last thing. [09:06] uchuff: so I think that means it is [09:06] Nuck: uchuff: EBS is Elastic Block Store [09:06] DrMcKay: but, I like the idea of local npm_modules thing, really [09:06] DrMcKay: *node_modules [09:06] kulor-uk has joined the channel [09:06] Nuck: DrMcKay: THAT is part of Node. [09:07] brainproxy: having everything localized definitely promotes portability [09:07] AAA_awright: DrMcKay: That became a better idea than I thought it was going to be [09:07] Nuck: You can install to there manually and it'll be recognized by Node. [09:07] AvianFlu: yeah, node_modules is a part of the require() stuff [09:07] AvianFlu: as opposed to npm [09:07] AAA_awright: Error: require.paths is removed. Use node_modules folders, or the NODE_PATH environment variable instead. [09:07] AAA_awright: This, not so much [09:07] DrMcKay: Nuck: exactly, that's what I like in it [09:07] uchuff: any idea AvianFlu [09:07] blueadept has joined the channel [09:07] blueadept has joined the channel [09:07] brainproxy: AAA_awright: you can still accomplish something similar if you export NODE_PATH=... [09:07] AvianFlu: not offhand, but you should do some googling - there have been quite a few blog posts about using EC2 [09:08] brainproxy: prior to running your script [09:08] DrMcKay: Python needs PYTHONPATH mangling, and node just does it [09:08] AAA_awright: brainproxy: Which is why that makes no sense at all [09:08] FireFly|n900 has joined the channel [09:08] Nuck: DrMcKay: Well, welcome to the post-NPM world. God, I remember when NPM was just starting to become the standard. [09:08] Nuck: That was when I was still mucking around blindly with Node 0.2.6 [09:08] uchuff: ya AvianFlu. A lot are outdated and it's not clear which are, then others it tells you what to do but it's not apparent what to check [09:09] uchuff: I think I may just reboot it and see what happens [09:09] brainproxy: AAA_awright: well I think it's an escape valve if you just have to be able to get at certain modules [09:09] uchuff: cross my fingers [09:09] iivvoo: you don't have to install python packages globally. use virtualenv [09:09] uchuff: i've got everything working and think it should persist, but I'm not sure [09:09] reid has joined the channel [09:09] reid has joined the channel [09:12] framlin: AAA_awright: do you know, why require.paths will be removed? [09:12] Nuck: Well, shit. [09:12] Nuck: framlin: Pretty sure it already was. [09:12] framlin: since when? [09:12] Nuck: It's removed in favor of just using node_modules IIRC [09:12] bergie has joined the channel [09:13] AAA_awright: framlin: It already is in v0.5.5-pre [09:13] framlin: yes, but why should I move all my modules to noed_modules [09:13] framlin: that makes no sense for me [09:13] AAA_awright: (I use master regardless of what anyone says about NO THAT"S UNSTABLE!!!!1) [09:13] Nuck: framlin: How not? [09:13] Nuck: AAA_awright: You daredevil you [09:13] blueadept has joined the channel [09:13] blueadept has joined the channel [09:13] AAA_awright: framlin: It works a whole lot better than it sounds [09:14] AAA_awright: though in unix tradition it should have been "nodelib" but whatever [09:14] framlin: Nuck: I seperate between modelus from "outside" and my own app-modules [09:14] Nuck: framlin: You can install global modules? [09:14] Nuck: IIRC that's how I installed Express on my VPS [09:14] framlin: AAA_awright: is it possible to change NODE_PATH at runtiime from within my app? [09:15] AAA_awright: framlin: Things internal to your package should use the "./module" syntax, everything else should be in node_modules and use plain "module" syntax [09:15] nickbruun has left the channel [09:15] brainproxy: framlin: no, the ability to do that is being deprecated [09:15] Nuck: Well shit, mailer won't untar on Cygwin [09:15] brainproxy: or *has been [09:15] Nuck: Tht's really odd [09:15] AAA_awright: Nuck: Why are you using cygwin [09:15] Nuck: I've npm cache clean'd thrice. [09:15] Nuck: AAA_awright: I'm stuck on Windows until I gather $1500 :P [09:15] framlin: Nuck: maybe, but for me (until now) node_modules is external and other dirs are "internal" [09:16] AAA_awright: Nuck: For what? [09:16] DrMcKay: Nuck: Linux? [09:16] jbpros has joined the channel [09:16] Nuck: I use Linux for my serverstuffs [09:16] Nuck: But I do develop on Windows because I'm not just a programmer [09:16] framlin: AAA_awright: ./module - syntax?? [09:16] DrMcKay: Nuck: run Linux on VirtualBox or something [09:16] Nuck: framlin: Then make it internal [09:16] AAA_awright: framlin: ./module loads a module.(js|node|...) from the same directory [09:17] Nuck: DrMcKay: No need, I have a home server with Ubuntu 11.04 [09:17] mscdex: DrMcKay: or run Windows on Virtualbox >:-D [09:17] Nuck: I just prefer being able to edit in my favorite editor and save and alt tab [09:17] DrMcKay: Nuck: then, OK :). [09:17] framlin: AAA_awright: but I have more than on dir that hold "internal"-modules [09:17] AAA_awright: framlin: If you're splitting up an app into multiple files like you should, you use ./module with the leading ./ to indicate you load it from the same directory [09:18] Raynos has joined the channel [09:18] DrMcKay: that reminded me of updating my Windows :/. everytime I boot it to play for a while it install > 30 updates [09:18] AAA_awright: else, without the ./, it goes through the search path where your 3rd party modules are [09:18] framlin: and I decide at runtime, what from where I load modules, by setting require.paths [09:18] bzinger has joined the channel [09:19] mc_greeny has joined the channel [09:19] AAA_awright: Nuck: What do you need that money for? [09:19] brainproxy: framlin: if you need that, then what you would do is create a wrapper around require [09:19] Nuck: AAA_awright: Macbook [09:19] AAA_awright: You don't need a Macbook [09:19] Nuck: I'm not buying another shitty laptop again [09:20] Nuck: And yes, it's Mac or Windows [09:20] framlin: ok, I have to try this, but for the moment, I think this will loose a lot of flexability [09:20] Nuck: I ain't switching to Linux [09:20] framlin: is ther a reason for that limitiation? [09:20] Nuck: That fucking piece of shit >:C [09:20] brainproxy: framlin: yes, the node.js / JS community as a whole is moving away from globalizing dependencies [09:20] framlin: brainproxy: yes, but why should I buld wrapper, if it has worked so well? ;) [09:20] AAA_awright: Nuck: I have no problem compiling my own desktop OS from scratch, here, I run Gentoo on my desktop and Ubuntu on the notebook [09:20] stonebranch has joined the channel [09:21] brainproxy: framlin: hey, I here you, been in the same boat [09:21] brainproxy: *hear [09:21] Nuck: AAA_awright: Nor do I. My problem lies in how shitty all these OSes are. [09:21] Nuck: Horrible UIs [09:21] Nuck: With heavy use of the console [09:21] Nuck: I like Sexy UIs [09:21] DrMcKay: Nuck: GNOME3? [09:21] framlin: brainproxy: ;) [09:21] Nuck: With the console as another feature [09:21] Nuck: DrMcKay: Too much work to set it up [09:21] AAA_awright: It doesn't make much of a difference [09:22] DrMcKay: Nuck: nope, download Fedora 15 and install :) [09:22] framlin: but I can not recognize, why this will "move away from globalizing dependencies" .. [09:22] AAA_awright: Nuck: For all the crap it gets, Ubuntu 14 is pretty slick [09:22] Nuck: AAA_awright: Ubuntu 14? [09:22] brainproxy: framlin: because hard-wiring your app to a non-relative path is a kind of global dep [09:22] AAA_awright: The latest one they have [09:22] Nuck: AAA_awright: AFAIK, Ubuntu's only at 11 [09:22] brainproxy: and isn't immediately portable [09:22] AAA_awright: What's it called [09:22] DrMcKay: Ubuntu 11.04, I think [09:22] Nuck: Which came out like a year ago [09:22] brainproxy: iow, you would need to recreate the same path and what it contains, if you move the app to another server [09:23] AAA_awright: Well that's the date it came out [09:23] Nuck: Ubuntu 11.04 is pretty nice. [09:23] AAA_awright: 2011-04 [09:23] AAA_awright: It's not a version [09:23] Nuck: AAA_awright: wat [09:23] AvianFlu has joined the channel [09:23] iivvoo: ubuntu 11.04 is ok if you install gnome 2.x :) [09:23] DrMcKay: AAA_awright: you're counting releases? [09:23] framlin: brainproxy: I the non-relative-module is coded by myself, it isame dependancy if it is below the same dir as my "main-dir" or if it is beside or it [09:23] Nuck: 11.04 is the best UI yet IMO [09:23] Nuck: Still sucks though [09:24] Nuck: Not like Windows 7 or Mac OS X [09:24] AAA_awright: Nuck: What I do hate about Ubuntu is it's on a release cycle, They'll gladly hold new features back for up to 6 months and then release them all at once so they can WOW you with all the new features that ONLY THEY can bless onto you [09:24] AAA_awright: Every 6 months they release a new one [09:24] Nuck: AAA_awright: Yeah [09:24] Nuck: Almost time for 11.11 [09:24] AAA_awright: >:( [09:24] brainproxy: framlin: well if it's relative, then you you can just prepend it in your require statments, or create a wrapper like `myRequire()` [09:24] brainproxy: which does that for you [09:25] AAA_awright: That's why I'm a proud Gentoo user, on my desktops and my servers [09:25] dexter_e has joined the channel [09:25] AAA_awright: And because it has portage [09:25] Nuck: Our server runs Debian (simply because we're all Linux noobs lol) [09:25] Nuck: Well, our SA isn't a noob [09:25] Nuck: He's just lazy [09:26] framlin: brainproxy: I dont think that it is a good idea and i do not think that it will reduce any dependency .... [09:26] DrMcKay: Nuck: like any SA ;) [09:26] Nuck: Both of us developers are Windows users [09:26] Nuck: Developing on Cygwin and testing on a Debian VPS with 8 cores [09:26] Nuck: Just set up Cluster today :D [09:26] framlin: maybe one need this for windows ...? [09:26] brainproxy: framlin: but what it will do is make it clear where your modules not conforming to node_modules pattern are stored [09:26] Nuck: Then I ran apache bench on it :P [09:26] DrMcKay: Nuck: do a bitcoit mining :D [09:27] Nuck: DrMcKay: I should suggest that to our SA as a way to harness some unused CPU :P [09:27] framlin: but I have normal modules, normal commonJS module, that confirm (as I think) to node. But I do not want to have them in a certain directory with a certain name, where I have to put all modules in [09:28] framlin: that makes no sense to me [09:28] DrMcKay: AAA_awright: have you tried comparing performance to other distribution which use binaries for package managment? [09:28] AAA_awright: framlin: It's no different than putting it in ~/node_modules or /var/lib/whatever [09:28] AAA_awright: DrMcKay: We have it down to a science, and Gentoo kicks ass in that department [09:29] Nuck: But anyways, I spun up 4 of my API servers [09:29] framlin: the benefit of nodejs is (so far) its flexability (dynamic). If I have to have a certain dir-structure with restricted names, its like Java-Servlets :( [09:29] DrMcKay: AAA_awright: that's where -mtune=native makes *real* sense, I suppose :) [09:30] framlin: AAA_awright: but I want to have the freedom to organize my code as I think it is good for my project [09:30] AAA_awright: When it's compiled for *your* processor, they aren't kidding, if you swap the processor don't be suprised when you get a kernel panic [09:30] framlin: I do not want that other people tell me, how I have to organize *my* code [09:30] DrMcKay: AAA_awright: hint: try clang or icc for compiling computation-heavy apps [09:31] AAA_awright: DrMcKay: We use icc for compiling nginx and other packages [09:31] Nuck: Hitting about 70% CPU usage on each server with apache bench at 1000/50,000 [09:31] AAA_awright: mysql, uh [09:31] Nuck: Don't even hit 5% RAM tho [09:31] framlin: its ok, if code from "outside" that other people have coded has to be stored at a certain place, but IMHO its not ok for my "internal" modules [09:31] DrMcKay: AAA_awright: mysql, seriously? [09:31] AAA_awright: There's a list of about 40 that we use icc for, it gets us an additional 10% over gcc (!) [09:32] DrMcKay: AAA_awright: I know, I did some benchmarks [09:32] DrMcKay: AAA_awright: Python gets massive speed-up [09:32] AAA_awright: Our kernel is 4.5M compressed in /boot [09:32] AAA_awright: ...Wait no, that my desktop kernel [09:32] thalll has joined the channel [09:33] AAA_awright: 4.1M eh [09:33] uchuff: FWIW I stopped my EC2 instance, increased it's size, started it up and all my data was still there \o/ [09:33] DrMcKay: AAA_awright: wow... [09:33] framlin: is there any documentation about this changed behaviour? [09:34] DrMcKay: AAA_awright: also, there were some guys trying to compile kernel using ICC [09:34] brainproxy: framlin: the recursive node_modules pattern is something the designers of node.js (and npm) have settled on to solve some tricky problems, and in a particular way [09:34] brainproxy: it's here to stay, but again, as needed you can create wrappers to give different behavior [09:34] framlin: brainproxy: what has the recursive node_modules pattern to do with require.paths? [09:35] AAA_awright: DrMcKay: Problem is, how do you benchmark that? Can you? And can you guarentee it won't interfere with loadable modules and binary blobs? [09:35] brainproxy: framlin: it is being promoted over and against require.paths [09:35] AAA_awright: I know we've looked into that patch or whatever it is (that wasn't me) [09:35] matyr has joined the channel [09:36] framlin: brainproxy: do you have any link, where to read about thatÃ? [09:36] brainproxy: framlin: http://nodejs.org/docs/v0.5.4/api/modules.html [09:36] brainproxy: and... [09:36] brainproxy: https://github.com/isaacs/npm/blob/master/doc/folders.md [09:36] AAA_awright: framlin: You don't have to use node_modules, but you *are* expected to use the ./ syntax for loading local modules [09:36] brainproxy: see especially the subsection in the latter titled "" [09:36] AAA_awright: That's just for good portability [09:36] brainproxy: title "Cycles, Conflicts, and Folder Parsimony" [09:37] Marak has joined the channel [09:37] dmkbot has joined the channel [09:37] DrMcKay: !ping [09:37] dmkbot: DrMcKay, pong [09:37] DrMcKay: ok, it's running on my server now [09:38] framlin: ok brainproxy and AAA_awright thanks a lot, I will study this. [09:39] DrMcKay: any ideas for features for that bot? [09:39] framlin: AAA_awright: is something like require('../../other_app/lib/tools') allowed? [09:39] framlin: !ping [09:39] dmkbot: framlin, pong [09:40] framlin: sophisticated ;) [09:40] DrMcKay: :D [09:40] DrMcKay: !doc link https#get [09:40] dmkbot: http://nodejs.org/docs/v0.5.4/api/https.html#https.get [09:40] mc_greeny has joined the channel [09:40] DrMcKay: but this doc things needs a bit of polish [09:40] DrMcKay: !doc link fs#link [09:40] dmkbot: http://nodejs.org/docs/v0.5.4/api/fs.html#fs.link [09:41] AAA_awright: framlin: If you know, no matter what system it's on, that a module is going to have the same relative path, then you use "./path/to/module". Otherwise you should place the module in your NODE_PATH or in node_modules and use the global syntax "module" [09:41] AAA_awright: framlin: It doesn't look like ./../../other_app/lib/tools is going to remain the same, it might be better to have a symlink inside node_modules [09:44] liquidproof has joined the channel [09:45] markwubben has joined the channel [09:46] Nuck: lol apache benche vs. one instance = 100% CPU plus lotsa lag [09:46] AAA_awright: framlin: Pretty much, if you're referring to another module in the same git repository, you use "./" else you look for it in the standard search path [09:46] Nuck: apache bench vs. 6 instances = wavering between 20% and 80% CPU for each core, but much faster response times [09:47] AAA_awright: Nuck: That sounds right [09:47] Nuck: Pity it won't let me go above 1000 concurrent connections [09:47] mdaisuke has joined the channel [09:47] Nuck: Something about maxing out on open files :D [09:47] AAA_awright: Lolol [09:47] brainproxy: Nuck: you can fix that if you change the ulimit [09:47] Nuck: Node can take a load better than apache bench can serve? [09:47] Nuck: brainproxy: How do? [09:48] brainproxy: Nuck: depends on the system [09:48] AAA_awright: ab uses more CPU than Node.js [09:48] AAA_awright: You're really not supposed to use ab from the same system for anything serious [09:48] Nuck: I have 8 cores [09:48] Nuck: And 6 of them are on Node [09:48] Nuck: I've got two to spare there [09:49] Kami_ has joined the channel [09:49] seivan has joined the channel [09:49] Nuck: plus bandwidth isn't as cheap as server capacity :P [09:49] brainproxy: Nuck: you might have to set something in /etc/security/limits.conf [09:49] brainproxy: if you want the limit changed for non-root user [09:50] Nuck: I am root [09:50] Nuck: (hear me roar) [09:50] Nuck: aaaaaand it's 3 AM >_> [09:50] Nuck: ACTION goes to sleep [09:50] dnjaramba has joined the channel [09:50] AAA_awright: Woo [09:51] brainproxy: ACTION dips Nuck's finger in warm water (let's see if this work...) [09:51] AvianFlu has joined the channel [09:52] brainproxy: Nuck: okay, if you're running the tool which is hitting the limit as root, then you maybe can change the limit directly with ulimit command [09:52] brainproxy: see http://linux.die.net/man/1/ulimit [09:52] boehm has joined the channel [09:52] Nuck: ulimit says unlimited >_> [09:53] brainproxy: well there are multiple params [09:53] Nuck: socket: Too many open files (24) [09:53] brainproxy: you're interested in open file descriptors [09:53] shinuza has joined the channel [09:53] JakeyChan: how to install npm tool ? [09:53] JakeyChan: I do not want it anymore [09:53] brainproxy: Nuck: try `ulimit -n` [09:54] brainproxy: JakeyChan: how did you install it [09:54] Nuck: brainproxy: 1024 [09:54] brainproxy: okay, so try `ulimit -n 65536` [09:54] JakeyChan: git clone http://github.com/isaacs/npm.git [09:54] JakeyChan: cd npm [09:54] JakeyChan: sudo make install [09:54] brainproxy: JakeyChan: so try `sudo make uninstall` [09:55] matyr_ has joined the channel [09:55] Nuck: JakeyChan: I'm sorta curious why you're getting rid of NPM? [09:55] remysharp has joined the channel [09:56] JakeyChan: always can not install package [09:56] cjroebuck has joined the channel [09:56] Nuck: JakeyChan: You on Cygwin? [09:56] Malar has joined the channel [09:56] JakeyChan: I am on Mac [09:57] Nuck: Now that's more unusual >_> [09:57] AAA_awright: Would people hate on me if I posted "PLEASE USE GIT SUBMODULES NOT package.json" on the mailing list? Maybe not all caps, but you get the idea [09:57] brainproxy: JakeyChan: what error message do you get when trying to install packages? [09:57] framlin: AAA_awright: I have a app-"system" that is build with many git-repositories [09:57] unlink has joined the channel [09:57] unlink has joined the channel [09:57] brainproxy: JakeyChan: also, maybe try NVM? [09:57] AAA_awright: btw, package.json IS in Node.js core [09:58] Marak has left the channel [09:58] framlin: AAA_awright: you may think of virtual hosts. depending on the hostname I load diffrent modules [09:58] Margle has joined the channel [09:58] JakeyChan: NVM ? [09:58] JakeyChan: what is NVM ? [09:58] brainproxy: JakeyChan: https://github.com/creationix/nvm [09:58] [[zz]] has joined the channel [10:00] JakeyChan: node -v output v0.4.10 [10:00] JakeyChan: is it ok ? [10:00] seivan has joined the channel [10:00] brainproxy: JakeyChan: sure, looks okay [10:01] dmkbot has joined the channel [10:01] DrMcKay: !doc link http#get v0.4.10 [10:01] dmkbot: http://nodejs.org/docs/v0.4.10/api/http.html#http.get [10:02] DrMcKay: !doc link http#get [10:02] dmkbot: http://nodejs.org/docs/v0.5.4/api/http.html#http.get [10:02] DrMcKay: too bad nodejs.org/docs/api doesn't return newest version [10:02] fly-away has joined the channel [10:03] JakeyChan: what is the command that can find file or folder ? [10:03] matyr has joined the channel [10:03] brainproxy: JakeyChan: find [10:03] JakeyChan: thanks [10:03] JakeyChan: :D [10:03] JakeyChan: too easy [10:03] stagas: DrMcKay: there's a /docs/latest/api/ [10:04] brainproxy: JakeyChan: http://linux.die.net/man/1/find [10:04] DrMcKay: stagas: thank you! :) [10:06] dmkbot has joined the channel [10:06] DrMcKay: !doc link http#get [10:06] dmkbot: http://nodejs.org/docs/latest/api/http.html#http.get [10:07] pietern has joined the channel [10:08] dob_ has joined the channel [10:10] blueadept has joined the channel [10:10] blueadept has joined the channel [10:10] thalll_ has joined the channel [10:11] bzinger has joined the channel [10:12] Glenjamin: DrMcKay: which irc lib are you using for the bot? [10:12] levi501d has joined the channel [10:13] Poetro has joined the channel [10:14] kulor-uk has joined the channel [10:14] stagas has joined the channel [10:14] dob_ has joined the channel [10:15] thalll has joined the channel [10:18] _ralph has joined the channel [10:19] Rob- has joined the channel [10:20] openpercept has joined the channel [10:21] DrMcKay: Glenjamin: node-irc [10:21] DrMcKay: Glenjamin: https://github.com/martynsmith/node-irc [10:22] random123: is there any NPM for windows [10:22] random123: ? [10:24] fangel has joined the channel [10:26] Fabryz has joined the channel [10:27] jbpros_ has joined the channel [10:28] japj: node (and npm) on windows are currently still 'under construction' [10:28] japj: but you can use https://github.com/japj/ryppi to install packages and their dependencies until npm is fully working on windows [10:36] matyr has joined the channel [10:41] jbpros has joined the channel [10:42] DrMcKay: is the jhbot up? [10:42] DrMcKay: !npm search wiki [10:42] jhbot: packages (short format): markdown-wiki, wiky, shmakowiki, node-wiki, wikiminute, wikimapia, node-proxy, gitwiki, wikiwym, gcw2html [10:43] adambeynon has joined the channel [10:46] jeromegn has joined the channel [10:46] traph has joined the channel [10:47] mike5w3c has joined the channel [10:49] marienz_ has joined the channel [10:51] der_lunz has joined the channel [10:53] okuryu has joined the channel [10:55] butu5 has joined the channel [10:56] blup: seems nowadays everybody has their own bot... kinda like a pet.. [10:57] H4ns` has joined the channel [10:57] DrMcKay: blup: bots are more convienient than pets, only thing they need is CPU cycles :) [10:57] matyr_ has joined the channel [10:58] DrMcKay: blup: joking, of course. [10:58] fangel has joined the channel [10:59] thalll_ has joined the channel [10:59] blup: im'a teach mine to work in my place [11:00] DrMcKay: oh, that would be cool, programming bot [11:04] der_lunz: has anyone had success building node for openwrt 10.03? [11:04] pives has joined the channel [11:05] DrMcKay: der_lunz: there should be no problems [11:05] DrMcKay: it runs on ARM? [11:06] der_lunz: in principle, they say so... [11:06] kriszyp has joined the channel [11:06] jeremyselier has joined the channel [11:06] der_lunz: Cross compiling resulted in v8 sources beeing deleted [11:07] DrMcKay: someone compiled node for an Android device, let me look it up [11:07] DrMcKay: http://www.readwriteweb.com/hack/2011/03/running-nodejs-on-a-rooted-android-phone.php [11:07] der_lunz: I also tried a native build on ubuntu chroot, which worked, but the binary segfaulted, because of mismatching glibc stuff [11:07] DrMcKay: more details here: http://d.hatena.ne.jp/forest1040/20110318/1300460817 [11:08] DrMcKay: you may want to follow the procedure there, it seems to be good for cross compiling node [11:08] micheil has joined the channel [11:09] der_lunz: thanks, I've tried the chroot road. It failed because the chroot uses some later gcc, and I wasn't able to build a static binary [11:10] Nuck: Night #Node.js! [11:10] der_lunz: sorry: not gcc, glibc [11:10] Margle has joined the channel [11:11] narayan82 has joined the channel [11:11] Ginlock has joined the channel [11:11] DrMcKay: ok, let us now how did it go :) [11:12] mike5w3c_ has joined the channel [11:13] Grepsyk has joined the channel [11:13] DrMcKay: Nuck: our time zones seem incompatible, it's 13:13 here [11:14] Nuck: DrMcKay: 4 AM here :P [11:14] Grepsyk has left the channel [11:14] der_lunz: So: Installed arm eabi-chroot using ubuntu maverick. compiled node 0.4.10. the compilation worked. On the openwrt target i got: [11:14] der_lunz: ./node: /lib/libc.so.6: version `GLIBC_2.9' not found (required by ./node) [11:14] der_lunz: ./node: /lib/libc.so.6: version `GLIBC_2.7' not found (required by ./node) [11:14] DrMcKay: Nuck: are you sure you've compiled your timezone with correct internationalization settings :D ? [11:14] mike5w3c has joined the channel [11:15] DrMcKay: der_lunz: what version of glibc does openwrt have? [11:15] der_lunz: copied over glibc from maveric chroot, and ran with LD_LIBRARY_PATH= node. which resulted in a segfault [11:15] Nuck: DrMcKay: You gonna try and shove it on a router now? [11:16] Nuck: Fuck, that'd be madness [11:16] der_lunz: openwrt 10.03 uses glibc 2.6.1. [11:16] DrMcKay: der_lunz: no way to upgrade it? [11:16] DrMcKay: der_lunz: you may try to compile compatible glibc from source [11:17] der_lunz: No it isn't a router, but a imx51 hardware, comparable to some iphone. [11:17] industrial: Can anyone help met with https://github.com/caolan/async ? I don't understand it quite yet. https://gist.github.com/e5d6089f30c61d5a0567 [11:17] DrMcKay: der_lunz: cool project :) [11:17] industrial: I'm not getting ANY console log [11:17] industrial: and I dont know why :( [11:18] Nuck: Somebody should port Node to iPhone :P [11:18] Nuck: Make it a REPL [11:18] der_lunz: openwrt, does the whole build system. gcc, glibc, and all that stuff. I attached a node.js Makefile, which would compile node in it's own cross build environment, but that resulted, in the v8 sources beeing deleted in the compilation process [11:18] orbx has joined the channel [11:18] DrMcKay: industrial: shouldn't async.series be called with array instead of dict? [11:19] industrial: DrMcKay: according to the docs either is possible, and dicts are used to make it more readable, but I'll try with an array too. [11:19] DrMcKay: industrial: (you're probably right, I'm just looking at the README) [11:19] industrial: DrMcKay: I still get nothing if it's an array [11:20] DrMcKay: der_lunz: try to compile compatible glibc in openwrt chroot, install it and try compiling node again [11:20] der_lunz: that's worth a try. [11:20] robi42 has joined the channel [11:20] DrMcKay: industrial: where is arguments defined? [11:21] industrial: DrMcKay: thats the javascript var arguments, containing all of the function's arguments [11:21] butu5_ has joined the channel [11:21] cp42 has joined the channel [11:21] Vertice has joined the channel [11:21] cp42: hey folks [11:21] cp42: anyone can help me find out why compress-buffer's compress() just returns the string itself instead of compressing it? [11:22] DrMcKay: industrial: oh, right, I forgot about it [11:24] seivan has joined the channel [11:24] DrMcKay: industrial: interesting, are you sure it executes async.series? [11:25] industrial: DrMcKay: now I'm not, sec [11:26] CStumph has joined the channel [11:27] akshatj has joined the channel [11:28] matyr has joined the channel [11:30] luke` has joined the channel [11:30] fermion has joined the channel [11:31] adambeynon has joined the channel [11:33] matyr_ has joined the channel [11:33] marienz has joined the channel [11:33] shripad has joined the channel [11:34] fairwinds has joined the channel [11:37] Marak has joined the channel [11:37] Marak: stagas: can i get a quote [11:38] industrial: Marak: "that's what she said" [11:38] Marak: This is not the stagas we are looking for. [11:39] industrial: well, private messages are for private questions, expect answers from public channel questions from anyone in the channel (that is, usually, the intent). [11:48] Marak: ./msg industrial asl? [11:48] Marak: oops [11:49] DrMcKay has left the channel [11:50] Fabryz: DrMcKay what happened [11:50] Fabryz: DrMcKay [11:50] Fabryz: DRMCKAAAAAAAAAAAAYYYYYYYYYYYYYYYYYYYYYYYYYYYYY [11:51] japj: he must have gone through the stargate [11:53] industrial: Marak: 15/f/cali cyber? [11:53] Fabryz: not in my nodejs chan [11:53] industrial: ;D [11:53] Fabryz: =) [11:54] industrial: not ever, I hope. [11:55] misterm has joined the channel [11:55] stepheneb has joined the channel [11:56] hugdubois has joined the channel [12:01] luke`_ has joined the channel [12:02] cosmincx: Hello, any recommended way to deploy a nodejs server on production? init scripts, etc. ( Preferably on CentOS ) [12:02] jbpros has joined the channel [12:02] matyr has joined the channel [12:05] Margle has joined the channel [12:06] jbpros has joined the channel [12:06] ksheurs has joined the channel [12:06] sylvinus has joined the channel [12:09] misterm: cosmincx: I just use git, I'd note though that my experience so far with node is entirely hobby projects so far, but I've found it satsifactory [12:09] hugdubois: cosmincx: have you seen this: http://dailyjs.com/2010/03/15/hosting-nodejs-apps/ [12:10] hugdubois: cosmincx: sorry this : http://howtonode.org/deploying-node-upstart-monit [12:10] pietern has joined the channel [12:10] brianseeders has joined the channel [12:11] cosmincx: hugdubois: yes, I've seen it, to bad we don't have upstart... we have the old init.d daemons [12:11] shanez has joined the channel [12:11] cosmincx: I see, from recent searches, there's a module, forever, for daemonizing a server [12:11] Margle has joined the channel [12:11] cosmincx: anyone had any experience with it? [12:12] scott_gonzalez has joined the channel [12:12] misterm: cosmincx: you might check out cluster as well [12:13] JacobSingh has joined the channel [12:13] brainproxy: do i understand correctly that `npm install .` [12:13] brainproxy: works a bit differently by design [12:14] brainproxy: iow, the package gets installed in-place instead of tucked into a node_modules/ [12:14] brainproxy: assuming the directory I'm currently in has a valid package.json blah blah [12:14] cosmincx: misterm: thanks [12:18] DrMcKay has joined the channel [12:18] rhaen: hm, fun thing: Answer unixish question on SO for node things. [12:19] DrMcKay: rhaen: did jhbot report this question? [12:19] rhaen: who/what is jhbot? [12:19] adambeynon has joined the channel [12:19] DrMcKay: it's bot TheJH wrote [12:20] DrMcKay: it was should report SO questions for node [12:20] DrMcKay: s/shoudl// [12:20] DrMcKay: *s/was// [12:20] rhaen: DrMcKay: hm, I am quite new to node things, so I am not aware of this bot. I just have a twitter feed for "NodeJSAtSO" [12:21] DrMcKay: oh, cool thing, I should probably follow it [12:21] rhaen: DrMcKay: and being helpful (and as I want to learn node and JavaScript), I try to find the solutions and look into the questions (some of them) [12:21] geoKe has joined the channel [12:22] rhaen: so make sure to+1 me then :) [12:22] Fabryz: he deactivated it iirc [12:22] DrMcKay: but it's still working [12:22] DrMcKay: I guess it's the matter of hosting [12:23] DrMcKay: but hey, I have a server running here [12:23] DrMcKay: I'll ask him if doesn't he wants to run his bot here [12:24] matyr_ has joined the channel [12:24] DrMcKay: rhaen: which question? [12:25] AvianFlu has joined the channel [12:26] stride: anybody here at froscon in germany this weekend? [12:26] matyr__ has joined the channel [12:27] Cromulent has joined the channel [12:27] jetienne_ has joined the channel [12:28] necrodearia has joined the channel [12:29] DrMcKay: do we even have any nodecon or something? [12:32] stride: there's nodeconf / eu.nodeconf [12:32] misterm: yea, they just put up some videos from nodeconf 2011 on blip [12:33] stride: uh, nodecamp.eu that is [12:33] xtianw has joined the channel [12:33] Fabryz: nodejsconf.it in Italy, hope can get there [12:33] DrMcKay: I'm think I'm bit too far :/ [12:33] DrMcKay: *I think [12:33] bshumate has joined the channel [12:33] bshumate has joined the channel [12:34] DrMcKay: or maybe... looks cool [12:35] DrMcKay: or maybe not, tickets are sold out :< [12:35] DrMcKay has left the channel [12:35] garrensmith: any good conferences in uk between sept and oct? [12:36] AvianFlu has joined the channel [12:36] Fabryz: node knockout in more than a week should be also in UK [12:36] piscisaureus has joined the channel [12:37] Fabryz: but that's more like a contest [12:37] Raynos has left the channel [12:38] Renegade001 has joined the channel [12:38] shapeshe1 has joined the channel [12:43] mehtryx has joined the channel [12:43] raoul has joined the channel [12:44] garrensmith: Fabryz: yeah I'm not doing node knockout sounds like awesome fun [12:44] shapeshed has joined the channel [12:47] schmolzer has joined the channel [12:48] jtrudeau has joined the channel [12:48] cosmincx has joined the channel [12:49] ShreeKavi has joined the channel [12:49] fumanchu182 has joined the channel [12:50] CrabDude has joined the channel [12:50] AaronMT has joined the channel [12:52] agnat_ has joined the channel [12:52] storrgie has joined the channel [12:53] arpunk has joined the channel [12:57] k1ttty has joined the channel [12:59] Raynos has joined the channel [12:59] Raynos has left the channel [13:00] AvianFlu has joined the channel [13:00] TheJH has joined the channel [13:02] NetRoY has joined the channel [13:05] brianc has joined the channel [13:07] bnoordhuis has joined the channel [13:10] soapyillusions has joined the channel [13:11] Skola has joined the channel [13:12] zpao_ has joined the channel [13:13] Margle has joined the channel [13:13] jbpros has joined the channel [13:13] versicolor has joined the channel [13:14] boehm has joined the channel [13:15] Sazpaimon has joined the channel [13:16] malkomalko has joined the channel [13:16] soapyillusions: ECONNREFUSED with only a two line stack trace: at Socket._onConnect (net.js:601:18), at IOWatcher.onWritable [as callback] (net.js:186:12)… does anyone recognize this (or know why it is happening) [13:16] soapyillusions: it gets thrown but does not seem to disrupt my application [13:16] sorens3n has joined the channel [13:18] airportyh has joined the channel [13:19] bnoordhuis: soapyillusions: what version of node? [13:19] airportyh: Hello all, is there a headless webkit for node? [13:19] soapyillusions: bnoordhuis 4.10 [13:19] jetienne_: airportyh: it is called phantomjs [13:19] ShreeKavi has left the channel [13:19] airportyh: don't think that's for node [13:20] baudehlo has joined the channel [13:20] thomblake has joined the channel [13:20] thomblake has left the channel [13:20] jetienne_: soapyillusions: this is your destination address which is not answering [13:21] jetienne_: soapyillusions: check it [13:21] jetienne_: airportyh: how webkit could be related to node ? [13:21] jetienne_: i dont understand [13:21] airportyh: jetienne_: looking for something in the npm ecosystem [13:22] airportyh: jetienne_: you could make it an npm module [13:22] soapyillusions: jetienne_ Well it is connection to twitter (guess I should not be to suprised... [13:22] jetienne_: airportyh: dunno [13:24] albertosheinfeld has joined the channel [13:25] kevwil has joined the channel [13:25] garrensmith: airportyh: I think phantomjs is a node module [13:25] pives has joined the channel [13:25] versicolor has joined the channel [13:26] airportyh: garrensmith: just did a search on npm [13:26] airportyh: not there [13:26] rio{ has joined the channel [13:27] airportyh: don't think it is because the website makes no mention of npm [13:27] garrensmith: airportyh: check out zombiejs its a testing framework using headless webkit [13:27] airportyh: garrensmith: I did. zombie is not webkit [13:27] airportyh: it's based on jsdom [13:28] garrensmith: ok [13:28] bnoordhuis: soapyillusions: use http.request() and add a req.on('error', listener) before you call req.end() [13:28] JacobSingh has joined the channel [13:28] Shrink has joined the channel [13:28] airportyh: I might try porting it to npm. wish me luck :) [13:28] bnoordhuis: soapyillusions: or just let the uncaughtException listener catch it [13:29] zeissoctopus has joined the channel [13:30] stepheneb has joined the channel [13:30] soapyillusions: bnoordhuis I caught it with the req.on('error') but just wasn't sure what it meant [13:31] bnoordhuis: soapyillusions: oh right, it means the other end isn't accepting connections [13:31] hybsch has joined the channel [13:31] pjacobs has joined the channel [13:31] bnoordhuis: soapyillusions: or possibly that one of the intermediate hops is RST-ing the connection [13:32] bnoordhuis: soapyillusions: like a corporate firewall that blocks twitter [13:32] Sazpaimon has joined the channel [13:34] hebz0rl has joined the channel [13:35] hdon- has joined the channel [13:35] depywork: what's the best resource to learn NodeJS ? [13:36] depywork: books? guides? or something else? [13:36] bnoordhuis: depywork: learnboost? [13:36] loob2 has joined the channel [13:36] jetienne_: depywork: nodebeginner book, howtonode are coming to my mind. google will give you the urls [13:37] soapyillusions: depywork peepcode [13:37] soapyillusions: they had a good tutorial for 12$ [13:38] pjacobs: depywork: nodetuts.com has some really good content [13:39] Glenjamin: depywork: do you already know JS or event-loop style programming? [13:39] depywork: I know JS pretty well I think [13:40] depywork: I do quite a lot of browser JS so async callbacks don't scare me :) [13:40] tuhoojabotti: depywork: You know closures?! [13:40] depywork: yes [13:40] Glenjamin: is there any documentation/tutorials for the node idioms that have emerged? [13:41] Glenjamin: like single callback as last argument, error as first argument of callback [13:41] Glenjamin: what to call your local var for which closes this [13:43] framlin: depywork: the book hands on nodejs tells you a lot about the "standard-libs" of nodejs [13:43] Glenjamin: because if you already know JS i'd say all you need is the API docs, the list of modules, and an overview of "standard" node idioms [13:44] garrensmith: depywork: I would start with using expressjs and go from there [13:44] framlin: but if you know JavaScript well, I think commonJS - modules makes the most diffrence to "normal browser-apps" [13:45] bradleymeck has joined the channel [13:45] Glenjamin: but if you've ever done python, using modules should come naturally enough [13:47] depywork: Never did python actually. But I looked at node and how modules work with export and stuff. It looks pretty straight forward... [13:47] Glenjamin: it just separates things nicely, and hides "private" functions rather effectively. Somewhat too effectively in some cases [13:48] depywork: Well I did module in JS so that shouldn't be a problem... :) [13:48] depywork: So I think I'm ready to give NodeJS a try... [13:51] kulor-uk has joined the channel [13:52] snk1 has joined the channel [13:53] charleyd has joined the channel [13:53] TwoGroomsInNYC has joined the channel [13:53] TwoGroomsInNYC: When writing javascripts, what's the proper way to check if an object contains an object? [13:53] antono has joined the channel [13:54] AvianFlu has joined the channel [13:54] TwoGroomsInNYC: myobject.foobar, for example [13:55] TwoGroomsInNYC: is hasOwnProperty the fastest way? [13:56] misterm: TwoGroomsInNYC: it depends on what you mean by "contains" [13:56] misterm: TwoGroomsInNYC: you would us hasOwnProperty if you care if the property *exists* rather than it's value, and want it to be an own property rather than a prototype property [13:57] TwoGroomsInNYC: misterm: Has an object attached to it [13:57] TwoGroomsInNYC: I want to make sure it exists before running some code. [13:57] misterm: TwoGroomsInNYC: if you just care if it has a particular value, just use object.property amd check the value [13:57] TwoGroomsInNYC: I just care that it exists, as it is requisite to the code working. [13:58] Glenjamin: presumably you only *actually* care that the object has the methods you indend to call [13:58] misterm: if you just care that a property exists, not what it holds, and you don't care about it being a prototype property or not...then you can use prop in ob [13:58] vikstrous has joined the channel [13:58] misterm: but I suspect that you might actually care about the value [13:58] misterm: for example, the value might be "null", or "undefined" [13:59] replore has joined the channel [13:59] replore_ has joined the channel [13:59] mikeal has joined the channel [14:00] Glenjamin: if ("foobar" in myobject) ... [14:00] TwoGroomsInNYC: misterm: :< [14:00] TwoGroomsInNYC: Glenjamin: That's Python [14:00] eee_c has joined the channel [14:00] raphdg has joined the channel [14:00] Glenjamin: no, python would have no brackets [14:01] Glenjamin: thats javascript [14:01] Yuffster has joined the channel [14:02] Glenjamin: ("foobar" in {foobar:1}) == true && ("foobaz" in {foobar:1}) == false [14:02] Glenjamin: run that in the REPL. [14:02] TwoGroomsInNYC: Awesome [14:03] TwoGroomsInNYC: Glenjamin: Is if ("foobar" in myobject) functionally equivalent to hasOwnProperty()? [14:03] Glenjamin: no, its more general [14:03] misterm: TwoGroomsInNYC: no, that's what i was saying [14:03] Glenjamin: it will look on the object, and up the prototype chain [14:03] misterm: TwoGroomsInNYC: hasOwnProperty specifically checks for *own* properties [14:03] ceej has joined the channel [14:04] TwoGroomsInNYC: Right [14:04] TwoGroomsInNYC: That makes sense now. :) [14:04] TwoGroomsInNYC: Thanks. [14:04] misterm: np [14:04] Masn has joined the channel [14:04] Raynos has joined the channel [14:05] Raynos: can anyone recommend unit testing libraries? [14:05] MooGoo has joined the channel [14:05] raphdg has joined the channel [14:05] Glenjamin: if you're planning to use mocks, then nodeunit. If not, try vows [14:05] brianc: Raynos: I just use the 'assert' module [14:05] springmeyer has joined the channel [14:06] brianc: Raynos: I found vows to be a bit cumbersome, but I haven't looked at it in over 6 months [14:06] Glenjamin: I'm currently working on something that's similar-ish to Ruby's RSpec - but it's not really ready yet [14:06] Raynos: vows is a bit cumbersome [14:06] Raynos: I found espresso a pain [14:06] Glenjamin: it depends how you want to use it i suppose [14:06] brianc: Raynos: nodeunit works alright, but it over-rides the 'assert' module and you can't really write your own custom assertions easily [14:06] brianc: I've found really the best is to just have a bunch of test files [14:07] brianc: each one being a fully executable "unit" (or functional) test of whatever [14:07] Glenjamin: feel free to have a go with http://github.com/glenjamin/nodespec [14:07] brianc: you can run each one w/ the `node test/whatever-tests.js` command [14:07] DrMcKay has joined the channel [14:08] Jalava: Raynos: we use nodeunit [14:09] jhbot has joined the channel [14:11] matomesc has joined the channel [14:11] jbrokc has joined the channel [14:11] nail_: Using node-sqlite3, it's said in the documentation for Database#run that when no callback is provided "an error event will be emitted on the underlying Statement object"... So this happens on the Statement, not the DB, is there a way to catch this? [14:11] Raynos: I think ill use some vows utilities and abstractions [14:11] Raynos: to make my live easy [14:12] brianc: nail_: statement.on('error') ? [14:12] nibblebot has joined the channel [14:12] Glenjamin: that was my approach, but the parallel test execution ended up annoying the hell out of me with mocks [14:12] hasenj has joined the channel [14:12] nail_: brianc: yep, but there is no "statement", it's used as db.run("some statement") [14:13] brianc: nail_: does db.run return an object? [14:13] randomn1c has left the channel [14:13] Raynos: Glenjamin: "not really ready yet" last commit 6 weeks ago :( [14:14] garrensmith: Raynos: I wrote my own bdd style one [14:14] nail_: brianc: yep, a db object [14:14] Glenjamin: Raynos: what's there mostly works - but i've run into a frustrating issue with capturing exceptions thrown asynchonously [14:14] CrabDude_ has joined the channel [14:15] Glenjamin: which is making it difficult to unit itself [14:15] cosmincx has joined the channel [14:15] dmkbot has joined the channel [14:15] garrensmith: Glenjamin: I initially thought writing a test framework would be easy but writing an async is really hard [14:15] bradleymeck: just leave it to vows / expresso, its retarded how many edge cases there are [14:16] Glenjamin: the main problem I've had is having process.on('uncaughtException') play nicely with any existing listeners [14:16] brianc: bradleymeck: ++ [14:16] NetRoY has joined the channel [14:16] garrensmith: Glenjamin: I wrap my callbacks in a function that has a try catch to catch any exceptions. Similiar to Expresso [14:17] arthurdebert has joined the channel [14:17] Glenjamin: if a callback uses nextTick or a C lib to start a new stack, then you don't get that [14:17] Mason has joined the channel [14:17] storrgie has joined the channel [14:17] saikat has joined the channel [14:18] jtsnow has joined the channel [14:19] squeese has joined the channel [14:19] sivy has joined the channel [14:19] cjroebuck has joined the channel [14:20] Masn has joined the channel [14:20] jhbot has joined the channel [14:20] pickels has joined the channel [14:20] Glenjamin: eg: node -e "try{process.nextTick(function(){throw 1})}catch(ex){console.log(ex);}" [14:20] slifty has joined the channel [14:21] jbpros has joined the channel [14:21] Glenjamin: I need to go figure out how all the other testing frameworks do this [14:21] bradleymeck: hidden chinese secret: if it isnt caught it will still show where the error occured due to a stack trace. (oh and override the folowing : setTimeout, setInterval, process.nextTick, process._tickCallback) tickCallback is subject to change [14:21] jetienne_: Glenjamin: they do that with kindof promise [14:22] progme has joined the channel [14:22] DrMcKay has left the channel [14:22] bradleymeck: also isolating tests into processes helps [14:22] binaryjohn has joined the channel [14:22] random123: Is 4.10 stable enough to be considered production ready for large scale deployment? [14:22] Glenjamin: surely anything that drops into C for the event loop also can't be caught that way [14:23] bradleymeck: if it doesnt die in C++ it should be (not guaranteed, but its very likely) [14:23] hybsch has left the channel [14:23] jetienne_: Glenjamin: http://github.com/kriskowal/q see rejection this is why i was talking about [14:23] bradleymeck: random123, depends on what your criteria is, but yes, its used serveral places that are large [14:24] Glenjamin: I'm really not keen on overriding all the basic global functions though [14:24] Poetro_ has joined the channel [14:24] Masn has joined the channel [14:24] bradleymeck: then your sol for catching things that people arent checking [14:25] Vertice has joined the channel [14:26] colinclark has joined the channel [14:27] JJMalina has joined the channel [14:29] shripad has joined the channel [14:30] jtsnow has joined the channel [14:30] dgathright has joined the channel [14:31] igl1 has joined the channel [14:31] jakehow_ has joined the channel [14:31] jakehow has joined the channel [14:32] kenperkins has joined the channel [14:33] dguttman has joined the channel [14:33] mnaser has joined the channel [14:33] Glenjamin: bradleymeck: so you're saying the way to capture out-of-stack errors is by overriding the functions that let you get out-of-stack ? [14:33] DrMcKay has joined the channel [14:34] bradleymeck: glenjamin the ones that let you both leave, and reenter, yep [14:34] Glenjamin: eugh [14:35] jbrokc: i'm having a real hard time rendering stylus sheets with express. the error is "undefined length" and I'm pretty sure my approach is all wrong. can anyone help me out? https://gist.github.com/0165f33426d3b7011783 the file is extension sass for syntax highlighting purposes, but I don't think it makes a difference since stylus just takes a string to render [14:37] xtianw: jbrokc: Use the stylus middleware [14:37] Destos has joined the channel [14:37] xtianw: http://learnboost.github.com/stylus/docs/middleware.html [14:37] marktlang has joined the channel [14:38] TwoGroomsInNYC: ACTION has developed a strange sexual fetish from working re-implementing SOAP services in node.js and C/epoll [14:39] pives: i'm trying to find a way to start and stop my node server and have events fire so it can 'cleanup' before it actually stops, any ideas for managing a node instance? [14:39] TwoGroomsInNYC: pives: You need to capture sigint [14:40] TwoGroomsInNYC: pives: Use process: http://nodejs.org/docs/v0.3.1/api/process.html [14:40] snk1: anyone have an idea for renaming how mikeal's request sends a piped file in a POST request?it looks like its going as "src", but the api I am sending to needs it as "source" . [14:40] softdrink has joined the channel [14:41] bradleymeck: just move the property? [14:41] bradleymeck: x.src = x.source; delete x.source; // and vice versa [14:41] pives: @TwoGroomsInNYC thanks! [14:41] TwoGroomsInNYC: pives: process.on('SIGINT', function () { while(1) console.log("I love Madonna!") } ) [14:41] TwoGroomsInNYC: Like that. [14:42] tbassetto has joined the channel [14:42] snk1: bradleymeck: not sure how I would do that inside the options setup. [14:43] gw280 has joined the channel [14:43] gw280: hey I have a question for the buildsystem experts [14:43] gw280: basically our compiler relies on a set of environment variables being defined or it won't run [14:44] gw280: and we're using the CMake node.js buildsystem, which invokes SCons on the v8 buildsystem [14:44] bradleymeck: snk1 you wouldnt, you would make a function before hand [14:44] gw280: unfortunately SCons doesn't propagate the parent's environment to the invoked CXX/CC [14:44] gw280: so our compiler bombs with an error saying we need to define those variables [14:44] berasa has joined the channel [14:45] jbpros_ has joined the channel [14:45] gw280: any suggestions on how to propagate through environment variables to SCons' cc invocations? [14:45] matyr has joined the channel [14:45] andrewfff has joined the channel [14:45] k1ttty has joined the channel [14:45] DrMcKay: gw280: when I export CFLAGS they get propageted to SCons [14:45] gw280: yes but CFLAGS is a special variable [14:46] fangel has joined the channel [14:46] gw280: I think that's explicitly exceptioned [14:46] DrMcKay: alias gcc, maybe? [14:46] zanes has joined the channel [14:46] gw280: yeah we were considering wrapping our CC in a script [14:46] gw280: and calling that script in our CC command, and the script exports the correct environment [14:46] gw280: but seems like a bit of a hack [14:47] mike5w3c has joined the channel [14:47] bnoordhuis: gw280: you mean that besides CC/CXX nothing comes through? [14:47] gw280: bnoordhuis: and various *FLAGS [14:47] gw280: like CFLAGS, CXXFLAGS, LDFLAGS [14:47] Raynos has left the channel [14:47] gw280: this is apparently by design for SCons [14:47] bnoordhuis: gw280: right, the ones that are passed on explicitly [14:47] bnoordhuis: gw280: but besides that? [14:47] RORgasm has joined the channel [14:48] gw280: bnoordhuis: nope, everything else doesn't come through [14:48] bnoordhuis: gw280: do you set the envvars at configure or make time? [14:48] gw280: they're always set in my bash profile [14:48] gw280: was done on installation of the compiler SDK [14:49] gw280: so I've added them to the relevant line that defines compile_env_vars in v8_build.cmake [14:49] pixel13 has joined the channel [14:50] pixel13 has left the channel [14:50] bnoordhuis: gw280: but it doesn't work? [14:50] gw280: nope [14:50] bnoordhuis: have you tried building with waf? [14:50] gw280: because I believe that only gets it as far as being set for the environment that the initial python command uses [14:50] gw280: I don't know waf [14:50] gw280: does v8 have a waf buildsystem? [14:50] bnoordhuis: it's the default build system for node [14:50] gw280: oh [14:51] gw280: no [14:51] bnoordhuis: if you run `./configure && make`, it runs waf [14:51] gw280: I don't think this is a cmake issue though [14:51] slifty has joined the channel [14:51] gw280: my understanding is that I'm now correctly passing the environment variables through as part of the environment we execute python in [14:51] brolin has joined the channel [14:51] gw280: which is the command it uses to run SCons [14:51] gw280: now it's up to SCons to pull in that environment and set it up properly for the CC commands it runs to build v8 [14:52] bnoordhuis: this is on a unix system, right? [14:52] gw280: but I don't know python or scons so I'm stuck :) [14:52] burningdog has joined the channel [14:52] gw280: yes, UNIX system, cross compiling for an embedded target [14:52] prettyrobots has joined the channel [14:52] bnoordhuis: because normally environments are inherited as-is by child processes [14:52] gw280: I have the CC working for node's source itself like ev, uv, etc [14:52] bnoordhuis: you have to go to great lengths to actually remove stuff from it [14:52] gw280: bnoordhuis: yeah, but SCons explicitly by design disallows that [14:52] fatjonny has joined the channel [14:53] bnoordhuis: i'm beginning to understand why some people hate it so bad :) [14:53] gw280: :) [14:53] gw280: http://www.scons.org/wiki/ImportingEnvironmentSettings [14:53] DrMcKay has left the channel [14:53] bnoordhuis: i suppose the wrapper script is the best solution then [14:53] gw280: so I've tried just doing a straight import of all the parent's environment using env = Environment(ENV = os.environ) [14:54] bnoordhuis: or best... most reliable [14:54] gw280: but that doesn't seem to work [14:54] gw280: bnoordhuis: hrm, ok [14:54] gw280: seems hacky though :( [14:54] bnoordhuis: yeah [14:54] TheJH: AAAH!!! our schools internal server still uses PHP... well... I just "load-tested" it with one request per second (without waiting for pending requests to finish)... and tis brings its CPU from 5% to consistently over 50%. I should be worried, right? Not even a PHP coder should be able to do THAT... [14:54] bnoordhuis: all build systems suck, some more than others :( [14:54] gw280: bnoordhuis: yeah [14:54] gw280: bnoordhuis: I've found cmake to be the least painful but it's still not ideal [14:54] gw280: its syntax is rubbish and has a few bizarre limitations [14:55] bnoordhuis: i used to be a sap/abap programmer a decade ago [14:55] bnoordhuis: cmake's syntax is eerily similar to abap... [14:55] gw280: hehe [14:55] bradleymeck: thejh it happens when you make too many db calls and wait loops are waiting [14:55] gw280: seriously who in this day and age designs a language and recommends use of ALL CAPS for everything [14:55] sub_pop has joined the channel [14:56] gw280: also SET(VARIABLE VALUE) [14:56] gw280: this is what assignment operators are for :) [14:56] bnoordhuis: yeah, it's ugly [14:56] gw280: anyway [14:56] Masn has joined the channel [14:56] bnoordhuis: that said, makefiles won't win beauty pageants either [14:56] gw280: I'll keep digging to see if there's a more elegant solution [14:56] gw280: yeah but Makefiles suck [14:56] gw280: I prefer to think of Makefiles as generated code now that doesn't need to be maintained by a developer [14:57] bnoordhuis: hah, you should have seen some of the makefiles i've maintained [14:57] malletjo: hello folks, whats the best way to do sync mysql call like in this situation; I have a "year" table and i do a select , if not exist insert ; the problem is its doing all the select before the first insert so i have all duplicate. thx [14:57] bnoordhuis: anyway, let me know if you find anything, perhaps we can pull it into node [14:57] gw280: bnoordhuis: ok [14:57] bnoordhuis: not if it patches v8 though, that's mostly off-limits [14:57] gw280: blergh [14:57] gw280: such a disaster [14:58] aheckmann has joined the channel [14:58] zastaph has joined the channel [14:59] skyler_brungardt has joined the channel [14:59] TheJH: bradleymeck, no db calls. but the developing company wanted the stuff to be secure, so they added user-switching and so on. I "load-tested" a directory listing script [14:59] TwoGroomsInNYC: malletjo: You're doing it wrong. [14:59] baoist has joined the channel [14:59] TwoGroomsInNYC: malletjo: It should not be sync. [14:59] malletjo: TwoGroomsInNYC, indeed [15:00] MadonnasNo1Fan: malletjo: You need to do two queries sequentially? [15:01] malletjo: MadonnasNo1Fan, i could use a callback ... but i'm not sure its the best way in my situation [15:02] smus has joined the channel [15:03] dgathright has joined the channel [15:03] malletjo: its' recursif , so i got lot of select in this table before the result come out. ( exist or not ) , and i got lots of duplicate [15:03] MadonnasNo1Fan: malletjo: A sync operation seems dangerous in node.js because while you're waiting on MySQL, you can't process incoming HTTP requests. [15:04] malletjo: i'll try to figure out another way [15:04] MadonnasNo1Fan: I am not a node.js expert, though. Can anyone verify that sync operations lock up node.js? [15:04] malletjo: it's not a http server anyway ; im using nodejs for cron/parser stuff [15:04] pifantastic has joined the channel [15:05] sub_pop has joined the channel [15:06] febits has joined the channel [15:06] bradleymeck: MadonnasNo1Fan yes [15:06] rfay has joined the channel [15:06] MadonnasNo1Fan: bradleymeck: Thanks. [15:07] Glenjamin: malletjo: you probably want some sort of async helper library to run your bits of code in order [15:07] MadonnasNo1Fan: ACTION avoids sync operations except for start-up stuff [15:07] MadonnasNo1Fan: Twisted has defer to thread [15:08] malletjo: Glenjamin, the next solution is to do modify table keys and insert .. on duplicate ignore. problem solved. [15:08] bradleymeck: deferring to threads and sharing memory is bad juju that means i need semaphores and mutexes/cry [15:08] robertfw has joined the channel [15:09] gazumps has joined the channel [15:10] butu5 has joined the channel [15:10] jspiros has joined the channel [15:11] MadonnasNo1Fan: bradleymeck: Right, best to stay async [15:11] knite has joined the channel [15:12] slifty has joined the channel [15:12] ph^ has joined the channel [15:12] McMAGIC--Copy has joined the channel [15:13] ryanfitz has joined the channel [15:13] luke` has joined the channel [15:16] blueadept: what's the best way of updating a var that populates from a database without restarting the app? [15:16] snk1: anyone else have experience translating cURL command to mikeal's request library? [15:17] ngs has joined the channel [15:17] hornairs has joined the channel [15:18] SoulRaven has joined the channel [15:20] mc_greeny has joined the channel [15:21] Glenjamin: malletjo: you want to perform a bunch of selects, and then an insert? [15:21] tjholowaychuk has joined the channel [15:21] softdrink: how did i not know about EventSource? [15:23] xerox: it's pretty new [15:23] malletjo: Glenjamin, not really. One select => if not exist insert. The problem is i have this like X run in parr. So i all the select have been done Before the first insert , so i have duplicate. On solution is to know run many in parr. and use a callback [15:24] garrensmith: softdrink: EventSource? [15:24] softdrink: http://dev.w3.org/html5/eventsource/ [15:24] garrensmith: cool thanks [15:24] Glenjamin: malletjo: well enforcing no duplicates using a unique index makes the most sense, and then apply whatever application logic is necessary to handle the errors you'll get back [15:25] vikstrous_ has joined the channel [15:25] malletjo: Glenjamin, yep i add unique index + insert ignore for now , but this is tricky because it change the ids ( replace the old / new ) [15:26] Glenjamin: instead of insert ignore, just check the error code in the mysql callback and handle it node-side [15:26] sebasti__ has joined the channel [15:26] malletjo: Right now , i think ill try to "prepare" the table BEFORE processing so i dont have any insert to do , only select. I think it will fix this problem, but maybe not all. [15:27] malletjo: Glenjamin, if i got a error , node crash ?! [15:27] halfhalo-work has joined the channel [15:27] isaacs has joined the channel [15:27] malletjo: afaik [15:27] Glenjamin: db.query(sql, function(error) { if (error && error.code == 1062) .... }); [15:27] Glenjamin: assuming you're using MySQL via node-mysql [15:28] malletjo: yes i am [15:28] malletjo: thx for the idea [15:29] clifton has joined the channel [15:29] dnjaramba has joined the channel [15:30] ryan0x2 has joined the channel [15:30] EyePulp has joined the channel [15:31] matyr_ has joined the channel [15:32] CIA-65: libuv: 03Bert Belder 07master * r8ed2ffb 10/ src/win/process.c : Windows: when searching path, look only for .com and .exe files - http://bit.ly/otwF5x [15:32] fangel has joined the channel [15:32] NetRoY has joined the channel [15:32] maushu has joined the channel [15:32] industrial: Can I specify my own oAuth provider with everyAuth ? [15:32] industrial: I dont want to use facebook/etc for oauth, I have my own. [15:33] ircbot555 has joined the channel [15:33] ircbot5551 has joined the channel [15:33] materialdesigner has joined the channel [15:33] ircbot5552 has joined the channel [15:33] jetienne has joined the channel [15:34] ircbot5553 has joined the channel [15:34] caolanm has joined the channel [15:35] jbrokc has joined the channel [15:36] ecin_ has joined the channel [15:40] guillermo has joined the channel [15:41] ecin_ has joined the channel [15:42] Metal3d has joined the channel [15:43] jedahan has joined the channel [15:43] jedahan: having trouble finding the jade irc channel, anyone know? [15:44] matyr has joined the channel [15:45] colinclark has joined the channel [15:46] Renegade001 has joined the channel [15:47] Margle has joined the channel [15:47] BillyBreen has joined the channel [15:49] [[zz]] has joined the channel [15:50] stephank has joined the channel [15:51] kenperkins has joined the channel [15:51] knowtheory has joined the channel [15:52] torsd has joined the channel [15:53] matyr_ has joined the channel [15:54] kevwil: I'm getting errors with the fs module in an express.js app - any ideas? -> https://gist.github.com/1154382 [15:55] Yuffster_work has joined the channel [15:55] bluesmoon has joined the channel [15:55] kevwil: I'm running node 0.4.11 with npm 1.0.26 [15:56] MadonnasNo1Fan: kevwil: Search thorugh the fs module code for where it throws that TypeError? [15:56] oceanspray_ has joined the channel [15:57] ecin_ has joined the channel [15:57] tjholowaychuk: console.log what you're passing to it [15:57] tjholowaychuk: maybe you're passing a non-string [15:57] tjholowaychuk: some of the c++ error handling is a little vague [15:58] tjholowaychuk: I'd be willing to go through and make them more specific [15:58] tjholowaychuk: if anyone doesnt mind [15:58] fermion has joined the channel [15:59] ekryski has joined the channel [15:59] jerrysv has joined the channel [15:59] srid has joined the channel [15:59] srid has joined the channel [16:02] matyr has joined the channel [16:03] kraft has joined the channel [16:03] cypres has joined the channel [16:05] tbassetto has joined the channel [16:06] luke`_ has joined the channel [16:06] sylvinus has joined the channel [16:06] eee_c has joined the channel [16:07] harthur has joined the channel [16:08] ecin has joined the channel [16:08] i42n has joined the channel [16:09] kevwil: argh - the path I was passing in was invalid [16:10] kevwil: :) [16:11] liar has joined the channel [16:11] DrMcKay has joined the channel [16:13] tristanseifert has joined the channel [16:13] newy_ has joined the channel [16:13] KingJamool has joined the channel [16:13] MadonnasNo1Fan: ACTION is building an Powertrain Control Module (PCM) in node.js [16:14] MadonnasNo1Fan: Can't get the latency below 8ms, argh :< [16:14] kenperkins: we're going to upgrade clipboard to node 0.4.11 today :P [16:15] kenperkins: kind of excited, our first version upgrade in production [16:17] MadonnasNo1Fan: kenperkins: Clipboard? [16:17] kenperkins: startup I'm at, sorry (www.clipboard.com) [16:18] MadonnasNo1Fan: Our last node.js upgrade fucked us because some bozo decided to flip-flop on node_modules being global. [16:18] Skola has joined the channel [16:18] MadonnasNo1Fan: Yay, I love a node.js start-up [16:18] tristanseifert has joined the channel [16:19] MadonnasNo1Fan: kenperkins: How long have you guys been at it? [16:19] tristanseifert has joined the channel [16:20] kenperkins: officially we started on May 1st. But there was a fair bit of prototyping by gary before we started [16:20] kenperkins: we're still technically in stealth mode, but slightly less stealthy than we were a couple of days ago ;) [16:20] unlink has joined the channel [16:20] kenperkins: I'll show you what I mean, 1 sec [16:20] ronnieboy has joined the channel [16:21] dshaw_ has joined the channel [16:21] matomesc has joined the channel [16:21] sorens3n has joined the channel [16:21] CrabDude has joined the channel [16:21] creationix has joined the channel [16:21] creationix has left the channel [16:22] kenperkins: http://www.clipboard.com/clip/LR3mlm_9AllnhERe (that should be publically visible now) [16:23] hekkwan has joined the channel [16:24] joshthecoder has joined the channel [16:24] desaiu has joined the channel [16:25] desaiu: I'm attempting to keep up with market numbers, decide if my bot should buy or sell, should I write/read to a file or should I write/read a stream? [16:25] Daveatdevlink has joined the channel [16:26] Daveatdevlink: Any of you guys at DevLink? [16:27] kenperkins: ... I don't even know what that is [16:27] mnaser has joined the channel [16:27] Daveatdevlink: It is a conference that just gave a node.js presentation [16:28] kenperkins: ah, not yet [16:28] kenperkins: we've been so busy shipping [16:28] sorens3n has joined the channel [16:28] kenperkins: soon, as we start coming out of stealth, we'll do more shows [16:29] Daveatdevlink: We stole a room, room 4, and I was trying to find people to get together and mess with it. Saw the irc link on the site [16:29] geetarista has joined the channel [16:30] kenperkins: mess with what? [16:30] kenperkins: node? :) [16:30] Daveatdevlink: Yeah [16:31] harthur has joined the channel [16:33] bzinger has joined the channel [16:34] ryanfitz_ has joined the channel [16:35] hij1nx has joined the channel [16:35] achiu has joined the channel [16:36] storrgie has joined the channel [16:36] ryanallenbobcat has joined the channel [16:38] greg has joined the channel [16:38] drwells has joined the channel [16:38] TooTallNate has joined the channel [16:40] ekryski has joined the channel [16:41] ctang has joined the channel [16:41] ctang has left the channel [16:41] paulwe has joined the channel [16:41] dob_ has joined the channel [16:42] mundanity has joined the channel [16:43] slajax has left the channel [16:45] tmpvar has joined the channel [16:47] mehlah has joined the channel [16:48] jhurliman has joined the channel [16:48] MadonnasNo1Fan: Omfg, there is so much money to be made re-implementing SOAP web services in node.js [16:49] MadonnasNo1Fan: It was taking this thing 8 seconds to list 20 account receivables, now it is happening in < 60ms in node.js [16:50] MadonnasNo1Fan: ACTION likes his nodes SOAPy~ [16:50] blueadept: what's the best way of updating a var that populates from a database without restarting the app? [16:50] Sembiance: hrm [16:51] MadonnasNo1Fan: blueadept: Do another SELECT from the database? [16:51] eee_c has joined the channel [16:51] Sembiance: MadonnasNo1Fan: even with SOAP, it shouldn't have been anywhere close to 8 seconds. Yes, the SOAP protocol is a horrible, ugly, bloated piece of disgusting junk, but it should be able to perform in the 'milliseconds' :) [16:52] blueadept: haha nice name, but do you mean like run a timer which keeps polling the data? [16:52] blueadept: i think that would work [16:52] Sembiance: MadonnasNo1Fan: my guess is the java code has been re-written into node.js and you probably switched out the database too? :) [16:52] MadonnasNo1Fan: Sembiance: It was written in Python with a lot of sync SQL queries [16:52] MadonnasNo1Fan: Sembiance: Yeah, but only from MySQL to Postgresql [16:52] sylvinus has joined the channel [16:53] TheJH: SERIOUSLY! Who would build a bunch of php and perl scripts that cumpute a crypt() function on the server each time a request comes in? [16:53] TheJH: *compute [16:53] MadonnasNo1Fan: TheJH: :o [16:53] robotmay has joined the channel [16:53] TheJH: (for those who don't know: crypt() is optimized to take a few seconds to complete) [16:53] dob_ has joined the channel [16:53] dguttman has joined the channel [16:54] TheJH: and we thought that our server was too weak to handle the load... [16:54] dambalah has joined the channel [16:54] DrMcKay: TheJH: you've turned off that SO search because of that hosting, right? [16:55] Sembiance: MadonnasNo1Fan: hehe, well, I'm super happy that your loving node.js and it's built-in awesomeness of speedy goodness :) [16:55] perezd has joined the channel [16:55] losing has joined the channel [16:55] TheJH: DrMcKay, yeah, but at the moment, it should be on, it's running from my computer now [16:55] TheJH: DrMcKay, rule of thumb: when I'm off, SO stream is off :D [16:55] DrMcKay: TheJH: I can host your bot [16:56] srid has joined the channel [16:56] srid has joined the channel [16:56] DrMcKay: I have a home server which is still on [16:56] MadonnasNo1Fan: Sembiance: :D [16:56] TheJH: DrMcKay, I think I'll wait and see what the nodejitsu guys come up with [16:57] dgathright has joined the channel [16:57] DrMcKay: TheJH: OK :). also, I wrote a simple bot myself [16:57] DrMcKay: (nothing comparable to yours) [16:58] DrMcKay: !doc link http#get [16:58] dmkbot: http://nodejs.org/docs/latest/api/http.html#http.get [16:58] digitalsabre has joined the channel [16:58] aho has joined the channel [16:58] DrMcKay: !doc link http#get v0.3.2 [16:58] dmkbot: http://nodejs.org/docs/v0.3.2/api/http.html#http.get [16:59] amerine has joined the channel [17:00] mikeal has joined the channel [17:01] dgathright_ has joined the channel [17:02] markdaws has joined the channel [17:02] whitman has joined the channel [17:02] achiu has joined the channel [17:03] towski has joined the channel [17:04] prettyrobots has joined the channel [17:04] aoberoi has joined the channel [17:05] bradleymeck has joined the channel [17:06] jakehow has joined the channel [17:07] jakehow_ has joined the channel [17:07] [[zz]] has joined the channel [17:10] jeromegn has joined the channel [17:10] matyr has joined the channel [17:10] eignerchris has joined the channel [17:10] Cromulent has joined the channel [17:13] smus has joined the channel [17:15] EvRide has joined the channel [17:16] gf3: tjholowaychuk: yao [17:16] ji0n has joined the channel [17:16] tjholowaychuk: hey [17:17] gf3: am I doing anything wrong here, syntax-wise? http://cloud.gf3.ca/9PDe [17:17] davidwalsh has joined the channel [17:17] broofa has joined the channel [17:17] tjholowaychuk: stylus doesnt have @extend yet [17:18] tjholowaychuk: i have a branch with it but it's not 100% complete [17:18] gf3: ahh [17:18] gf3: tjholowaychuk: what about this? http://cloud.gf3.ca/9P5q [17:19] Spion_ has joined the channel [17:19] tjholowaychuk: hm, that's a pretty shitty error message but [17:19] tjholowaychuk: the problem is that / cant be in a property without parens [17:19] Destos has joined the channel [17:19] tjholowaychuk: font: 14px/1.5 [17:19] tjholowaychuk: etc [17:19] tjholowaychuk: if you want to eval that you need font: (14px/1.5) [17:20] mpavel has left the channel [17:20] cpetzold has joined the channel [17:20] tjholowaychuk: though it would be easy to check the left/right nodes [17:20] tjholowaychuk: i'll add that to the list [17:20] sveisvei has joined the channel [17:20] iammerrick has joined the channel [17:20] gf3: tjholowaychuk: hmm, it doesn't seem to fix it: http://cloud.gf3.ca/9Oea [17:21] tjholowaychuk: hmm let me try [17:21] willwhite has joined the channel [17:21] gf3: line-height: (($line * 0.75) / ($font-size * 0.8125)) * 1em [17:22] kai_ has joined the channel [17:22] dnjaramba has joined the channel [17:22] tjholowaychuk: hmm k it fails for me too i'll look into it [17:22] tjholowaychuk: oh [17:22] tjholowaychuk: missing ) [17:22] shipit has joined the channel [17:22] tjholowaychuk: at the end [17:23] tjholowaychuk: still fails [17:23] tjholowaychuk: haha [17:23] tjholowaychuk: wtf [17:23] gf3: tjholowaychuk: cool, no rush or anything, just wanted to bring it to your attention [17:23] tjholowaychuk: appreciate it, i'll have it fixed in a min [17:24] pizthewiz has joined the channel [17:24] willwhite: url.parse() doesn't seem to parse URLs with spaces properly. is this by design in newer versions of 0.4.x? Is the idea to escape strings before passing them into parse()? [17:25] gf3: willwhite: spaces as in %20 ? [17:25] kai_: hi. I'm currently trying to learn node.js and am using node-scraper to play around a bit. I have (so two say) to nested calls to scraper, but the second one gets called only one and after the first iterations. what am I doing wrong here? thanks! http://dpaste.com/597499/ [17:25] willwhite: gf3: spaces as in whitespace. Does it expect an escape string only? This wasn't the case in 0.4.6. [17:26] tmpvar has joined the channel [17:26] gf3: willwhite: IIRC a URL with unescaped spaces is invalid, non? [17:29] willwhite: gf3: yeah I think you're right. this look like an intentional change. https://github.com/joyent/node/blob/master/lib/url.js#L35-36 [17:29] willwhite: gf3: thanks [17:29] Cromulent has joined the channel [17:29] voodootikigod_ has joined the channel [17:31] guillermo has joined the channel [17:31] jj0hns0n has joined the channel [17:32] jj0hns0n has joined the channel [17:33] zeade has joined the channel [17:34] losing has joined the channel [17:34] soapyillusions has joined the channel [17:34] dob_ has joined the channel [17:34] DrMcKay: anyone has an idea for some IRC bot features? [17:35] DrMcKay: (for this channel, of course) [17:35] dmwuw has joined the channel [17:35] CIA-65: libuv: 03Ryan Dahl 07master * rd77e979 10/ include/uv.h : Fix spelling - http://bit.ly/qa3u6x [17:36] fmeyer has joined the channel [17:36] arpunk: DrMcKay: an infobot plugin? :D [17:36] blup has joined the channel [17:38] gf3: tjholowaychuk: yeah there seem to be some bugs with parens [17:38] gf3: tjholowaychuk: e.g.: font-size: ($font-size / 16 * 1em) [17:38] tjholowaychuk: yeah, it's related to / [17:38] tjholowaychuk: because css is retarded [17:38] gf3: tjholowaychuk: yeilds 16/16 [17:38] tjholowaychuk: you have to special-case everything [17:38] gf3: instead of 1em [17:38] DrMcKay: arpunk: maybe :D [17:39] DrMcKay: arpunk: also, you're welcome to write it: https://github.com/mmalecki/dmkbot :D [17:40] kepheus has joined the channel [17:40] tjholowaychuk: gf3 and the stuff like border-radius: 1px 2px / 3px 4px; [17:40] tjholowaychuk: it's good fun [17:41] malletjo: Hello folks, I have a segfault that happen when i use a some place a "console.log" if i comment it , no seg fault. Anyone had this issue ? Next plan is to backtrace this. [17:41] DrMcKay: malletjo: OS, node version? [17:41] malletjo: DrMcKay, OS = ubuntu 10.04 , node = 0.4.10 [17:42] gf3: tjholowaychuk: sounds like a blast, shall I create a GH issue? [17:42] tjholowaychuk: i've got it fixed [17:42] bradleymeck has joined the channel [17:42] tbranyen: do it, you won't do it [17:42] DrMcKay: malletjo: interesting, would you please post code that crashes node? [17:43] tjholowaychuk: gf3 https://github.com/LearnBoost/stylus/issues/368 [17:43] malletjo: DrMcKay, can't post this code , ill try to do a use case. [17:44] StanlySoManly has joined the channel [17:44] dmwuw has joined the channel [17:44] DrMcKay: malletjo: OK, that's fine [17:46] losing_ has joined the channel [17:48] tjholowaychuk: gf3 releasing 0.15.1 [17:48] tjholowaychuk: has some other goodies too [17:48] tuhoojabotti: Girl Friend ^3 [17:48] matyr_ has joined the channel [17:49] gf3: tjholowaychuk: oh nice, I just updated my package.json to install from master, heh [17:50] vaheh has joined the channel [17:50] pandeiro has joined the channel [17:50] harthur has joined the channel [17:50] gf3: tjholowaychuk: waiiiitttt [17:50] gf3: tjholowaychuk: don't do it yet [17:53] vidi has joined the channel [17:53] DrMcKay has joined the channel [17:54] reid has joined the channel [17:54] reid has joined the channel [17:55] gf3: tjholowaychuk: multiplying by 1em loses the unit, and adding em after the parens adds a space between the value and unit [17:55] tjholowaychuk: gf3 what's the expression? [17:56] jakehow has joined the channel [17:56] tjholowaychuk: it currently takes the unit from the left-hand node [17:56] tjholowaychuk: 5em+2 vs 2+5em [17:56] tjholowaychuk: though in that case we could probably just assume to use em [17:56] gf3: tjholowaychuk: this: http://cloud.gf3.ca/9O2z [17:56] tjholowaychuk: im fine with that [17:56] ryan0x2 has joined the channel [17:57] gf3: tjholowaychuk: http://cloud.gf3.ca/9Npu [17:57] gf3: tjholowaychuk: there's no way to get a unit on those? [17:57] indexzero has joined the channel [17:57] tjholowaychuk: there's a unit BIF [17:57] tjholowaychuk: unit(foo + bar + baz, em) [17:57] tjholowaychuk: but i'll fix that anyway [17:57] tjholowaychuk: when you do (5 + 5)em it sees it as a list [17:58] tjholowaychuk: of (5 + 5) and (em) [17:58] kepheus: hi. I'm currently trying to learn node.js and am using node-scraper to play around a bit. I have (so two say) to nested calls to scraper, but the second one gets called only one and after the first iterations. what am I doing wrong here? thanks! example: http://dpaste.com/597499/ [17:58] gf3: yeah [17:58] gf3: tjholowaychuk: I'm cool with the * 1em [17:58] digitalsabre: Hey tj… any progress on your book? :) [17:58] gf3: tjholowaychuk: useful in many other situations: 24px * 2 → 48px [17:59] tjholowaychuk: gf3 that should work fine [17:59] tjholowaychuk: > 24px * 2 [17:59] tjholowaychuk: => 48px [17:59] c4milo has joined the channel [17:59] tjholowaychuk: > 24 * 2px [17:59] tjholowaychuk: => 48 [17:59] tjholowaychuk: digitalsabre yup! [17:59] gf3: tjholowaychuk: so the unit-ed value must be first? [18:00] tjholowaychuk: yeah [18:00] tjholowaychuk: > 5000ms - 2s [18:00] tjholowaychuk: => 3000ms [18:00] tjholowaychuk: > 5s - 2500ms [18:00] tjholowaychuk: => 2.5s [18:00] digitalsabre: tjholowaychuk: It was missing a lot when I downloaded it last. Also, how do I contribute? [18:00] tjholowaychuk: digitalsabre oh that book [18:00] tjholowaychuk: no im writing a Manning book [18:00] jakehow_ has joined the channel [18:01] digitalsabre: You gave up on Mastering Node? [18:01] jbpros has joined the channel [18:02] hekkwan has joined the channel [18:02] tilgovi has joined the channel [18:02] tilgovi has joined the channel [18:02] smtlaissezfaire has joined the channel [18:02] tjholowaychuk: digitalsabre this manning one will be a lot better, hard to put the time into something completely free [18:02] akshatj has joined the channel [18:02] tjholowaychuk: not that publishers give you any money [18:03] tjholowaychuk: but they are good at making you get shit done on time [18:03] djbell has joined the channel [18:03] cjroebuck has joined the channel [18:03] digitalsabre: Wish you'd have chosen New Riders. xD [18:03] tjholowaychuk: what's that? [18:03] digitalsabre: Another publisher. [18:03] tjholowaychuk: ah [18:04] digitalsabre: They were featured on 5by5.tv's The Big Web Show. [18:04] malletjo: DrMcKay, use case is working , i'll let you know if i can reproduce the bug. [18:04] MarkMenard has joined the channel [18:05] tjholowaychuk: digitalsabre i didnt really pick them but yeah i woudl have shopped around a bit more [18:05] airportyh has joined the channel [18:05] DrMcKay: malletjo: OK [18:06] jhurliman has joined the channel [18:06] tjholowaychuk: and manning covers make no sense [18:06] tjholowaychuk: i hate them [18:06] digitalsabre: Did they give you an advance? [18:06] colinclark has joined the channel [18:07] tjholowaychuk: not yet. im not in it for money [18:07] tjholowaychuk: books are a really shitty way to make money [18:07] DrMcKay: tjholowaychuk: any way we can help? [18:08] tjholowaychuk: DrMcKay we'll need some reviewers but I think we have enough right now [18:10] tjholowaychuk: gf3 https://github.com/LearnBoost/stylus/commit/57106cd2d95b343a477f055e241a6fd4bb01146c [18:10] DrMcKay: tjholoway: OK. When you'll need anything, just let us now [18:11] versicolor has joined the channel [18:11] losing has joined the channel [18:11] tjholowaychuk: DrMcKay: sounds good thanks man [18:11] _sorensen_: hey [18:11] tjholowaychuk: I wish I would say help me pick a better cover :D [18:11] tjholowaychuk: haha [18:11] _sorensen_: whoop got it! [18:11] tjholowaychuk: I dont want some random dude on the cover [18:13] DrMcKay: tjholowaychuk: what's currenly on the cover? [18:13] tjholowaychuk: lame like the rest of the manning "in action" books [18:13] norviller has joined the channel [18:13] tjholowaychuk: bad marketing [18:13] _sorensen_: can someone tell me if this site is up: http://genoglyphix.com/ [18:14] DrMcKay: _sorensen_: yes, but Chrome complains about https [18:14] _sorensen_: ah thanks much [18:14] _sorensen_: having some network problems [18:14] digitalsabre: It looks like they put pictures of pimps and fabulously-dressed dudes on their covers. [18:14] _sorensen_: IRC is all i can get on atm [18:15] DrMcKay: _sorensen_: ATM? like... this thing with money? [18:15] Sembiance: _sorensen_: site is up, but as DrMcKay mentioned, it gives me an icky 'This connection is untrusted' warning in chrome :) [18:15] tjholowaychuk: digitalsabre yeah like what do i say haha "the one with the settler on it" [18:15] tjholowaychuk: haha [18:15] tjholowaychuk: makes me mad [18:15] adelgado has joined the channel [18:15] tjholowaychuk: "the one with the wizard that is completely out of context" [18:16] gf3: tjholowaychuk: <3 [18:16] tjholowaychuk: i want this cover http://covers.oreilly.com/images/9780596527853/cat.gif [18:16] digitalsabre: tjholowaychuk: Spring In Action. That is all. [18:16] tjholowaychuk: "the one with the mother fucking ferret on it" [18:16] tjholowaychuk: would be much easier [18:16] tjholowaychuk: though it looks like a fox [18:17] digitalsabre: Well… being a furry I can clearly identify this as a ferrox. [18:17] digitalsabre: xD [18:17] DrMcKay: tjholowaychuk: continuous lol :D [18:17] c4milo: hey [18:17] AAA_awright: That doesn't look like a very convincing ferret [18:17] ryanfitz has joined the channel [18:17] c4milo: anybody has some example about how to use correctly nodejs threadpool (libeio) [18:17] AAA_awright: Which book is that? [18:17] c4milo: ? [18:18] Fabryz: badger [18:18] tjholowaychuk: http://www.manning.com/kawalerowicz/kawalerowicz_cover150.jpg [18:18] tjholowaychuk: haha [18:18] tjholowaychuk: man, im glad that's not my cover [18:18] soapyillusions has joined the channel [18:18] digitalsabre: Someone needs to belt the cover designer. [18:18] DrMcKay: tjholowaychul: I don't even [18:18] AvianFlu: fwait [18:18] AAA_awright: ... Yeah, O'Reilly has it right using random animals. [18:19] AvianFlu: WAIT [18:19] drwells has joined the channel [18:19] AvianFlu: Integration in .NET - a renaissance chick on the cover?! [18:19] digitalsabre: I'm no expert in graphic design, but that's the ugliest thing I've ever seen. [18:19] AvianFlu: WHAT!? [18:19] drwells has left the channel [18:19] digitalsabre: And it makes no sense. [18:19] AvianFlu: The O'Reilly books are at least all different animals, and it's a gimmick for them [18:19] drwells has joined the channel [18:19] sreeix has joined the channel [18:19] DrMcKay: .NET is from renaissance maybe? [18:19] AvianFlu: that... I mean, just WTF [18:19] tjholowaychuk: yeah i muuuuch prefer the oreilly stuff [18:19] AvianFlu: oh yeah, tr00th [18:20] remysharp has joined the channel [18:20] digitalsabre: Integration had nothing to do with the renaissance. [18:20] Fabryz: why nodemon is not autorestarting the server for some files? [18:21] scottschecter has joined the channel [18:21] tjholowaychuk: im not sure if im allowed to show our cover [18:21] tjholowaychuk: it doesnt use the new node colors [18:22] kepheus: you could describe it [18:22] bartmax has joined the channel [18:22] bartmax has joined the channel [18:22] Insanity5902 has joined the channel [18:22] DrMcKay: tjholowaychuk: this one is appropriate for node.js book: http://lh4.ggpht.com/_xM6S1O620QE/SdAur07QvRI/AAAAAAAAJXE/FKraRzIAw2w/s800/Strange%20Book%20Titles%20Weird%20Funny%20Humor%20Reading18.jpg [18:22] Insanity5902 has left the channel [18:23] kulor-uk has joined the channel [18:24] drwells has joined the channel [18:27] DrMcKay: maybe a "leave a message" feature would be useful? [18:27] soapyillusions has joined the channel [18:27] DrMcKay: (for a bot) [18:27] jmar777 has joined the channel [18:28] TooTallNate has joined the channel [18:29] frodenius: DrMcKay㇀ there already is [18:29] frodenius: its ircretary [18:29] cpetzold has joined the channel [18:29] DrMcKay: damn it. [18:30] Fabryz: ㇀ [18:31] al3xnull_ has joined the channel [18:31] _sorensen_: http://fgnass.github.com/spin.js/ [18:31] kepheus has joined the channel [18:31] DrMcKay: _sorensen_: cool thing [18:32] Fabryz: nice [18:34] _sorensen_: i wonder if its just neat though... could you ever really use it? [18:34] _sorensen_: the overhead is far more than an img [18:34] DrMcKay: _sorensen_: oh, well... [18:35] DrMcKay: you've just disproved half of programming projects [18:35] Fabryz: the best part is where you personalize it :3 [18:35] _sorensen_: lol [18:35] _sorensen_: i'll likely use it [18:35] _sorensen_: since spinners happen to be on my todo list [18:36] jeedey: :D nice spinners [18:36] akshatj has joined the channel [18:36] TheFuzzball has joined the channel [18:37] vidi_ has joined the channel [18:38] vidi_ has joined the channel [18:38] rick_h_ has joined the channel [18:38] vidi_ has left the channel [18:38] _sorensen_: makes me want to make a vector car [18:39] _sorensen_: and put them spinners on it... [18:39] frodenius: it's really fucking cpu intensive [18:39] _sorensen_: that it is [18:39] frodenius: but pretty neat [18:39] i42n has joined the channel [18:39] _sorensen_: i guess though, you probably shouldn't be running it for a long time [18:41] vidi has joined the channel [18:41] dgathright has joined the channel [18:42] CoverSlide has joined the channel [18:43] newy_ has left the channel [18:43] DrMcKay: lol: http://programmers.stackexchange.com/questions/102090 [18:44] devaholic has joined the channel [18:44] ryanfitz has joined the channel [18:46] soapyillusions has joined the channel [18:46] GlynnR has joined the channel [18:46] hunterloftis has joined the channel [18:46] TooTallNate has joined the channel [18:47] hunterloftis: So - NODE_ENV = production, now stylus stops updating css - coincidence or some setting we're missing? [18:48] ekryski has joined the channel [18:49] tjholowaychuk: hunterloftis hmm the stylus middleware? [18:49] tjholowaychuk: it could just keep doing its thing [18:49] tjholowaychuk: maybe the app config is off a bit [18:50] hunterloftis: tjholowaychuk: cool thanks - I mostly wanted to spot check that it doesn't do the caching like express does with views [18:50] CoverSlide: doesn't the stylus middleware render to a file? [18:51] cjroebuck has joined the channel [18:51] tjholowaychuk: CoverSlide yeah [18:51] hunterloftis: CoverSlide - it does, but it also detects file changes and re-renders [18:51] hunterloftis: (afaik) [18:52] tjholowaychuk: yup [18:52] Margle has joined the channel [18:52] pizthewiz: is there a good way via connect/express that i could use a prefix to map to a specific set of static assets? like /generated_images/ maps to a specific static location. or perhaps i should just write my own static handler? [18:53] hunterloftis: pizthewiz are you just looking for a public folder? [18:53] CoverSlide: yuo can have multiple staic handlers [18:53] pizthewiz: in addition to public, i have a second set of generated assets that sit elsewhere on the filesystem, i almost wanted something like this: app.get(/\/generated_image\/(.*)/, express.static(eventConfig.projectPath)); [18:53] hunterloftis: pizthewiz: server.use(express.static(server.set('public'))); should do it if I understand your question [18:53] tjholowaychuk: pizthewiz app.use(express.static('public')) [18:54] random123 has joined the channel [18:54] tjholowaychuk: pizthewiz app.use('/public', express.static('public')) if you want to "mount" it at "/public" [18:54] garrensmith has joined the channel [18:54] pizthewiz: oh, so i could mount my second static point with a prefix that way, perfect -- thanks! [18:55] tjholowaychuk: yup, it's a core feature of connect so you can use it with anything [18:55] [[zz]] has joined the channel [18:55] malletjo: DrMcKay, weird , if i remove "sha1sum.update(fileContent).digest('hex')" , the console.log is working and not crash ( seg fault ) , if i put back the sha1sum it crash. [18:55] DrMcKay: malletjo: oh, interesting [18:55] versicolor has joined the channel [18:55] guybrush: pizthewiz: connect.static is just fine - if your want to do something really special there is res.sendfile :D but it has no cache, range and other stuff i think [18:56] DrMcKay: malletjo: just a little snippet of code, please? [18:56] pizthewiz: tjholowaychuk: perfect thank you, that is a lot cleaner than poking around with my own arbitrary / bad static handler [18:56] guybrush: *if you [18:56] tjholowaychuk: guybrush it uses the same code actually [18:56] tjholowaychuk: connect.static.send [18:56] malletjo: DrMcKay, i'm working on it now i know where it come from [18:56] vipaca has joined the channel [18:56] guybrush: tjholowaychuk: ah lol, thanks for the hint [18:56] DrMcKay: malletjo: you mean, your code or node.js code? [18:57] malletjo: DrMcKay, mine [18:57] slifty has joined the channel [18:57] pizthewiz: guybrush: yeah i was thinking i'd have to do something similar as my assets are currently absolute filepaths, but i'll just transform them then set a specific mount point, so i can easily tell which is coming form where [18:57] malletjo: i'll provide a use case and post it here and maybe file a bug [18:57] DrMcKay: OK. but generally you should report it with a test case or something [18:57] malletjo: exactly [18:57] DrMcKay: malletjo: that'll be greatly appreciated :) [18:58] akshatj has joined the channel [18:58] pizthewiz: tjholowaychuk: that did the trick thanks again [18:59] guybrush: pizthewiz: i have a big hash which describes dependencies of assets, its trivial to parse that and mount it with connect [18:59] tjholowaychuk: pizthewiz np, if you have further questions join #express [18:59] sixwing has joined the channel [18:59] guybrush: kind of similiar to the google-thing, but much simpler and thus better :p [19:00] DrMcKay: off-topic question: do you guys put your in-progress jobs and contracts into resume? (I don't really know where to ask) [19:02] ronniebo_ has joined the channel [19:02] stagas: DrMcKay: sure [19:03] antono has joined the channel [19:03] mynyml has joined the channel [19:03] Vertice has joined the channel [19:03] DrMcKay: stagas: OK, thanks [19:03] felixhummel has joined the channel [19:04] soapyillusions_ has joined the channel [19:04] butu5 has joined the channel [19:04] ronnieboy has joined the channel [19:04] GarrettS-MSFT has joined the channel [19:04] GarrettS-MSFT has joined the channel [19:04] smus has joined the channel [19:04] felixhummel has joined the channel [19:06] bengrue has joined the channel [19:07] cjroebuck has joined the channel [19:07] versicolor has joined the channel [19:11] jbpros has joined the channel [19:12] jvduf has joined the channel [19:16] Sazpaimon has joined the channel [19:17] tomtomaso has joined the channel [19:18] mraleph has joined the channel [19:18] eee_c has joined the channel [19:19] geetaris_ has joined the channel [19:19] geetaris_ has joined the channel [19:25] fdenbow has joined the channel [19:26] DrMcKay: off-topic again, would you put SO profile on your resume? [19:26] fwg: if it is worth it :) [19:27] Creap has joined the channel [19:27] DrMcKay: 1238 rep, not much really [19:27] Creap: Hi, is there a Node.js SCSS auto compiler, like the ones for SASS and LESS? [19:27] jetienne: nah i tried to contribute to stackoverflow, they classified me as spammer :) [19:27] bluesmoon has joined the channel [19:27] jetienne: like 2 answers, twice deleted [19:27] DrMcKay: jetienne: lol [19:27] DrMcKay: jetienne: were you registered? [19:28] jetienne: DrMcKay: yep, and those questions were about three.js, a topic i know quite well [19:28] bluesmoon has joined the channel [19:28] jetienne: DrMcKay: so all in all i flaged stackoverflow as nogood :) [19:28] jetienne: DrMcKay: kind joshing even if the story is true [19:29] jetienne: DrMcKay: put it on your resume, if it cant hurt [19:29] ts__ has joined the channel [19:29] jetienne: DrMcKay: you apply for coding job ? put your github+portfolio they like this [19:30] jetienne: DrMcKay: it gives them offline ability to study how you work [19:30] DrMcKay: jetienne: they e-mailed me regarding Tornado, so they had to find me on GitHub [19:30] jetienne: DrMcKay: an easy to find portfolio did good for me [19:31] jetienne: if a guy in the company already use your code, this is a big plus :) [19:31] DrMcKay: jetienne: I wanted to set-up myself a little site on node.js but didn't make it :/ [19:31] jetienne: DrMcKay: do it [19:31] adelgado has joined the channel [19:31] jetienne: DrMcKay: it worth way way more than you can imagine [19:32] jetienne: DrMcKay: even better if you can make it flashy [19:32] DrMcKay: jetienne: oh, Facebook is worth one night, I guess :D [19:32] jetienne: i will rewrite mine in webgl :) [19:32] jetienne: facebook ? ouch [19:32] nickbruun has joined the channel [19:32] jetienne: "code square root in javascript" is a question they asked :) [19:32] DrMcKay: well, I don't like their attitude towards developers, but... [19:33] DrMcKay: what? I mean, really? [19:33] jetienne: no need to justify, this is a good job [19:33] jetienne: DrMcKay: yes really they asked [19:33] DrMcKay: oh man... maybe there were looking for some optimizations? [19:33] DrMcKay: or... I don't know [19:34] jetienne: DrMcKay: ignore this, make a nice portfolio, it will be good for now and for the future [19:34] DrMcKay: jetienne: I guess, thanks :) [19:34] achiu has joined the channel [19:34] jetienne: http://jetienne.com/portfolio/ is what i did. nothing too fancy but still, a lot of people came from there [19:35] jetienne: my webgl one will be much more mickey :) [19:35] DrMcKay: jetienne: wow, it's very nice! [19:35] jetienne: nah come on this is only div sliding [19:35] jetienne: wait for my particles funky :) [19:35] DrMcKay: *very nice* div sliding :) [19:36] jetienne: :) [19:36] devaholic has joined the channel [19:36] jetienne: the code is like 10 lines, feel free to use it [19:36] reid has joined the channel [19:36] achiu1 has joined the channel [19:37] DrMcKay: jetienne: I'll write something myself, I think [19:37] DrMcKay: too bad I don't have really anything to put there [19:37] [[zz]] has joined the channel [19:37] CoverSlide: do you have a github? [19:37] jetienne: cool, well yep you need to do actual work :) [19:37] DrMcKay: gosh, I'm 17 year old, what are they expecting, a Nobel prize? [19:38] jetienne: yes! [19:38] DrMcKay: oh, wait, brb, I'm gonna get myself a one [19:38] hellp has joined the channel [19:39] DrMcKay: "pet project" term is acceptable? [19:39] DrMcKay: CoverSlide: yes, they found me there [19:39] rwaldron has joined the channel [19:39] jetienne: sure [19:39] patcito has joined the channel [19:39] rwaldron has left the channel [19:39] CoverSlide: who found you? [19:39] jetienne: last interview i got was thru skype "oh you place the camera on the side, you looked like you didnt commit" [19:39] DrMcKay: CoverSlide: fb [19:40] CoverSlide: nice [19:40] brainproxy: isaacs: `npm install .` operates differently by design? i.e. the module is installed "in place" instead of the install copy being tucked into a node_modules subdir? do I understand correctly? [19:40] DrMcKay: jetienne: lol [19:40] nickbruun has left the channel [19:40] wmage has joined the channel [19:40] jetienne: DrMcKay: in reality "yep the camera was on the side, because my office is this way" :) [19:41] jetienne: aka relax most of this is random :) [19:41] CoverSlide: i spent a 2 weekends writing node stuff for these dudes, didn't get the job tho: http://jobs.scopely.com/ [19:41] DrMcKay: jetienne: :D. too many RL situations remind me of Geek Hero comic [19:42] jetienne: DrMcKay: my advice would be, apply to a LOT, one will popup [19:42] DrMcKay: CoverSlide: what the hell is it? [19:42] AvianFlu: CoverSlide are you sure they're not just a scam? [19:42] CoverSlide: i went to their offices and everything [19:42] CoverSlide: they're real [19:43] DrMcKay: jetienne: funny thing is, I haven't applied even once yet [19:43] CoverSlide: guillermo did a talk for a meetup they organized [19:43] AvianFlu: doing free work like that for a long time as a job interview is usually like, not legal [19:43] jetienne: DrMcKay: then do [19:43] DrMcKay: jetienne: 2 companies and 1 guy found me (and I work for him now) [19:43] jetienne: DrMcKay: interview is a good exercice. do that a lot [19:44] CoverSlide: more like a few coding tests / games and such, not real work [19:44] jetienne: else you will be stressed when you got a job you want [19:45] colinclark has joined the channel [19:45] jetienne: CoverSlide: 2 weekends [19:45] `3rdEden has joined the channel [19:45] jetienne: would be better to spend this time is a largly viewable work [19:45] DrMcKay: jetienne: I'm pretty much stressed as hell when I have to write a resume ;) [19:46] jetienne: would bring more job :) [19:46] DrMcKay: ACTION reviews my GitHub profile [19:46] jetienne: DrMcKay: resume is horrible stuff :) i prefere the github thing [19:46] Wizek has joined the channel [19:47] jetienne: like when the company gives you somebody to talk to, but this is only some admin person [19:47] jetienne: just repeating the paper you already read [19:47] DrMcKay: jetienne: oh, that has to suck so hard :/ [19:48] jetienne: you will get that believe me :) [19:48] CoverSlide: yes it does [19:48] DrMcKay: but, well, I've read somewhere that most programmers haven't ever contributed a single line of code to an open source project [19:48] DrMcKay: so, hell yeah, we're top notch coders :D [19:48] CoverSlide: that's how 90% of jobs outside of silicon valley are though [19:48] technoweenie has joined the channel [19:48] jetienne: mouamoua :) [19:49] DrMcKay: btw, can you even imagine not doing open source now? [19:49] jetienne: open source is a nice way to show what you can do [19:49] pietern has joined the channel [19:49] jetienne: you contribute AND you show your ability. [19:49] jetienne: i like i t:) [19:50] saikat has joined the channel [19:50] bluesmoon: I once applied to a job where they listed experience with "boomerang" as a requirement� (I made boomerang :D) [19:50] DrMcKay: jetienne: exactly. [19:51] jedahan: bluesmoon: sounds like a fun place [19:51] jetienne: bluesmoon: you got it i hope :) [19:51] bluesmoon: I didn't take it though [19:51] DrMcKay: bluesmoon: they may have few problems with interpersonal relations in the office [19:51] mape: webos down the drain? :S [19:51] jetienne: mape: hue? [19:51] jedahan: ohhh I thought you meant a physical boomerang [19:51] CoverSlide: is it? [19:52] bluesmoon: heh. [19:52] mape: jetienne: http://techcrunch.com/2011/08/18/its-official-hp-kills-off-webos-phones-and-the-touchpad/ [19:52] CoverSlide: aww :( [19:52] bluesmoon: github/bluesmoon/boomerang [19:52] mape: no more node on hp then [19:52] jetienne: mape: creationix will be sad :( [19:52] butu5 has joined the channel [19:52] ph^ has joined the channel [19:53] mape: yeah not the best of situations [19:53] CoverSlide: hmm is the touchpad ARM? [19:53] bluesmoon: but it's nice when you work on an open source project and then see it showing up in job descriptions [19:53] jedahan: sounds pretty satisfying [19:53] jedahan: thats how we got one of our devs at work [19:54] jedahan: kind of [19:54] `3rdEden: jetienne whole node.js would be sad as palm did some great contribution and fixes :9 [19:54] jetienne: bluesmoon: next time put http:// befor ethat [19:54] jedahan: hes a pretty big nodejs contributor [19:54] jedahan: and we just chatted and found that out later [19:54] jedahan: :) [19:54] bluesmoon: jetienne: github is so ubiquitous they should just make it a URL scheme [19:54] bluesmoon: github://bluesmoon :D [19:54] CoverSlide: sweet [19:54] jedahan: bluesmoon: its getting there with things like the github client for mac [19:54] jetienne: bluesmoon: doesnt change my coment :) [19:54] DrMcKay: bluesmoon: easy in Firefox [19:54] jetienne: `3rdEden: oh! i didnt follow that [19:54] charleyd has joined the channel [19:55] antono has joined the channel [19:55] fermion has joined the channel [19:55] CoverSlide: who's from palm? [19:56] mape: creationix [19:56] robotmay has joined the channel [19:56] CoverSlide: i thought he was from sencha? [19:56] jetienne: nice guy, produtive and all [19:56] mape: he moved quite some time ago [19:56] Aikar: `3rdEden: I'm seeing duplicate events firing on client side with socket.io, known? [19:56] CoverSlide: i see [19:56] `3rdEden: Aikar nope, not that i'm aware of [19:56] mikeal: creationix will be fine [19:56] mape: don't think sencha is doing much node nowadays [19:56] mikeal: he has options :) [19:57] Aikar: it wasnt happening before, it happens after page has been opened for a while [19:57] yept has joined the channel [19:57] jetienne: mikeal: still when you apply yourself to a project, and this project goes down, this is not nice [19:57] Aikar: im simply doing io.sockets.emit('foo', 'bar'); then on client client.on('foo', function() { // bar }); [19:57] 45PAAHQIY has joined the channel [19:58] mape: partypoopin [19:58] `3rdEden: Aikar you using the latest veersion? [19:58] Vertice has joined the channel [19:58] langworthy has joined the channel [19:59] robotmay has joined the channel [19:59] scottschecter has joined the channel [19:59] Aikar: `3rdEden: 0.7.7? [19:59] anoop has joined the channel [20:00] fly-away has joined the channel [20:00] ajsie has joined the channel [20:00] Aikar: hmm looks like there is some updates [20:00] mape: `3rdEden: ever thought about changing your nick to make it less awfull to tab in irssi? ;) And besides that, does the socket.io client have the ability to emit custom data? or is just .send? [20:00] Aikar: lol [20:00] Aikar: mape: .emit [20:01] mape: That works on the client as well? [20:01] 45PAAHQIY has left the channel [20:01] Aikar: yes [20:01] mattly has joined the channel [20:01] mape: hmm k, then I have to have done some wonky stuff [20:01] Aikar: client.emit('foo', { bar: 'baz'}); [20:02] vikstrous__ has joined the channel [20:02] mape: and then in io.sockets.on('connection' **** client.on('custom'** ? [20:02] smus has joined the channel [20:03] `3rdEden: Aikar try 0.7.9 [20:03] sechrist: boo [20:03] `3rdEden: mape i'll change my nick once numbers as first char are allowed <3 [20:03] sechrist: I wanted one of the new webos devices [20:03] DrMcKay: oh, I have some Ruby app I could open source... [20:04] Aikar: th3rdEden! [20:04] DrMcKay: no, it's a mess [20:04] mape: Do inverted 1337 and sport ErdEden? :P [20:04] `3rdEden: mape client has emit/send and if you send json, it's socket.json.send(blablabla) [20:04] mape: perfect [20:05] `3rdEden: ThirdEden is to long to type as well :$ [20:05] bluesmoon: `3rdEden: I think you can use negative numbers and real numbers between 0 and 1 [20:05] xtianw_ has joined the channel [20:05] `3rdEden: `The nickname -123424235353535 is already in use on asimov.freenode.net` [20:06] `3rdEden: :9 I highly doubt that someone is already using that number [20:06] sechrist: I remember performing sql injections through some old nickservs [20:06] sechrist: I don't think freenode was one of them [20:06] sechrist: it was so bad [20:06] DrMcKay: `3rdEden: dd if=/dev/random bs=1 size=4 | base64 [20:07] mape: could just do i3rdEden [20:07] mape: get some street cred with all the apple peeps [20:07] `3rdEden: haha [20:07] bluesmoon: mape: that's just an imaginary number [20:08] zeissoctopus has joined the channel [20:08] jedahan: why can't i cat /dev/urandom > /dev/dsp in osx :( [20:08] mape: bluesmoon: no that is white and shiny [20:08] DrMcKay: jedahan: is there /dev/dsp in OS X? [20:08] CoverSlide: /dev/dsp is oss right? [20:08] CoverSlide: i doubt OSX would use oss [20:08] CoverSlide: probably have their own proprietary shit [20:09] gkmngrgn has joined the channel [20:09] zeissoctopus has joined the channel [20:10] DrMcKay: CoverSlide: there is even no /dev/dsp no longer in Linux :( [20:11] DrMcKay: I've used to listen to tar'ed kernel source [20:11] CoverSlide: depends on the distro i think [20:11] DrMcKay: that was fun [20:12] DrMcKay: gosh, that objective in resume feels so stupid [20:12] jedahan: I miss '/dev/dsp < /dev/input/mice' [20:12] adelgado has joined the channel [20:13] DrMcKay: fuck it, I'm sending this resume [20:13] DrMcKay: ACTION is really afraid [20:14] bluesmoon: jedahan: you could try `jot -b dum 26 | say -v Cellos` [20:14] jedahan: heh yeah [20:14] jedahan: that is cute [20:15] thorsteinsson has joined the channel [20:15] arthurdebert has joined the channel [20:16] DrMcKay: I could host this resume on GitHub :D [20:16] DrMcKay: in a git repository [20:16] DrMcKay: oh, that would be so geeky [20:16] amerine has joined the channel [20:16] sh1mmer has joined the channel [20:16] bluesmoon: DrMcKay: http://resume.github.com [20:17] CoverSlide: sweer [20:17] CoverSlide: whose is that? [20:17] DrMcKay: bluesmoon: cool :D [20:18] robi42 has joined the channel [20:19] tbranyen: yo chrisdickinson yay your changes landed :D [20:19] insin has joined the channel [20:19] chrisdickinson: tbranyen: wooooo [20:19] tbranyen: except for package.json [20:19] tbranyen: which is like come on! [20:19] unlink has joined the channel [20:19] jedahan: 'Passionate Github User' :_ [20:19] unlink has joined the channel [20:20] jhbot has joined the channel [20:21] davro has joined the channel [20:21] DrMcKay: I'm seriously screwed, I've tried to save with :w in OO.org [20:21] gazumps has joined the channel [20:21] spasquali has joined the channel [20:22] eirikurn has joined the channel [20:22] CoverSlide: pff [20:22] achiu has joined the channel [20:22] CoverSlide: realm men write their resumes in tex [20:22] CoverSlide: s/realm/real/ [20:22] DrMcKay: CoverSlide: I planned to, but I didn't have time to do so [20:23] davro: real men do not need resumes [20:23] DrMcKay: maybe I should export it to PDF by hand? [20:23] spasquali has left the channel [20:23] bluesmoon: CoverSlide: I used to, now I just don't have a resume any more. I point people to linkedin when they ask [20:23] bluesmoon: and linkedin has a github widget [20:24] jerrysv_ has joined the channel [20:24] brainproxy: how about a t-shirt w/ an embedded arduino/wifi and e-ink panels on the front and back displaying one's coderwall page [20:24] chrisdickinson: tbranyen: i think that's probably my fault -- i don't think i merged my "package.json" file into the feature/commonjs branch. [20:24] brainproxy: i mean that's how a real man would do it [20:24] dshaw_1 has joined the channel [20:25] fangel has joined the channel [20:25] tbranyen: ahhh okay [20:27] akshatj has joined the channel [20:28] Margle has joined the channel [20:28] djbell has joined the channel [20:29] jvduf has joined the channel [20:30] rhaen: hep. [20:30] gazumps has joined the channel [20:30] blup has joined the channel [20:30] ParadoxQuine has joined the channel [20:32] leeda has joined the channel [20:33] leeda has left the channel [20:35] Wa has joined the channel [20:36] voodootikigod has joined the channel [20:36] voodootikigod: tim [20:37] voodootikigod: you in here? [20:38] mape: no creationix here :( [20:40] neilk_ has joined the channel [20:40] mike5w3c_ has joined the channel [20:41] Vertice has joined the channel [20:41] MarkMenard has joined the channel [20:42] hasta84 has joined the channel [20:44] sixwing has joined the channel [20:44] isaacs has joined the channel [20:45] DrMcKay: oh! maybe bot should report newest github issues? [20:46] CoverSlide: here? [20:46] DrMcKay: yes [20:46] CoverSlide: umm .. no [20:46] DrMcKay: (just throwing random ideas, I'm bored) [20:46] CoverSlide: maybe if there was a node-dev channel [20:47] DrMcKay: oh, right [20:47] geetarista has joined the channel [20:47] airportyh has joined the channel [20:48] zanes has joined the channel [20:49] ryah: github issue bot ++ [20:49] tbranyen: github issues has been glitchy for me [20:49] hij1nx has joined the channel [20:50] Cromulent has joined the channel [20:51] asabil has joined the channel [20:51] vikstrous_ has joined the channel [20:52] tylerstalder has joined the channel [20:53] msync has joined the channel [20:53] msync: Hello guys, I'm new here.. I'm just wondering if anyone of you have tried using windows build of NodeJS... [20:54] msync: I tried to use it now and found that the console.log are not showing anything and I couldn't connect as well. [20:54] wadey has joined the channel [20:54] msync: If I type something like node example.js then all I got is "..." [20:54] insin: tried it with some node_modules linked in by npm on Cygwin... it did not like it :/ [20:55] hdon-: msync, i am not familiar with that build, but i am familiar with a pattern of stdio problems on windows... by chance has it created a file called stdout.txt or anything? [20:55] bradleymeck has joined the channel [20:55] msync: actually, the latest version of NodeJS has windows build "node.exe" so I guess we dont need Cygwin anymore [20:55] msync: no.. It's example.js. [20:56] insin: you do if you value npm *hug* [20:56] hdon-: msync, i mean is stdout being redirected to a file and not your terminal emulator? [20:57] msync: Oh.. let me check. [20:57] monokrome: hmm… npm is just hanging whenever I try to install anything :| [20:57] DrMcKay: malletjo: ping? [20:57] isaacs: monokrome: what versions fo things? [20:58] monokrome: npm version 1.0.26, using: npm install github jade connect express forever [20:58] msync: hdon ... I dont see any txt file or log file in that folder so I think "no" [20:58] hdon-: msync, k, worth a try ;) [20:58] msync: I'm following "Hello World" example from website. [20:58] insin: ACTION can't hear you over how loud compiling the latest Node is making his PC :/ [20:58] isaacs: monokrome: try with -d or -dd, do you see output flying by? [20:58] isaacs: monokrome: could just be actually taking a while. [20:58] isaacs: monokrome: what version of node? [20:58] monokrome: yeah [20:59] monokrome: Maybe it was just taking a while to get everything. Usually it's a lot faster. [20:59] malletjo: DrMcKay, i compile with debug mode and i have some new problem here. It's hard for me to create a use case. [20:59] brolin has joined the channel [20:59] malletjo: DrMcKay, i'll get in touch with you when it will be completed [20:59] malletjo: seems related to libxml2 and not sha1sum or anything else [21:00] MUILTFN has joined the channel [21:00] vidi has joined the channel [21:00] DrMcKay: malletjo: OK, can I help you somehow? [21:00] msync: hdon-, ya. thanks. [21:02] maushu: dun dun dun [21:03] malletjo: DrMcKay, not really, since its a nda project, its hard for me to share my problem. I'll try to figure out myself or file a bug if its a bug. Thank you [21:05] ale has joined the channel [21:05] ale: How much bandwidth, memory and CPU consumes socket.io + node.js? Is there any hosting recommended for these? [21:06] markwubben has joined the channel [21:06] CoverSlide: it all depends on what you run on it [21:06] robotmay has joined the channel [21:06] CoverSlide: "Hello World" should be able to run on anything [21:08] eee_c has joined the channel [21:09] versicolor has joined the channel [21:09] dreamdust has joined the channel [21:09] Marak has joined the channel [21:10] DrMcKay: CoverSlide: don't lie! my freezer doesn't seem to have compatible libraries [21:10] hij1nx has joined the channel [21:10] CoverSlide: no? mine does [21:10] sh1mmer has joined the channel [21:10] CoverSlide: hmm fill out a bug report [21:11] AvianFlu: RFC 2324: HTCPCP [21:11] pixel13 has joined the channel [21:11] DrMcKay: CoverSlide: :D [21:12] jeedey: should'nt regex.exec(str) return an array of matches? [21:13] CoverSlide: jeedey: nope, never has [21:13] CoverSlide: just the first match [21:13] jeedey: wtf am i thinking of then [21:13] jeedey: my brain is dyingg [21:13] AvianFlu: .match() probably [21:14] CoverSlide: php's preg_match_all [21:14] AvianFlu: keep php out of this [21:14] pixel131 has joined the channel [21:14] AvianFlu: its RE.match(string) [21:14] AvianFlu: and/or string.match(re) [21:14] insin: is the cygwin 'Error: Failed tar "-mvxpf"' thing with npm effectively random? :/ [21:14] jeedey: for that I got object has no method match [21:14] jeedey: which is why i got confused in the first place.. [21:14] AvianFlu: string.match or re.match [21:14] AvianFlu: which did you try [21:14] jeedey: re.match [21:14] AvianFlu: I think it's string.match(re) [21:14] CoverSlide: v8: "blah--blah".match(/blah/) [21:14] v8bot_: CoverSlide: ["blah"] [21:15] AvianFlu: I think that's the backwards one [21:15] AvianFlu: v8: "blah--blah".match(/blah/g) [21:15] v8bot_: AvianFlu: ["blah", "blah"] [21:15] DrMcKay has joined the channel [21:15] AvianFlu: see? [21:15] hasta84 has left the channel [21:15] CoverSlide: v8: "blah--blah".match(/b(la)h/g) [21:15] v8bot_: CoverSlide: ["blah", "blah"] [21:16] AvianFlu: ACTION has been a regex ninja for way longer than he's been a node ninja [21:16] pixel131 has left the channel [21:16] CoverSlide: waitaminit [21:16] jeedey: ahhh ya [21:16] jeedey: thanks guys! [21:16] jeedey: its late :) (my usual excuse but hah) [21:16] jamesd: ACTION in my limited experience things work best when you put all variables and decloration inside code that will eventually spawn more than one tread, the exact oposite of most languages where you wanted to pull everything out of loops [21:16] incon has joined the channel [21:16] tomtomaso has joined the channel [21:17] jeedey: hmmm next weird thing I see, when using this regex in the Connect router middleware, it worked, in standard JS it isnt [21:17] jeedey: :D [21:17] CoverSlide: oh ok, yeah i usually don't use /g cause i usually want some grouping too [21:18] jeedey: alllmost fixed it up [21:18] mehtryx has joined the channel [21:20] kriszyp has joined the channel [21:20] AvianFlu: v8: "blah--blah".match(/b(la)h/) [21:20] v8bot_: AvianFlu: ["blah", "la"] [21:20] AvianFlu: yep, that's what I thought [21:21] vipaca has joined the channel [21:21] vipaca has joined the channel [21:21] Sazpaimon has joined the channel [21:21] wbw72 has joined the channel [21:21] chrisdickinson: v8: (/b(la)h/g)('blah--blah') [21:21] v8bot_: chrisdickinson: ["blah", "la"] [21:22] jerrysv_: v8bot isn't on 0.5 [21:22] chrisdickinson: "in a world, where regexen are also functions..." [21:22] robertfw has joined the channel [21:22] chrisdickinson: jerrysv_: did they rip that behavior out in a newer V8? [21:23] tbranyen: chrisdickinson: from what i gather those were a bad interpretation of the spec [21:23] tbranyen: so they've been changed [21:23] chrisdickinson: aw, dang. i liked 'em. [21:24] tbranyen: typeof /\d/ should yield 'object' not 'function;' [21:24] monokrome: isaacs: Is there a way to `npm install socket.io` at a specific version? [21:24] ale: Is there any way to turn nodejs debugger off? [21:24] jvduf has joined the channel [21:24] DrMcKay: monokrome: npm install socket.io@version [21:24] fwg: yea they fixed the typeof issue but the callable property can still be set or not? [21:25] monokrome: ah [21:25] tbranyen: fwg: oh quite possibly [21:28] blup has joined the channel [21:29] al3xnull has joined the channel [21:30] Aikar: npm down? [21:30] Aikar: npm update is just hanging [21:31] DrMcKay: Aikar: yes :/ [21:32] kmiyashiro has joined the channel [21:34] Aikar: looks like it just unhung [21:34] FireFly|n900 has joined the channel [21:34] FireFly|n900 has joined the channel [21:35] DrMcKay: Aikar: it sometimes tends to do this kind of weird things [21:36] mehlah has joined the channel [21:37] Creap has left the channel [21:37] Aikar: hmm, git gui prompted me to compress my git object database, is it safe to commit while its doing that? doesnt seem like it would be lol [21:38] chilts: I'd probably wait, won't take that long :) [21:38] DrMcKay: while it's doing that? no, and I don't thing git would even let you [21:38] chilts: it'll probably stop you anyway [21:38] chilts: yeah [21:38] DrMcKay: s/thing/think/ [21:38] tbranyen: sure why not? [21:38] tbranyen: why would that be an issue [21:38] Aikar: it was checked out from git-svn... so it may be sloppy :P is taking a bit [21:38] tbranyen: its compressing existing commits [21:38] tbranyen: ACTION is not liable for bad advice [21:39] Drakonite has joined the channel [21:40] DrMcKay: tbranyen: AFAIK it's not atomic, so his repo and remote one may differ really much during this operation [21:41] Drakonite has joined the channel [21:41] jtsnow has joined the channel [21:41] DrMcKay: ACTION search for some big repo to try that [21:41] tbranyen: my attitude is about to get nuclear [21:41] Guest35 has joined the channel [21:41] DrMcKay: tbranyen: :D [21:41] Guest35: well [21:42] Aikar: hmm [21:42] Aikar: updating socket.io appears to of broken stuff [21:42] Guest35: can anyone tell me the problem of the following proxy server [21:42] tbranyen: Aikar: from 0.6 to 0.7? [21:42] Guest35: node.js:63 [21:42] tbranyen: if so yeaaa. [21:43] Guest35: throw e; [21:43] freeformz has joined the channel [21:43] Aikar: 0.7.7 to 0.7.9 [21:43] Guest35: ^Error: Parse Error at Client.onData [as ondata] (http:854:27) [21:43] AvianFlu: Guest35: make a gist, it's easier to see [21:43] Guest35: at IOWatcher.callback (net:494:29) at node.js:773:9 [21:43] Aikar: it looks like it actually tried to load the .swf file this time tho [21:43] Guest35: kk [21:43] AvianFlu: Guest35: you should also show us code if you can, it's hard to say from just an error message [21:43] tbranyen: nodes new logo is starting to grow on me [21:44] Aikar: its just getting 3 byte 8:: responses over XHR polling [21:44] freeformz has joined the channel [21:44] storrgie has joined the channel [21:45] Guest35: var http = require('http'); [21:45] Guest35: http.createServer(function(request, response) { [21:45] Guest35: var proxy = http.createClient(22, request.headers['host']) [21:45] Guest35: var proxy_request = proxy.request(request.method, request.url, request.headers); [21:45] Guest35: proxy_request.addListener('response', function (proxy_response) { [21:45] Guest35: proxy_response.addListener('data', function(chunk) { [21:45] Guest35: response.write(chunk, 'binary'); [21:45] Guest35: }); [21:45] Guest35: proxy_response.addListener('end', function() { [21:45] insin: ... [21:45] Guest35: response.end(); [21:45] Guest35: }); [21:45] Guest35: response.writeHead(proxy_response.statusCode, proxy_response.headers); [21:45] Guest35: }); [21:45] Guest35: request.addListener('data', function(chunk) { [21:45] Guest35: proxy_request.write(chunk, 'binary'); [21:45] Guest35: }); [21:45] Guest35: request.addListener('end', function() { [21:45] Guest35: proxy_request.end(); [21:45] Guest35: }); [21:45] Guest35: }).listen(8080); [21:45] Guest35: Error node.js:63 [21:45] Guest35: throw e; [21:45] Guest35: ^ [21:45] Guest35: Error: Parse Error [21:45] sechrist: http://soundcloud.com/smixx/takin-vc-money-money-cash-ipos [21:45] Guest35: at Client.onData [as ondata] (http:854:27) [21:45] CoverSlide: aaaaaAAAAAAAAAA!!!!! [21:45] Guest35: at IOWatcher.callback (net:494:29) [21:45] Guest35: at node.js:773:9 [21:45] DrMcKay: tbranyen: I admit failure, git allowed me to commit and everyone is alive [21:45] Guest35: [21:45] sh1mmer: please don't do that [21:45] Guest35: the error is not clear to me [21:45] Guest35: its a simple proxy server [21:45] Guest35: but it crashed for a simple request [21:45] sh1mmer: please paste in gist.github.com or something [21:46] rhaen: I think we need more source code to investigate the problem. [21:46] rhaen: :) [21:46] Aikar: >>> node app.js info - socket.io started info - handshake authorized 11897751781640358936 [21:46] chilts: rhaen: don't encourage them! :) [21:46] sechrist: Marak: http://soundcloud.com/smixx/takin-vc-money-money-cash-ipos [21:46] Guest35: http://www.catonmat.net/http-proxy-in-nodejs/ [21:47] tbranyen: DrMcKay: :) [21:47] Guest35: the first example is the one i posted [21:47] tbranyen: why would you doubt linus [21:47] tbranyen: he's never let you down [21:47] DrMcKay: never gonna give me up? [21:47] Aikar: any ideas on whats changed between 7.7 to 7.9 on socket.io? [21:47] Guest35: ny one help [21:47] tbranyen: :-p [21:48] AvianFlu: Guest35: you should look at http://github.com/nodejitsu/node-http-proxy [21:48] sechrist: Aikar: the minor version incremented twice :) [21:48] AvianFlu: you'll have more luck than trying to write your own like that [21:48] sechrist: yeah nodejitsu's http proxy is cool [21:48] sechrist: it even lets you proxy websockets [21:49] CoverSlide: i have a net-based http proxy that works on websockets [21:49] CoverSlide: haven't tested it throughly though [21:49] AvianFlu: sechrist LOL WIN [21:49] freeformz has joined the channel [21:49] Guest35: thanx [21:49] sechrist: node packages that give me a command line util = win [21:49] Guest35: i am just a beginner [21:49] AvianFlu: that proxy looks like it's trying to http connect to an ssh port though [21:50] AvianFlu: the one you pasted [21:50] AvianFlu: that doesn't really make sense to me [21:50] sechrist: if I can pipe your shit to grep, i'll rep [21:50] Guest35: yeah actually i was trying to implement ssh over http [21:50] Aikar: ok so I see a connect event fire on client and on server [21:50] AvianFlu: ssh involves a complex key-exchange mechanism [21:50] sechrist: Isn't there already a standard for ssh over webtunneling? [21:50] AvianFlu: you'd be better off just trying to pipe it without touching it [21:51] Guest35: kk [21:51] Guest35: actually i'm working behind a proxy...this annoys me...because no one from external to lan can connect to server on my laptop [21:51] CoverSlide: AvianFlu: weren't the jitsu guys working on switching http-proxy to use the net module? [21:52] greg has joined the channel [21:52] vidi has joined the channel [21:52] Guest35: so any suggestions?? [21:52] AvianFlu: CoverSlide: not that I've heard about [21:52] Aikar: oh [21:53] Aikar: looks like my issue may be with mongo [21:54] indexzero has joined the channel [21:55] Aikar: wtf [21:56] Aikar: my mongod process is running [21:56] Aikar: but mongo wont connect [21:56] MarkMenard has joined the channel [21:56] pjacobs: Aikar, rm your mongod.lock file and try restarting the daemon [21:57] arthurdebert has joined the channel [21:58] Aikar: yeah restarting it fixed it (oddly needed -9 to kill it) [21:58] Aikar: ok, app works fine once i restarted mongo, not a socket.io issue! [21:58] tbranyen: toot! [22:01] Sazpaimon has joined the channel [22:02] sechrist: is there any prior art in here for load balancing dnode connections? [22:02] nibblebot has joined the channel [22:02] nibblebot: ahhh cluster!!! [22:03] nibblebot: i have cluster running with reload plugin. When i add a whitespace line a file it's watching it initiates shutdown, kills all the workers, says shutdown complete, and restart complete [22:03] nibblebot: but then does not launch any new workers [22:03] nibblebot: keeping just the master alive [22:03] nibblebot: why would this happen? [22:07] Sazpaimon has joined the channel [22:07] Sazpaimon has joined the channel [22:09] AvianFlu: sechrist: that sounds like a great idea for a hook.io hook [22:11] ronniebo_ has joined the channel [22:11] Nexxy: Aikar has risen once again? [22:11] sechrist: a hook.io hook for load balancing hook.ios seems.. odd [22:11] davidbanham has joined the channel [22:12] Aikar: Nexxy: i died? [22:12] Aikar: lol [22:13] Aikar: never leave here :P but havent been chatty as i just bought a house this past weekend, so its been keeping me busy [22:13] Aikar: and score... I got SVN and Git working in the same working directory! [22:13] Aikar: (using git-svn) [22:13] Nexxy: lol svn [22:13] Aikar: work still uses svn :( [22:13] Aikar: but now i can use git powers with svn :P [22:14] Aikar: wow its 6:13 wtf am i still here for [22:14] Nexxy: lol [22:15] Aikar: err [22:15] Aikar: why is socket.io-client saying it cant find websocket-client :( [22:15] Aikar: oh right [22:15] Nexxy: Aikar, i made something for you [22:16] Aikar: that stupid .gitignore issue i had before [22:16] Nexxy: http://i.imgur.com/9smIy.jpg [22:16] Aikar: Nexxy: heh, this is a really great place minus svn :P [22:16] DrMcKay: Nexxy: lol [22:17] Nexxy: DrMcKay, ;P [22:17] DrMcKay: but, no, seriously, can't they just migrate it? [22:17] skm has joined the channel [22:17] DrMcKay: and by they I mean everyone using SVN [22:18] Aikar: they want to [22:18] Aikar: just takes time, ie training people who dont know git etc [22:18] DrMcKay: you mean: developers not knowing git? [22:18] Nexxy: hire new employees [22:18] Nexxy: if they don't know git [22:18] Nexxy: they're doing it wrong [22:18] kepheus: i still have to use cvs :( [22:18] davro: eek [22:19] DrMcKay: s/developers/code monkeys/ [22:19] cpetzold has joined the channel [22:19] chjj: linus should be on call to rant about cvs [22:19] chjj: whenever people need to be converted [22:20] insin: I still have to use CVS too - someone had to do a branch this week *wince* [22:20] Renegade001 has joined the channel [22:20] kepheus: yeah, know that feeling [22:20] kepheus: "don't do it" [22:20] davro: insin f that lol [22:20] DrMcKay: that makes me want to try that [22:21] Nuck has joined the channel [22:21] DrMcKay: CVSROOT? wth? [22:21] CIA-65: libuv: 03Igor Zinkovsky 07master * r56b09db 10/ src/win/tcp.c : windows: set accept socket to INVALID_SOCKET in case of accept failure - http://bit.ly/oJpUxi [22:21] Poetro has joined the channel [22:22] kepheus: does anyone know here why I cannot create two nested loops in node? [22:22] kepheus: well, i can and it's definitely my fault. but it doesn't work the way I expected it [22:22] kepheus: (just starting out) [22:22] chjj: gist? [22:22] chjj: going to need to see some code [22:23] Aikar: hmm, does firefox 6 use the new websocket protocol that socket.io doesnt support? [22:23] Poetro has joined the channel [22:23] chjj: otherwise you can vividly describe it to me [22:23] Aikar: my firefox is using XHR polling even though the security override is enabled... [22:23] shanez has joined the channel [22:24] WrErase has joined the channel [22:24] kepheus: chjj: an example would be: http://dpaste.com/597673/. the problem is that the outer scraper gets called x times, and the nested scraper only one time. and only after the outer scraper is finished completely... [22:25] nickaugust: how do I change the user agent when making an http.request? i've tried 'useragent' 'userAgent' and 'User-Agent' in the options object... hmm [22:25] Raynos has joined the channel [22:25] Raynos: Anyone have much exposure to markdown? [22:25] aho: does reddit count? [22:25] Poetro has joined the channel [22:25] Poetro has joined the channel [22:25] cognominal has joined the channel [22:25] chjj: kepheus: scraper is doing something asynchronous i imagine [22:25] context: haha [22:26] Raynos: My markdown parser doesnt seem to behave [22:26] chjj: Raynos: you should use mine ;) [22:26] chjj: https://github.com/chjj/marked [22:26] kepheus: chjj: yeah ok, but I thought because I pass in a callback, that callback is called when the scraper is done. and then in that callback, I fire up another scraper [22:26] Raynos: chjj: is it going to fix my problems? [22:26] chjj: yes [22:26] chjj: ! [22:27] chjj: wait, let me update the npm version first, ive been slacking [22:27] bluesmoon has joined the channel [22:27] tylerstalder has joined the channel [22:28] chjj: k, good [22:28] chjj: sorry kepheus, was distracted [22:28] dguttman has joined the channel [22:29] chjj: kepheus: well, yes, `i` and `el` should behave like you expect, because theyre in one scope [22:29] chjj: kepheus: but the fact that youre calling that function several times in parallel might cause it to behave contrary to how you may expect [22:30] chjj: kepheus: what is the problem exactly? [22:30] Raynos: It solved my problem \o/ [22:30] Raynos: chjj: you the man! [22:30] chjj: ACTION IS webscale [22:30] DrMcKay has joined the channel [22:31] kepheus: chjj: in that example, I wanted to find links on a page (with a scraper). and then iterate over the found links and parse each link again [22:31] kepheus: chjj: but it [22:31] kepheus: sorry [22:31] chjj: Raynos: theres one thing it cant do right now, loose lists dont work, i have an experimental branch for them, but ill implement them soon [22:31] CIA-65: libuv: 03Ryan Dahl 07master * rac1ce29 10/ (test/benchmark-pound.c test/echo-server.c): Improve pound benchmark by reconnecting in close_cb - http://bit.ly/qebnVs [22:31] CIA-65: libuv: 03Igor Zinkovsky 07master * rf6c25a1 10/ test/benchmark-pound.c : Fix pipe-pound and clean-up - http://bit.ly/rnkL5e [22:31] Raynos: what are loose lists? [22:31] MrBig has joined the channel [22:31] chjj: lists where the list items have 2 line feeds in between them [22:31] chjj: so the content is wrapped in

's [22:31] chjj: it only does regular lists [22:31] kepheus: chjj: but it's somehow locking up, and only calls the second scraper call once [22:31] chjj: right now [22:31] MrBig: hello guys, anyone know if theres a channel for Spine framework? [22:31] CIA-65: libuv: 03Ryan Dahl 07master * r1231193 10/ test/benchmark-pound.c : pound: only display connect errors on DEBUG - http://bit.ly/qVLh8w [22:32] chjj: kepheus: it could be a problem with the scraper function [22:32] jamesd: on http.createserver how do i get the ip address of the client that connected to me? [22:32] sixwing has joined the channel [22:32] Raynos: chjj: [Rendered with marked](http://raynos.org/blog/2/Flow-control-in-node.js) [22:33] chjj: kepheus: the scraper function might only be able to handle one call at a time for some reason, and because of that it only executes the last callback it was passed [22:33] vidi has joined the channel [22:33] chjj: ill have to see the code of the scraper function to know [22:33] zeade has joined the channel [22:34] chjj: Raynos: cool, what were you using before? [22:34] kepheus: chjj: hm, I'm using node-scraper which exposes that function. it may be a problem in that library, but I'm afraid I'm not able to dig to deep into it (because everything is new basically) [22:34] Raynos: https://github.com/evilstreak/markdown-js [22:34] DrMcKay: http://www.downforeveryoneorjustme.com/ - does it ping the host or HTTP GET/HEAD? [22:34] chjj: Raynos: its also faster than markdown-js and showdown i know [22:34] Raynos: markdown-js refused to render my code blocks [22:34] brianseeders has joined the channel [22:34] kepheus: chjj: i see [22:35] chjj: Raynos: markdown-js is rather slow for some reason, i know my parser can also do things i havent seen either showdown or markdown-js do, like render code blocks in list items [22:35] admc has joined the channel [22:35] Raynos: does marked output a tree? [22:35] Raynos: can I manipulate it through some API [22:35] kepheus: chjj: node-scraper uses jsdom, and I think that dom generation is blocking. does this sound legit? [22:35] chjj: kepheus: ill check it out [22:36] JoshC1 has joined the channel [22:36] chjj: raynos: it doesnt output a tree for performance reasons, it tokenizes and then parses and compiles directly from the tokens [22:36] chjj: Raynos: i do expose access to the lexer though, you can have access to the raw tokens [22:37] chjj: Raynos: before theyre parsed: `var tokens = marked.lexer(str);` [22:37] Raynos: I got that far ;) [22:37] chjj: none of the inline stuff has tokens there though, just the block level stuff, also for performance reasons [22:37] chjj: if you benchmark markdown-js, youll see why i went that route [22:38] Raynos: Yeah I can see why but I need to manipulate this text somehow [22:38] chjj: what do you need to do? [22:38] Raynos: I want to only render the first two paragraphs sometimes [22:38] Raynos: http://raynos.org/blog the home page renders the first two

tags [22:39] chjj: hmm, okay, you could still do that [22:39] nerdfiles1 has joined the channel [22:39] nerdfiles1 has left the channel [22:39] chjj: when it parses the markdown, you wont find any paragraph tokens, because paragraphs are so implicit in markdown, instead youll find a bunch of "text" tokens [22:40] Raynos: the lexer contains an array [22:40] Raynos: can I just take the first two tokens and only render that [22:40] Raynos: Ugh I have to not remove the links [22:40] chjj: so basically, iterate over the tokens, until you either find something thats not a `text` token, or until you find two `text` tokens that are two lines apart [22:40] Raynos: are the links always last? [22:40] chjj: (check token.line) [22:41] chjj: all the inline stuff is done from inside the parser unfortunately [22:41] slifty has joined the channel [22:41] critikal has joined the channel [22:41] spetrea has joined the channel [22:41] slifty: Hmmmmm, I want to tell you all a joke about a UDP packet but you might not get it [22:41] eastender has joined the channel [22:42] AvianFlu: slifty: do it, I dare you [22:42] AvianFlu: there are some surprisingly smart mother fuckers in here [22:42] Darrow has joined the channel [22:42] nibblebo_ has joined the channel [22:42] Raynos: What does token.line represent? [22:43] Darrow: Is the best way of deploying node in production still putting node behind a nginx proxy or something? [22:44] wookiehangover has joined the channel [22:44] AvianFlu: Darrow: http://github.com/nodejitsu/node-http-proxy [22:44] slifty: AvianFlu: the dead is already done [22:44] critikal has left the channel [22:44] chjj: here, ill write you something quick to show you how to only render the first two paragraphs [22:44] chjj: @Raynos [22:44] Raynos: I got it [22:44] Raynos: I just dont know whether its stable [22:45] chjj: token.line counts the line feeds for each `text` token [22:45] Raynos: http://jsfiddle.net/XKF4p/ [22:45] tjholowaychuk: Darrow: brave: port 80, fast: nginx etc, going all-node: node-http-proxy [22:45] Raynos: Works for sample case of 2 [22:45] Darrow: AvianFlu, tjholowaychuk: thanks, I'll check out http-proxy [22:45] AvianFlu: Darrow: as a note, though, it takes some hoop-jumping to get nginx to proxy websockets [22:46] AvianFlu: possible, and not that hard if you're not afraid to compile stuff yourself [22:46] devaholic has joined the channel [22:46] shiawuen has joined the channel [22:46] AvianFlu: but it's not an out-of-the-box thing like it is for node-http-proxy [22:46] chjj: Raynos: https://gist.github.com/1155469 [22:46] AvianFlu: no websockets, though, no problem [22:46] AvianFlu: nginx is pretty boss [22:46] Darrow: Yeah, I remember hearing about that a while back. [22:46] chjj: Raynos: it would look something like that [22:46] pixel13 has joined the channel [22:47] Darrow: Does http-proxy do https too? [22:47] chjj: Raynos: you should also probably check whether token.type === 'text' or not [22:47] AvianFlu: yep [22:47] Darrow: Awesome, sounds perfect. [22:47] AvianFlu: there are code examples for it if you scroll way the hell down the readme [22:47] AvianFlu: http -> https, https - > http, https -> https [22:47] Raynos: chjj: I dont think that will work [22:48] chjj: Raynos: you might have to mess around with it a bit [22:48] pixel13 has left the channel [22:48] Raynos: I have i got it to work by just grabbing the first two array members [22:48] chjj: Raynos: try looking at the output tokens [22:49] chjj: Raynos: yeah thats possible if you dont have any line feeds in the paragraphs themselves [22:49] Raynos: Ah I see. I dont have any of those [22:49] chjj: Raynos: but it will break otherwise, the problem is, theres no `paragraph` token, theres only individual lines [22:49] chjj: for other block level things, there are tokens, for lists, code blocks, etc [22:50] chjj: but not paragraphs, because theyre so implicit, and have different semantics in different places [22:50] chjj: so each `text` token, represents a line of text that doesnt mean a whole lot [22:50] Raynos: AHa [22:50] mjr_ has joined the channel [22:51] Raynos: Cant you just implement a second slower parser that outputs a nice structure :P [22:51] chjj: i suppose i could, it would be slow though [22:51] hunterloftis_ has joined the channel [22:51] nerdfiles1 has joined the channel [22:51] nerdfiles1 has left the channel [22:52] chjj: the parser is there, instead of outputting a tree, it just compiles directly, you could change it if you want [22:52] chjj: https://github.com/chjj/marked/blob/master/lib/marked.js#L347 [22:53] Raynos: If I write it will have 20x more bugs [22:53] chjj: you can see how the paragraphs are parsed there [22:53] MarkMenard has joined the channel [22:54] chjj: here, ill modify my gist a bit [22:54] Raynos: I should be able to change the parser [22:55] airhorns has joined the channel [22:57] chjj: https://gist.github.com/1155469 [22:57] chjj: that *should* work [22:57] atmos has joined the channel [22:58] chjj: Raynos: edited again because i might take out .line on non-text tokens for speed [22:59] parshap has joined the channel [22:59] Raynos: thanks :) [23:01] DrMcKay: !ping [23:01] DrMcKay: oh, ok [23:03] dmkbot has joined the channel [23:03] DrMcKay: !ping [23:03] dmkbot: DrMcKay, pong [23:03] DrMcKay: !doc http#get [23:03] DrMcKay: !doc link http#get [23:03] dmkbot: http://nodejs.org/docs/latest/api/http.html#http.get [23:03] chjj: Raynos: let me know if it works [23:03] DrMcKay: !up? google.com [23:03] dmkbot: DrMcKay, host up (status code: 301) [23:03] Raynos: chjj: Ill test it now [23:03] DrMcKay: !up? registry.npmjs.org [23:03] dmkbot: DrMcKay, host up (status code: 200) [23:03] DrMcKay: hell yeah [23:04] chjj: Raynos: you might find it inconvenient messing with the tokens, but if you look at the benchmarks youll see why i skip outputting an AST [23:04] nerdfiles has joined the channel [23:05] blaenk has joined the channel [23:05] nibblebot has joined the channel [23:05] nerdfiles has left the channel [23:05] JoshC1 has joined the channel [23:05] DrMcKay: generally, IRC bots should mention sender or just respond? [23:05] nickaugust: mention sender [23:06] nickaugust: imho [23:06] Raynos: chjj: I understand that :) [23:06] DrMcKay: nickaugust: ok, will fix that [23:07] Raynos: chjj: doesn't slicing the tokens remove the .links that lives on your array [23:07] chjj: Raynos: ah, youre absolutely right [23:07] chjj: those are only for ref links though, if you use those [23:07] chjj: otherwise you can put them back on there [23:07] Ond has joined the channel [23:08] chjj: ref links are easy and fast to grab at the beginning because they dont compile to anything [23:08] Ond: Recommended Redis module? [23:08] DrMcKay: !up? pc06.lan [23:08] dmkbot: DrMcKay, host up (status code: 403) [23:08] DrMcKay: oh, ups, that's my network [23:09] DrMcKay: whatever [23:09] EngineerOfPhail has joined the channel [23:10] insin: If something works on Cygwin Node, it's pretty much guaranteed to work on the real thing, right? O_o [23:10] EngineerOfPhail: http://snippets.dzone.com/posts/show/12069 -- Is this async in node.js? [23:11] DrMcKay: insin: if anything manages to work on Windows, it's pretty sure that it will work somewhere else ;) [23:11] insin: heh [23:11] chjj: Raynos: if you absolutely need the "loose" list items as theyre called, you can try cloning from my experimental branch [23:11] DrMcKay: it's npm module? then rather yes [23:11] chjj: as far as i know its the only feature i dont support though [23:11] EngineerOfPhail: Is it a bad idea to run a command from node.js? I need to run a Python script [23:12] insin: Anyone up for validating that for me by running 4 commands and testing the first working version of an app I'm working on? https://gist.github.com/1155505 [23:12] DrMcKay: EngineerOfPhail: on a website or something else? [23:12] EngineerOfPhail: DrMcKay: A node.js process [23:12] EngineerOfPhail: Just a script [23:12] chjj: kepheus: any progress? [23:12] DrMcKay: you should be fine :) [23:13] DrMcKay: insin: give me a moment, I will [23:13] kepheus: chjj: no I'm stuck since yesterday :) [23:13] insin: thank you muchly [23:13] chjj: kepheus: one thing you could do as a solution, would be to try a serial loop instead of a parallel loop, it would be slower, but if the problem lies in making parallel http requests, this would fix it [23:13] blaenk: hey anyone recommend a good auth module? I've seen everyauth and connect-auth. I want one that is like devise for ruby, in other words, what I see from the aforementioned modules is that they let you login with twitter, facebook, etc. but I want one that basically sets up auth for my site [23:14] kepheus: chjj: do you know 'step'? I think such a library could be a possible solution (altough I still don't really understand why it does do what i write down :) [23:15] DrMcKay: insin: damn, my node is too new [23:15] Raynos: chjj: completely did not work at all [23:15] DrMcKay: anyway to tell npm to gtfo? [23:15] Raynos: It did however render everything as one long line [23:15] isaacs: DrMcKay: oh? [23:15] insin: sudo gtfo npm [23:15] isaacs: DrMcKay: --node-version 0.4.10? [23:15] isaacs: DrMcKay: what is it you want npm to do differently? [23:16] DrMcKay: isaacs: I want him to pretend that I have different node version [23:16] Nuck: Weel, shit. [23:16] isaacs: DrMcKay: --node-version is your tool. [23:16] Nuck: Node_mailer is broked for me... [23:16] DrMcKay: isaacs: thank you :) [23:16] isaacs: np [23:16] isaacs: DrMcKay: npm help config <-- lots of info [23:16] isaacs: s [23:17] chjj: Raynos: alright, let me try testing something [23:17] DrMcKay: isaacs: worth reading, thanks [23:17] Nuck: https://gist.github.com/a6c4e33802a929f478d8 [23:17] Yoric has joined the channel [23:17] Nuck: I get that if I run mailer's demo, or my own one. [23:18] DrMcKay: insin: works [23:18] Nuck: Anyone here using node_mailer? [23:18] AvianFlu: isaacs, I've got a recurring situation where other people's npm dependencies are failing because of various C libraries we don't have - do you have any suggestions on bundling that kind of thing? [23:19] AvianFlu: i.e. an npm-based solution to the problem, as opposed to just going and getting the libs [23:19] isaacs: AvianFlu: nope, nothing there yet [23:19] misterm has joined the channel [23:19] Nuck: There any better mailer libs? [23:20] DrMcKay: AvianFlu: what would want it to do? [23:20] kepheus: chjj: or is there a simpler way to use synchronous loops? [23:20] alex` has joined the channel [23:20] AvianFlu: I'd love to be able to fork the C++ addons and add a bundled-libs portion without, well, much work [23:21] AvianFlu: and I figure there's always a chance there's something I don't know about yet [23:21] DrMcKay: you want to resolve compile-time dependencies? [23:21] arpunk has joined the channel [23:21] Sorella has joined the channel [23:21] sechrist has joined the channel [23:22] softdrink: does hp's discontinuation of webOS devices affect node in any way? [23:23] CoverSlide: doubtful [23:23] insin: their HP ninjas are rapelling down the side of the Joyent building as we speak [23:23] tjholowaychuk: didnt they just start using it? [23:23] tjholowaychuk: haha [23:23] tjholowaychuk: wtf [23:23] CoverSlide: yep [23:24] tjholowaychuk: fail [23:24] DrMcKay: insin: do you want me to check something in this app? [23:24] softdrink: http://arstechnica.com/gadgets/news/2011/08/hp-washing-its-hands-of-webos-discontinues-tablets-pre-phones.ars [23:24] CoverSlide: has anyone seen tim? gotten his word on it? [23:24] chjj: Raynos: i see what youre saying, its grabbing one token too many for you? [23:24] insin: just that it keeps working when you turn JS off [23:24] insin: and doesn't explode your Node [23:24] chjj: Raynos: try taking out the `i++` before the break [23:24] SubStack: CoverSlide: he tweeted about it http://twitter.com/#!/creationix [23:24] Raynos: chjj: its grabbing all of them. [23:24] halfhalo-work: lulz [23:25] halfhalo-work: wait for it.... [23:25] creationix has joined the channel [23:25] AvianFlu: DrMcKay: yeah, for node-waf for node addons [23:25] creationix: who summoned me [23:25] chjj: Raynos: its working for me, i can gist my exact little test i wrote [23:25] AvianFlu: creationix: everybody thinks webos got discontinued, set them straight! [23:25] EngineerOfPhail: js> var myarray = new Array("duck", "off"); myarray; [23:25] gbot2: EngineerOfPhail: ["duck","off"] [23:25] DrMcKay: insin: you mean: turn off JS in browser? it works [23:25] insin: yay [23:25] EngineerOfPhail: js> var myarray = new Array("duck", "off"); myarray[666]; [23:25] insin: thank you [23:25] gbot2: EngineerOfPhail: undefined [23:25] softdrink: ACTION taps 3 swamps and a creationix [23:25] halfhalo-work: ACTION gets some popcorn [23:25] DrMcKay: insin: np :) [23:26] creationix: webOS is NOT dead [23:26] creationix: ok, I;m done [23:26] AvianFlu: ty [23:26] CoverSlide: oh ok thank you [23:26] insin: I'm almost there in the single codebase dream. This is the bit where I go all gooey and start hugging all you Node peeps [23:26] EngineerOfPhail: Would line two result in an exception? [23:26] EngineerOfPhail: js> var myarray = new Array("duck", "off"); myarray[666999999999]; [23:26] gbot2: EngineerOfPhail: undefined [23:26] CoverSlide: wait is webos floss? [23:26] chjj: Raynos: https://gist.github.com/1155469 [23:26] EngineerOfPhail: js> var myarray = new Array("duck", "off"); var fun = myarray[666999999999]; fun + 'me'; [23:26] gbot2: EngineerOfPhail: "undefinedme" [23:26] creationix: CoverSlide: no [23:26] CoverSlide: oh :( [23:27] creationix: CoverSlide: but it's pretty darn open [23:27] Nuck: Why the fuck did HP discontinue WebOS? [23:27] DrMcKay: AvianFlu: package would need something like compileDependencies in packege.json [23:27] creationix: Nuck: they didn't [23:27] isaacs: AvianFlu: the problem is that, if you're dynamically linking, it depends on about a million factors [23:27] isaacs: AvianFlu: os, release, kernel version, gcc version, etc. [23:27] halfhalo-work: HP discontinued the hardware, not the software, not by a long shot. [23:27] DrMcKay: s/packege/package/ [23:27] Nuck: Ah [23:27] Nuck: Well, who the fuck is gonne adopt it? [23:27] AvianFlu: isaacs: oh I know, I've got an ugly problem here [23:27] creationix: node on mobile lives on [23:27] halfhalo-work: it lives on in style [23:28] softdrink: so they're licensing it to other hardware vendors? [23:28] CoverSlide: is webos ARM-based? [23:28] creationix: softdrink: that's one of the options [23:28] DesignerGuy has joined the channel [23:28] Nuck: creationix: Not until I get it on my iPhone :P [23:28] halfhalo-work: bah, iPhone [23:28] DrMcKay: AvianFlu: what's the problem? [23:28] creationix: CoverSlide: yeah [23:28] Raynos: chjj: That doesn't work for my data. (my data : https://gist.github.com/1155543) [23:29] CoverSlide: oh ok, so there are compile targets for ARM on node, so it should be portable to other mobile devices [23:29] creationix: CoverSlide: node is just a small part of webOS [23:29] creationix: but it is there [23:29] Nuck: Is this true that HP might be ditching hardware altogether? [23:30] creationix: Nuck: Not sure about the rest of PSG, but there will be no more HP mobile devices [23:30] Nuck: creationix: Well, it's what they get for having shitty PCs :S [23:30] creationix: (rest of PSG = consumer laptops) [23:30] chjj: Raynos: i dont know what to tell you, it works for me [23:30] chjj: Raynos: youre version is "0.0.4"? [23:30] Raynos: chjj: with my data? :\ look you're using sourc... [23:30] chjj: your even* [23:30] Nuck: They've gone downhill over the past 5 years [23:30] Raynos: when did you upgrade to 0.0.4 ¬_¬ [23:31] chjj: Raynos: yes, your data [23:31] chjj: Raynos: i told you before (hopefully) you installed it [23:31] chjj: i said i was slacking on the npm version and took a second to update it [23:31] sechrist: creationix: :( I was going to give up my iPhone [23:32] Nuck: HP didn't even TRY. [23:32] Nuck: They gave WebOS tablets like half a year [23:32] ggg has joined the channel [23:32] halfhalo-work: no, like 2 months [23:32] Raynos: chjj: that was it. 0.0.3 didnt work with it [23:32] DrMcKay: Nuck: wasn't it about patents or sth? [23:32] creationix: I don't care who actually designs the hardware for webOS as long as it's good hardware [23:33] Nuck: creationix: Well then this might be a good thing. [23:33] CoverSlide: the question is whether someonw WILL design hardware for webOS [23:33] Nuck: HP's hardware isn't all that incredible. [23:33] chjj: Raynos: k, good, you were scaring me for a second [23:33] creationix: indeed, but it's looking hopeful [23:33] sechrist: creationix: what is preventing off the shelf android devices from booting webos? [23:33] sechrist: ignoring modem drivers etc [23:33] Nuck: CoverSlide: Honestly, I don't think it will. [23:34] ggg: anyone know the stage of npm for node.js on winows? [23:34] CoverSlide: weren't they going to ship webOS on their laptops / as an alternate boot? [23:34] ggg: windows* [23:34] isaacs: ggg: doesn't work. [23:34] Nuck: ggg: Nonexistand. [23:34] Nuck: *t [23:34] isaacs: ggg: gimme a few months [23:34] CoverSlide: ggg: mailing list says around christmas [23:34] Nuck: Merry Christmas, Windows users :D [23:34] piscisaureus: :'-( [23:35] DrMcKay: isaacs: what's the problem (is there some list of things to fix before supporting Windows?)? [23:35] Nuck: And then I can heartily say "fuck you, Cygwin" [23:35] sechrist: I gave up trying to fight cygwin [23:35] sechrist: I just spawn vms now [23:35] ggg: do you need help? I'm not too knowledgable in the area, but im looking for something to do and learn. [23:35] Nuck: Shit works on Cygwin for me [23:35] DrMcKay: oh, I thought it doesn't work under Cygwin [23:35] Nuck: Well, mostly [23:35] Raynos: chjj: I see why it works but I dont really understand your data structure. It's upto you if you want to document what the lexical tokens are. [23:35] ggg: im tired using cloud IDE, and dont want to use cygwin either. [23:36] insin: just those random "Failed unpacking" errors, they're killer [23:36] Nuck: I've been tempted to provide cloud9 IDE instances for my devs. [23:36] Nuck: insin: Agreed. [23:36] Nuck: What the fuck is with untar on Cygwin? [23:36] Nuck: But seriously, can SOMEBODY tell my why Node_mailer is borked for me? [23:36] Nuck: https://gist.github.com/a6c4e33802a929f478d8 [23:36] insin: my most used key sequence on Cygwin is now easiy up, return, up return ,up return swear [23:37] ggg: cloud9 is note bad, but i keep getting bugs with the server when i try to use my app [23:37] Nuck: Seems to be calling SMTPClient as a constructor when it's a native. [23:37] DrPizza: Some people, when confronted with a problem, think “I know, I’ll use cygwin.” Now they have two problems. [23:37] DrMcKay: DrPizza: lol [23:37] Nuck: DrPizza: That quote... *shakes fist* [23:37] chjj: Raynos: its simply the most efficient way to do things, theres no lexeme you can have for a paragraph because markdown syntax is stupid [23:37] DrMcKay: but I actually think that the basic problem is Windows ;) [23:38] Nuck: Damnit, Regex is Fucking Great(tm) [23:38] insin: heh, it's still the same problem, just a more detailed one! :) [23:38] Raynos: chjj: its the .line I dont understand [23:38] Nuck: How is it. [23:38] chjj: Raynos: whats confusing about it? [23:38] Nuck: That nobody seems to have run into the need to send emails in node? [23:38] creationix has left the channel [23:39] Nuck: I mean, shit, are you all too busy building modules that won't get used in a real app ever? [23:39] CoverSlide: smtp is a shitty protocol [23:39] Nuck: It sure is, but it's a necessary evil. [23:39] chjj: Nuck, isnt it past your bedtime? [23:39] CoverSlide: that's why [23:39] DrMcKay: CoverSlide++ [23:39] v8bot_: DrMcKay has given a beer to CoverSlide. CoverSlide now has 1 beers. [23:39] Nuck: chjj: ... [23:39] CoverSlide: node is all about the FUTURE [23:40] chjj: Nuck: i kid! [23:40] Nuck: CoverSlide: Well then invent a new mail-sending protocol [23:40] DrMcKay: SQL-based? [23:40] Nuck: eww [23:40] jvduf has joined the channel [23:40] tjholowaychuk: shitty is an understatement [23:40] tjholowaychuk: IMF is all kinds of fucked up [23:40] Nuck: IMF? [23:41] tjholowaychuk: dot stuffing ftw [23:41] Nuck: I'm sure this SMTP lib works, it's just... [23:41] Nuck: The pooling in node_mailer seems fucked up [23:42] matomesc has joined the channel [23:42] DrMcKay: btw, some RESTful-like protocol for e-mails [23:42] Nuck: Would be GLORIOUS [23:42] DrMcKay: that would robe awesome [23:42] Nuck: Make it happen. [23:42] DrMcKay: s/robe/be/ [23:42] DrMcKay: you mean, like: now? [23:43] Nuck: DrMcKay: DOIT [23:43] DrMcKay: OK [23:43] Nuck: Make a mail server with a newfangled REST protocol in Node :D [23:43] CoverSlide: ACTION snaps his finger [23:44] DrMcKay: OK :D [23:44] CoverSlide: ACTION cracks the whip [23:44] Nuck: Anyways, I'm gonna try out emailjs [23:44] DrMcKay: anyone wants to hack this thing together with me? [23:45] jTNT has joined the channel [23:45] Nuck: DrMcKay: I would but I don't know how emails work TBH [23:45] Nuck: Well, I know the general concept [23:45] insin: like http://cloudmailin.com/ ? [23:45] DrMcKay: Nuck: the same here :/ [23:45] Nuck: But nothing about the protocols or communications :P [23:46] DrMcKay: Knuth had an awesome paper about it [23:46] DrMcKay: but I'm afraid he invented another language to write it in [23:46] Nuck: insin: I think that's backwards. [23:46] insin: oh yeah [23:46] Nuck: I want OUTGOING mail [23:47] airportyh has joined the channel [23:47] Nuck: Why hasn't this been built on REST yet? [23:47] insin: you waint niliamdoulc :) [23:47] insin: s/wain/wan/ [23:47] DrMcKay: name, anyone? [23:47] tjholowaychuk: Nuck IMF looks pretty similar to http [23:48] tjholowaychuk: there's just a lot more to mail [23:48] Nuck: tjholowaychuk: I meant you send it in JSON format [23:48] tjholowaychuk: you could encapsulate that in http obviously but you'd end up basically rebuilding the same thing [23:48] sechrist: dot stuffing [23:48] sechrist: hahah [23:48] tjholowaychuk: dot stuffing! [23:48] tjholowaychuk: yay [23:48] DrMcKay: IMF? [23:48] Nuck: I'll stuff YOUR dots. [23:49] Nuck: Intelligent Mother Fucker. [23:49] tjholowaychuk: DrMcKay http://tools.ietf.org/html/rfc5322 [23:49] CoverSlide: didn't djb write an smtp replacement? [23:49] Nuck: Amidoinitrite [23:49] sechrist: nop slope > dot stuffing [23:49] sechrist: haha lingo [23:49] DrMcKay: tjholowaychuck: thanks [23:49] sechrist: sled* rather, not slope [23:49] tjholowaychuk: dot de-stuffing [23:49] tjholowaychuk: haha [23:50] tjholowaychuk: programming related stuff has the best terms [23:50] sechrist: O.o, people call them nop ramps? http://en.wikipedia.org/wiki/NOP_slide [23:50] tjholowaychuk: "we forgot to de-stuff the dots" [23:50] tjholowaychuk: kill() kill() die() [23:50] DrMcKay: btw, this reminds me of http://xkcd.com/927/ [23:50] sechrist: we need to beef up security around the w.o.p.r [23:51] DrMcKay: is RMTP a good name for this thing? [23:51] jTNT: sort the flocks; warn the sheep [23:51] Nuck: sechrist: THEY'RE STEALING MY WHOPPER? [23:51] CoverSlide: hah totally true [23:51] sechrist: Nuck: I'd piss on a sparkplug if I thought it'd do any good. [23:51] tjholowaychuk: DrMcKay http://en.wikipedia.org/wiki/Real_Time_Messaging_Protocol ? [23:51] Nuck: DrMcKay: Totally read that as RAMPED [23:51] random123 has joined the channel [23:52] DrMcKay: :D [23:52] Nuck: REMP [23:52] sechrist: Nuck: war games quotes :P [23:52] random123: Why does Cluster seem to start Twice in a row? [23:52] tjholowaychuk: random123 two workers? [23:52] tjholowaychuk: maybe? [23:52] DrMcKay: REMP? some acronym? [23:52] Nuck: REMP EMAIL PROTOCOL [23:52] random123: tjholowaychuk: I set it to 1 worker though [23:53] Nuck: Yay recursive acronyms! [23:53] DrMcKay: ACTION tries not to think about PHP [23:53] bassui has joined the channel [23:53] Nuck: random123: It has a master and slave? [23:53] Raynos has left the channel [23:53] Nuck: Now, correct me if I'm wrong, but doesn't Cluster fuck with Socket.io? [23:53] tjholowaychuk: Nuck wrong [23:53] DrMcKay: I think it should support OAuth 2 OOTB, right? [23:54] tjholowaychuk: processes fuck(ed?) with socket.io [23:54] tjholowaychuk: i think that is more or less resolved now not sure [23:54] Nuck: Ah okay [23:54] tjholowaychuk: but that has nothing to do with cluster [23:54] blup has joined the channel [23:54] random123: tjholowaychuk: Ok, totally right about the master and slave thing [23:55] random123: er Nuck [23:55] CoverSlide: if you put the socket server inside the cluster, it creates 4 (or so) separate server, so the connections get round-robined [23:55] DrMcKay: ok, I'm setting up a REMP GitHub repo [23:55] Nuck: CoverSlide: I know the concept behind it [23:55] random123: both were right [23:55] DrMcKay: no, seriously, is REMP a good name? [23:55] CoverSlide: so the handshake response doesn't return to the same server [23:55] random123: ;p [23:56] ngs has joined the channel [23:56] sechrist: I was reverse engineering a game once and saw they called the asset manager AssMan [23:56] Nuck: DrMcKay: I wouldn't care if you called it PNIS protocol, as long as it was awesome. [23:56] sechrist: I thought that was great [23:56] Nuck: sechrist: AWESOME [23:56] CoverSlide: sechrist: haha i think I've seen that too [23:56] CoverSlide: do you remember which game? [23:56] sechrist: Oh, the tony hawk games [23:56] DrMcKay: OK, so REMP [23:56] tshpaper has joined the channel [23:57] Nuck: DrMcKay: Yes, PNIS. [23:57] csanz has joined the channel [23:57] Nuck: C: [23:57] sechrist: CoverSlide: Were you a part of any modding communities? [23:58] CoverSlide: no, just hacked on stuff for my own enjoyment [23:59] DrMcKay: oh, wait! I can't just set it up! [23:59] DrMcKay: get patents and trademarks! [23:59] losing has joined the channel [23:59] DrMcKay: https://github.com/mmalecki/remp