[00:00] chris6F has joined the channel [00:02] jimt_ has joined the channel [00:03] sudoer has joined the channel [00:04] cha0s has joined the channel [00:04] cha0s has joined the channel [00:04] mikeal has joined the channel [00:04] cronopio has joined the channel [00:05] Evet has joined the channel [00:07] isaacs has joined the channel [00:08] orls has joined the channel [00:08] kiddphunk_ has joined the channel [00:11] sholmes has joined the channel [00:12] sholmes: is Connect's session storage middleware concurrent? [00:12] chris6F has joined the channel [00:13] wvl: bradleymeck: fwiw, I found my answer in TJ Holowaychuk's 'inspect' package, and Object.getOwnPropertyDescriptor [00:14] wvl: https://gist.github.com/819640 [00:14] piscisaureus has joined the channel [00:14] piscisaureus: jonaslund: how far did you eventually get, msvc-wise? [00:15] m14t has joined the channel [00:16] tanepiper: ryah: did you fix your xhr forcing issue from earlier? [00:16] jonaslund: piscisaureus: mind's been darting a bit [00:16] jonaslund: piscisaureus: pondering on how to add the files [00:16] piscisaureus: you have a clone? [00:16] jonaslund: clone ? [00:17] piscisaureus: github clone? [00:17] jonaslund: nah [00:17] piscisaureus: ok [00:17] jonaslund: working locally [00:17] jonaslund: might make a clone for this though [00:17] jonaslund: first i need a dirty compile [00:17] jonaslund: then diff and extract the useful parts [00:17] piscisaureus: ok [00:18] chrischr_ has joined the channel [00:18] jonaslund: minimizing changes [00:18] markp_: hey node dues [00:18] markp_: i figured out the problem i had earlier, it _may_ be a node bug [00:18] markp_: if you spawn two child processes, and pipe the output of the first into the input of the second, neither process exits when the first process exhausts its input. [00:18] tanepiper: ryah: i'm off but if you didn't i just noticed this: https://github.com/philss/Zaphod-BB/blob/master/app.js#L33 might help with your xhr question [00:19] jonaslund: piscisaureus: pondering a bit on how to combine configureish stuff (to determine what interface to use in libev) [00:20] jonaslund: i guess i could just do a source list with the win32 file for now [00:20] piscisaureus: jonaslund: win32 supports only select in libev :-) [00:20] isaacs: i <3 sax-js. it's not a good program, but it is a beautiful one. [00:20] piscisaureus: so a static config.j would do [00:20] piscisaureus: *config.h [00:20] piscisaureus: for the moment at least [00:21] piscisaureus: jonaslund: besides, libev also includes other c files so you just need to compile ev.c [00:22] jonaslund: yeah that's what i am looking at [00:22] jonaslund: ev.c event.c ev_win32.c [00:22] jonaslund: ev_select.c ? [00:23] bartt has joined the channel [00:24] piscisaureus: jonaslund: only ev.c [00:25] piscisaureus: it includes every other stuff it needs, probably only ev_win32.c and ev_select.c [00:27] ziro` has joined the channel [00:27] felixge has joined the channel [00:27] felixge has joined the channel [00:27] jonaslund: ok [00:28] meso has joined the channel [00:28] jonaslund: that's everything from the deps dir apart from V8 [00:29] piscisaureus: and that all just compiled well? not bad [00:29] chrischris has joined the channel [00:29] piscisaureus: you should let v8 do its own thingie, compile into a .lib and link with that [00:29] jonaslund: piscisaureus: let's see how many missing symbols i get at link time though :D [00:29] piscisaureus: (as if you didn't know) [00:29] piscisaureus: yeah [00:30] jonaslund: yeah i just need to figure out how that is setup [00:30] jonaslund: calling sub-scripts [00:30] piscisaureus: just do whatever waf does :-) [00:30] piscisaureus: oh I guess you need to link with winmm and ws2_32 [00:31] piscisaureus: oh ryah, any news on that buildbot ? [00:32] troll has joined the channel [00:33] meso has joined the channel [00:33] jonaslund: piscisaureus: I usually know if i need to link winmm,ws2_32,kernel32,user32,etc just by looking at the linker errors [00:33] chrischr_ has joined the channel [00:33] piscisaureus: hehe, experience yeah [00:33] piscisaureus: well at least you know what Im talking about [00:33] shiawuen has joined the channel [00:34] piscisaureus: when compiling with openssl required gdi32 it got me [00:34] ryah: piscisaureus: it's provisioned - im still waiting on access [00:35] ryah: piscisaureus: any interest in attempting to port v8 to cygwin? [00:35] wilmoore_ has joined the channel [00:35] piscisaureus: hmm, not really honestly [00:35] jonaslund: how much changes was there really in that V8 change ? [00:36] piscisaureus: ryah, maybe, going to check out how hard it is [00:36] piscisaureus: jonaslund, which v8 change? [00:36] Sebmaster: v2.x to 3.x i guess [00:36] jonaslund: the one that broke builds [00:36] Sebmaster: yep [00:37] piscisaureus: jonaslund: not so much I guess [00:37] piscisaureus: though crankshaft changed the game a little [00:38] Neura has joined the channel [00:38] mikeal has joined the channel [00:38] Me1000 has joined the channel [00:40] piscisaureus: ryah: any 0.3.x builds that did work with cygwin that you know of? [00:40] sivy has joined the channel [00:40] mjijackson has joined the channel [00:40] ryah: piscisaureus: v0.3.1 [00:40] ryah: basically they added some functions to platform.h and platform-cygwin.cc is missing them [00:41] xandrews has joined the channel [00:41] ryah: should be easy to port [00:43] jonaslund: arrghh [00:43] jonaslund: ACTION keeps typing pthread instead of pthreads [00:43] wokini has joined the channel [00:43] jonaslund: hmm [00:43] dnyy has joined the channel [00:44] skm has joined the channel [00:44] jonaslund: it's pthread.h and the functions are named pthread_ [00:44] jonaslund: maybe i should rename the sourcedir [00:45] hassox has joined the channel [00:48] jonaslund: piscisaureus: we're going to have to figure out some differences between mingw and msvc for sure [00:49] piscisaureus: aww [00:49] piscisaureus: I don't really what you mean with that pthread problem, when the functions are named pthread_* that's ok [00:49] piscisaureus: name the dir however you like :-) [00:49] piscisaureus: call it stink [00:50] jonaslund: the archives of the pthread lib was called pthreads-w32-versionblabl.tar.gz and extracted into a corresponding dir [00:50] jonaslund: thught that i'd shorten it to pthreads-w32 [00:50] jonaslund: for any possible upgrading [00:50] piscisaureus: yeah thats ok [00:50] jonaslund: but maybe it's easier to have pthread-win32 [00:51] jonaslund: since i kept typing pthread instead of pthreads [00:51] jonaslund: hmm [00:51] jpstrikesback has joined the channel [00:51] jonaslund: macros doesn't support vararg [00:52] jonaslund: umm.. or was that even vararg ? [00:52] jonaslund: #define MAC(xyz...) ? [00:57] jonaslund: umm.. [00:57] jonaslund: ah nvm [01:04] FastFruit has joined the channel [01:04] vprajapa has joined the channel [01:04] vprajapa: hello everyone [01:05] vprajapa: need helping install node js on cygwin [01:05] FastFruit: I need an async response.write() [01:05] jonaslund: vprajapa: do not use versions newer than 0.3.1 [01:05] FastFruit: How can I get an async response.write()? [01:05] jonaslund: until 4.0 comes out i think :) [01:06] jameshome_ has joined the channel [01:06] markp_: FastFruit what do you mean [01:06] jonaslund: piscisaureus: damn it [01:06] jonaslund: piscisaureus: your WSAID_DISCONNECTEX is "wrong" [01:06] vprajapa: i was trying to use 0.2.6 [01:06] piscisaureus: oww [01:06] FastFruit: markp_: I need response.write() to call my callback after it runs [01:06] MikhX has joined the channel [01:06] piscisaureus: what if you comment it out [01:07] jonaslund: vprajapa: what happens [01:07] piscisaureus: it isn't needed anyway [01:07] scriber has joined the channel [01:07] vprajapa: i'm getting this [01:07] jonaslund: piscisaureus: no ? [01:07] vprajapa: Build failed: -> task failed (err #2): {task: libv8.a SConstruct -> libv8.a} [01:07] piscisaureus: what is wrong with it btw? [01:07] vprajapa: i know according to doc i need to change my path [01:07] FastFruit: How to make response.write() async? [01:07] piscisaureus: jonaslund: I landed a patch that makes it obsolete for now last night [01:07] vprajapa: do export SHELL=/bin/bash [01:07] piscisaureus: otherwise you can just use the wsaid_connectex that comes with msvc [01:07] vprajapa: i did that still i'm getting same eroor [01:08] FastFruit: I want to do this: response.write("my string", function() { continue on... }); [01:08] Jaye has joined the channel [01:08] FastFruit: Any ideas? I need this [01:08] jonaslund: piscisaureus: it's a #define of {....} but that's not stored anywhere so it becomes the argument instead of a memory reference [01:08] vprajapa: i tried samething on my win32 machine it worked where as not in win64 [01:08] piscisaureus: jonaslund: ow but I thought UUID's were just a special kind of type [01:09] piscisaureus: anyway, it works fine in mingw :-) [01:09] jonaslund: vprajapa: do you have msvc installed ? [01:09] piscisaureus: hmm msvc does not hurt cygwin or what? [01:09] jonaslund: well obviously since it's your decl :P [01:09] wadey: FastFruit: I think you can do response.on('drain', function() ... [01:09] jonaslund: no idea.. good to know if it does [01:09] FastFruit: The synchronous response.write() is breaking my code :( [01:09] FastFruit: *style [01:09] vprajapa: i may have one time but it is not there anymore [01:10] jonaslund: piscisaureus: hmmm [01:10] FastFruit: Also, I need asynchronoud bitwise operators. Does v8 support this? [01:10] jonaslund: piscisaureus: what patch was it ? [01:10] markp_ has left the channel [01:10] FastFruit: *asynchronous bitwise operators [01:10] wadey: what IO is your operator doing? [01:10] piscisaureus: jonaslund: https://github.com/ry/node/commit/36846f9b6b272b60aa19f86470655da061737358 [01:11] FastFruit: wadey: CPU-bound [01:11] iszak has joined the channel [01:11] piscisaureus: jonaslund: don't mutilate DisconnectEX it beyond recognition though because we need it again once we switch to IOCP [01:11] FastFruit: I still need it async [01:12] wadey: that really makes no sense, perhaps you should fork another process to do your CPU bound stuff? [01:13] mike5w3c has joined the channel [01:13] piscisaureus: anyone (ryah) a way to search the git log for a deleted file that you only kinda know the name of ? [01:13] hasenj has joined the channel [01:13] FastFruit: Come on guys, I need all functions to be 100% async [01:13] perlmonkey2 has joined the channel [01:13] FastFruit: Even operators [01:14] FastFruit: Otherwise the code will be hard to read/messy [01:14] jonaslund: piscisaureus: what should be done is to make your "const" into a define and put the actual const data into some static struct [01:14] piscisaureus: jonaslund: whatever works for you :-) [01:14] Mike_Rice has joined the channel [01:15] FastFruit: :( [01:15] piscisaureus: once we get this msvc baby we'll shuffle mingw under the carpet [01:15] piscisaureus: *shove [01:15] jonaslund: i think supporting mingw might be a good thing [01:15] Mike_Rice: Hey pisci, did your pause patches to node-mysql ever get merged? [01:15] FastFruit: piscisaureus: The guy that wrote minGW is a genius [01:15] piscisaureus: Mike_Rice: I stopped asking for it, felt too obnoxious [01:15] jonaslund: FastFruit: not genius.. but they took a lot of pain [01:16] Mike_Rice: pisci: Lol, yeah I was reading the comments. Felix wanted to do it his way [01:16] Remoun: FastFruit; really? async *bitwise operators*?! [01:16] FastFruit: So no one knows how to implement bitwise operators? [01:16] FastFruit: Remoun: Yes. [01:16] piscisaureus: Mike_Rice: you should ask felixge about, when he is around. [01:16] Mike_Rice: pisci: I may, as I had to have tmpvar implement something for me [01:16] wadey: Remoun: don't feed the troll :) I have to assume he is trolling at least. [01:16] Remoun: FastFruit; are you trolling? [01:17] Remoun: I have to ask :) [01:17] FastFruit: Maybe. [01:17] nroll: FastFruit: I agree. I like php style much better also [01:17] FastFruit: PHP is for terrorists [01:17] nroll: Yeah maybe fortran is better indeed [01:18] lukegalea_ has joined the channel [01:18] FastFruit: nroll: Are you a programming language racist? [01:18] lukegalea_: rauchg_: Are you around? [01:19] dipser has joined the channel [01:19] lukegalea_: having a neat mongoose issue :) [01:19] chrischris has joined the channel [01:20] sprout has joined the channel [01:20] aheckmann has joined the channel [01:20] FastFruit: People tend to externalize failure and internalize success; hence the prevalance of the plague that is PHP. [01:20] zentoooo has joined the channel [01:20] Remoun: piscisaureus; I would search git log -p for the kinda known part of the name. [01:21] piscisaureus: Mike_Rice: I like the stuff felixge does in general. But his Deutsche Gründigkeit was troubling him here [01:21] piscisaureus: maybe if you ask him again he will land it anyway [01:21] nonnikcam has joined the channel [01:22] nroll: FastFruit: yeah I like only white middle-age male programming languages [01:22] piscisaureus: Remoun: thanks [01:22] sholmes: Does Node.js have any equivelant phpMyAdmin? [01:22] FastFruit: So that's pretty much C# isnit it, nroll? [01:22] ron_frown has joined the channel [01:22] ron_frown: ladies [01:23] jonaslund: sholmes: if you're doing mysql why not run some php server on another port ? [01:23] ron_frown: any news on node.js native on windows? [01:23] ron_frown: I know someone was making good progress on it about a month ago [01:23] nroll: FastFruit: objective C I would say. maybe object pascal [01:24] nroll: ron_frown: this guy is a total fraud. have you ever looked at his code. his make test results are totally fake [01:24] Sebmaster: i programmed a few lines of a pascal variant a year ago or smth [01:24] Sebmaster: was pretty fun :D [01:24] ron_frown: nroll: I forgot who it was in the first place, so thats a no [01:24] stepheneb has joined the channel [01:25] indexzero has joined the channel [01:25] nroll: just ask ryah or any other nodejs boss, there will never be a windows port [01:25] Vertice has joined the channel [01:25] mikeal has joined the channel [01:26] vprajapa: any idea? [01:26] altamic has joined the channel [01:26] wokini has left the channel [01:26] altamic has joined the channel [01:26] vprajapa: any idea guys? [01:26] piscisaureus: ron_frown: we're making progress [01:26] Sebmaster: vprajapa: You just posted the last line [01:26] isaacs has joined the channel [01:26] Sebmaster: post the whole log in a gist or smth [01:26] ron_frown: ahh yes piscisaureus [01:26] ron_frown: you were the one [01:27] piscisaureus: it'll take some time still before it's stable [01:27] piscisaureus: I have no ETA, depends on many factors [01:27] vprajapa: Build failed: -> task failed (err #2): {task: libv8.a SConstruct -> libv8.a} error when I do make [01:27] ron_frown: of course [01:27] ron_frown: I am the worst at quoting times myself [01:28] sholmes: jonaslund: I'm just asking if there was one for when I decide to go with a full Node.js stack [01:28] vprajapa: according to doc change the SHELL path to /bin/bash [01:28] vprajapa: i tried that didn't work [01:28] sholmes: also, just because I'm using MySQL as a database doesn't mean I must use PHP [01:28] vprajapa: on my win32 it works but not win64 [01:28] lukegalea_: rauchg_: ping? [01:29] jonaslund: sholmes: my point is that phpmyadmin is a somewhat polished program that works and it's only for the backend anyhow [01:29] jonaslund: sholmes: nothing user exposed [01:29] jonaslund: sholmes: kinda not reinventing the wheel :) [01:29] sholmes: jonaslund: why would you be making that point exactly. [01:29] Vertice_ has joined the channel [01:29] Vertice_ has joined the channel [01:29] sholmes: ?* [01:30] sholmes: jonaslund: oh you mean that why go and make a phpMyAdmin for Node when there's a php one? [01:30] sholmes: well, for one Node is awesome [01:30] dgathright_ has joined the channel [01:30] sholmes: two, phpMyAdmin could totally be more awesome [01:30] sholmes: and three, it wouldn't be PHP [01:30] sholmes: :P [01:30] jonaslund: personally i'd prefer a real desktop sql client [01:31] sholmes: jonaslund: which? :o [01:31] rauchg_: lukegalea_: [01:31] brianmario has joined the channel [01:31] rauchg_: sup [01:31] jonaslund: well i use postgres so it's pgadminIII for me [01:31] sholmes: is it free? [01:31] lukegalea_: hey, I was floundering about trying to reproduce, but I just got it: mongoose 1.0.8 fails if you have an array default with only one element :) Just logging a report now. [01:32] lukegalea_: rauchg_: ^^ [01:32] jonaslund: sholmes: yes [01:32] sholmes: why do you use postgres btw? [01:32] rauchg_: lukegalea_: [01:32] jonaslund: sholmes: preferences [01:32] rauchg_: ok please log it [01:32] sholmes: postgres is SQL right? [01:32] jonaslund: sholmes: yes [01:32] rauchg_: lukegalea_: and send me the ticket # [01:32] sholmes: it's relational? [01:33] jonaslund: sholmes: apperantly according to purists no sql database is truly relational [01:33] sholmes: wtf [01:33] sholmes: well are they "just relational" then? [01:34] lukegalea_: rauchg_: Issue 240. Thanks in advance ! [01:34] sholmes: minus the truly part [01:34] aro has joined the channel [01:34] tlrobinson has joined the channel [01:34] dgathright has joined the channel [01:34] lukegalea_: sholmes: Re: postgres - it's nice as compared to mysql because you can modify a table without it rebuilding the entire table and locking the whole time. [01:35] sholmes: oh cool [01:35] lukegalea_: ie: if you have a 100 million row table and you try and add a single index, it will create a new table with the old indexes + the new one.. and copy over ever row.. then delete the old one.. then release the lock... so you might have brought your site down for 8 hours. [01:35] sholmes: can you import data from mysql into postgres? [01:35] lukegalea_: there are some tools around I think, but I've never tried. [01:36] lukegalea_: If you are using an ORM it's relatively easy to move it over like that.. or use something like Penatho Data Integration to pull the data from one into the other. [01:36] rauchg_: or go schemaless [01:37] jonaslund: sholmes: what you should look out for is if you have autoincrementing tables [01:37] jonaslund: sholmes: those work a tad differently (although recent versions has syntactic sugar for table definitions) [01:37] sholmes: hmm [01:38] FastFruit: So async boolean operators possible in v8? [01:38] sholmes: well, sense I'm already with mysql, I'll just stick with it for not [01:38] sholmes: now [01:38] jonaslund: in the past you had to manually create sequences (counters) for that but now it's done automatically if you use the right types [01:38] FastFruit: Maybe I can just do a b unch of async evals(), what do you guys think? [01:38] FastFruit: Mysql is for database terrorists [01:39] jonaslund: (in postgres the counter that creates a new id is it's own object as opposed to some automagic feature of the table in mysql) [01:39] charlenopires has joined the channel [01:39] Sebmaster: I <3 magic :p [01:40] FastFruit: ACTION use postgresql, the proper RDBMS [01:40] Sebmaster: I used MSSQL last summer [01:40] Sebmaster: top that! [01:40] FastFruit: Sebmaster: That makes you worse than a database terrorist. [01:41] FastFruit: That's data sedition [01:41] jonaslund: actually i think postgres-II will kick ass [01:41] Sebmaster: I couldnt change it [01:41] jonaslund: multi-master clustering [01:41] jonaslund: designed in from day 1 [01:41] mjijackson has joined the channel [01:41] Sebmaster: the company i work for is completly windows-based [01:41] Sebmaster: *worked [01:42] lukegalea_: At least you can modify the schema in MSSQL and it won't lock your table. [01:42] jonaslund: hrrm [01:42] lukegalea_: that just pisses me right off. [01:42] jonaslund: piscisaureus: ns_t_a can't be found [01:42] piscisaureus: where is it used? [01:42] jonaslund: c-ares [01:42] piscisaureus: hmm. I expected c-ares to compile out of the box [01:43] jonaslund: it's node_cares.cc that borks [01:43] piscisaureus: jonaslund: it it not defined in nameser.h? [01:44] vnguyen has joined the channel [01:44] Abjorn has joined the channel [01:44] vnguyen: does anyone know if there is a beautifulSoup equivalent for node? [01:44] Abjorn: :o hola [01:44] jonaslund: piscisaureus: nameser.h ? :) [01:44] Abjorn: anyone in here have any experience using nodester? [01:44] iFire has joined the channel [01:44] piscisaureus: should be included by node_cares.cc [01:45] jonaslund: yes i saw that [01:45] jonaslund: it's mingw defined [01:45] mscahill has joined the channel [01:45] jonaslund: variants for other OS's [01:45] sprout has joined the channel [01:45] jonaslund: oh there it was [01:45] jonaslund: hmm [01:45] jonaslund: lemme check my includes [01:45] jonaslund: actually [01:45] jonaslund: i thought it came with the OS [01:45] jonaslund: /compiler [01:46] piscisaureus: yeah it should be I guess [01:46] jonaslund: nah it was in c-ares [01:46] piscisaureus: oh [01:46] jonaslund: i'll change the ifdef to _WIN32 [01:47] jonaslund: hmm [01:47] piscisaureus: jonaslund: there are a lot of #ifdef __MINGW32__ s that should be ifdef win32 [01:47] piscisaureus: in node [01:47] jonaslund: is _WIN32 defined by cygwin ? [01:47] piscisaureus: jonaslund: could also be that you need to create a new config file for c-ares [01:47] piscisaureus: yeah [01:47] piscisaureus: that's the problem [01:47] jonaslund: hmm [01:48] jonaslund: does cygwin define posix ? [01:48] piscisaureus: __POSIX__ is added by the waf build script [01:48] jimt has joined the channel [01:48] jonaslund: on cygwin ? [01:48] piscisaureus: yeah on all patforms but mingw [01:48] jonaslund: could put an else on __POSIX__ and have _WIN32 then [01:48] CIA-79: node: 03isaacs 07master * rff39d41 10/ doc/api/modules.markdown : Document module loading - http://bit.ly/i97l7q [01:48] CIA-79: node: 03Ryan Dahl 07master * r43bc1d7 10/ doc/api/modules.markdown : Edit module docs - http://bit.ly/hev4xt [01:49] softdrink has joined the channel [01:49] ryah: https://github.com/ry/node/blob/43bc1d7ec89031c50f799a7b0964dcc22d24129c/doc/api/modules.markdown [01:50] jonaslund: ok better [01:50] jonaslund: inet_pton and inet_ntop [01:51] matyr has joined the channel [01:51] piscisaureus: jonaslund: they're not available on mingw but c-ares has its own implementation also [01:51] piscisaureus: so I use those on mingw [01:52] WRA has joined the channel [01:52] jonaslund: mingw again [01:52] jonaslund: mingw define thatis :) [01:52] WRA: hey guys [01:52] WRA: npm command for locating an installed module directory [01:53] kordless_ has joined the channel [01:53] Abjorn: Anyone here able to help me with a problem with Nodester? Their irc channel isn't giving me any response. [01:54] jonaslund: hmm [01:54] jonaslund: pid_ undefined [01:54] Abjorn: I'm on Ubuntu getting the same problem here: https://github.com/nodester/nodester-cli/issues#issue/2 and can't seem to figure anything out [01:55] jonaslund: gregk [01:55] jonaslund: piscisaureus: we might need to invent some kind of "REALWIN32" define [01:55] piscisaureus: jonaslund: yeah and replace all MINGW32 by that [01:55] piscisaureus: maybe WIN32NATIVE [01:55] piscisaureus: or WIN32REAL [01:55] jonaslund: sounds good [01:56] piscisaureus: jonaslund: something that can be sed'ed into _WIN32 easily as soon as we drop cygwin :-) [01:57] jonaslund: actually i think dropping cygwin entirely is a stupid thing for a good while [01:57] piscisaureus: ACTION building latest head on cygwin as we speak. [01:57] jonaslund: modules... [01:57] piscisaureus: yeah [01:57] piscisaureus: dlls [01:57] jonaslund: not to mention that there will probably always be "bad" modules [01:58] bradleymeck1 has joined the channel [01:58] piscisaureus: jonaslund: honestly there are not so many useful modules I know of [01:58] piscisaureus: maybe node-proxy, but that should compile on windows [01:58] piscisaureus: does no OS stuff [01:59] jonaslund: btw pipes [01:59] jonaslund: do you binarify them ? [02:00] vipaca has joined the channel [02:00] vipaca has joined the channel [02:00] borgenk has joined the channel [02:01] piscisaureus: jonaslund: I don't support pipes [02:01] piscisaureus: can;t do until we switch to IOCP [02:01] jesusabdullah: IOCP? [02:01] jonaslund: (pipes are by default text in win32.. you must do some ioctl or something alike if i don't remember wrong to get them to be binary) [02:01] piscisaureus: jonaslund: I landed a patch that does that to files lately :-) [02:01] piscisaureus: jonaslund: pipes are not used atm [02:02] jonaslund: yeah but pipes are a bit different [02:02] piscisaureus: they should be used to provide UNIX socket functionality on windows [02:02] jonaslund: since the stdio/stdout are text by default [02:03] piscisaureus: jonaslund: maybe it will go wrong if you do `node myscript < blah` now, i don't know [02:03] piscisaureus: but if you start node of a child process of node, that works fine [02:03] piscisaureus: because then stdio is a socket [02:04] cjm has joined the channel [02:06] mscahill: piscisaureus: I'm glad we're not the only ones having trouble with this [02:06] tlrobinson_ has joined the channel [02:06] piscisaureus: hehe ok [02:06] WRA: so npm command to take you to the module directory [02:06] mscahill: we're trying to get our patch ready to submit [02:07] mscahill: things are a tad messy at the moment [02:07] piscisaureus: looking forward to it [02:07] mscahill: did you know that getenv doesn't work as expected on Windows? [02:07] piscisaureus: no. why? [02:07] mscahill: we're trying to wrap all of those in preprocessor directives [02:07] piscisaureus: not that I am surprised [02:07] piscisaureus: hmm, ok, don't make it all too magic please [02:07] mscahill: http://mailman.mit.edu/pipermail/krbdev/2006-September/004967.html [02:08] mscahill: we'll have to use GetEnvironmentVariableW [02:08] mscahill: not too bad [02:08] arrty has joined the channel [02:08] piscisaureus: GetEnvironmentVariableW is better anyway [02:08] piscisaureus: so +1 [02:08] mscahill: we're almost there [02:08] mscahill: ran into some unexpected delays and communication problems [02:08] mikeal has joined the channel [02:09] mscahill: as per usual with school projects ;-) [02:09] mscahill: we're definitely submitted *something* to you on Monday [02:09] mscahill: we've fixed the test runner on MinGW [02:09] forzan has joined the channel [02:09] piscisaureus: hopefully it is good enough to get landed [02:09] piscisaureus: ow that is good! [02:09] mscahill: implemented setenv and unsetenv [02:09] mscahill: and getuid is being worked on [02:10] piscisaureus: honestly I don't care much about getuid [02:10] piscisaureus: but hey why not [02:10] mscahill: I know [02:10] mscahill: but the other three people needed something to do [02:10] mscahill: they wrote the code, and wondered why it never ran [02:11] mscahill: you had it wrapped in a massive ifdef __POSIX__ ;-) [02:11] piscisaureus: heh [02:11] piscisaureus: you get to tell the master and the apprentice :-p [02:12] mscahill: so how did you want us to submit? pull request on github? [02:12] piscisaureus: never mind [02:12] piscisaureus: send a patch to the mailing list, send an email that poitns to your stuff [02:12] piscisaureus: whatever [02:13] mscahill: ok [02:13] mscahill: we can try to figure out how to generate a patchfile [02:13] mscahill: I've never done that before [02:13] piscisaureus: well then don't [02:14] piscisaureus: but you should submit one patch for each part you worked on [02:14] piscisaureus: or one commit [02:14] piscisaureus: not like we need to merge a branch with a ton of crap attached to it [02:15] lukegalea_ has joined the channel [02:17] piscisaureus: ryah: platform-cygwin.cc:594: error: invalid cast from type ‘__pthread_key_t*’ to type ‘v8::internal::Thread::LocalStorageKey’ [02:17] piscisaureus: ever seen that before? [02:17] jonaslund: hmmmmmm [02:17] WRA: http://code.google.com/chrome/chromeframe/ [02:17] WRA: err [02:17] WRA: wrong room [02:17] Abjorn: lo [02:17] jonaslund: piscisaureus: do we use "__POSIX__" or "_POSIX_" ? [02:18] piscisaureus: two underscores [02:18] Abjorn: Sooo no one can help me? [02:18] jonaslund: it seems like msvc want's _POSIX_ to be defined to define PATH_MAX [02:18] piscisaureus: jonaslund: no I think it is defined in node_file.cc [02:18] mscahill: holy crap. guess v8 was updated. [02:18] mscahill: just merged in changes. [02:19] jonaslund: Abjorn: sorry, never used it [02:19] sivy has joined the channel [02:19] kordless has joined the channel [02:20] Abjorn has left the channel [02:20] mscahill: piscisaureus: sweet. git has a built-in patch maker! [02:20] disq has joined the channel [02:20] disq has joined the channel [02:20] lightcatcher has joined the channel [02:20] piscisaureus: sure [02:21] jonaslund: ok i'm starting to get waay to tired now [02:21] johnnywengluu has left the channel [02:21] altamic has joined the channel [02:22] xandrews has joined the channel [02:22] ryah: piscisaureus: nope [02:23] esumit has joined the channel [02:24] markwubben has joined the channel [02:24] kordless_ has joined the channel [02:24] mscahill: piscisaureus: isn't it like uber late where you are? [02:24] piscisaureus: no it's early [02:25] piscisaureus: :p [02:25] micheil has joined the channel [02:27] esumit: Hey [02:27] esumit: I am trying to use mangodb with node.js , Is there anyone who experienced with the same ? and suggest node.js based native driver or whatever ( I have almost no knowledge about mongodb, but yes I installed node.js on my system and ran/write few small examples). [02:27] esumit: My purpose is too implement Proxy cache via using node.js [02:27] esumit: though several coded-modules exist from this link, : https://github.com/ry/node/wiki/modules still I want to hear your experience [02:28] Lorentz: I like how you say >mangodb [02:28] Lorentz: And, uh, look at mongoose yet? [02:29] esumit: haha [02:29] esumit: sorry it is mongodb [02:29] esumit: yup [02:29] esumit: but it is stable ? [02:29] Lorentz: It's 1.0.x now [02:29] esumit: on some blogs : i found that it has issues ? [02:30] esumit: so among several existing options : seems mangoose is aright choice to start with ? [02:30] halfhalo has left the channel [02:30] mscahill: we plan on using it [02:30] mscahill: so here's hoping [02:30] halfhalo has joined the channel [02:31] esumit: e.g; http://www.mischievous.org/2010/05/experimenting-with-nodejs-and.html [02:31] matti has joined the channel [02:31] matti has joined the channel [02:31] sprout has joined the channel [02:33] stephen_mcd1 has joined the channel [02:33] ron_frown has joined the channel [02:33] lukegalea_ has joined the channel [02:34] stephen_mcd has joined the channel [02:35] mattly has joined the channel [02:36] skm has joined the channel [02:37] CIA-79: node: 03Ryan Dahl 07master * r8cd07bb 10/ src/node_crypto.cc : TLS: handle cert chains - http://bit.ly/g7lOr7 [02:37] CIA-79: node: 03Ryan Dahl 07master * r778fb85 10/ (25 files): New keys, agent1-cert.pem was expired - http://bit.ly/e4GsUt [02:39] dguttman_ has joined the channel [02:40] rburke1 has joined the channel [02:40] m14t has joined the channel [02:41] dguttman_ has joined the channel [02:41] aconran_ has joined the channel [02:44] matyr has joined the channel [02:47] iszak: oeer updates [02:48] piscisaureus: ryah: I think I have fixed cygwin [02:48] piscisaureus: though this means the end of crankshaft [02:48] iszak: D: [02:48] iszak: does crankshaft actually make a huge performance increase in node.js? [02:48] piscisaureus: but it's not on in earlier cygwin versions afaict [02:49] piscisaureus: well the end of a lot more optimizations I think [02:49] piscisaureus: but i don't know how much the difference is [02:49] piscisaureus: cygwin is slow anyway, way slower than the mingw build hehe [02:50] piscisaureus: fails 3 test of `make test` [02:50] ryah: piscisaureus: awesome [02:51] piscisaureus: ryah: will now do some polishing, expect the patch there in 15 minutes or so [02:51] ryah: great, people will rejoice [02:51] Sebmaster: piscisaureus: You built node? [02:51] Sebmaster: Awesome [02:52] Sebmaster: piscisaureus++ [02:52] v8bot: Sebmaster has given a beer to piscisaureus. piscisaureus now has 1 beers. [02:52] piscisaureus: people other than me and you [02:53] ryah: piscisaureus: any desire to send that to V8? [02:53] piscisaureus: ryah: I don't really think it will land actually. It's hacky. Fix stuff by ripping it out [02:54] piscisaureus: I think raffaele sena tried once [02:54] vnguyen has joined the channel [02:54] ryah: piscisaureus: the changes are localized to platform-cygwin right? [02:54] piscisaureus: almost [02:54] arpegius has joined the channel [02:54] piscisaureus: minor change in platform.h plus the build scripts [02:54] piscisaureus: would not affect other platforms [02:56] lukegalea_ has joined the channel [02:57] altamic has joined the channel [02:58] jimt_ has joined the channel [03:01] dguttman has joined the channel [03:01] techwraith has joined the channel [03:02] perlmonkey2: Wow, this alexyoung notepad example is really nice. I didn't even know Connect supported a mongodb store. [03:03] jimt has joined the channel [03:06] piscisaureus: ryah: try this: https://gist.github.com/819841 [03:07] softdrink: perlmonkey2: link? [03:08] CIA-79: node: 03Ryan Dahl 07master * r67e352e 10/ doc/api/crypto.markdown : [03:08] CIA-79: node: fix verifier.verify() docs [03:08] CIA-79: node: Thanks Sitelier. Closes GH-651. - http://bit.ly/fc2B5U [03:08] perlmonkey2: softdrink: I got it from this blog: http://dailyjs.com/ and here is the github link: https://github.com/alexyoung/nodepad/tree/2a8725f089ef052ec8b4ccfed8f6fbece70a606a [03:09] lukegalea_ has joined the channel [03:09] piscisaureus: ryah: in that patch there could be an issue with VirtualMemory::Commit and Uncommit [03:09] perlmonkey2: Although according to the recent /. story, the password algo is too weak. [03:09] mikeal has joined the channel [03:09] piscisaureus: this is what rafa dit [03:09] piscisaureus: did [03:09] bradleymeck1 has joined the channel [03:09] necromancer has joined the channel [03:09] piscisaureus: but the days I used cygwin virtualmemory always skyrocketed without any reason [03:10] ryah: piscisaureus: can you give me a patch that applies to node? [03:10] Yuffster_work has joined the channel [03:10] ryah: when i `patch -p1` this one i get [03:10] ryah: ## master M SConstruct M src/SConscript M src/platform-linux.cc M src/platform.h M tools/utils.py [03:12] piscisaureus: ryah: it is not usable for node [03:12] piscisaureus: erm not for `path` [03:13] piscisaureus: you should `git am patch.patch --directory=deps/v8` [03:13] ryah: ah, i don't know about that [03:13] piscisaureus: the nice thing about it is that this patch doesn't hide that platform_cygwin is derived from platform_linux [03:13] piscisaureus: has just the differences [03:13] tiemonster: ACTION takes notes [03:13] ryah: piscisaureus: indeed. [03:14] piscisaureus: ryah: so this patch is also more likely to apply to newer versions of v8 [03:14] piscisaureus: well, less likely to apply but also less likely to break [03:15] techwraith has joined the channel [03:17] Sebmaster: neeeed coooommit! [03:18] ryah: working on it... [03:19] Mike_Rice has joined the channel [03:20] Sebmaster: guess ill get everything ready for pull & build :p [03:20] chapel: https://chrome.google.com/webstore/detail/iieeldjdihkpoapgipfkeoddjckopgjg [03:21] CIA-79: node: 03Bert Belder 07master * rfd013d1 10/ (5 files in 3 dirs): V8 cygwin support - http://bit.ly/fiI8c4 [03:21] DanielSim has joined the channel [03:22] jakehow has joined the channel [03:25] dingomanatee has joined the channel [03:26] iszak: Thank you piscisaureus. [03:26] Sebmaster: ^ [03:27] Sebmaster: yea, it works :) [03:28] Sebmaster: absolutly awesome piscisaureus [03:28] throughnothing has joined the channel [03:29] piscisaureus: gerne [03:29] iszak: Dispite it possibly disabled crankshaft it's not a big deal as I assume most people who use node.js on windows are using it for development more than production use. [03:30] piscisaureus: ryah: if you can spare a minute, please check the VirtualMemory::Commit and ::Uncommit methods [03:30] andrewfff has joined the channel [03:30] ryah: piscisaureus: yes? [03:31] ryah: you're worried about MAP_FIXED ? [03:31] piscisaureus: yeah [03:31] cilantro has joined the channel [03:31] piscisaureus: and about swapping mmap for mprotect [03:32] arnorhs has joined the channel [03:32] piscisaureus: but i'm not really into this stuff [03:34] ryah: me neither, nor do i care [03:34] ryah: as long as the cygwin guys can compile, i'm sure they're happy :) [03:37] admc has joined the channel [03:37] piscisaureus: heh ok [03:38] iszak has joined the channel [03:40] Moo has joined the channel [03:41] warz has joined the channel [03:42] Aria has joined the channel [03:44] piscisaureus: heh. somebody did useful updates on https://github.com/ry/node/wiki/Building-node.js-on-mingw [03:45] softdrink: hrm. hijacking XMLHttpRequest.open() in google docs does weird things [03:45] Sebmaster: huh? [03:46] Sebmaster: i guess it didnt work :( [03:46] Sebmaster: cant execute node anymore [03:51] andrewfff has joined the channel [03:52] zorzar has joined the channel [03:52] admc has joined the channel [03:55] dingomanatee has joined the channel [03:57] piscisaureus: ACTION pondering [03:59] Sebmaster: piscisaureus: Can you run it? [03:59] zachsmith has joined the channel [03:59] piscisaureus: no. but make test worked [03:59] piscisaureus: and the v8 shell did as well [04:00] stepheneb has joined the channel [04:00] piscisaureus: I think we may need to turn of snapshots [04:01] admc1 has joined the channel [04:01] bumblebee3 has joined the channel [04:02] luke` has joined the channel [04:03] lukegalea_ has joined the channel [04:04] hornairs has joined the channel [04:08] keyvan has joined the channel [04:09] noahcampbell has joined the channel [04:09] dipser has joined the channel [04:12] ryah: piscisaureus: yes, turn off snapshot [04:13] piscisaureus: ryah: still get [04:13] piscisaureus: readline.js:93 [04:13] piscisaureus: this._promptLength = Buffer.byteLength(lastLine); [04:13] piscisaureus: TypeError: Argument must be a string [04:13] piscisaureus: at Interface.setPrompt (readline.js:93:33) [04:13] piscisaureus: at REPLServer.displayPrompt (repl.js:196:12) [04:13] piscisaureus: at new REPLServer (repl.js:183:8) [04:13] piscisaureus: at Object.start (repl.js:191:10) [04:13] piscisaureus: at Function.runRepl (node.js:354:26) [04:13] piscisaureus: at startup (node.js:40:13) [04:13] piscisaureus: at node.js:432:3 [04:13] piscisaureus: I have seen that before but I don't recall... [04:14] whyme has joined the channel [04:15] warz has joined the channel [04:16] lukegalea_ has joined the channel [04:17] jimt has joined the channel [04:17] Sebmaster: ive too [04:17] Sebmaster: but i guess that was, when i experimented with the build myself [04:18] ossareh has joined the channel [04:18] piscisaureus: ryah looks like stack corruption in the js -> C transition [04:19] piscisaureus: I think ive seen it in the early days of the mingw port [04:22] piscisaureus: ryah: ha! grokked it [04:22] jimt has joined the channel [04:22] piscisaureus: ryah: you would never have found this :-) [04:22] piscisaureus: ryah: follow-up fix or redo that patch? [04:22] ryah: piscisaureus: follow-up fix [04:23] piscisaureus: ok [04:23] piscisaureus: ryah: takes some time, will do a full make clean & rebuild cycle just to be sure now [04:24] ryah: thanks [04:24] cloudhead has joined the channel [04:28] boaz has joined the channel [04:30] russell_h: ryah: you have a moment? [04:30] chris6F_ has joined the channel [04:30] felixge has joined the channel [04:30] felixge has joined the channel [04:31] tilgovi has joined the channel [04:31] necromancer has joined the channel [04:32] russell_h: ryah: I'm pretty sure there's a bug in http.js with firing 'drain' events on OutgoingMessages. In _flush() if socket.write() returns false it doesn't fire a drain, but _flush() won't get called again so the drain never fires [04:34] ryah: russell_h: hey - hm [04:34] ryah: interesting [04:35] ryah: russell_h: how can you construct an example? [04:35] russell_h: ryah: call util.pump on a filesystem readstream -> http request [04:36] russell_h: it pauses and never resumes [04:36] ryah: client request? [04:36] russell_h: yeah [04:37] ryah: ok. [04:37] ryah: let me try this, but i need to afk for 30min [04:37] ryah: bbl [04:37] russell_h: thanks [04:39] piscisaureus: Sebmaster: ping [04:40] Sebmaster: ? [04:40] losing has joined the channel [04:41] Sebmaster: piscisaureus: ? [04:41] piscisaureus: Sebmaster: can you try this: [04:42] piscisaureus: https://github.com/piscisaureus/node/tree/cygwin [04:42] bartt has joined the channel [04:42] piscisaureus: so the 'cygwin' branch of my repo [04:43] piscisaureus: you need to ./configure again [04:43] piscisaureus: I hope that one works [04:44] piscisaureus: Sebmaster: you can get it with `git pull git://github.com/piscisaureus/node.git cygwin:master` [04:44] Sebmaster: okay, working on it [04:44] piscisaureus: replace that `master` by whatever branch you are using [04:46] micheil_mbp has joined the channel [04:47] jakehow has joined the channel [04:48] Sebmaster: okay, im building [04:50] defeated has joined the channel [04:53] Sebmaster: piscisaureus: Works! [04:53] piscisaureus: phew [04:53] arpegius has joined the channel [04:53] piscisaureus: now lets get this bitch landed [04:53] piscisaureus: ryah: yoohoo [04:53] piscisaureus: please land https://github.com/piscisaureus/node/commit/cygwin [04:54] eddanger has joined the channel [04:54] mayfield has joined the channel [04:55] Sebmaster: hes afk i guess [04:55] Vertice has joined the channel [04:55] Sebmaster: 10 more minutes :( [04:55] piscisaureus: afk = what? [04:55] iszak: away from keyboard. [04:55] Sebmaster: away from keyboard [04:59] vnguyen has joined the channel [05:00] lukegalea_ has joined the channel [05:02] hobodave has joined the channel [05:04] mayfield has joined the channel [05:04] tedsuo has joined the channel [05:05] tedsuo: Heyo, is anyone working on a FastCGI server or Rack handler for node? [05:06] Aria: What'd a rack handler look like? [05:06] tedsuo: a way to start your request in node middleware, then pass it on to a rack proccess [05:07] tedsuo: you would need to handle the ruby workers as well, a la mod_rack [05:07] Aria: rack's an API. So you'd be doing rather a lot of ruby stuff. [05:07] Aria: But it's possible, I suppose. I know of nobody doing it. [05:08] vnguyen has joined the channel [05:08] indexzero has joined the channel [05:09] muk_mb has joined the channel [05:09] tedsuo: basically, replacing nginx/apache mod_rack with "node_rack" [05:11] piscisaureus has joined the channel [05:12] tedsuo: it would be helpful for a project I'm working on, but I will probably just use nginx as a proxy in the meantime [05:15] Sami_ZzZ has joined the channel [05:16] andrewfff has joined the channel [05:17] iszak: tedsuo, so you want to replace a proper web server nginx with a not so web server orientated piece of software like node.js? [05:19] jetheredge has joined the channel [05:19] tedsuo: well, I currently use nginx as a proxy, but it seems like eventually that will not be necessary [05:19] Aria: Yeah, node's a good tool to build such a thing. I just don't think anyone has. [05:19] tedsuo: how is node not oriented towards being a web server? The first thing you see on nodejs.com is how to make a web server. [05:20] iszak: why even use ruby at all, why not just use node.js and it can be the web server and application? [05:21] lukegalea_ has joined the channel [05:21] ajnasz has joined the channel [05:21] iszak: or am I missing something? [05:22] tedsuo: possibly tying some existing ruby services into the set of services already written in node. I'd like the connect middleware to run in from of some of my rack middleware, rather than porting it to ruby [05:22] tedsuo: or porting my ruby services into node [05:25] tedsuo: using http and having nginx manage it would be fine, but it seems like it would be useful to the community in the long run, since node seems to be a good server/network connection tool [05:26] iszak: tedsuo, because although it can, obviously something that's designed for it is going to be better at it than something that's general purpose but can do it. [05:27] Aria: [citation needed] [05:27] iszak: Common knowledge. [05:27] Aria: [citation needed] [05:27] iszak: This isn't wikipedia. [05:27] Aria: (I mean what, something general purpose like ... C?) [05:27] tedsuo: iszak: what do you consider to be the intended purpose of node? [05:28] Aria: Just saying, there's no reason that tools built using node have to suck for it any more than tools written in C. [05:28] skm_ has joined the channel [05:28] iszak: It's got many peoples and it can fill a web server in some cases, sure definitely. [05:28] iszak: but I mean serving static filese nginx vs node.js ? [05:28] Aria: Totally can be made equivalent. [05:28] iszak: I would be surprised if node.js performances as well as nginx. [05:28] Aria: Hell, that's mostly sendfile() ;-) [05:28] Aria: Have you checked? [05:28] iszak: nope. [05:29] iszak: don't know how to benchmark. [05:29] Aria: You might. They're pretty close. [05:29] iszak: have you? [05:29] Aria: Yes. [05:29] iszak: using latest versions of both? [05:29] tedsuo: node's way new, so it's true that it doesn;t handle everything well (piping large files is currently one of them) but network server/client seems to be the explicit use of node [05:29] Aria: Also, it's not going to matter in many setups, because CPUs are fast, and networks are slow. [05:29] iszak: Aria, what was the outcome either way? [05:30] Aria: "Good" [05:30] tedsuo: every example I have ever seem has been for these purposes, and comparing it to nginx is pretty common [05:30] iszak: Aria, what was "faster" ? [05:30] Aria: nginx. [05:30] iszak: As you'd expect. [05:30] Aria: I didn't have any such expectation. [05:30] iszak: I did. [05:31] Aria: It wasn't meaningfully faster on my system, though. [05:31] iszak: Look I'm not saying you can't use node.js as a web server, or that you shouldn't, just that there are better suited solutions out there in some cases. [05:31] tedsuo: anyhoo, I'll ping the list, and if no one is currently working on it, I'll have a look see at porting or binding to mod_rack [05:31] Aria: Nice. [05:31] tedsuo: cheers [05:31] tedsuo has left the channel [05:32] Aria: iszak: And I'm saying you're quite likely wrong. [05:33] iszak: Your test proved otherwise. [05:33] Aria: No, it didn't. [05:33] Aria: Adding fins won't make it go faster. [05:33] iszak: I never said anything about adding fins. [05:33] Aria: In the case of artificial benchmarks, nginx is faster. [05:34] Aria: It's not _meaningfully faster_ [05:34] lukegalea_ has joined the channel [05:34] iszak: probably because you did a simple test. [05:34] Aria: It's also another piece of software to maintain in a stack. [05:35] Aria: If you push hundreds of megabits between you and your clients, you might notice. [05:35] jbergstroem has joined the channel [05:35] Aria: But you have to understand your problem before you go throwing out 'facts' like that. [05:35] iszak: Aria, sure, but like I said it was only a simple test. [05:35] iszak: it's like php vs ruby with a hello world test. [05:35] Aria: [citation needed] ;-) [05:35] zachsmith: is serving static files even a useful benchmark? [05:35] iszak: zachsmith, probably not. [05:35] Aria: Only for a static file host. [05:36] Aria: (nor is a couple milliseconds how I'd evaluate such a beast.) [05:36] iszak: A more meaningful one would be to have hostname routing, url redirecting, etc. [05:36] iszak: and chances are nginx was also doing disk IO [05:36] iszak: where as was your node.js test? [05:37] Aria: Yes, and yes. I /do/ understand cold cache vs warm cache behavior. [05:37] iszak: Just saying. [05:38] langworthy has joined the channel [05:38] Aria: Like I said. Not a meaningful difference. [05:38] iszak: nor a meaningful test. [05:38] Aria: Man, I am so turning into the next Zed Shaw. [05:38] Aria: I'm gonna have to watch that. [05:40] Aria: Or quite a meaningful test, since testing end-to-end behavior leaves way too many variables to understand what's going on. [05:40] yozgrahame has joined the channel [05:41] benburkert has joined the channel [05:41] gerad has joined the channel [05:43] razvandimescu has joined the channel [05:44] matyr_ has joined the channel [05:45] torvalamo has joined the channel [05:46] jameshome has left the channel [05:46] Prometheus: Aria: turning in to zed, how? =P [05:46] razvandimescu1 has joined the channel [05:46] Aria: Wanting to beat people with books on statistics until they bleed. [05:46] Prometheus: oh, haha [05:47] Prometheus: that's not too bad [05:47] Aria: (The man may be a jerk but he /is/ right most of the time.) [05:47] Prometheus: he is, and he puts on a good show every time he's on stage ;) [05:47] Aria: Hehe. [05:48] Prometheus: he could be the young steve jobs =P [05:48] Aria: Heh [05:48] Aria: No reality distortion field. [05:48] Prometheus: perhaps not [05:48] skm has joined the channel [05:49] Prometheus: maybe that's a learned characteristic ;) [05:49] Aria: Anyway. Back to reading the source code for v8 typedarrays. [05:49] Aria: Assuming I really did find it. [05:53] davidascher has joined the channel [05:54] Gruni has joined the channel [05:54] briznad has joined the channel [05:55] piscisaureu_ has joined the channel [05:56] Aria: I really wish the Chrome team hadn't built in such primitive operations so tied to the canvas. [05:56] Aria: Though that said, they're doing an admirable job being not-Apple and yet keeping things compatible with WebKit. [05:57] CIA-79: node: 03Bert Belder 07master * r583f2e5 10/ (3 files in 3 dirs): Follow-up fix for v8 cygwin build - http://bit.ly/f6w0bj [06:00] Ond has joined the channel [06:01] gerad has joined the channel [06:02] pisci has joined the channel [06:07] cjm has joined the channel [06:08] Coal has joined the channel [06:10] benburkert has joined the channel [06:14] dgathright has joined the channel [06:14] luke` has joined the channel [06:16] lukegalea_ has joined the channel [06:20] hunterloftis has joined the channel [06:24] matyr has joined the channel [06:28] sonnym has joined the channel [06:29] slpsys has joined the channel [06:29] lukegalea_ has joined the channel [06:29] warz has joined the channel [06:30] Benvie has joined the channel [06:34] robotarmy has joined the channel [06:36] wao has joined the channel [06:36] jpstrikesback: what would I use with express to route things like /4thgirgjf (to parse an _id straight off the site root) i.e. app.get('/:id' [06:38] liar has joined the channel [06:39] lukegalea_ has joined the channel [06:41] Solsys has joined the channel [06:44] Ond: One way to do it is to pass a separate function as the second parameter to get() [06:44] Ond: Which has the parameters req, res, next [06:45] Ond: Then you handle your business in that function and call next() [06:45] mayfield has joined the channel [06:46] wadey has joined the channel [06:46] nilcolor has joined the channel [06:46] mikeal has joined the channel [06:47] admc has joined the channel [06:47] Ond: Like, app.get('/:id', doStuff, function(req, res) { } ) [06:48] Ond: Signature of doStuff would look like: function doStuff(req, res, next) { } [06:48] Ond: (if I'm not mistaken, jpstrikesback) [06:48] mikeal: ryah: you around or are you in tahoe already :) [06:49] jpstrikesback: Ond: thanks, trying [06:49] jchris has joined the channel [06:49] arlolra has joined the channel [06:50] jpstrikesback: and next() passes flow back? [06:50] Ond: next() would continue along with whatever is defined in the third parameter to get() [06:51] jpstrikesback: or no, I would do that once doStuff was done [06:51] Ond: Right, once next() is called [06:51] Ond: This is all on the expressjs guide and in the express examples [06:52] jpstrikesback: which means I don't know where to look :P [06:52] jpstrikesback: (i have the guide tho) [06:52] lukegalea_ has joined the channel [06:52] Ond: http://expressjs.com/guide.html [06:52] Ond: https://github.com/visionmedia/express/tree/master/examples [06:53] jpstrikesback: Ond: thanks again [06:53] jpstrikesback: Ond++ [06:53] v8bot: jpstrikesback has given a beer to Ond. Ond now has 1 beers. [06:53] Ond: No problem [06:56] cjm has joined the channel [06:56] ryah: mikeal: im here [06:56] mikeal: pipe event [06:56] mikeal: please :) [06:56] mikeal: release is going out soon [06:56] mikeal: so this is my last chance to persuade you [06:57] mscdex: heh [06:57] ryah: mikeal: did you have a patch already? [06:57] mikeal: yup [06:57] ryah: i forget [06:57] mikeal: i sent it to the list [06:58] mikeal: i think i also have a branch [06:58] mikeal: https://github.com/mikeal/node/tree/pipeevent [06:59] mikeal: https://gist.github.com/809063 [06:59] iszak: MOAR [06:59] mikeal: there is the patch [07:02] benburkert has joined the channel [07:06] cjm has joined the channel [07:07] sveimac has joined the channel [07:07] CIA-79: node: 03Mikeal Rogers 07master * r634e723 10/ (3 files in 3 dirs): Add 'pipe' event - http://bit.ly/gUGkou [07:08] ryah: mikeal: thanks [07:10] mikeal: w00t! [07:11] mikeal: that just made request like 2x better :) [07:11] ryah: we'll see.. [07:12] ryah: i'm still unsure of it [07:12] skm has joined the channel [07:12] slickplaid: ahh can you remove it? already causing me issues [07:12] ryah: but it's so uninvasive [07:12] slickplaid: jk :D [07:13] lukegalea_ has joined the channel [07:16] matyr_ has joined the channel [07:17] ryah: ACTION goes through people's patches and fixes style [07:17] ryah: *sigh* [07:17] mikeal has joined the channel [07:18] ryah: listen, guys. there's a lot of things that are debatable about style. There are two hard rules though: [07:18] ryah: 1. 80 columns or less [07:18] ryah: 2. no end of line whitespace [07:19] matyr has joined the channel [07:20] mikeal: 80 columns is one of those rules that i totally agree with yet rarely worry about enforcing :) [07:21] russell_h: I'm rarely allowed to enforce that one [07:21] razvandimescu has joined the channel [07:23] SamuraiJack has joined the channel [07:23] matyr has joined the channel [07:24] creationix has joined the channel [07:24] admc has joined the channel [07:24] ryah: creationix: you should test creationix.com now with HEAD [07:25] ryah: and congradulations on your release [07:25] ryah: er - announced release [07:25] ryah: :) [07:26] creationix: ryah: thanks, today was a blast [07:26] creationix: testing now... [07:27] creationix: ryah, also, have you had time to look at my headers patch [07:27] ryah: im looking at it [07:27] creationix: cool [07:27] hobodave has joined the channel [07:29] mikedeboer has joined the channel [07:29] w0rse has joined the channel [07:34] creationix: ryah: seems to be working [07:34] creationix: tried from chrome on linux and safari on mac [07:34] creationix: both in california [07:34] ryah: good. [07:35] mikeal has joined the channel [07:36] astoon has joined the channel [07:36] ryah: socket.io is also working now [07:36] creationix: sweet [07:36] ryah: over tls [07:36] creationix: is there anything else you need for the headers patch [07:36] matyr_ has joined the channel [07:36] creationix: I made it very minimal [07:37] ryah: i made some changes, it could use some sockets and a review [07:37] ryah: want to take a look? [07:37] ryah: s/sockets/docs/ [07:37] ryah: ACTION tired [07:38] iszak: s/chair/bed/ [07:39] ryah: creationix: https://gist.github.com/820100 [07:39] shripadk has joined the channel [07:40] creationix: what did you change? [07:41] matyr has joined the channel [07:41] ryah: creationix: the test and style [07:42] andrewfff has joined the channel [07:44] creationix: ahh, FINE BY ME [07:44] creationix: err, capslock fail [07:45] creationix: (It's been a long day, too much excitement) [07:45] creationix: ryah: want me to write some docs then? [07:45] matyr has joined the channel [07:46] ryah: creationix: yes [07:46] creationix: sweet [07:46] creationix: do you want it all as one commit? [07:46] ryah: add it to that commit [07:46] ryah: yes [07:46] tilgovi has joined the channel [07:46] creationix: ok, I'll just mention the tests are by indexzero then [07:47] ryah: sure [07:49] lukegalea_ has joined the channel [07:49] herbySk has joined the channel [07:50] AAA_awright: Has anyone heard of any IRC client (Node.js in particular) with a web frontend? Meaning it stays attached when you close it. [07:51] bob_ has joined the channel [07:51] hwinkel has joined the channel [07:53] dgathright has joined the channel [07:54] chris6F has joined the channel [07:55] mdoan has joined the channel [07:55] derferman has joined the channel [07:57] pkrumins: JSBBQ!!! :D [07:57] SubStack: a js bbq that I can walk to horay! [07:58] ron_frown has left the channel [07:59] evl has joined the channel [08:00] chris6F has joined the channel [08:01] mikeal: haha [08:01] creationix: ACTION can't seem to do git tonight [08:02] creationix: I think I'm just going to clone fresh and manually apply the patch [08:02] creationix: it would be quicker [08:02] creationix: btw, webos is going to take over the world! [08:03] creationix: and those millions of installed instances will all be node powered [08:03] iszak: WebOS? [08:04] iszak: I don't see how. [08:04] SubStack: millions of... nodes... if you will [08:04] lukegalea_ has joined the channel [08:04] SubStack: all connected, as it were [08:05] creationix: iszak: all future hp devices (laptops, desktops, and printers) will come with it [08:05] SubStack: creationix: will it have an npm-powered app store? [08:05] creationix: as well as phones and tablets [08:05] SubStack: :o [08:05] iszak: will come with what? node.js? ro webos? [08:05] chris6F has joined the channel [08:05] foobarfighter: mikeal: hello ... its bob from work [08:05] ivanfi has joined the channel [08:06] mikeal: hiya [08:06] foobarfighter: mikeal: can you point me at some firstTick doco? [08:06] foobarfighter: im working on foounit [08:07] mikeal: process.nextTick(function () {…}) [08:07] foobarfighter: ah ok [08:08] Benvie: node.js is included with webos [08:09] foobarfighter: cool... ill look into this [08:09] foobarfighter: at the moment the building of tests could be massive [08:09] foobarfighter: which theres no need for [08:10] foobarfighter: we could start running tests while they are still being built up [08:10] MrTopf has joined the channel [08:10] Benvie: the concept of using the same great programming language to do stuff at all levels of at the application level is pretty awesome [08:11] Benvie: I hadn't realized it's being included in webos [08:13] ilpoldo has joined the channel [08:13] CrazyGoogle has joined the channel [08:15] aguynamedben has joined the channel [08:17] SubStack: mikeal: I could whip up a talk about binary parsing and packing for jsbbq probably [08:17] SubStack: I do a lot of that these days [08:17] muhqu has joined the channel [08:17] russell_h: ryah: https://gist.github.com/820125 <-- shows the 'drain' thing I mentioned earlier [08:18] russell_h: you have to make elipses-large.txt, its just like elipses.txt concatenated onto itself a half dozen or so times [08:19] keyvan has joined the channel [08:19] necromancer has joined the channel [08:21] foobarfighter: are there any special node variables that point at the current line of execution? [08:22] SubStack: foobarfighter: for error messages? [08:22] nook has joined the channel [08:22] kal-EL_ has joined the channel [08:22] lukegalea_ has joined the channel [08:24] foobarfighter: SubStack: im thinking more along the lines of perl __LINE__ [08:24] foobarfighter: i think ruby has it too [08:24] foobarfighter: and C [08:24] mhausenblas has joined the channel [08:24] AAA_awright: foobarfighter: No, the only reason _file_ and such works is because it's passed as part of the module function call [08:25] mhausenblas_ has joined the channel [08:25] AAA_awright: They aren't "magic" variables like __LINE__... Throwing exceptions still traces line numbers though [08:25] SubStack: hah check this out [08:25] russell_h: foobarfighter: what do you need it for? [08:25] russell_h: foobarfighter: you can get a stack trace from a thrown Error (or something like that) [08:25] SubStack: new Error('').stack.split('\n')[1].match(/:(\d+):\d+\)/)[1] [08:26] russell_h: heh [08:26] foobarfighter: russell_h: im building a BDD test framework [08:26] foobarfighter: i would like to be able to run a group of tests defined at a line number [08:27] k04n has joined the channel [08:27] necromancer: ooh [08:27] necromancer: that would be interesting [08:27] necromancer: and useful [08:27] foobarfighter: im thinking that if i could get the line number of each group then i could just recurse up the tree [08:28] AAA_awright: Only works in the REPL as `new Error('').stack.split('\n')[1].match(/:(\d+):(\d+)/)[1]` but yeah, that's a really dirty hack [08:28] foobarfighter: maybe a cheap but crappy way is to hack it [08:28] foobarfighter: ya [08:28] kerbles has joined the channel [08:28] AAA_awright: Write a function that examines where the function was called [08:28] nmtmason has joined the channel [08:28] foobarfighter: i could replace the the function that runs each test with a func that fails with a stack trace [08:29] SubStack: v8: new Error('').stack.split('\n')[1].match(/:(\d+):\d+\)$/)[1] [08:29] v8bot: SubStack: TypeError: Cannot call method 'match' of undefined [08:29] foobarfighter: then go over the tree again [08:29] SubStack: pesky thing [08:29] foobarfighter: when i know where everything is [08:29] creationix: ryah: it's been a while since I've worked with node docs, can I just modify the right markdown file, or do I need something more? [08:29] AAA_awright: v8: new Error('').stack.split('\n')[1].match(/:(\d+):\d+/)[1] [08:29] v8bot: AAA_awright: TypeError: Cannot call method 'match' of undefined [08:29] AAA_awright: uh [08:29] foobarfighter: thats cool... it means recursing twice, but shouldnt be too bad [08:30] foobarfighter: it would be nicer to have __LINE__ though [08:30] AAA_awright: foobarfighter: You're probably doing it wrong if you need to do it this way [08:30] AAA_awright: What are you trying to do again? [08:30] russell_h: v8: try { throw Error(); } catch (e) { e.stack.split('\n')[1].match(/:(\d+):\d+\)/)[1] } [08:30] v8bot: russell_h: TypeError: Cannot call method 'match' of undefined [08:30] SubStack: sounds like something I would try to do [08:30] foobarfighter: AAA_awright: im trying to get the line number of each test group that was defined [08:30] AAA_awright: v8: new Error('').stack.split('\n')[1] [08:30] v8bot: AAA_awright: undefined [08:30] AAA_awright: v8: new Error('').stack.split('\n') [08:30] v8bot: AAA_awright: at IOWatcher.callback (net:471:53) [08:31] ryah: creationix: that's it [08:31] v8bot: AAA_awright: at IOWatcher.callback (net:471:53) [08:31] creationix: have you guys seen the v8 stack trace api [08:31] v8bot: AAA_awright: at IOWatcher.callback (net:471:53) [08:31] creationix: ryah: cool, then I think I'm done [08:31] foobarfighter: AAA_awright: stack is probably better [08:31] v8bot: AAA_awright: at IOWatcher.callback (net:471:53) [08:31] AAA_awright: crap what did I just do [08:31] v8bot: AAA_awright: at IOWatcher.callback (net:471:53) [08:31] v8bot: AAA_awright: [Output truncated...] [08:31] foobarfighter: ya... thats way better [08:31] foobarfighter: that was crazy talk before [08:31] foobarfighter: that'd probably work [08:31] AAA_awright: foobarfighter: http://vowsjs.org/ [08:32] mikedeboer has joined the channel [08:32] foobarfighter: AAA_awright: i dont like vos [08:32] foobarfighter: vows [08:32] AAA_awright: What about it, hard to learn? It's by far the best testing system I've ever used [08:32] foobarfighter: is that what they do? [08:32] foobarfighter: the api is terrible [08:32] SubStack: there's expresso [08:32] SubStack: I use that one a lot [08:32] AAA_awright: What api? [08:33] russell_h: foobarfighter: there's some coverage tool around that takes your .js files and goes through them and inserts some line tracking code after every logical line or something [08:33] foobarfighter: their api for defining tests [08:33] AAA_awright: foobarfighter: You define an object containing your tests, export it with a single function [08:33] foobarfighter: russell_h: link? [08:33] lukegalea_ has joined the channel [08:33] foobarfighter: AAA_awright: last i checked it was some crazy json stuff [08:33] foobarfighter: im over that [08:33] MrTopf has joined the channel [08:33] foobarfighter: i work on dojo [08:33] foobarfighter: and doh does that [08:33] AAA_awright: Uh there's no JSON there, it's all full Javascript [08:33] russell_h: foobarfighter: https://github.com/visionmedia/node-jscoverage [08:33] foobarfighter: i can never remember that shit [08:34] AAA_awright: foobarfighter: It's {"Test name": function(){test function}} [08:34] russell_h: expresso uses that for coverage [08:34] AAA_awright: How else would you do it [08:34] foobarfighter: well i started writing foounit back before jasmine was around [08:35] foobarfighter: jasmine basically copied screw unit [08:35] [AD]Turbo has joined the channel [08:35] luke` has joined the channel [08:35] foobarfighter: but made it better [08:35] foobarfighter: thats what im making [08:35] foobarfighter: with a few tweaks [08:35] foobarfighter: jasmine beat me :) [08:35] foobarfighter: but thats ok [08:35] foobarfighter: i have a few ideas that arent part of jasmine [08:36] foobarfighter: its very similar to jasmine [08:36] creationix: ryah: https://gist.github.com/816004 [08:36] foobarfighter: and ill probably steal a few ideas for doh [08:36] foobarfighter: from* [08:38] foobarfighter: AAA_awright: i just dont like the syntax. its totally subjective [08:38] AAA_awright: creationix: Is there any .addHeader or similar, for Set-Cookie? [08:38] margle has joined the channel [08:38] AAA_awright: foobarfighter: What about it is subjective? O.o [08:38] creationix: it's cookie agnostic [08:38] creationix: no special APIs for cookies in core [08:38] foobarfighter: AAA_awright: my syntax is different [08:39] AAA_awright: creationix: I mean, if I called .setHeader twice what's the behavior? [08:39] creationix: it will replace the first one [08:39] creationix: but you can call it once with an array of values [08:39] creationix: and node will send a line for each [08:39] creationix: that functionality has been there for some time [08:39] AAA_awright: That's what I'm talking about, append headers instead of replacing [08:40] creationix: right, there is no "append" headers, but you can specify several to be sent [08:40] creationix: so a middleware would need to first pull the array of headers in the set cookie value and then push to that list [08:40] creationix: and since arrays are references, there is no need to even put it back [08:40] matyr_ has joined the channel [08:40] AAA_awright: foobarfighter: You haven't established why Vows is bad at all, have you tried it or anything? It works great once you figure out the whole async mindset [08:41] creationix: as long as everyone agrees to always use an array for set-cookie node will never have to know anything about it [08:41] AAA_awright: I can't imagine re-inventing the wheel [08:41] creationix: and it they don't agree on the convention, then you simply need to check the type when reading the existing set-cookie value [08:42] creationix: (actually, you always need to check the value since it will be undefined the first time, it's not good to call (undefined).push() ) [08:42] AAA_awright: creationix: My point is what about a function that does just that [08:42] creationix: ryah doesn't want it in core [08:42] creationix: I offered [08:43] AAA_awright: That's what I was getting at [08:43] AAA_awright: ...what, but there's the whole mutable headers thing, but not this? [08:43] AAA_awright: I would think the entire library is something that shouldn't go into core [08:44] creationix: it's a subject of much debate, luckily we have a bdfl [08:44] foobarfighter: AAA_awright: im not saying that vows is bad. im just saying that i have a different way that i like to do things. i also have some other ideas as to how stuff should work. i havent used vows, but ive checked it out and wrote it off because i didnt like the passing around of object literals [08:45] svenlito has joined the channel [08:45] mnot: creationix: hey, just catching up. what's your current proposal? [08:45] foobarfighter: AAA_awright: different strokes? :) [08:45] creationix: mnot: https://gist.github.com/816004 [08:45] russell_h: AAA_awright: headers are a pretty key part of http, cookies aren't even part of the http spec as far as I know [08:45] AAA_awright: ryah creationix: The rationalle is not everyone who wants to append headers will append to an existing value, especially considering you have to type-check the existing value. A native addHeader function would prevent people from overwriting headers when the intention is to append, and open setHeaders for when you do want to clear all of them [08:46] AAA_awright: russell_h: Yes, Cookies are in the HTTP spec [08:46] mnot: creationix: why put those on ServerResponse and not OutgoingMessage? [08:46] AAA_awright: Which one of the many was it [08:46] creationix: mnot: hmm, what's the difference? [08:46] ryah: mnot good catch [08:47] mnot: creationix: they aren't available on ClientRequest [08:47] creationix: oh, I hadn't thought of that [08:47] creationix: I've never needed such a feature for client requests [08:47] mnot: ACTION needs more screen real estate [08:47] janm has joined the channel [08:47] creationix: but I guess it's better to be consistent [08:47] ryah: creationix: also put indexzero's real name and email in there [08:48] creationix: oh, right [08:48] AAA_awright: russell_h: Yeah it's RFC 2965 formerly 2109 [08:48] Druid_ has joined the channel [08:48] peol has joined the channel [08:48] peol has joined the channel [08:48] mnot: nooooo [08:48] daglees has joined the channel [08:48] daglees has joined the channel [08:49] mnot: don't use RFC2965! [08:49] AAA_awright: WHat about it? [08:49] [AD]Turbo: yo [08:49] mnot: https://datatracker.ietf.org/doc/draft-ietf-httpstate-cookie/ [08:49] mnot: 2965 has no relation to reality. [08:50] CIA-79: node: 03Theo Schlossnagle 07master * r01a864a 10/ (19 files in 4 dirs): [08:50] CIA-79: node: TLS: CRL support [08:50] CIA-79: node: Needs more tests. - http://bit.ly/gJ7ZVq [08:50] russell_h: thats not part of the http spec itself though, thats just some RFC talking about a way to use it, no? [08:50] mnot: cookies have never been part of the http specification, but they're part of http [08:51] mnot: that draft will obsolete all previous definitions of the cookie. [08:51] AAA_awright: Why hasn't the IETF figured out how to use HTML yet [08:51] mnot: why hasn't IRC? [08:51] AAA_awright: These monospaced specs doesn't make anyone happy [08:51] mnot: ;) [08:51] AAA_awright: or has it [08:51] mnot: you can see the html; link at the top [08:52] mnot: bleh, you actually have to click html on *that* page to get to the non-monospaced [08:52] AAA_awright: That's not any better, it just sticks it all into a
!
[08:52] mnot: I'll see if I can get somebody to fix that, it's annoying
[08:52] mnot: click on html on that page
[08:52] AAA_awright: Leaves in the [Page ##] headers and everything
[08:53] mnot: he'll get there...
[08:53] AAA_awright: Does the plain text version have new page characters? The "HTML" version leaves those out I think
[08:53] mnot: plain text does, yes. html leaves them out, yes.
[08:53] mnot: you should be looking at http://tools.ietf.org/id/draft-ietf-httpstate-cookie-21.html
[08:55] creationix: hmmm, how does this work for client requests
[08:55] creationix: you don't call writeHead there do you?
[08:55] mnot: creationix: not sure, I haven't gone into the new code yet. 
[08:56] AAA_awright: mnot: Oh wow why isn't that the default
[08:56] mnot: creationix: it did in the old, iirc.
[08:56] mnot: AAA_awright: LOTS of history. It's a regular topic of wars in the IETF.
[08:56] aklt has joined the channel
[08:57] creationix: yeah, it bypasses all that
[08:57] AAA_awright: No one is sugguesting we remove the .txt how can that possibly be a flame war
[08:57] mnot: AAA_awright: yeah. Believe me, you're preaching to the choir. 
[08:57] creationix: so technically it doesn't matter if the functions are on ServerResponse or ClientRequest
[08:57] creationix: since ClientRequest calls _storeHeader in it's constructor
[08:58] creationix: ryah: do you want this extra API on client requests too?
[08:58] creationix: it can be done, but it's a little work, I don't think it's as needed there
[08:59] [AD]Turbo has joined the channel
[09:00] russell_h: creationix: it could be nice to have, for example I have a module that calls http.request() and sets some default headers
[09:00] russell_h: currently I have to pass in all the headers I want set when I call that
[09:01] ryah: creationix: i think you can just move them onto the outgoing message, or?
[09:01] russell_h: but if it could set some headers, then pass the request out so I could set more
[09:01] ryah: yes, i prefer to have them be symmetric
[09:01] creationix: ryah: ok
[09:01] creationix: well, as symmetric as possible
[09:02] mraleph has joined the channel
[09:04] ntelford has joined the channel
[09:04] adambeynon has joined the channel
[09:04] ryah: yes
[09:05] Jaye has joined the channel
[09:06] Cha_ has joined the channel
[09:06] Cha_: hi there
[09:07] dgathright has joined the channel
[09:09] creationix: hmm, seems the symmetric equivalent to statusCode is method and path
[09:09] aconran__ has joined the channel
[09:09] ROBOd has joined the channel
[09:10] svenlito_ has joined the channel
[09:11] Cha_: I have issues building node.js on Windows with Cygwin (I have no experience at all...), could somebody help me please ?
[09:12] iszak: Cha_, what version?
[09:12] Cha_: I downloaded node v0.2.6
[09:12] iszak: Cha_, okay right, and what is the error/issue?
[09:13] Cha_: I followed the tutorial on the wiki but I get errors when I type commands in the Cygwin shell
[09:15] Cha_: for instance with cd ~ I get "/hom/Kinect: No such file or directory" (Kinect is the name of my windows session, I work on it for my school...)
[09:16] mscdex: Cha_: all you should need to do is: ./configure && make && make install
[09:16] mscdex: for 0.2.6
[09:17] Cha_: I also get "No such file or directory" when typing ./configure
[09:17] Cha_: I don't understand what I did wrong
[09:18] lukegalea_ has joined the channel
[09:18] mscdex: you're in the directory that you unpacked the tarball to?
[09:18] void_ has joined the channel
[09:20] isaacs has joined the channel
[09:20] creationix: alright, now we're really working
[09:20] creationix: 11 tests failed and then in hung
[09:20] Cha_: the tarball ? I just lauched Cygwin shell
[09:21] mscdex: Cha_: you have to download the nodejs source tarball and unpack it
[09:21] mscdex: you said you already have 0.2.6 right?
[09:21] Cha_: yes
[09:21] mscdex: just untar it
[09:22] creationix: ryah, what does test-http-expect-continue do?
[09:22] creationix: I don't know that part of HTTP
[09:22] creationix: it's hanging with my changes
[09:23] ryah: mnot--^
[09:23] Cha_: I already unpacked it, do I need to place its directory somewhere ?
[09:24] rjrodger has joined the channel
[09:24] mscdex: Cha_: no, just change to that directory in your cygwin shell and execute: ./configure && make && make install
[09:24] Cha_: (thanks a lot for your help by the way)
[09:25] russell_h: creationix: the client can set an "expect: 100-continue" header on a request that is going to have a large body
[09:25] russell_h: then the server has to send back a 100-continue response code before the client sends the body
[09:25] creationix: ahh, so it needs to flush the headers right away in that case
[09:25] creationix: why is HTTP so darn complicated?
[09:26] russell_h: ACTION has been using all of the weirdest parts lately
[09:28] lukegalea_ has joined the channel
[09:28] matyr has joined the channel
[09:30] zentoooo has joined the channel
[09:33] ph^ has joined the channel
[09:33] wao has joined the channel
[09:34] creationix: russell_h: so is it safe to flush headers on any request that has an expect header in it?
[09:34] creationix: (flush before sending the body)
[09:36] mnot: back
[09:36] mnot: creationix: expect/continue allows a client to ask a server whether it'll accept a request with a body, based upon the request headers
[09:36] mnot: what's the clash?
[09:37] muhqu_ has joined the channel
[09:37] caolanm has joined the channel
[09:38] creationix: In order to implement implicit headers for ClientRequest, I need to not auto-set the headers in the constructor
[09:38] mraleph has joined the channel
[09:38] creationix: but for expect requests is it required
[09:38] creationix: just wondering if a simple if statement looking for expect headers is enough
[09:38] creationix: seems to pass the tests that way
[09:39] mnot: I can look at the code if you like
[09:39] TomY_ has joined the channel
[09:40] mnot: same gist?
[09:40] sveimac_ has joined the channel
[09:40] tilgovi has joined the channel
[09:41] lukegalea_ has joined the channel
[09:41] tilgovi has joined the channel
[09:43] q_no has joined the channel
[09:43] tilgovi has joined the channel
[09:44] herbySk has joined the channel
[09:44] romainhuet has joined the channel
[09:45] creationix: mnot: just a sec
[09:45] creationix: I got the expect thing sorted out, but now one of indexzero's new unit tests is failing
[09:48] pdelgallego has joined the channel
[09:49] creationix: oh, no, it's an old test
[09:49] creationix: http-server-multiheader
[09:49] creationix: I didn't know we supported that format still
[09:51] blaines has joined the channel
[09:52] MikeMakesIt: creationix: I'm having some trouble getting wheat up and running with the howtonode.org blog as a starting point
[09:52] wilmoore has joined the channel
[09:53] MikeMakesIt: I've got a description of the issue on your issue tracker - https://github.com/creationix/wheat/issues#issue/20
[09:53] MikeMakesIt: Am I doing something stupid?
[09:56] xla has joined the channel
[09:57] adambeynon has joined the channel
[09:59] lukegalea_ has joined the channel
[10:00] floby has joined the channel
[10:00] sriley has joined the channel
[10:01] jquerygeek has joined the channel
[10:01] jquerygeek: facing problem on install node via cygwin
[10:01] jquerygeek: can anybody help me plzz
[10:03] matyr_ has joined the channel
[10:03] creationix: MikeMakesIt: sorry, I can't help today, maybe tomorrow
[10:04] bzinger has joined the channel
[10:04] MikeMakesIt: No probs, I assumed you were busy
[10:06] Jonasbn_ has joined the channel
[10:06] creationix: MikeMakesIt: also sorry wheat is such a pain, it was never polished for other people to use
[10:07] creationix: more of a "use at your own risk" type thing
[10:07] FireFly|n900 has joined the channel
[10:07] FireyFly|n900 has joined the channel
[10:07] mscdex: jquerygeek: be specific
[10:08] MikeMakesIt: Nah thats cool, I just think its a really interesting way of building a blog. I'm not expecting a fully finished product with support
[10:08] jquerygeek: ok
[10:08] jquerygeek: i m 
[10:08] jquerygeek: getting this prob
[10:08] jquerygeek: task failed (err #2): {task: libv8.a SConstruct -> libv8.a}
[10:08] jquerygeek: when make is running
[10:09] andrewfff has joined the channel
[10:09] [AD]Turbo has joined the channel
[10:10] jquerygeek: mscdex: are you getting my problems ?
[10:11] mscdex: jquerygeek: please gist the whole output when you try to make
[10:11] jquerygeek: how can I do taht
[10:11] jquerygeek: ?
[10:11] jquerygeek: tht
[10:11] mscdex: jquerygeek: go to gist.github.com, copy and paste
[10:12] sveimac has joined the channel
[10:14] lukegalea_ has joined the channel
[10:15] dekz has joined the channel
[10:15] jquerygeek: https://gist.github.com/820242
[10:16] jquerygeek: mscdex : here is the errros
[10:16] mscdex: jquerygeek: what node version are you trying to compile?
[10:16] dekz: I'm using the crypto module in node (openssl), and it works when the data (simple js object) is hard coded, but when reading it from a file it seems to not want to work. The file was is parsed myself. Is this a file encoding problem or something different?
[10:17] jquerygeek: whiches version ?
[10:17] jquerygeek: node ?
[10:17] floby has joined the channel
[10:17] iszak: jquerygeek, yes
[10:17] iszak: node -v
[10:17] mscdex: jquerygeek: yeah
[10:17] iszak: oh wait, not installed, haha
[10:17] mscdex: iszak: :)
[10:17] mscdex: jquerygeek: which one did you download?
[10:17] jquerygeek: cloned from github
[10:17] d0k has joined the channel
[10:18] iszak: jquerygeek, that's probably it, try 0.2.x
[10:18] iszak: jquerygeek, what OS?
[10:18] jquerygeek: where I will get 0.2.x
[10:18] iszak: jquerygeek, nodejs.org/
[10:18] mscdex: hrmm i thought cygwin was fixed in head....
[10:18] jquerygeek: from node.js site ?
[10:18] mscdex: tonight
[10:18] iszak: mscdex, it was, BUT his might be old, is he on Windows?
[10:18] mscdex: i oughta try it
[10:18] mscdex: if he's on cygwin, yeah ;-)
[10:19] jquerygeek: si i have to remove cloned one 
[10:19] iszak: jquerygeek, when did you do the pull request?
[10:19] jquerygeek: and have to download manualyy from node.js site ?
[10:19] jquerygeek: yesterday
[10:19] iszak: jquerygeek, do another pull now
[10:19] iszak: it should work
[10:19] jquerygeek: i have cloned yesterday
[10:19] floby has left the channel
[10:19] jquerygeek: tryingg
[10:19] jquerygeek: ok
[10:19] iszak: okay, time for home, laterz
[10:20] mscdex: jquerygeek: there were patches just tonight that fixed cygwin on the master branch in the repo
[10:20] jquerygeek: do i need to setup cygwin again ?
[10:20] mscdex: no
[10:20] jquerygeek: on just need to pull node from github
[10:20] mscdex: just pull the newest copy from the repo
[10:20] mscdex: on github
[10:21] jquerygeek: can u tell me the remove command
[10:21] jquerygeek: i have remove older one first
[10:21] mscdex: jquerygeek: you don't even need git, just delete the folder
[10:21] zentoooo has joined the channel
[10:21] clarkfischer has joined the channel
[10:21] jquerygeek: ok
[10:21] jquerygeek: let me try
[10:22] mscdex: you can just download a tarball of the master branch on the github repo page
[10:22] creationix: mnot: https://gist.github.com/816004
[10:22] jetienne has joined the channel
[10:22] creationix: mnot: more to review, but more uniform API
[10:22] Fullmoon has joined the channel
[10:22] jquerygeek: git clone git://github.com/ry/node.git
[10:22] jquerygeek: iw ill do with this command
[10:22] mnot: ok, not sure if I'll get to it tonight, getting towards bedtime
[10:22] jquerygeek: reight?
[10:23] jquerygeek: mscdex : I will just run this command $git clone git://github.com/ry/node.git
[10:23] jquerygeek: right ?
[10:24] mscdex: that should do it too
[10:25] jquerygeek: doing... will let you know very soon if its working
[10:27] sveimac has joined the channel
[10:28] relix has joined the channel
[10:28] hellp has joined the channel
[10:31] herbySk has joined the channel
[10:32] mscdex: anyone else having trouble downloading a tarball from the node github?
[10:32] mscdex: github repo
[10:33] mscdex: i keep getting 502 bad gateway :S
[10:33] lukegalea_ has joined the channel
[10:33] mscdex: woo there it finally goes
[10:33] mscdex: ACTION shakes a fist at nginx
[10:34] TomY has joined the channel
[10:34] zentoooo has joined the channel
[10:36] altamic has joined the channel
[10:36] dekz: Is anyone available to help with this possible encoding problem?
[10:37] mscdex: what encoding problem?
[10:38] dekz: I'm using the crypto module, it works if the data is hard coded, in the form { salt: 'salthere', message: 'message' }, but when I created a separate file and wrote it in plaintext, and parsed it it fails
[10:38] dekz: keys are the same so i thought it might be an encoding problem
[10:38] dekz: reading everything in as utf8
[10:38] mscdex: dekz: mind gisting your code?
[10:39] dekz: sure
[10:39] dekz: https://gist.github.com/49ff680b08c98a174883
[10:40] markwubben has joined the channel
[10:40] MrTopf has joined the channel
[10:41] mscdex: maybe i'm not familiar with coffeescript, but why do you have this on line 51?: encoding='utf8'
[10:41] mscdex: shouldn't it just be: 'utf8'
[10:41] mAritz has joined the channel
[10:42] mscdex: although i guess that wouldn't matter, it would just be creating a global and still using that value
[10:42] dekz: changed, still doesn't seem to effect anything
[10:42] cjeske has joined the channel
[10:43] dekz: i tried wrapping it in new String to see if that would solve any issues with encoding, but it also didn't
[10:44] dekz: that second decrypt routing inside the encryptMessage function is just to test it before any stuff gets passed around, but it still fails.
[10:45] lukegalea_ has joined the channel
[10:46] dekz: I think it comes down to some sort of encoding problem, but I have no idea why it's affecting it the way it is
[10:47] ukev has joined the channel
[10:47] dekz: if you pop in a message.data = 'test' it works (just before the encryption then decryption test inside the encryptMessage, but it doesn't work if it's read in it seems
[10:48] CIA-79: node: 03Tim Caswell 07master * rb09c588 10/ (3 files in 3 dirs): 
[10:48] CIA-79: node: Add support for mutable/implicit headers for http.
[10:48] CIA-79: node: This works for both ServerResponse and ClientRequest.
[10:48] CIA-79: node: Adds three new methods as a couple properties to to OutgoingMessage objects.
[10:48] CIA-79: node: Tests by Charlie Robbins.
[10:48] CIA-79: node: Change-Id: Ib6f3829798e8f11dd2b6136e61df254f1564807e - http://bit.ly/f6BvFj
[10:48] CIA-79: node: 03Ryan Dahl 07master * reb155ea 10/ (7 files in 3 dirs): Bump version to v0.4.0 - http://bit.ly/gV80kV
[10:49] dekz: really bugging me
[10:50] dekz: they are both types of string
[10:50] creationix: woot!
[10:52] evl has joined the channel
[10:53] sholmes has joined the channel
[10:53] ryah: ACTION goes to sleep
[10:53] clarkfischer: hell yeah
[10:54] ryah: i won't be back until monday. i hope nothing blows up.
[10:54] sholmes: I'ma blow it all up!
[10:54] dekz: but it works if I write the file out in node and then read that back in, so it has to be an encoding problem
[10:54] sholmes: bring this motha down!
[10:54] evl has joined the channel
[10:55] mscdex: dekz: i dunno, it works for me...
[10:55] mscdex: dekz: i wrote a text file outside of node and read it in and did the same encryption
[10:55] creationix: ryah: have fun, thanks for getting it out
[10:56] dekz: what encoding mscdex, maybe vim screwed something up, because if i create the file with utf8/ascii then read it back in it works
[10:57] mscdex: dekz: i dunno, i used nano fwiw
[10:57] creationix has left the channel
[10:57] clarkfischer: whoa
[10:57] clarkfischer: 0.4.0 went straight to stable
[10:57] mscdex: yeah, why wouldn't it?
[10:57] mscdex: it's an even numbered release :)
[10:58] dekz: mscdex: what node version
[10:58] lukegalea_ has joined the channel
[10:58] mscdex: dekz: 0.2.6
[11:01] dekz: let me see if 0.4.0 makes any difference
[11:01] mscdex: hrmm, it fails on the master version that i pulled right before the 0.4.0 tag
[11:02] mscdex: not good
[11:02] mscdex: heh
[11:02] tc77 has joined the channel
[11:03] mscdex: hrmm
[11:03] mscdex: oh wait, nevermind
[11:03] mscdex: it works on 0.4.0 too
[11:04] mnot: yay 0.4.0
[11:05] herbySk has joined the channel
[11:06] mscdex: dekz: fwiw, here's the code i used (using yours as a template): https://gist.github.com/96d4dfacacf834569834
[11:06] dekz: yes, it now works in 0.4.0
[11:07] fly-away has joined the channel
[11:07] mscdex: maybe a 0.3.x thing then
[11:07] dekz: wait
[11:07] zomgbie has joined the channel
[11:07] dekz: did you try it with a message read in which contains a space?
[11:07] dekz: that might be the problem
[11:08] Coal has joined the channel
[11:08] dekz: hmm maybe not
[11:08] mscdex: no, but it shouldn't make a difference
[11:10] boaz has joined the channel
[11:10] dekz: mscdex: how large was the 'data' you were trying?
[11:10] mscdex: "asdf\n"
[11:11] dekz: try it with a longer sentence with many spaces
[11:12] dekz: not spaces, just length
[11:12] dekz: message='testtesttesttesttest\n'
[11:12] dekz: fails for me, but anything shorter seems to work
[11:14] dekz: still work and I'm going crazy?
[11:14] jquerygeek: mscdex: still the same prob
[11:15] mscdex: jquerygeek: i just compiled it on cygwin without any problems. i'm not sure what to tell you, i don't use cygwin a whole lot
[11:15] jquerygeek: mscdex: https://gist.github.com/820242
[11:16] jquerygeek: see the errors, this time its was working for long timee with make command
[11:16] mscdex: jquerygeek: what version of gcc do you have?: gcc -v
[11:16] jquerygeek: 3.4.4
[11:16] dekz: Still not sure if this is a bug in crypto module or my code ><
[11:17] mscdex: jquerygeek: i'd use the gcc4 cygwin package instead
[11:17] mscdex: dekz: i dunno, i can reproduce it on 0.2.6 now though
[11:17] dekz: oh you can?
[11:18] pavelz has joined the channel
[11:18] jquerygeek: where can I get gcc4 version
[11:18] jquerygeek: ?
[11:19] sth: the internet?
[11:19] jquerygeek: do I need to setup cygwin again
[11:19] jquerygeek: ?
[11:19] mscdex: jquerygeek: re-run your setup.exe
[11:19] mscdex: then uncheck the existing gcc package and select the gcc4 package
[11:19] jquerygeek: do I need to download cygwin again
[11:19] mscdex: not if you still have setup.exe ;-)
[11:19] mscdex: or you can redownload setup.exe
[11:19] mscdex: it'll install the new package in place
[11:20] jquerygeek: I am asking about cygwin filess
[11:20] jquerygeek: I had downloaded them once, and doing setup
[11:21] jquerygeek: so do I need to re doanload the files and do setup ?? or just resetup ?
[11:21] dekz: mscdex: seems to stop after 16 chars
[11:21] [AD]Turbo has joined the channel
[11:22] mscdex: jquerygeek: just run setup.exe and click Next until you get to the package list, uncheck the gcc package so it will uninstall it, and then select the gcc4 package so that it gets installed
[11:23] lukegalea_ has joined the channel
[11:25] FireFly|n900 has joined the channel
[11:25] FireyFly|n900 has joined the channel
[11:26] dekz: mscdex: https://gist.github.com/820349
[11:26] versicolor has joined the channel
[11:27] FireFly has joined the channel
[11:29] SvenDowideit has joined the channel
[11:30] SvenDowideit has joined the channel
[11:32] kubrow has joined the channel
[11:33] lukegalea_ has joined the channel
[11:38] floby has joined the channel
[11:38] vilhonen: directory traversal bug in connect: https://github.com/senchalabs/connect/issues/#issue/198
[11:39] mscdex: dekz: looks like it's base64-related possibly
[11:39] mscdex: hex works fine
[11:39] mscdex: as does binary
[11:39] vilhonen: if you are using connect or other web framework built on top of it, you might have your filesystem exposed to the internet
[11:40] misterncw has joined the channel
[11:41] Jaye has joined the channel
[11:42] dekz: mscdex: gist of it working with hex? can't reproduce with input >=16
[11:43] fermion has joined the channel
[11:44] lukegalea_ has joined the channel
[11:44] jdalton has joined the channel
[11:44] mscdex: dekz: here's what i'm using: https://gist.github.com/96d4dfacacf834569834
[11:44] Fullmoon has joined the channel
[11:44] mscdex: if you switch out base64 for hex, it works
[11:45] mscdex: still looking into it
[11:50] kristsk has joined the channel
[11:52] stagas: yay 0.4.0 builds on cygwin
[11:55] xandrews has joined the channel
[11:56] khinester has joined the channel
[11:57] khinester: hello, i am trying to build node.js on freebsd 8.1, but get an Error expanding embedded variable. after i run $ make
[11:58] khinester: here is the $ ./configure output http://pastie.org/1548624
[12:00] lukegalea_ has joined the channel
[12:02] dekz: mscdex: confirmed 
[12:03] peol has joined the channel
[12:03] peol has joined the channel
[12:03] mape: Anyone had issues with installing npm lately?
[12:03] mscdex: khinester: you need gnu make
[12:03] mscdex: aka gmake
[12:03] squeek: mape: nope, what kind of issues?
[12:04] mape: squeek: https://gist.github.com/b0a70c2a77ee0815934a
[12:04] mape: using curl http://npmjs.org/install.sh | sh as well as git pull && make
[12:04] squeek: mape: you're on an ancient version of node.
[12:04] mape: have npm@0.2.12-1 installed on that box right now
[12:04] adambeynon has joined the channel
[12:04] squeek: what OS?
[12:05] mape: squeek: v0.4.0 is ancient?
[12:05] mape: debian
[12:05] squeek: oh, shit, looking at the wrong detail. my bad
[12:05] boaz has joined the channel
[12:05] squeek: HAHAHAHA DISREGARD THAT, I WRITE EVAL BLOCKS
[12:06] khinester: mscdex: thanks, but gmake is already on the system
[12:06] khinester: which gmake
[12:06] khinester: /usr/local/bin/gmake
[12:06] mscdex: khinester: and you're using gmake to compile node?
[12:06] khinester: ok sorry
[12:07] khinester: my bad
[12:10] khinester: the gmake went further, but i have this error now: http://pastie.org/1548648
[12:11] broofa has joined the channel
[12:11] lukegalea_ has joined the channel
[12:11] FND has joined the channel
[12:12] FND: hi - I just upgrade to v0.4, trying to migrate to the new HTTP client API - but http.get always throws Error: EINVAL, Invalid argument
[12:12] FND: (going with the example from https://github.com/ry/node/wiki/Migrating-from-v0.2-to-v0.3)
[12:13] altamic has joined the channel
[12:13] altamic has joined the channel
[12:13] aheckmann has joined the channel
[12:14] eee_c has joined the channel
[12:17] FND: the same minimal example works with https though
[12:17] Gruni has joined the channel
[12:17] RobertLJ has joined the channel
[12:18] astoon has joined the channel
[12:18] peol has joined the channel
[12:18] peol has joined the channel
[12:20] kubrow has joined the channel
[12:23] mayfield has joined the channel
[12:24] lukegalea_ has joined the channel
[12:25] muk_mb has joined the channel
[12:26] jdalton has left the channel
[12:26] mscdex: dekz: i can't figure it out so far, it looks like the base64 decoding in the decipher methods is borked
[12:26] mscdex: somehow
[12:27] ziro` has joined the channel
[12:27] fermion has joined the channel
[12:28] Kingdutch has joined the channel
[12:28] khinester has left the channel
[12:29] jetienne: 0.4 is the new stable, correct ?
[12:30] felixge has joined the channel
[12:30] felixge has joined the channel
[12:31] zomgbie has joined the channel
[12:31] Utkarsh has joined the channel
[12:31] mscdex: jetienne: yep
[12:31] jetienne: ok doing the .deb
[12:34] stagas_ has joined the channel
[12:35] Vertice has joined the channel
[12:38] jetienne: it is building, should be ready anytime soon
[12:38] muk_mb has joined the channel
[12:42] lukegalea_ has joined the channel
[12:43] charlenopires has joined the channel
[12:44] ivanfi has joined the channel
[12:46] CrazyGoogle: is .call(this) faster than .bin(this) for callbacks o_O ?
[12:46] CrazyGoogle: is .call(this) faster than .bind(this) for callbacks o_O ?
[12:47] jarlssen has joined the channel
[12:47] jetienne: sudo add-apt-repository ppa:jerome-etienne/neoip && sudo apt-get update && sudo apt-get install nodejs <- to install node.js 4.0 on ubuntu
[12:51] adulteratedjedi has joined the channel
[12:51] hellp has joined the channel
[12:52] jarlssen has left the channel
[12:52] floby has joined the channel
[12:53] lukegalea_ has joined the channel
[12:54] perlmonkey2 has joined the channel
[12:54] unomi has joined the channel
[12:54] Remoun has joined the channel
[12:55] floby has left the channel
[12:56] altamic has joined the channel
[12:56] altamic has joined the channel
[12:56] fairwinds has joined the channel
[12:57] herbySk has joined the channel
[12:57] garrensmith has joined the channel
[12:57] FND has left the channel
[12:58] garrensmith: morning all
[12:58] garrensmith: If I want to do a client request => http.request , I need to do a post with form data. How do I do the form data part?
[13:00] shiawuen has joined the channel
[13:02] adulteratedjedi: garrensmith: morning
[13:02] adulteratedjedi: check out formidable - https://github.com/felixge/node-formidable
[13:03] mayfield has joined the channel
[13:05] jmar777 has joined the channel
[13:05] hornairs has joined the channel
[13:05] garrensmith: adulteratedjedi: thanks, but I want to do the client side post and not the server side parse
[13:08] jano_ has joined the channel
[13:09] lukegalea_ has joined the channel
[13:10] syntheze has joined the channel
[13:12] brian_irish has joined the channel
[13:14] jano has joined the channel
[13:15] ianward has joined the channel
[13:18] jano_ has joined the channel
[13:20] lukegalea_ has joined the channel
[13:21] jpstrikesback has joined the channel
[13:22] Fullmoon has joined the channel
[13:22] bradleymeck1 has joined the channel
[13:23] mayfield has joined the channel
[13:24] dingomanatee has joined the channel
[13:26] stepheneb has joined the channel
[13:28] tobetchi has joined the channel
[13:29] vyvea has joined the channel
[13:30] altamic has joined the channel
[13:30] xandrews has joined the channel
[13:31] bshumate has joined the channel
[13:31] bshumate has joined the channel
[13:31] foobaz1 has joined the channel
[13:32] foobaz1: can you recommend a good pub/sub middleware for node.js?
[13:32] foobaz1: (or rather a module)
[13:32] piscisaureus has joined the channel
[13:33] bradleymeck1: faye has some backing for simple pub/sub
[13:34] mike5w3c has joined the channel
[13:35] foobaz1: bradleymeck1: thanks, do you have a link?
[13:35] lukegalea_ has joined the channel
[13:35] arpegius has joined the channel
[13:39] daglees has joined the channel
[13:41] fumanchu182 has joined the channel
[13:43] mayfield has joined the channel
[13:45] lukegalea_ has joined the channel
[13:46] juan77: hi, good morning... dumb question... is there a way to load all required files for example require('/lib/mysource/*'); instead of adding one by one?
[13:46] dberlinger has joined the channel
[13:47] stride: hey, nope
[13:48] juan77: hi, stride, thx, would be a great feature I thought....
[13:48] torvalamo has joined the channel
[13:49] adulteratedjedi: iterate over all files in a directory and require them programatically?
[13:50] juan77: hi adulteratedjedi , well is a solution... but I would prefer that this feature be built-in the core of node.... 
[13:53] cjm has joined the channel
[13:54] Vertice has joined the channel
[13:55] floby has joined the channel
[13:56] xandrews has joined the channel
[13:56] floby has left the channel
[13:57] TomY has joined the channel
[13:58] evl has joined the channel
[14:00] jlecker has joined the channel
[14:03] Jaye has joined the channel
[14:03] mayfield has joined the channel
[14:04] lukegalea_ has joined the channel
[14:08] Poetro has joined the channel
[14:09] BillyBreen has joined the channel
[14:12] FireFly: juan77, then it'd have to return an array or something, and it doesn't really make as much sense as setting them individually
[14:12] FireFly: since the way require works in CommonJS is to return the exported object, and not automagically bind it to a name based on the filename
[14:12] chrischris has joined the channel
[14:16] juan77: understand FireFly, but isn't a limitation from the point of CommonJS? I think that we need to find a way to do that for large projects, instead of adding one by one....
[14:17] FireFly: It's easy enough to implement it in some way similar to what adulteratedjedi suggested
[14:17] FireFly: At least I think it'
[14:17] FireFly: 's enough
[14:18] juan77: yes, isn't complicated... so I don't worry :P
[14:19] ukev has joined the channel
[14:19] vyvea has joined the channel
[14:19] MikhX has joined the channel
[14:23] mayfield has joined the channel
[14:23] razvandimescu has joined the channel
[14:25] davglass has joined the channel
[14:29] Aikar: juan77: ry doesnt want tiny things that can be implemented into userland easily to be included in coreland. doing fs.readdirSync('dir').forEach(file) { require('dir/' + file); });  accomplishes that easily
[14:30] davidsklar has joined the channel
[14:30] Aikar: and also the fact that its not part of CommonJS spec means it wont ever be implemented
[14:30] floby has joined the channel
[14:31] neshaug has joined the channel
[14:31] juan77: hi, Aikar , thx for you solution and sentence, I will think twice next time before asking.
[14:32] davidwalsh has joined the channel
[14:33] stephank has joined the channel
[14:34] ceej has joined the channel
[14:34] lukegalea_ has joined the channel
[14:36] luke` has joined the channel
[14:37] floby has left the channel
[14:37] ehynds has joined the channel
[14:38] jpstrikesback has joined the channel
[14:38] jpstrikesback has joined the channel
[14:38] ehynds: hi guys.  i'm running into a problem w/ express where only sometimes I'm unable to write/read back from the session.  i'll set req.session.user = some array, but when I read it back the value is undefined.  any ideas on where to start looking?
[14:39] jherdman has joined the channel
[14:42] sivy has joined the channel
[14:44] garrensmith: ehynds: have you defined to use sessions straight after define cookies in config?
[14:44] davidsklar has joined the channel
[14:45] ehynds: yeah
[14:45] lukegalea_ has joined the channel
[14:45] ehynds: i wonder if i have to touch/regenerate right off the bat to "create" a session?
[14:45] ehynds: rather than just write to it.
[14:46] dewey_ has joined the channel
[14:47] sonnym has joined the channel
[14:48] Vertice has joined the channel
[14:48] Vertice has joined the channel
[14:49] altamic has joined the channel
[14:49] altamic has joined the channel
[14:51] colinclark has joined the channel
[14:54] dewey_: guys got some trouble with installing npm
[14:55] dewey_: followed #2 @ https://gist.github.com/579814
[14:55] dewey_: could post it to the group/github but maybe there's someone here
[14:55] paulrobinson has joined the channel
[14:56] lukegalea_ has joined the channel
[14:58] bradleymeck has joined the channel
[14:59] Ari-Ugwu has joined the channel
[14:59] Druid_ has joined the channel
[15:00] herbySk has joined the channel
[15:00] mayfield has joined the channel
[15:02] ph^ has joined the channel
[15:03] jano has joined the channel
[15:03] Me1000 has joined the channel
[15:05] Kingdutch has joined the channel
[15:05] Twitter has joined the channel
[15:08] Kingdutch has joined the channel
[15:11] mjijackson has joined the channel
[15:12] altamic has joined the channel
[15:12] altamic has joined the channel
[15:12] jano has joined the channel
[15:13] hornairs has joined the channel
[15:16] janm has joined the channel
[15:16] lukegalea_ has joined the channel
[15:20] nonnikcam has joined the channel
[15:20] mayfield has joined the channel
[15:22] evl has joined the channel
[15:24] eee_c has joined the channel
[15:24] bradleymeck: mingw is getting close to usable these days?
[15:25] zachsmith has joined the channel
[15:26] dingomanatee has joined the channel
[15:26] eee_c1 has joined the channel
[15:27] lukegalea_ has joined the channel
[15:27] montylounge has joined the channel
[15:28] devrim has joined the channel
[15:31] misterncw has joined the channel
[15:32] yhahn has joined the channel
[15:33] davidascher has joined the channel
[15:36] slaskis: strange, 0.4.0 seems to break my express app
[15:36] nook has joined the channel
[15:36] slaskis: 0.3.8 works
[15:37] slaskis: i get an ERR_CONTENT_DECODING_FAILED error in chrome
[15:37] slaskis: while curling works
[15:38] Sebmaster has joined the channel
[15:38] slaskis: of course, it was the gzip 
[15:38] slaskis: reinstalling the compress module fixes it
[15:39] Sbioko has joined the channel
[15:39] Sbioko: hi all
[15:39] slaskis: didn't think it was necessary to recompile modules between 0.3.8 and 0.4.0 though
[15:39] slaskis: hi
[15:40] Sbioko: I have a problem with Node.js 0.3.8-pre and Formidable
[15:40] Sbioko: http://pastie.org/1549274
[15:40] altamic has joined the channel
[15:40] Sbioko: when I'm sending POST request to /users with data it says: "TypeError: Cannot read property 'content-length' of undefined"
[15:40] mayfield has joined the channel
[15:41] Sbioko: using Express
[15:41] sth: the object that contains the headers is missing
[15:41] Sbioko: OH
[15:41] Sbioko: exactly!
[15:41] Sbioko: sth: thanks a lot! :-D
[15:41] Sbioko: forgot about that
[15:42] Sbioko: do Mongoose, Formidable work on Node v0.4?
[15:42] Sbioko: should I update
[15:44] lukegalea_ has joined the channel
[15:44] warz has joined the channel
[15:46] marienz has joined the channel
[15:47] dmcquay has joined the channel
[15:47] elblobbo has joined the channel
[15:48] gmonnerat has joined the channel
[15:49] Sebmaster: Sbioko: If it works on 0.3.8 it should work on 0.4.0 too
[15:49] Sbioko: thanks Sebmaster
[15:51] eee_c has joined the channel
[15:52] FireFly|n900 has joined the channel
[15:53] slaskis: someone really should update the compress module on npm or all connect apps that upgrade to 0.4.0 and uses gzip will break
[15:54] softdrink has joined the channel
[15:54] lukegalea_ has joined the channel
[15:55] juan77 has left the channel
[15:55] juan77 has joined the channel
[15:56] davidc_ has joined the channel
[15:57] davidascher has joined the channel
[15:59] kiddphunk has joined the channel
[15:59] nejucomo has joined the channel
[15:59] davidsklar has joined the channel
[15:59] FireFly|n900 has joined the channel
[16:00] mayfield has joined the channel
[16:01] Aria has joined the channel
[16:02] EyePulp has joined the channel
[16:03] necromancer has joined the channel
[16:04] devdazed: is it possible to get the amount of memory a specific object is using?
[16:04] losing has joined the channel
[16:05] Me1000 has joined the channel
[16:05] blueadept has joined the channel
[16:06] mr_daniel has joined the channel
[16:06] Sbioko: Guys, please help me with Mongoose Validation!
[16:06] Sbioko: http://pastie.org/1549405
[16:06] Sbioko: I'm using this for checking if the email is valid and if there is user in database
[16:06] Sbioko: if there is user with such email already in database, it should return false
[16:06] Sbioko: but it passes validation anyway!
[16:07] Sbioko: and every time creates user with the same email
[16:07] Sbioko: please help!
[16:07] mjijackson has joined the channel
[16:07] jano has joined the channel
[16:07] Sbioko: I think this callback does not actually return true/false to the Mongoose
[16:07] Sbioko: Am I right?
[16:07] Sbioko: this async interfaces...
[16:08] jtsnow has joined the channel
[16:08] aheckmann has joined the channel
[16:09] stagas_ has joined the channel
[16:11] jpstrikesback has joined the channel
[16:11] lukegalea_ has joined the channel
[16:11] Sbioko: please!
[16:11] sudoer has joined the channel
[16:11] fatjonny has joined the channel
[16:12] squeek: Sbioko: I'd help, if I knew anything about it. So just hang around, chill out, google a bit more, test things out, and you'll find what you're after.
[16:12] pietern has joined the channel
[16:13] gzmask has joined the channel
[16:13] jonaslund has joined the channel
[16:13] pair has joined the channel
[16:14] dingomanatee: Sbioko - don't use mongoose - but I do use Christkov MongoDB native
[16:14] Sbioko: dingomanatee, I like its models
[16:14] shinmei has joined the channel
[16:15] stagas has joined the channel
[16:15] dingomanatee: Knock yourself out then - but since its not released you're not likely to get help from the general audience. tjholowaychuk (sp?) is on the LearnBoost team and he would be able to help you but I can't. 
[16:15] EyePulp: Sbioko: it looks like it's because it's an async call on the validation
[16:15] bwinton has joined the channel
[16:17] bronson has joined the channel
[16:17] EyePulp: I don't know if you can solve the issue *inside* the model.   It's an interesting problem.
[16:18] EyePulp: and dingomanatee - there's nothing wrong with using Mongoose - it uses the mongo-native driver too, so we get the best of both worlds.  
[16:18] EyePulp: bbia
[16:18] EyePulp: +s
[16:18] Sbioko: EyePulp: yes, I know that it is async call
[16:19] Sbioko: dingomanatee: it is released. 1.0
[16:19] Sbioko: EyePulp: so what should I do?
[16:19] Sbioko: I have one solution but it is not pretty
[16:20] Sbioko: the idea is to check for user existing in database before touching the UserModel
[16:20] aurynn has joined the channel
[16:20] Sbioko: and if it is not, do the UserModel saving process
[16:20] Sbioko: EyePulp: what do you think
[16:20] elblobbo has joined the channel
[16:25] mayfield has joined the channel
[16:25] lukegalea_ has joined the channel
[16:28] strmpnk has joined the channel
[16:28] blueadept has joined the channel
[16:28] Sbioko: problem solved
[16:29] nilcolor: Sbioko: how?
[16:29] mike5w3c has joined the channel
[16:30] Sbioko: nilcolor: by checking manually(without validation callbacks) if the user exists in database. If not, save the user
[16:30] luke` has joined the channel
[16:30] Sbioko: nilcolor: I pinned only email validation to the UserModel
[16:31] jakehow has joined the channel
[16:31] cjm has joined the channel
[16:31] nilcolor: Sbioko: ic... thanks )
[16:32] Sbioko: :-)
[16:33] MikhX has joined the channel
[16:33] brianm has joined the channel
[16:33] brianm has joined the channel
[16:34] EyePulp: Sbioko: I figured that would be the solution - I saw that there are pre - save things you can run - but I again I don't know if there's a mechanism for a callback based validation
[16:34] nilcolor: btw. is it possible to use Mangoose w/o Models? And does it worth it?
[16:34] Sbioko: EyePulp: no, pre and other such things are just hooks
[16:34] skyler_brungardt has joined the channel
[16:35] Sbioko: EyePulp: they do not have access to data
[16:35] Sbioko: nilcolor: no
[16:35] Sbioko: nilcolor: I recommend node-mongodb-native library
[16:35] EyePulp: nilcolor: There's not much point to Mongoose w/o models
[16:35] Sbioko: nilcolor: I did v1 of my app with it
[16:35] Sbioko: nilcolor: now making it prettier with Mongoose
[16:36] mattly has joined the channel
[16:36] brianm has joined the channel
[16:36] brianm has joined the channel
[16:36] EyePulp: Sbioko: did you start with Schemas, or were you using the earlier version before they added Schemas?
[16:36] gmonnerat has joined the channel
[16:36] Sbioko: EyePulp: I used another library called node-mongodb-native
[16:36] Sbioko: EyePulp: https://github.com/christkv/node-mongodb-native
[16:36] EyePulp: Sbioko: that's the core driver Mongoose uses
[16:36] Sbioko: EyePulp: I did models myself
[16:37] EyePulp: I see
[16:37] zomgbie has joined the channel
[16:37] EyePulp: So you switched to mongoose recently?
[16:37] tlrobinson_ has joined the channel
[16:37] nilcolor: ah... I use MongoBD Native driver right now. And think about using Mongoose. But I cant desribe models - I have docs that have 3 common field and x other fields. SO it can't be desribed via Models, i think.
[16:38] sprout has joined the channel
[16:38] aklt has joined the channel
[16:39] EyePulp: nilcolor: You can still have fields that are unknown structures.  Mongoose gives you a little more control
[16:39] EyePulp: or a little easier control.... in some cases.
[16:39] Sbioko: EyePulp: yes
[16:39] marcosvm has joined the channel
[16:39] brapse has joined the channel
[16:40] Sbioko: sorry for long replies, please write my nick when you want to contact me
[16:40] Sbioko: I'll answer instantly
[16:40] Sbioko: nilcolor: could you provide more info?
[16:40] doki_pen: https://github.com/embedly/embedly-node  - just released.  feedback welcome
[16:42] hornairs has joined the channel
[16:42] necromancer` has joined the channel
[16:42] nilcolor: Sbioko: this is logger app. It receives data from client applications (web) in JSON format and saves it. And logger app doesn't care about doc structure.
[16:42] tjholowaychuk has joined the channel
[16:43] Sbioko: nilcolor: I mean what fields do you need
[16:43] Sbioko: tjholowaychuk: hello, could you provide some help with Mongoose validations? It is not covered in docs.
[16:44] broofa has joined the channel
[16:44] necromancer` has joined the channel
[16:44] tjholowaychuk: Sbioko; cant right now sorry man
[16:44] adambeynon has joined the channel
[16:44] Sbioko: tjholowaychuk: ok, later :-)
[16:44] GasbaKid has joined the channel
[16:45] nilcolor: Sbioko: something like {type:'some-action', fired:'Thu Feb 10 2011 19:43:46 GMT+0300 (MSK)', takes:'0.7 sec'} etc. There is alot of types of logs.
[16:45] necromancer has left the channel
[16:45] necromancer` has joined the channel
[16:45] Sbioko: nilcolor: Mongoose can deal with it
[16:45] jpstrikesback has joined the channel
[16:45] Sbioko: nothing special here
[16:45] tjholowaychuk: oh cool native node_modules support now?
[16:45] tjholowaychuk: no more stupid global libs
[16:45] tjholowaychuk: yay
[16:45] Sbioko: tjholowaychuk: yes
[16:46] necromancer` has joined the channel
[16:48] ryanfitz has joined the channel
[16:48] trotter has joined the channel
[16:48] Sbioko: away
[16:49] nilcolor: Sbioko: So I have 2 required field I set serverside: _utime=(new Date()).getTime() and _from=(parsed_url_from_request).
[16:50] isaacs has joined the channel
[16:50] jdrannbauer has joined the channel
[16:50] necromancer has joined the channel
[16:51] Sbioko: nilcolor: http://pastie.org/1549565
[16:53] nilcolor: Sbioko: thanks. but how to save data i've got? If there is fields not described in Mongoose model?
[16:53] Sbioko: nilcolor: I think that will be ok, but try to avoid such structure
[16:54] Sbioko: use something like additional_data field
[16:54] felixge has joined the channel
[16:54] felixge has joined the channel
[16:54] felixge: isaacs: why did you sneak node_modules into 0.4?
[16:54] paulrobinson has left the channel
[16:54] isaacs: felixge: wasn't very sneaky, really
[16:55] tjholowaychuk: isaacs: I dig it
[16:55] tjholowaychuk: never was a fan of the global mods
[16:55] tjholowaychuk: but this is greate
[16:55] tjholowaychuk: great*
[16:55] felixge: isaacs: well, it seems we now have an even more complicated module system
[16:55] isaacs: felixge: this opens the road for npm to become awesome and windows-friendly asap
[16:55] isaacs: felixge: and it opens the door to yanking out require.paths
[16:56] isaacs: felixge: the code isn't actually all that different.  just the bit that calculates the paths to search.  rather than using Module._paths, it's Module._paths.concat(this.paths)
[16:56] isaacs: (where "this" is the module object)
[16:56] isaacs: and then each module.paths is an array of the node_module paths searched
[16:56] nilcolor: Sbioko: why? Main reason to choose Mongo was it scheme-less...
[16:56] isaacs: actually, your refactor made it pretty trivial to implement.  it was a lot harder writing that feature the last few times ;)
[16:57] felixge: isaacs: I'm not saying it's bad, I'm saying it's a very strange thing to add last minute before tagging 0.4
[16:57] isaacs: haha
[16:57] felixge: isaacs: would have been nice to see a discussion on it
[16:57] isaacs: yeah, it would have been nice if more of the discussion had happened on the ml
[16:57] Sebmaster has joined the channel
[16:58] felixge: oh well ... node_modules it is ...
[16:58] felixge: :)
[16:58] isaacs: it was a lot debate/discussion/fist-fights between ryah and me about how npm sucks, and how it should be
[16:58] Lorentz: Will there be no more people asking how to compile nodejs with cygwin now?
[16:58] isaacs: felixge: also, ryp works now :)
[16:58] felixge: isaacs: ryp?
[16:58] Sebmaster: lorentz: ye
[16:58] isaacs: felixge: https://github.com/isaacs/ryp
[17:00] felixge: isaacs: so that thing bundles modules?
[17:00] Sebmaster: isaacs: How far is node 0.5? :p
[17:00] isaacs: felixge: yeah, but stupidly
[17:00] wao has joined the channel
[17:00] isaacs: felixge: people asked for a less clever npm.  ryp is it :)
[17:00] isaacs: doesn't even have an awareness of versions.  just uses the latest of everythign
[17:00] ajnasz has joined the channel
[17:00] pauls has joined the channel
[17:01] isaacs: Sebmaster: not very
[17:02] isaacs: Sebmaster: few weeks,probably. it's gonna be like 0.3/0.2
[17:02] lukegalea_ has joined the channel
[17:02] Sebmaster: yay, even more bleeding edge node testing :D
[17:02] isaacs: Sebmaster: with unstable crazy experimental dev happening on 0.5 until it stabilizes and becomes 06/07  (or maybe 1.0/1.1, who knows)
[17:03] isaacs: for the most part, 0.3 can be thrown away, and becomes 0.4.  0.2 is deprecated, and will no longer be supported very much probably.
[17:03] isaacs: (unless someone really wants a patch back-ported for some great reason, or whatever, who knows.)
[17:03] Sebmaster: why does ryp need v0.5?
[17:04] isaacs: Sebmaster: it doesn't, it turns out
[17:04] isaacs: Sebmaster: but when i was writing it, ryah was saying that the node_modules/ thing would come in 0.5, not in 0.4
[17:04] Sebmaster: yeah, thought so
[17:05] isaacs: the thing is, the module change is actually a pretty low-risk change.  it doesn't break backwards compatibility, it's something that we'd tried before in 0.3, and having it in the stable branch means that we can have 0.5 be a bit closer to 0.4
[17:05] isaacs: but, in 0.5, wecan push it evn further.  remove the system path entirely, or change it around dramatically.
[17:05] tjholowaychuk: stills sucks because i cant go and use 0.4.0-only features for say connect unless i want to bump to 1.0 which it is not even near
[17:05] isaacs: personally, i would be happy to never see `require.paths.unshift('./lib')` again
[17:06] mattly has joined the channel
[17:06] isaacs: tjholowaychuk: i'm going to use the 0.4 features in npm 0.4
[17:06] isaacs: or maybe 1.0
[17:06] isaacs: you know, 1.0 doesn't *have* to mean "stable"
[17:06] isaacs: in semver terms, connect has been at 1.0 for a while, so has npm.
[17:06] tjholowaychuk: its still dirty
[17:06] tjholowaychuk: haha
[17:06] briznad has joined the channel
[17:06] isaacs: 1.x means "if you change this, you now have to be responsbile"
[17:06] isaacs: we're both in that boat
[17:06] tjholowaychuk: 1.0 to me means "ok the api is not brutal, and the code is not a clusterfuck"
[17:06] nilcolor_ has joined the channel
[17:07] isaacs: have you read the code of many 1.0 programs?
[17:07] tjholowaychuk: haha
[17:07] brapse has joined the channel
[17:07] isaacs: it's just that in node-land, "0." is how you start version numbers.
[17:08] rahite has joined the channel
[17:08] Sebmaster: i guess you could just do a version.substring(2) on every node package
[17:09] isaacs: hehe
[17:09] tjholowaychuk: i only have one lib so far that is 0.4.0 only
[17:09] tjholowaychuk: it feels awesome
[17:09] tjholowaychuk: ditching 0.2.x
[17:09] tjholowaychuk: haha
[17:09] isaacs: tjholowaychuk: yeah, let's make a pact.  node-0.4 support ==> 1.0.0
[17:09] isaacs: i'm gonna do that in npm
[17:09] tjholowaychuk: fair enough
[17:10] isaacs: the api is not brutal.  the code is only a clusterfuck if you're jslint (oh!)
[17:10] Aikar: yeah im happy node modules made it in too
[17:10] piscisaureu_ has joined the channel
[17:10] Aikar: can reorganize my project folder to it now
[17:10] sprout has joined the channel
[17:10] Aikar: well i run unstable anyways so i could of done it even if it was .5 lol
[17:10] isaacs: Aikar: and with the package.json stuff, you know, you can basically just untar packages directly into ./node_modules/ and it'll Just Work most of the time
[17:10] Aikar: yep
[17:10] isaacs: (as long as you also get their deps/etc)
[17:11] tjholowaychuk: isaacs: just sucks because the current api is not something i want to commit to and i dont want to break out 2.0 right away either haha
[17:11] isaacs: tjholowaychuk: ha
[17:11] davidsklar1 has joined the channel
[17:11] Aikar: isaacs: except for stuff like express (poke poke tjholowaychuk) that expect it to have npm format links like rquire('connect/middleware/blah') those paths were defined in package.json and the shims is what express uses
[17:11] benburkert has joined the channel
[17:11] isaacs: tjholowaychuk: you should start a "major-only" versioning scheme.
[17:11] isaacs: tjholowaychuk: every release is N.0.0
[17:11] tjholowaychuk: haha
[17:12] isaacs: in a few weeks, it'll be express-29.0.0
[17:12] tjholowaychuk: Aikar: I dont use that anywhere anymore
[17:12] Aikar: oh? changed within last month?
[17:12] isaacs: tjholowaychuk: but then, people can depend on just { 
[17:12] tjholowaychuk: Aikar: there were just a few old ones in expres 1.x
[17:12] isaacs: { "express" : "22" }
[17:13] Aikar: tjholowaychuk: i know i was toying with the idea of extracting the raw package folders out of npm to get rid of the symlinks, and express blew up cause it expected the shims
[17:13] tjholowaychuk: versioning is lame, now i either have to get 2.0 our for 0.4.0 soon, or get 1.x compatible with 0.4.0 (probably doing this)
[17:13] tjholowaychuk: Aikar: hmm yeah it shouldnt, ive been using require('connect').session.MemoryStore etc for a long time
[17:13] hobodave has joined the channel
[17:13] hobodave has joined the channel
[17:13] Sebmaster: every package should use the same major version as node
[17:14] Sebmaster: so you can easily identify, if its compatible
[17:14] tjholowaychuk: Sebmaster: yeah drupal mods were like that, very explicit
[17:14] tjholowaychuk: and no one was like OMG ITS BROKEN, oh wait the readme says its not compatible
[17:14] Sebmaster: +1 for readmes
[17:15] Sebmaster: ive to admit, i never read them
[17:15] Sebmaster: except on github
[17:15] bwinton has joined the channel
[17:16] Aikar: tjholowaychuk: lemme go check my project and try to find version
[17:16] Aikar: tjholowaychuk: i installeld over npm like 3-4 weeks ago
[17:16] tjholowaychuk: Aikar: hmm. yeah some modules might still have a lingering namespaced require, not sure
[17:16] tjholowaychuk: thought i got them all
[17:17] Aikar: well like i said, this was 3-4 weeks ago so you may of fixed it by now lol
[17:17] TobiasFar has joined the channel
[17:17] charlenopires has joined the channel
[17:17] Aikar: tjholowaychuk: yeah my express folder has 1.0.1, you said your on 2.0.x now?
[17:18] Aikar: 1.0.7 looks to be latest on npm
[17:18] tjholowaychuk: Aikar: 1.0.6 i think is the latest
[17:18] tjholowaychuk: ah
[17:18] tjholowaychuk: k yeah that one
[17:18] tjholowaychuk: haha
[17:20] Aria: Sebmaster: How about an engine: node: "~0.4" ?
[17:20] Aikar: not 4? lol
[17:20] Aikar: sounds pretty 'not useful'
[17:20] mikeal has joined the channel
[17:20] altamic has joined the channel
[17:20] altamic has joined the channel
[17:20] Sebmaster: huh?
[17:21] Sebmaster: oh
[17:21] Aria: Instead of a major version matching node's.
[17:21] PortLinuxToNodeJ has joined the channel
[17:21] Sebmaster: yea
[17:21] PortLinuxToNodeJ: Hi.
[17:21] Aria: Especially since my code works on 0.2 and 0.4
[17:21] Sebmaster: push another update just to exclude 0.4
[17:21] PortLinuxToNodeJ: For a CS project, I'm porting the Linux 2.2 kernel to node.js
[17:21] jpstrikesback: rock on
[17:21] Sebmaster: i dont know about mine :/ i just marked it for >= 0.3.1
[17:22] PortLinuxToNodeJ: Right now, I am writing a C++ binding for node.js to handle interrupt binding
[17:22] Aikar: why wouldnt you use <3, a "not X" is invalidated pretty quickly
[17:22] PortLinuxToNodeJ: I have a basic question
[17:22] Sebmaster: yea, as you said not useful
[17:23] PortLinuxToNodeJ: Say you have: if (expression) { .. }; else if (expression) { ... } else { ... };
[17:23] mayfield has joined the channel
[17:23] PortLinuxToNodeJ: When does the last else execute?
[17:23] jetienne: PortLinuxToNodeJ: never
[17:24] PortLinuxToNodeJ: I need the last else to execute *only* if the first if is false and the second is false
[17:24] jpstrikesback: if - else if - else if?
[17:24] Sebmaster: PortLinuxToNodeJ: Why shouldn't it execute?
[17:25] GasbaKid has joined the channel
[17:25] isaacs: PortLinuxToNodeJ: you got some problematic ; chars in there
[17:25] isaacs: PortLinuxToNodeJ: should remove those.
[17:25] kristsk: why the ; after } ?
[17:25] tobetchi has joined the channel
[17:25] zylo has joined the channel
[17:26] jpstrikesback: good eye!
[17:26] isaacs: kristsk: those are called "sad stallmans"
[17:26] isaacs: };
[17:26] isaacs: (lazy eye, big mustache)
[17:26] Sebmaster: v8 doesn't care! :p
[17:26] Aikar: lol.
[17:26] isaacs: if () {}; else <-- this is a syntax error.
[17:27] isaacs: v8: if(true){}; else {}
[17:27] v8bot: isaacs: SyntaxError: Unexpected token else
[17:27] PortLinuxToNodeJ: Because I LOVE MY FUCKING SEMICOLONS YOU INSENSITIVE CLOD!
[17:27] Aikar: PortLinuxToNodeJ: im confused by your question. what you said is how the basic concept of if elseif else logic works. whats the problem ?
[17:27] PortLinuxToNodeJ: Aikar: I think I figured it out
[17:27] PortLinuxToNodeJ: Sorry, tired
[17:27] Sebmaster: oh... the else... hmm
[17:27] jpstrikesback: lol
[17:27] Aikar: try sleeping?
[17:27] isaacs: PortLinuxToNodeJ: but to stop being a pedantic dick and answer your question... it's just like elseif i php
[17:27] isaacs: *in php
[17:27] jpstrikesback: rflmao
[17:28] isaacs: PortLinuxToNodeJ: if (a) { ... } else if (b) {  ... } else { this executes if !a and !b }
[17:28] Virtuo has joined the channel
[17:28] Aikar: its just like else if in any real programming language* :P
[17:28] isaacs: basically, there's an "else" and it has one line, so doesn't need {}
[17:28] muk_mb has joined the channel
[17:28] isaacs: that one expression is the if
[17:28] isaacs: it's like if(a){ ... } else { if (b) {.. } else {} }
[17:28] isaacs: or elif in sh
[17:29] isaacs: or ElseIf in v8
[17:29] PortLinuxToNodeJ: isaacs: Thanks man :)
[17:29] isaacs: *vb
[17:29] lukegalea_ has joined the channel
[17:29] PortLinuxToNodeJ: btw, I would never code in PHP
[17:29] isaacs: np :)
[17:29] isaacs: hey, don't knock it till you've tried it
[17:29] Sebmaster: ^
[17:29] isaacs: of all the sh-style languages, it's pretty nice.
[17:29] Aikar: PHP is fine, it just has alot of quirks with the language itself. but as a web language, its solid.
[17:29] isaacs: Aikar: oh, no, it's terrible for the web.
[17:30] Aikar: why do you say that lol
[17:30] Sebmaster: bash is solid for the web i tell you
[17:30] Aikar: it could be
[17:30] isaacs: because it lacks everything that a web platform ought to have
[17:30] isaacs: and no, bash would be a terrlble way to write web pages.
[17:30] Aikar: anything echod is printed!
[17:31] Sebmaster: why would it?
[17:31] SubStack: I've seen it done!
[17:31] SubStack: actually tcsh, but same idea
[17:31] isaacs: php is a pretty ok template language, glued to a really great command-line-util thing
[17:31] Aikar: write enough shell scripts to provide useful functions for web stuff and you could load bash as a CGI script :P
[17:31] isaacs: for writing stuff to run in the shell, php is my favorite.
[17:31] isaacs: Aikar: actually, you could write a whole web server in bash.
[17:31] altamic_ has joined the channel
[17:31] altamic_ has joined the channel
[17:31] isaacs: Aikar: it can talk to sockets and stuff.
[17:31] Aikar: O.o 
[17:32] isaacs: it's been done
[17:32] Aikar: didnt know that lol
[17:32] SubStack: favorite!
[17:32] SubStack: you crazy isaacs!
[17:32] isaacs: then just pipe the response to it
[17:32] Sebmaster: no... just NO
[17:32] isaacs: http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=bash+web+server
[17:32] Sebmaster: why would someone do that? i was just making fun :(
[17:32] iFire has joined the channel
[17:32] Aikar: isaacs: heh, i guess i lack experience to know what you mean, as im a php and js dev, what is php missing for the web?
[17:33] Virtuo has joined the channel
[17:33] pauls: this oughta be good :P
[17:33] muk_mb has left the channel
[17:33] Aikar: or do you mean like MVC setup etc gotta be done in userland
[17:33] robotarmy has joined the channel
[17:34] jpstrikesback: nest up node.bash.org
[17:34] isaacs: Aikar: php performs like ass.
[17:34] Aikar: that is true
[17:34] jpstrikesback: *next
[17:34] muk_mb has joined the channel
[17:34] isaacs: Aikar: but it's great for getting new college grads up to speed quick and being productive.
[17:34] Aikar: i thought you meant more like what php provides for building sites
[17:34] isaacs: so it depends on your problem set
[17:34] kristsk: mvc is bad for web, mkay.
[17:34] isaacs: Aikar: at yahoo or facebook, it kinda makes sense.  they can leverage people more easily, and just throw servers at the problem
[17:35] beta_ has joined the channel
[17:35] isaacs: the problem with "throwing servers at the problem" is that it's bad for the environment, costs a lot of money, and creates a whole other problem of trying to figure out how to manage all these freakin servers.
[17:35] gerad: isaacs: funny that you cite php's performance as the first problem with it
[17:35] Sebmaster: if something crashes, just buy a new one
[17:35] Aikar: kristsk: yeah im not fully fond of it myself, but some of the underlying concepts yeah, trying to keep front facing html out of the main processing of the site, can still obtain same features w/o using a real mvc design
[17:36] isaacs: so, you get more sysadmins and ops and whatnot.  which is great, but they're not very effective, because they're just figuring out all these complicated wyas to work around the fact that their database and template language and server are all slow elephants.
[17:36] gerad: isaacs: coming from rails land... i'd love to have php's performance
[17:36] isaacs: gerad: haaha
[17:36] isaacs: gerad: rails has other problems.
[17:36] Aikar: isaacs: i fully agree with you, im a big performance nut too, which is why im building my project on node instead of php, just php is what ive done for the longest and do for a dayjob
[17:36] mayfield has joined the channel
[17:36] isaacs: Aikar: yeah, i was in php pretty full-time from 3.0 until 5.2
[17:37] Rod has joined the channel
[17:37] sprout has joined the channel
[17:37] Aikar: i started round 2003? when 4.0 was starting to become major
[17:37] isaacs: kewl
[17:37] isaacs: yeah, i guess 4.0 was out when i started with it, too
[17:37] isaacs: just not very popular, so you still had to write programs that worked on 3.
[17:37] Aikar: i wrote a prototype MMO game server in PHP last year >_> but closed that project and working with node now. http://mechwarz.com/serverload.png
[17:37] mape: isaacs: https://gist.github.com/b0a70c2a77ee0815934a seen that?
[17:38] MikhX has joined the channel
[17:38] Aikar: i got the performance to be decent minus mysql
[17:38] Aikar: but...
[17:38] mape: isaacs: same error on git pull && make as well as easy install with curl | rootme
[17:38] isaacs: mape: that's odd...
[17:38] Aikar: i did that by implementing an event loop around stream_select on all ope nstreams >_> lol
[17:38] mape: isaacs: debian, system already has an old version of npm
[17:39] isaacs: mape: can you do me a favor?  add `loglevel = verbose` to your .npmrc file, and then gist the longer awesomer output
[17:39] tykelewis has joined the channel
[17:39] isaacs: mape: oh, wait... you're being root, it might look in /root/.npmrc
[17:39] mape: isaacs: 1sec
[17:39] isaacs: mape: so you might need to add it there.
[17:39] Aikar: i like the subtle "It failed" at the bottom
[17:40] Sebmaster: lol
[17:40] isaacs: Aikar: :)
[17:40] Sebmaster: does npm print that?
[17:40] isaacs: Sebmaster: it's in the http://npmjs.org/install.sh script
[17:40] q_no has joined the channel
[17:41] Sebmaster: nice
[17:41] Aikar: isaacs: although php is not the fastest and still has alot of room for improve, i think alot of phps "overall slowness" boils down to mysql
[17:41] isaacs: Aikar: and apache.  and the vm
[17:41] Me1000 has joined the channel
[17:41] isaacs: i mean, the awesome thing about node is that we just dont' have to worry about making the vm fast.
[17:41] Aikar: yeah
[17:41] isaacs: there are danish geniuses employed by google doing that for us
[17:41] kristsk: yeah, leave the worries to google hh
[17:42] Sebmaster: having google as performance optimizer makes things easy
[17:42] hoodoos has joined the channel
[17:42] mape: isaacs: https://gist.github.com/ccf0fbda5b0a8f087544
[17:42] killfill: hey.. how do you guys install npm on windows?
[17:42] adambeynon has joined the channel
[17:42] isaacs: killfill: doesn't work atm.
[17:43] isaacs: killfill: (works on cygwin with 0.3.7, i think)
[17:43] killfill: ah.. just got node to compile on mingw.. :P
[17:43] hoodoos: hey guys, is there anyway to run chain of actions in Step? I mean i have an array of arguments and I need to run function(async) for each of them but with order they're in array..
[17:43] Aikar: in my game server though, I had it running 250 "players" (NPCS behaved EXACTLY like a player but with scripted control vs actual control from a client UI), you can see load in that. playermover.phps load was due to writing players position to MySQL every 50 ms for every player. so 250~ writes per 50 ms. so if i woulda dropped to say mongodb with fast writes, i think load would of been more than acceptable
[17:44] mape: isaacs: Might be a dumb question, but if shit hits the fan, and you want that paste to save the day, why not buffer the verbose output and output it on errors? If things are nice and dandy it doesn't need any showing, but probly easier to get good reports if that is what people see default?
[17:44] kristsk: hoodoos: Step.apply({}, arrayWithFunctions); worked for me.
[17:44] killfill: oh.. cygwin bash seems it can use node compiled with mingw just fine.. :P
[17:44] franck34: hiiii ii ii
[17:44] hunterloftis has joined the channel
[17:44] hoodoos: kristsk, and how should I gather their callbacks? :)
[17:44] isaacs: mape: tha'ts not a bad idea, really
[17:44] hunterloftis: So, trying to get hosting on no.de via joyent, can't figure out how this works... :/
[17:44] franck34: ACTION studying http-proxy
[17:44] Lorentz: Aikar: You didn't have any form of cacheing for saving positions and such?
[17:44] isaacs: mape: and it could just be silent most of the rest of the time.
[17:45] kristsk: aach, misunderstood hoodoos.
[17:45] isaacs: mape: but actually, it's pretty rare these days that --loglevel=info isn't enough to debug the problem
[17:45] Lorentz: Although player movements are important, surely they didn't need to be set to persistent storage into mysql every 50ms?
[17:45] hunterloftis: Sending the curl request to their 'coupon code' API returns errors: 'unauthorized'
[17:45] killfill: cool.
[17:45] Lorentz: Perhaps a simple memcached solution would've been better, rather than to port entirity of it to mongodb.
[17:45] kristsk: otoh you might want to look at my modifications to Step
[17:45] Aikar: Lorentz: it was seperated over multiple processes, and queries needed to join onto position table to say "was player in blast radius of explosion", so mysql needed to be updated. and in the case that EVERY player was moving constantly, then not much could be cached
[17:46] steffkes has joined the channel
[17:46] isaacs: hunterloftis: probably better results asking in #joyent
[17:46] hoodoos: kristsk, i guess it misses that kind of function execution
[17:46] hunterloftis: isaacs: thanks, will do
[17:46] amerine has joined the channel
[17:46] Lorentz: Aikar: Well, memcached is more of a server than "cache per process", so you can use it like a sort of temporary storage that everyone sees.
[17:46] hunterloftis: Aikar: I feel like MySQL might not be the best storage for that. Mongo or Redis?
[17:46] kristsk: i added this.loop(args, ...) to run same function multiple times
[17:47] hoodoos: kristsk, something called var chain = this.chain(); and then func(chain()); or someth
[17:47] piscisaureus: killfill: but if you use the mingw build from cygwin bash, you still can't use npm
[17:47] kristsk: "this" being Step's context
[17:47] noahcampbell has joined the channel
[17:47] piscisaureus: killfill: node 0.4 compiles on cygwin as well btw
[17:47] aro has joined the channel
[17:47] Aikar: hunterloftis: i said above i think it def woulda been better with mongo :P I didnt really know much about mongo at time of writing that
[17:48] isaacs: piscisaureus: awesome, thanks :)
[17:48] killfill: hm.. require('util') --> Cannot find module util
[17:48] isaacs: killfill: weird.  what version of node is that?
[17:48] zzak: ryah++
[17:48] v8bot:  zzak has given a beer to ryah. ryah now has 1 beers.
[17:48] piscisaureus: sounds like 0.2
[17:49] isaacs: yeah, or very early 0.3
[17:49] killfill: Aah damed.. its v0.3.0-pre.. i thought i has 4.. :P
[17:49] killfill: sorry.. :P
[17:49] Aikar: and Lorentz i needed to query on that data. i did stuff like "blast point is X,Y of 1 mile radius, so build a bounding box of X,Y with Z radius and return any player where X BETWEEN a AND b AND Y BETWEEN c AND d, to narrow down the 'hit check' to bare minimum 'possibles' (had to handle corner of square condition)
[17:49] mape: isaacs: hmm yeah, so any idea what is causing the issue?
[17:49] isaacs: Aikar: if oyu don't need data forever, redis is the best choice
[17:49] Lorentz: Aikar: I see, you needed more complex queries on it that is more natural for a DB.
[17:50] Lorentz: Redis might have been good then, yes.
[17:50] Aikar: redis can query? ah nice to know
[17:50] isaacs: mape: right.  ok.  so, let's try to figure out what's not there.
[17:50] isaacs: mape: ls -laF /usr/local/lib/node/.npm/npm
[17:50] Lorentz: A bit more sophisticated than straight up memcached.
[17:50] Aikar: well im intending to really move towards mongo, does redis still provide some huge benefits over mongo?
[17:50] isaacs: does that find anything?
[17:51] PortLinuxToNodeJ: :-(
[17:51] isaacs: mape: it seems like it's not creating the folder that it's trying to unpack into, but i'm looking at the code, and it does do that.
[17:51] mape: isaacs: https://gist.github.com/b8973eb98f0eaafa789c
[17:51] PortLinuxToNodeJ: Getting node.js working from protected mode right after the A20 line is *hard*
[17:51] isaacs: mape: what os is this again?
[17:51] mape: isaacs: debian
[17:51] Lorentz: Aikar: They're kinda different beasts.
[17:51] PortLinuxToNodeJ: I have to strip out all these system dependencies in v8
[17:52] mape: ie linux
[17:52] isaacs: aha, ok, lemme try there.
[17:52] pdelgallego has joined the channel
[17:52] PortLinuxToNodeJ: ACTION is writing an OS kernel in node.js
[17:52] pauls: Aikar: what kind of data are you working with? if you can give a few details
[17:52] Lorentz: I don't know if mongodb is the kind that stores on disk every transaction.
[17:52] Lorentz: If it even has transactions.
[17:52] franck34: does somebody already played with node http-proxy ?
[17:52] Sebmaster: isaacs: I installed npm 2 days ago on debian
[17:52] jano has joined the channel
[17:53] Sebmaster: isaacs: I had to use the lastest tag on github instead of master
[17:53] jpstrikesback: Lorentz: I believe by default it flushes every 60 sec
[17:53] isaacs: hmm...
[17:54] isaacs: oh, wtf, it works for me on my debian box.
[17:54] bwinton has joined the channel
[17:54] isaacs: mape: can you do `tar --version` please?
[17:54] rgk_ has joined the channel
[17:54] Lorentz: jpstrikesback: i assume it doesn't have transactions in traditional database sense then.
[17:54] isaacs: mape: i have tar (GNU tar) 1.22
[17:54] mape: isaacs: tar (GNU tar) 1.20
[17:55] jpstrikesback: Lorentz: and it doesn't support transactions per say but rather atomic updates
[17:55] isaacs: hm.  so that's not it
[17:55] eee_c has joined the channel
[17:55] Sebmaster: isaacs: hmm, i cant uninstall npm via npm uninstall npm
[17:55] isaacs: mape: ls -laF /usr/local/lib/node/.npm/npm/0.2.17
[17:56] isaacs: Sebmaster: why not?
[17:56] Lorentz: jpstrikesback: Would you say it'd be sane to store, say, order data that alters product quantity (which is time accurate, in some ways) in mongodb?
[17:56] mape: isaacs: https://gist.github.com/c9730b21035ccc2cd029
[17:56] Lorentz: In an online retail shop environment.
[17:56] isaacs: mape: nice.  ok.
[17:56] isaacs: mape: i mean, broken, but information.  that's good
[17:56] Sebmaster: isaacs: it cant find the package.json file for it
[17:56] mape: isaacs: hehe as long as it is for the greater good = <3
[17:57] arpegius has joined the channel
[17:57] Sebmaster: isaacs: But copying the info is kinda hard because ive just a terminal,, so no gui
[17:57] jetienne has joined the channel
[17:57] qFox has joined the channel
[17:57] siculars has joined the channel
[17:57] Coal has joined the channel
[17:57] isaacs: Sebmaster: so pipe to a file, and email it to yourself
[17:57] isaacs: or pipe it to a file that's web-accessible
[17:57] Lorentz: jpstrikesback: Without transactions, even if each query was atomic, it won't be guaranteed that a whole bunch of queries were atomic together.
[17:57] isaacs: or ssh in from a mac or linux box that does have a gui, and copy-paste with the mouse
[17:58] Aikar: Lorentz: it queues disk saves every 60s with optional flag to force a write to disk and wait to return till done for the 'important' writes
[17:58] jpstrikesback: Lorentz: here's that atomic link http://bit.ly/fqAvR…as far as order data I'd think it's up to if you actually require transactions, otehrwise you could make a document model to suit your needs and use upserts to accomplish the incrementing of stock  whatever
[17:58] mape: or pay a russian to root the box and mail it to you
[17:58] Sebmaster: isaacs: neither mail, nor http, nor ssh
[17:58] jpstrikesback: crap
[17:58] jpstrikesback: http://bit.ly/fqAvR
[17:58] Sebmaster: isaacs: guess ill use the cmd node^^
[17:58] PortLinuxToNodeJ: Can you guys tell me how to get node to run before the CPU enters protected mode?
[17:59] benburkert has joined the channel
[17:59] kristsk: o_O
[17:59] Aikar: pauls: was talking about a project i did last year (well prototype), where tracked x/y of players on a map, and you could fire at positions and did explosio nradius hit checks etc, but the new game im working on is going with a diff type of system where I wont be needing to do radius checks.
[17:59] jpstrikesback: Lorentz: the atomic operations can report success I believe
[17:59] mAritz has joined the channel
[17:59] mayfield has joined the channel
[17:59] PortLinuxToNodeJ: I am trying to use the BIOS to set the timer interrupt for node and it is triple faulting
[17:59] PortLinuxToNodeJ: Any ideas?
[17:59] jpstrikesback: although I'm only about a day ahead of you in experience :P so that's about all I can say :)
[18:00] kristsk: i dont even...
[18:00] PortLinuxToNodeJ: ACTION compiled node in gcc as a flat binary
[18:00] isaacs: mape: can you try this, please?  tar "-vzxpf" "/usr/local/lib/node/.npm/.cache/npm/0.2.17/package.tgz" "-C" "/usr/local/lib/node/.npm/npm/0.2.17"
[18:00] Aikar: i really dont understand why your trying to do this PortLinuxToNodeJ, what use does it provide, it doesnt make sense. an os kernel built on node which in itself uses os kernel features?
[18:01] Aikar: and node really is only a flat binary
[18:01] Lorentz: jpstrikesback: Yeah, seems to suggest it's impossible with multiple documents.
[18:01] PortLinuxToNodeJ: Aikar: COM formatted node
[18:01] Lorentz: Only isolated at best.
[18:01] mape: isaacs: -bash: /usr/local/lib/node/.npm/.cache/npm/0.2.17/package.tgz: Permission denied ....
[18:01] jpstrikesback: PortLinuxToNodeJ: are you trying to recreate Tron?
[18:01] mape: that seems odd, being root
[18:01] isaacs: mape: hm.  sudo !!
[18:01] isaacs: oh, you ran it as root, you say
[18:01] PortLinuxToNodeJ: jpstrikesback: I'm trying to impress Madonna.
[18:02] kristsk: M$ COM format has a size limit, 64k iirc, so no way node will fit 
[18:02] mape: isaacs: vps, root default account, should be no need for sudo
[18:02] kristsk: end even if it did, it makes 0 sense.
[18:02] isaacs: mape: ok
[18:02] isaacs: mape: interesting... so, the issue may be that the folder you're trying ot extract into is owned by "nobody"
[18:02] mape: but root should be able to hurt nobody
[18:02] isaacs: mape: try this:  sudo -u nobody tar "-vzxpf" "/usr/local/lib/node/.npm/.cache/npm/0.2.17/package.tgz" "-C" "/usr/local/lib/node/.npm/npm/0.2.17"
[18:02] Aikar: PortLinuxToNodeJ: you want to implement nodes features int othe linux kernel essentially, wouldnt it be easier to import node into the kernel instead of trying to rewrite the kernel inside of node?
[18:03] isaacs: mape: right, but... yeah.. i don't know.
[18:03] jpstrikesback: Lorentz: indeed, but you can potentially embed everything related in one document
[18:03] jpstrikesback: if that's an option for you
[18:03] jonaslund: PortLinuxToNodeJ: seriously.. have you used node or dabbled in kernels before ?
[18:03] Aikar: yeah mongo looks really sexy to me
[18:03] mape: isaacs: yeah that seems to expand things
[18:03] PortLinuxToNodeJ: jonaslund: I have written my own kernel in C before
[18:03] jonaslund: ok.. used node then ?
[18:03] isaacs: mape: hmm....
[18:03] WhenRaptors has left the channel
[18:03] Aikar: i dont get college kids. they spend their time writing stupid projects like what PortLinuxToNodeJ is saying, which provides no real world use. why not spend your time writing a useful FOSS library
[18:04] PortLinuxToNodeJ: jonaslund: No, but I have used v8 extensively and written a node C++ binding
[18:04] Lorentz: jpstrikesback: Not sure if it's an option yet. Probably can.
[18:04] mape: isaacs: but then yeah, apt-get install sudo seems strange when I'm root
[18:04] jonaslund: PortLinuxToNodeJ: have you done the RM/PM switch? memory paging? ring separation,etc ?
[18:04] PortLinuxToNodeJ: Aikar: What would be less stupid? And I'm in high school
[18:04] mape: more so using sudo
[18:04] PortLinuxToNodeJ: jonaslund: yup, ring separation, interrupt table, all of it
[18:04] jchris has joined the channel
[18:04] PortLinuxToNodeJ: ACTION is 15
[18:04] yozgrahame has joined the channel
[18:04] PortLinuxToNodeJ: I have the Intel 9386 system programmer's manual right here in front of me
[18:04] Aikar: PortLinuxToNodeJ: I dont know, something that can help people do something that people may want to use? lol
[18:05] PortLinuxToNodeJ: *i386
[18:05] isaacs: mape: there's some other way to impersonate a user, but i only konw the sudo way for the shell
[18:05] PortLinuxToNodeJ: Aikar: Your ideas are intruiguing and I wish to subscrbe to your newsletter.
[18:05] Aikar: noones goin to switch to a modified linux kernel implemented in node
[18:05] Gregor: Gee, I wrote an OS in JS once ..
[18:05] zachsmith: PortLinuxToNodeJ: what would this kernel DO exactly?
[18:05] jonaslund: PortLinuxToNodeJ: well if you want to do any such project you might focus on making a "kernel". just bind in V8 when you have flat memory and focus on getting the basic HW stuff up before thinking "node"
[18:05] jonaslund: PortLinuxToNodeJ: NodeJS itself is mostly stuff that uses an existing kernel
[18:05] pauls: jonaslund++
[18:05] PortLinuxToNodeJ: ok
[18:05] v8bot:  pauls has given a beer to jonaslund. jonaslund now has 1 beers.
[18:05] zachsmith: you want a better project, implement 0mq in the linux kernel, that would be useful
[18:06] jonaslund: you're doing things the wrong way.. kinda inside out :)
[18:06] PortLinuxToNodeJ: Thanks guysfor saving me from wasting my summer!
[18:06] mape: isaacs: Hmm k, just seems sudo should be able to do almost anything, except things like sneaking of screens I guess, but that yeah.. is an issue
[18:06] aguynamedben has joined the channel
[18:06] jpstrikesback: PortLinuxTONodeJ: All that said I think Madonna would definitely be impressed, and that might be reason enough to try
[18:06] PortLinuxToNodeJ: ACTION will write a Facebook killer instead
[18:06] Aikar: >_>
[18:06] PortLinuxToNodeJ: (Nodebook)
[18:06] PortLinuxToNodeJ: jpstrikesback:  true
[18:06] isaacs: mape: hm.... this definitely appears to be some kind of interesting and strange permission issue.
[18:06] Aikar: The only thing that can kill facebook is facebook itself
[18:06] devdazed: does anyone know if there is a node.js ring buffer implementation?
[18:07] isaacs: mape: but it seems like logging in as root might be the secret sauce.  lemme try that...
[18:07] Aikar: isaacs: sudo bash :P
[18:07] jonaslund: ACTION was also 15 once and did the same kinda stuff :)
[18:07] mape: isaacs: that is usually how I pick up women, strange permission issues
[18:07] Lorentz: Just "sudo -i"
[18:07] isaacs: mape: haah
[18:08] isaacs: mape: oh, i thought you meant "sudo bash"
[18:08] zachsmith: I don't think I was that smart when I was 15
[18:08] mape: isaacs: nah, I guess the age old finger etc etc jokes come in here
[18:08] Lorentz: I was 15 once and I was more into high voltage electronics than coding.
[18:08] Lorentz: But then again, kids.
[18:09] Aikar: sadly I only had windows 3.1 w/o internet until I was about 15 then I got 98Plus!
[18:09] gerad: mape: sudo make me a sandwich
[18:09] Aikar: so I didnt start programming till 16-17~
[18:09] [[zzz]] has joined the channel
[18:09] JojoBoss has joined the channel
[18:09] mape: touch gerad && finger gerad 
[18:09] jonaslund: ACTION got his c64 when he was in 3rd or 4th grade.. started programming maybe a year later
[18:09] jpstrikesback: *I made a arm-strapped rocket launcher when I was 15*
[18:09] paulrobinson has joined the channel
[18:09] mape: gerad: how are things? are handy dandy?
[18:10] jonaslund: jpstrikesback: lucky that you still got your arms? :)
[18:10] EyePulp: ACTION detassled corn for 2 summers to buy an amiga500
[18:10] Lorentz: jonaslund: If you use existing rocket kits, it shouldn't fail.
[18:10] jpstrikesback: jonaslund: indeed! much of the hair had to grow back tho
[18:10] gerad: mape: going well, we're ramping down on a big consulting project, so finally starting to have time for ourselves again
[18:10] PortLinuxToNodeJ: Would Madonna date me even though I'm 15 if I manage to pwn Zuckerberg with a node.js-based Facebook that use uber leet C++ bindings?
[18:10] Lorentz: I would have made something same, except budget limits.
[18:10] Aikar: >_> you're starting to come off as a troll PortLinuxToNodeJ 
[18:10] gerad: mape: which means i get to hang out in #node.js :-)
[18:10] jpstrikesback: PortLinuxToNodeJ: Yes, no question
[18:10] mape: gerad: Be careful! Those times usually turn into "time for more work" times
[18:10] EyePulp: PortLinuxToNodeJ: Date? no.  Adopt?  possibly.  Are you from a 3rd world country?
[18:11] PortLinuxToNodeJ: Aikar: sorry, I'm hyper after two copies
[18:11] PortLinuxToNodeJ: Actually, I am from a developing country called Michigan :)
[18:11] Aikar: it's called Coffee not copie :P
[18:11] jpstrikesback: lol
[18:11] zachsmith: are we talking about madonna the singer?
[18:11] gerad: mape: well... work on our own projects
[18:11] jonaslund: PortLinuxToNodeJ: using a modem ?
[18:11] PortLinuxToNodeJ: ya
[18:11] jpstrikesback: that's Michican!
[18:11] zachsmith: lol
[18:11] mape: gerad: Anything to leak or super stealth? :)
[18:12] mape: (hoping it isn't a hosting company)
[18:12] gerad: mape: hahaha, we wouldn't know how to do stealth if it bit us in the ass
[18:12] kris__ has joined the channel
[18:12] eresair has joined the channel
[18:12] Sebmaster: isaacs: https://gist.github.com/821005
[18:12] mape: gerad: hehe
[18:12] Sebmaster: puh that was hard
[18:12] isaacs: Sebmaster: that's the same issue mape's having
[18:12] Lorentz: People can't compile node on debian?
[18:12] isaacs: ok, so, let's back up and try this again...
[18:12] gerad: mape: Node KO 2011, and http://monitaur.net
[18:12] mape: Sebmaster: Hey! I'm trying to help, cool down :P
[18:12] isaacs: Lorentz: no, npm
[18:13] Sebmaster: but it occurs when im uninstalling
[18:13] Lorentz: I'm on debian, npm works fine
[18:13] Sebmaster: i could install it
[18:13] isaacs: Sebmaster: yeah
[18:13] mape: gerad: ah yeah heard of node knockout, seems decent :P
[18:13] Lorentz: Maybe on a clean install it breaks? :|
[18:13] isaacs: Sebmaster: rm -r /usr/local/lib/node/.npm/npm/0.3.0
[18:13] Aikar: any debian or raw debian, i can try on ubuntu 10.10
[18:13] gerad: mape: lol, you should compete or something
[18:14] jonaslund: hahahha
[18:14] jonaslund: i was wondering why my computer was making sounds
[18:14] jonaslund: turns out my gf was watching some kind of gameshow
[18:14] mape: gerad: Hehe, moni** seems neat, imo needs more hook
[18:14] isaacs: ok, i'm rm-rf'ing /usr/local/lib/node
[18:14] isaacs: start over as fresh as can be
[18:14] jpstrikesback: gerad: monitaur is rather sick!
[18:14] Aikar: Lorentz: sudo -i isnt loading .bashrc :P sudo bash does lol
[18:15] Sebmaster: yea, now it worked
[18:15] gerad: jpstrikesback: thanks!
[18:15] Sebmaster: guess ill reinstall npm now^^
[18:15] Aikar: isaacs: installed fine on ubuntu 10.10
[18:15] halfhalo: gerad: yeah, it looks cool.  is it oss?
[18:15] gerad: jpstrikesback: we've been using it ourselves for a couple months now (it's been useful for a while), it's starting to get there... let us know if you have any feedback
[18:15] isaacs: gah.   still works fine.
[18:16] mape: gerad: what makes it better then monit?
[18:16] mape: other then being 4min 50sec faster
[18:16] jpstrikesback: gerad: will do, I better go grab another twitter account
[18:16] Sebmaster: isaacs: yea, now im getting the sam error while installing as mape i guess
[18:16] isaacs: GAH!! this still works.
[18:16] Aikar: whys it gotta always be iphone pics, put some HTC EVO pics of monitor app while on kickstand gerad !
[18:16] mape: gerad: sorry, munin
[18:16] gerad: halfhalo: we're still trying to figure OSS out.. probably large parts of it will be
[18:16] isaacs: completely fresh install
[18:17] isaacs: removed everything
[18:17] dgathright has joined the channel
[18:17] isaacs: sudo bash, unset all the SUDO* environs
[18:17] mape: isaacs: has something to do with earlier installs?
[18:17] gerad: mape: it's a bit more like nagios than monit, it's not going to restart things, but will give you an idea of why they broke, and will twitter DM you before they do
[18:17] isaacs: mape: i dunno
[18:17] EricL has joined the channel
[18:17] Lorentz: OK, just installed npm 0.3.0 on my machine
[18:17] PortLinuxToNodeJ: Argh, Frank Sinatra we know you wish you were born in New York :\
[18:17] isaacs: mape: you're root, i mean, it should just clobber everything
[18:17] Lorentz: Was on 0.2.17 before
[18:17] mape: isaacs: yeah
[18:17] gerad: mape: and it's 0 configuration with nothing to install, which is nice
[18:18] Lorentz: Works fine :3c
[18:18] Aikar: gerad: hows it handle mongodb sharded clusters report?
[18:18] PortLinuxToNodeJ: Frank Sinatra is such a silly Jersey boy lol
[18:18] mape: gerad: I'm just getting munin with js graphs somewhat real time
[18:18] isaacs: mape: ok, i'm gonna add a ridiculous amount of logging around this and comb through that area of code today.  at the very least, i should have a drop for you that will spit out more info.
[18:18] mape: isaacs: poke me and I'll deliver info
[18:18] gerad: mape: haven't really used munin..
[18:19] isaacs: kewl :)
[18:19] paulrobinson has left the channel
[18:19] visnup has joined the channel
[18:19] mape: gerad: graphs for most things you want to know, every 5min, lotsa plugins
[18:19] Sebmaster: isaacs: Okay, i removed node completly. Ill start over with a fresh terminal-debian install
[18:19] mjr_ has joined the channel
[18:19] martypdx has joined the channel
[18:19] visnup: mape: it's kinda not. it kinda is.
[18:20] mape: gerad: moving towards nagio but still not
[18:20] visnup: mape: the idea is less setup.
[18:20] mape: visnup: Don't tell, me, tell the world :D
[18:20] visnup: mape: waaay less setup.
[18:20] visnup: mape: yeah, we've been meaning to rev the intro pages to be more clear
[18:20] mape: visnup: Then don't make the graphs move, no time to read tiny text next to fancy graphics
[18:20] martypdx: newbie question: ihave node v0.2.4 running on cygwin, want to update node. do i treat that as separate install? or is there easier way?
[18:21] visnup: gerad: maybe a "how does this compare to X page?"
[18:21] Sbioko: tjholowaychuk: Need your help with Mongoose! It crashes!
[18:21] jlewis has joined the channel
[18:21] Sbioko: tjholowaychuk: it crashes when I try to save object with Array field
[18:21] gerad: visnup: oooh.. will add that to my notes for the marketing site
[18:21] Sbioko: guys please help!
[18:22] mape: ACTION saves Sbioko with a swooosh
[18:22] visnup: Aikar: what was the mongodb cluster question?
[18:22] Sbioko: var cast = this._schema.caster.prototype.cast
[18:22] Sbioko:                                 ^
[18:22] Sbioko: TypeError: Cannot read property 'prototype' of undefined
[18:22] Sbioko: Model with field of Array type
[18:22] Sbioko: why?
[18:22] mape: visnup: btw, the update rate, thought about faking it?
[18:23] noahcampbell has joined the channel
[18:23] Druide_ has joined the channel
[18:23] Sbioko: anyone?
[18:23] riven has joined the channel
[18:23] riven has joined the channel
[18:23] mape: Sbioko: I'm sure if anyone knew the answer they would help out :)
[18:24] visnup: mape: like interpolating to make it feel even faster?
[18:24] Sbioko: mape: any thoughts?
[18:24] gerad: mape: ooh.. that's sneaky
[18:24] mape: visnup: yeah, animations with scrollLeft or them fancy css animations
[18:24] visnup: mape: I've thought about animating the new point in with a slide
[18:24] mraleph has joined the channel
[18:24] mape: that is how I faked graphs on the ipad
[18:25] EricL: I am attempting to write a Flume plugin using Thrift and C++.  I keep getting undefined symbols: http://www.pastie.org/1549160  Is there something special I need to do in Node to have it load the thrift library?
[18:25] mape: crazy person tried to render at good fps with canvas, I used dom thingys. css animations is probly better if the browser deals with it
[18:25] visnup: mape: true, or delaying two points back so it continuously moves..  kinda like buffering video.
[18:25] mape: visnup: yeah, ignorance is bliss
[18:26] Sbioko: damn
[18:26] gerad: mape: i assume you mean http://mir.aculo.us/2010/06/04/making-an-ipad-html5-app-making-it-really-fast/
[18:26] JamesSun has joined the channel
[18:26] Sbioko: what if I will not define this field?
[18:26] gerad: s/you mean/ you've read/
[18:26] mape: gerad: read, didn't help
[18:26] tjholowaychuk: canvas shouldnt be so slow
[18:27] Hewlett has joined the channel
[18:27] gerad: mape: i figured :-)
[18:27] Hewlett: hey guys
[18:27] visnup: tjholowaychuk: agreed
[18:27] Hewlett: I need a really good node.js for handling POST data. Any ideas?
[18:27] gerad: tjholowaychuk: isn't it fast in IE
[18:27] gerad: tjholowaychuk: :-P
[18:27] mape: gerad: ended up using js timers to animate scrollLeft since jquery had to tight of an animation loop, the iPad went to hell, had decent enough performance for 3 graphs with fancy things (the iPad still is awful for them things)
[18:27] Sbioko: tjholowaychuk: please help! Node crashes when I try to save model with Array field type!
[18:28] mape: Think 20 fps was the lowest I could go
[18:28] tjholowaychuk: gerad: apparently haha
[18:28] tjholowaychuk: gerad: from what I saw wayyyy faster
[18:28] tjholowaychuk: like actually usable lol
[18:28] Sbioko: tjholowaychuk: ?
[18:28] mape: gerad: visnup but yeah, still, monitoring a server, no need for faster things then 30sec, and if you animate that and people feel like they are in control, it is all good 
[18:29] tjholowaychuk: although this is 2011, rendering 1000 fish shouldnt be some crazy deal
[18:29] gerad: mape: yeah, hopefully ipad 2 will have better hardware
[18:29] jpstrikesback: Hewlett: Try expressjs, makes working with POST simple-esq
[18:29] Hewlett: jpstrikesback: I can't use that
[18:29] Hewlett: I need just a module for handling POST data
[18:29] Aikar: visnup: i was asking about the monitaur, i saw it did mongodb reporting, but wanted to know how it handled reporting stats of an entire cluster
[18:29] jpstrikesback: ?
[18:29] tjholowaychuk: Hewlett: node-formidable
[18:29] mape: gerad: Dual core, but then, the webkit implementation still seems kinda weak sauce.. But then again having an extra monitor for fancy things is neat
[18:30] jpstrikesback: boom
[18:30] Sbioko: tjholowaychuk: var cast = this._schema.caster.prototype.cast
[18:30] Sbioko:                                 ^
[18:30] Sbioko: TypeError: Cannot read property 'prototype' of undefined
[18:30] Sebmaster: isaacs: as soon as i switch to v0.2.9 i can install again
[18:30] visnup: aikar: it doesn't yet, but you could probably add it with custom metrics on each node in the cluster.
[18:30] gerad: mape: my wife works for Google and she was telling me that back when the iPad came out they had a demo of stuff running faster in the android browser on the nexus 1 then it ran on the ipad
[18:31] visnup: aikar: woudn't be amazingly useful that way if you have more than 3+ nodes though
[18:31] mape: visnup: gerad also the interaction on the graph, not obvious it shows things on the right side
[18:31] Hewlett: So go with node-formidable?
[18:31] Hewlett: (I really like the name.)
[18:31] visnup: mape: the mouseover?
[18:31] mape: gerad: and it was awsome? :P
[18:32] mape: visnup: showing position on the graph
[18:32] tjholowaychuk: Hewlett: yeah for multi-part forms
[18:32] gerad: mape: i'm writing all of this down btw :-)
[18:32] Hewlett: Anything simpler?
[18:32] Hewlett: formidable is in npm I reckon?
[18:32] mape: visnup: the graph doesn't change, kinda figured it was just candy (other things change though :))
[18:32] kristsk: Hewlett, yes
[18:33] Sbioko: tjholowaychuk: are you ignoring me?
[18:33] tjholowaychuk: Sbioko: dont have time man lol
[18:33] Sbioko: tjholowaychuk: why didn't you just say that? Why do I need to write you thousand times?
[18:33] Sbioko: Is it nice?
[18:33] jpstrikesback: Sbioko: in irc you ask once, maaaybe twice and then google some more
[18:33] Sbioko: Thanks
[18:33] ajcates has joined the channel
[18:33] tjholowaychuk: Sbioko: I did say I didnt have time earlier
[18:33] mape: visnup: gerad the overlay isn't obviously an overlay either, kinda annoyed the page was messed up, then yeah.. saw it was meant to be that way
[18:34] tjholowaychuk: (i think)
[18:34] dguttman has joined the channel
[18:34] Sbioko: tjholowaychuk: earlier, but I see that you are freely talking here so I thought you have time now
[18:34] dguttman has joined the channel
[18:34] mape: visnup: gerad perhaps clearer if it started out being "simple" page and then "showed" the overlay?
[18:34] visnup: mape: define overlay
[18:35] mape: visnup: massive black thing that covers 50% of the page? :P
[18:35] visnup: mape: ah, right
[18:35] kristsk: and scrolling quotes!
[18:35] eee_c has joined the channel
[18:35] visnup: mape: gerad yeah, we should probably just abandon that gimmick
[18:36] jpstrikesback: gerad: visnup: the only thing that bugged me was that overlay, I wish it was jsut the page header
[18:36] mape: visnup: don't think it is bad, but make it obvious that it is temp, don't melt it into the design as much, ie don't lock it into an edge in a "natural" sense
[18:37] mape: just center it with a short demo and hard hitting headlines
[18:37] jpstrikesback: gerad: not that anyone's asking me :P that was free
[18:37] mape: and make it real clear if I want to close  it I can
[18:37] daniellindsley has joined the channel
[18:37] gerad: jpstrikesback: nah, we appreciate the feedback!
[18:37] visnup: mape: it used to be worse :)
[18:38] mape: visnup: Then shape up ;)
[18:38] visnup: mape: I think one piece of feedback we got was OMG HOW DO I GET RID OF THIS BLACK THING??
[18:38] mape: visnup: Well... http://bloggkollage.se/
[18:38] brapse has joined the channel
[18:38] gerad: mape: yeah, it's mea culpa the front page still looks like that, it's been my task to fix it for a while
[18:38] Poetro1 has joined the channel
[18:39] nerdEd has joined the channel
[18:39] mape: visnup: latest thing I made, think I made it obvious that it was overlay, and then I kinda force watching but then face in the close button for the "don't wanna watch this" people
[18:39] mape: *fade
[18:39] jpstrikesback: gerad: ok, here's a bit more, a how it works in 3 sentences before I have to look for it would be wonderful
[18:39] hornairs has joined the channel
[18:39] visnup: mape: and your close button is red
[18:40] visnup: mape: though, I didn't have flash btw.  I just got a big "missing plugin" overlay first
[18:40] mape: It is?
[18:40] visnup: mape: I only get a red [-] that doesn't seem to close it...
[18:40] mape: visnup: Yeah.. the page is for non tech people doing fashion blogs, so yeah. Had the same issue testing it :P
[18:40] mape: visnup: http://pic.thefarm.se/mape/20110210192631/
[18:41] Aikar: nice, next months JS meetup for my local area (which conveniently meets at my work lol...) is going to be talking on node stuff, Zombie.js and Vows
[18:41] mape: visnup: that is closing an image
[18:42] formido1 has joined the channel
[18:42] visnup: mape: oh right, I don't read swedish :)
[18:42] mape: visnup: It is more or less a funny project testing the FileRead API
[18:42] visnup: mape: post-translation it is now clear :)
[18:42] mape: Hehe yeah, sadly enough that is how I'm born
[18:42] visnup: mape: I was confusing it with the red [-] in the background
[18:43] zomgbie has joined the channel
[18:43] gerad has left the channel
[18:43] apoc has joined the channel
[18:43] gerad has joined the channel
[18:43] gerad has left the channel
[18:43] Poetro has joined the channel
[18:43] visnup: ACTION isn't feeling nostalgic about his ircii client anymore
[18:44] franck34: does somebody already played with node http-proxy ?
[18:44] mape: visnup: Yeah, I guess that is an issue, but then I'm going for a different audience, that I don't know at all, just assuming all along
[18:44] visnup: mape: hahaha that's always hard. did you get to talk to any of them?
[18:46] gerad has joined the channel
[18:46] bradleymeck: good old ie. always saying they are the most compliant browser
[18:47] Lorentz: Compliant to IE standards
[18:48] bradleymeck: recursive compliance?
[18:49] langworthy has joined the channel
[18:49] tapwater has joined the channel
[18:49] nejucomo has joined the channel
[18:50] Sbioko has left the channel
[18:51] kuhrt has joined the channel
[18:52] benreesman has joined the channel
[18:52] pedrobelo has joined the channel
[18:53] derferman has joined the channel
[18:53] Aria has joined the channel
[18:54] mape: visnup: not to the audience no, like I said, just a weekend project, but got in contact with people interested that has a lot of knowledge so hope I'll learn
[18:54] richcollins has joined the channel
[18:54] Sebmaster has joined the channel
[18:55] tiemonster has joined the channel
[18:56] mayfield has joined the channel
[19:00] o-dog has joined the channel
[19:01] EricL: I am attempting to write a Flume plugin using Thrift and C++.  I keep getting undefined symbols: http://www.pastie.org/1549160  Is there something special I need to do in Node to have it load the thrift library?
[19:02] hassox has joined the channel
[19:02] bradleymeck: EricL, in your wscript add the shared/static lib with uselib etc
[19:03] o-dog: Hello good mates! 20 dubloons to the mate that can tell me why I'm getting "libv8.a SConstruct -> libv8.a" error when making node v0.4.0 on CYGWIN - I can compile v0.3.1 with no problem
[19:04] bradleymeck: do you have visual studio installed?
[19:04] o-dog: no i do not
[19:04] o-dog: that's a requirement?
[19:04] bradleymeck: no its not
[19:04] bradleymeck: but sometimes it fs things up
[19:04] o-dog: ah
[19:05] Sebmaster: o-dog: Are you sure you have v0.4?
[19:05] o-dog: let me confirm once more...
[19:06] o-dog: cd /node , git checkout v0.4.0, ./configure , make
[19:06] o-dog: what's the git command to check what tag you're in?
[19:06] Hewlett: Can you guys help me out?
[19:06] jonaslund: cygwin isn't supported from 0.3.1
[19:06] rauchg_ has joined the channel
[19:06] jonaslund: there is a port in progress but i don't think it's commited yet
[19:07] EricL: bradleymeck: I have been Googling around.  Not sure how to do that.
[19:07] o-dog: so 0.4.0 isn't technically supported yet?
[19:07] rauchg_: ryah: what's the ssl performance like 
[19:07] EricL: bradleymeck: I basically copied/pasted the wscript file I have now.
[19:07] jonaslund: o-dog: 0.4.0 is work in progress
[19:07] jonaslund: o-dog: 0.3.8 is the latest release, a week old or so
[19:07] o-dog: ah, very good, i will wait, thank you good sirs
[19:07] Hewlett: WTF is wrong with this? http://www.pastie.org/1550017
[19:07] jonaslund: o-dog: apperantly cygwin is running again so you can prolly do a checkout very soon
[19:07] mjr_: rauchg_: https is a lot slower than http, for sure.  I think it does well if you re-use connections, but quite badly if you don't.
[19:07] Hewlett: Any Formidable fans want to help me out here?
[19:08] Hewlett: The function never happens!
[19:08] Sebmaster: jonaslund: piscisaureus fixed cygwin yesterday
[19:08] rauchg_: mjr_: reuse as in keepalive ?
[19:08] jonaslund: Sebmaster: i know.. but is it checked in?
[19:08] mjr_: rauchg_: yes
[19:08] Sebmaster: yea it is
[19:08] rauchg_: k
[19:08] o-dog: i'm on git checkout v0.4.0 and get libv8.a error
[19:08] jan____ has joined the channel
[19:08] Hewlett: Please tell me why the function never happens :|
[19:09] o-dog: should i be on trunk?
[19:09] bradleymeck: EricL, https://github.com/bmeck/node-sfml/blob/master/wscript has some examples
[19:09] Sebmaster: o-dog: Shouldnt matter, but you can try it
[19:09] colinclark has joined the channel
[19:10] mikeal has joined the channel
[19:10] o-dog: So is it me, or is it v0.4.0? Can anyone else compile on cygwin?
[19:10] mikeal has joined the channel
[19:10] EricL: bradleymeck: Adding the uselib didn't help.
[19:10] tjholowaychuk: any reason a child process would not die from SIGKILL ?
[19:11] tjholowaychuk: bit of a wtf moment
[19:11] o-dog: blasted windows!
[19:12] Sebmaster: o-dog: I can
[19:12] rawroland has joined the channel
[19:13] bradleymeck: EricL, mmm can you give me a node-waf configure -v and your wscript in a gist/paste?
[19:14] visnup: tjholowaychuk: I was seeing the same behavior a while ago. I gave up because I got different behavior on different OSes :(
[19:14] technoweenie has joined the channel
[19:15] tjholowaychuk: visnup: yea kinda fucked haha
[19:15] tjholowaychuk: hmm
[19:15] tjholowaychuk: not what i expected
[19:15] visnup: you're sending the kill from node?
[19:16] tjholowaychuk: yeah
[19:16] Hewlett: Omg guys I am fucked
[19:16] CrazyGoogle has joined the channel
[19:16] Hewlett: form.parse *never* calls me back! http://www.pastie.org/1550017
[19:16] tjholowaychuk: visnup: proc.kill('SIGKILL'), nothing fancy lol
[19:16] Aikar: does your name end in Packard? if so we know, your PC's suck
[19:17] jherdman has joined the channel
[19:17] Aikar: Hewlett: work on your pickup lines ;)
[19:17] Hewlett: Fuck, formidable is acting like my one night stands
[19:17] jonaslund: o-dog: check the wiki, there is a list of common build errors
[19:17] Hewlett: Please give me a fraction of a clue :/
[19:18] EricL: bradleymeck: I think that was it.  I think it worked.  I didn't put it in the configure.
[19:18] alexweber15 has joined the channel
[19:18] floby has joined the channel
[19:19] Hewlett: ACTION will pay money to fix this
[19:19] o-dog: jonaslund: checked, all it says for "libv8.a SConstruct -> libv8.a" is to change my SHELL, which I did to no avail
[19:20] dgathright has joined the channel
[19:20] davidthings_ has joined the channel
[19:20] bwinton has joined the channel
[19:20] TooTallNate has joined the channel
[19:20] Hewlett: The data event is never being called. I think node-formidable is broken
[19:20] o-dog: do I need to update my cygwin? like make, gcc-g++ ?
[19:21] visnup: tjholowaychuk: sorry, no idea. I just remember having the same problem (on OSX).
[19:21] trotter has joined the channel
[19:21] jan____ has joined the channel
[19:21] tjholowaychuk: strange
[19:21] formido1: o-dog: I could never get recent versions to compile on cygwin
[19:22] o-dog: v0.3.1 compiles perfectly
[19:22] Hewlett: tjholowaychuk: Can you tell me why this is never called on a post? http://www.pastie.org/1550017
[19:22] floby has left the channel
[19:22] daniellindsley has left the channel
[19:22] tjholowaychuk: Hewlett: read the docs :p
[19:22] jonaslund: o-dog: gcc --version
[19:22] Hewlett: kk
[19:22] tjholowaychuk: it works fine for me
[19:22] jonaslund: o-dog: i have heard rumors that gcc3.x is unstable
[19:22] Sebmaster: which version of gcc do you have?
[19:22] o-dog: 3.4.4
[19:22] jonaslund: aahhh
[19:22] jdrannbauer has joined the channel
[19:22] Sebmaster: try updating to 4
[19:23] jonaslund: re-run the cygwin installer and remove "gcc" and install gcc4
[19:23] niklasfi has joined the channel
[19:23] nerdEd has joined the channel
[19:23] mikeal has joined the channel
[19:23] o-dog: weird, in my setup.exe it say I have 4.3.4-3
[19:24] o-dog: blasted windows!
[19:24] jonaslund: yes but i think that if you have the "gcc" package then gcc3 becomes the default
[19:24] jonaslund: nothing wrong with windows (apart from the lack of fork and "text" files)
[19:24] o-dog: and easy symbolic links
[19:24] jonaslund: cygwin on the other hand... not really good :P
[19:25] jonaslund: i've never cultured the habit of symlinks since i've mostly had dos/win as my main platform
[19:25] jpstrikesback: Hewlett: have you tried the example? http://bit.ly/igRdC2
[19:25] jonaslund: and even when i've been on other platforms i've kept myself "backwards compatible"
[19:26] tjholowaychuk: visnup: haha it even sets proc.killed = true
[19:26] tjholowaychuk: weirddDDD
[19:26] o-dog: alright, i'm going to try to correct my gcc, i'll be back, thanks for the assist!
[19:26] visnup: killing it from outside of node works?
[19:26] dmcquay has joined the channel
[19:26] formido1: o-dog: yeah, 3.1 may work
[19:26] kuhrt has joined the channel
[19:27] formido1: I went back to 2.5 and it worked
[19:27] formido1: when I tried 3.5, it failed
[19:27] formido1: http://stackoverflow.com/questions/4718718/cant-get-node-js-built-on-cygwin
[19:27] formido1: I tried gcc4 too
[19:27] jonaslund: formido1: cygwin "broke" after 0.3.1
[19:27] o-dog: formido, did you try v0.4.1
[19:27] jonaslund: it's just been reinstated
[19:27] o-dog: i mean 0.4.0
[19:27] Sebmaster: 0.3.2-0.3.x do not work on cygwin
[19:27] formido1: no
[19:27] tjholowaychuk: visnup: yup
[19:27] formido1: sweet!
[19:27] o-dog: haha, that's what i'm trying to get to compile
[19:28] jonaslund: ACTION checks out the code to try to build
[19:28] ryanfitz has joined the channel
[19:29] formido1: o-dog: nope, but I'll try it now
[19:30] Aikar: so
[19:30] Aikar: i got an interesting idea
[19:31] necromancer has joined the channel
[19:31] gf3 has joined the channel
[19:31] techwraith has joined the channel
[19:32] Aikar: a "node 'compiler'" of sorts. an app thatll take a project folder, bundle all of the js files into 1 js file with a hasbbang header so its executable. alot of work yeah but can be doable. then add an additional 'binary mode' thatll take this file and embed it into a compile of node using the _third_party_main native, so you can compile a single node binary that when executes runs your code. so build a binary purely out of node source
[19:33] Aikar: then when you deploy your app, simply push the single binary
[19:33] eml-mobile has joined the channel
[19:33] Sebmaster: Aikar: I wanted to simply push a project dir through v8, after some editing, but that sounds better^^
[19:34] Sebmaster: *through closure
[19:34] Aikar: first and mainly only hard step is building the entire project folder into a single .js file that still works exactly the same
[19:34] Aikar: node already supports embedding a js to use instead of the repl
[19:34] niklasfi: hi i am just deploying my program on my server. however there i am getting an ECONNREFUSED error but on my dev machine here I don't. any ideas?
[19:34] alexweber15: whats up all
[19:35] plishir has left the channel
[19:35] torvalamo has joined the channel
[19:36] mikekelly has joined the channel
[19:36] mjijackson has joined the channel
[19:36] Aikar: the single js file idea would be good for simple CLI apps wrote in node, write the code in a proper seperate file structure, then 'compile' it to a single and distribute the tool
[19:37] ajcates: meh
[19:37] Aikar: then embedding that single file into a node compile is simple
[19:38] Sebmaster: cant you just put every require()ed file in a (function(){ .. })() construct and do something about export and global?
[19:39] Coal has joined the channel
[19:40] Hewlett: omg I am uber fucked
[19:41] Hewlett: ACTION has to find out where within 31,000 lines of node.js code and hacked together one-off v8 C++ bindings there is something fucking up the request headers (there's at least 16 different custom modules that fuck with it)
[19:41] Hewlett: err, sorry for the pejoratives
[19:42] EricL: Hewlett: pejorative is the dirtiest word in that sentence.
[19:43] nmtmason has joined the channel
[19:43] Kritic has joined the channel
[19:43] montylounge has joined the channel
[19:47] bmavity has joined the channel
[19:48] liar has joined the channel
[19:48] bradleymeck: Hewlett which header is off?
[19:49] Hewlett: bradleymeck: POST
[19:50] bradleymeck: thats not a header? thats a method
[19:51] Hewlett: Boss is angry
[19:51] Hewlett: bradleymeck: Right, I meant to say a cookie header
[19:51] Hewlett: omg, the project manager is breaking stuff on his desk
[19:52] EyePulp: Hewlett - odds are if you put some context and detail together, along with a code example someplace we might be able to help.
[19:52] bradleymeck: ok, node will strip out multiple headers of same key pre 0.4.0 unless you modify it
[19:52] Hewlett: EyePulp: Right now I'm trying to make a list of all the different things that modify the headers
[19:52] bradleymeck: ACTION goes to dig up the thing
[19:53] Hewlett: There's a custom http proxy that could be at fault too
[19:53] bradleymeck: can i get the version number you are using right now and can give that fix for the version to at least try that
[19:53] Hewlett: (Or one of the node.js followers)
[19:53] Hewlett: bradleymeck: 0.2.6
[19:53] EyePulp: Hewlett: is this something that was working and stopped, or you've just recently started looking at and don't know if it was ever working "right"
[19:54] Kritic has joined the channel
[19:54] Hewlett: EyePulp: Broke
[19:55] Hewlett: Was known to work last Friday, but that code was deleted during the "project clean-up"
[19:56] EyePulp: Hewlett: I see.  in my head I imagine the PM running around behind you, like some uncaged beast, frothing and destroying things while you type and dodge airborne potted plants.
[19:56] Hewlett: Now it just runs forever until it times out when it tries to process a form post
[19:57] EyePulp: You're saying the POST data is missing entirely or is malformed?
[19:57] Hewlett: EyePulp: Yeah, Vinny is hot-tempered :\
[19:57] rburke has joined the channel
[19:57] rburke has joined the channel
[19:57] Hewlett: Malformed I think
[19:57] bradleymeck: mmm, the code in 0.2.6 includes a comma separated syntax on the cookie header, *keeps looking around*
[19:57] Hewlett: ACTION is doing sys.inspect on it
[19:58] gmci has joined the channel
[19:58] halfhalo: ACTION slaps node upside the head due to callbacks
[19:58] bartt has joined the channel
[19:59] lukegalea_ has joined the channel
[19:59] Hewlett: 504 Gateway timeout
[20:00] janm has joined the channel
[20:01] jonaslund: how do you delete code ?
[20:01] Hewlett: Another problem is one of the C++ bindings segfaults when you POST an empty form input
[20:01] zachsmith has joined the channel
[20:01] jonaslund: don't you use a revision control system ?
[20:01] Hewlett: jonaslund: He forcefully purged the versioning system
[20:02] perlmonkey2 has joined the channel
[20:02] jonaslund: who ?
[20:03] jonaslund: and why do such a thing?!
[20:03] jonaslund: (unless using cvs perhaps..)
[20:03] Hewlett: jonaslund: To eliminate clutter
[20:03] jimt_ has joined the channel
[20:03] sudoer has joined the channel
[20:04] halfhalo: ACTION is trying to do callbacks with string replace but its not working... :(
[20:04] nerdEd_ has joined the channel
[20:04] Hewlett: halfhalo: My boss made me implement an async response.write, I kid you not
[20:05] pieterv has joined the channel
[20:05] EricL: Can someone point me to an example of Node.js C++ asnync extension slightly more complex than the Hello World EIO on the cloudkick blog?
[20:05] Hewlett: He loves node though because it's ajax :)
[20:05] jpstrikesback has joined the channel
[20:05] jonaslund: Hewlett: any RCS more modern than cvs should have the files there regardless of your project layout unless doing some deep-hacking of the internal RCS structures
[20:05] Sebmaster: node == ajax?
[20:05] Sebmaster: wat?
[20:06] jonaslund: Sebmaster: don't distrub the buzzword eating drones
[20:06] Sebmaster: :(
[20:06] halfhalo: lol.  My issue is that string.replace(regex,fn) in fn I'm calling another function with a callback, meaning I can't return a value in fn which SUCKS
[20:07] jonaslund: halfhalo: why not just create a regex and find out the locations that requires replacing and then queue up things
[20:08] devdazed: EricL: https://github.com/pkrumins/node-des
[20:08] rbranson has joined the channel
[20:08] Hewlett_ has joined the channel
[20:08] void_ has joined the channel
[20:09] Hewlett_: It's working again yay
[20:09] Hewlett_: I have no idea why though :(
[20:09] Hewlett_: ACTION didn't change anything
[20:09] halfhalo: That is an option... but it would make things veeeery complicated I think
[20:10] hellp has joined the channel
[20:10] EricL: devdazed: That isn't async.
[20:11] Hewlett_: What do you do when stuff starts working again and you don't know why?
[20:11] eee_c1 has joined the channel
[20:11] Sebmaster: Hewlett_: Trying to break it again
[20:12] Hewlett_: omg, it's broken again :o
[20:12] tlrobinson_ has joined the channel
[20:12] Sebmaster: Hewlett_: Knew it!
[20:12] Hewlett_: It *sometimes* works, other times it segfaults, or it locks up the CPU at 100% until it times out
[20:12] zomgbie has joined the channel
[20:12] Hewlett_: Empty form inputs will segfault it, but only if you keep submitting really fast
[20:13] Hewlett_: ACTION knew it was a bad idea to not use the string types provided by v8.h
[20:13] kawaz_home has joined the channel
[20:14] Hewlett_: All the other developers gave up and left lol
[20:14] Sebmaster: Hewlett_: Demand more monay for the work or leave :p
[20:15] hassox has joined the channel
[20:15] mjr_: EricL: here's a C++ extension that I did which is a bit more complicated:  https://github.com/mranney/node_pcap
[20:15] mattly has joined the channel
[20:15] Hewlett_: heh, there's three managers yelling so bad idea
[20:17] eee_c has joined the channel
[20:17] bmavity: is there a way to see which local packages aren't the latest with npm? like npm ls installed not latest?
[20:19] stride: npm ls installed | grep -v latest (untested)
[20:19] zomgbie has joined the channel
[20:20] hosh_work has joined the channel
[20:20] bmavity: yup works, thanks stride
[20:20] EyePulp: woo hoo - seeing lots of commits on mongoose & socket.io.  fedex-ing beers to guille
[20:21] drudge: guille++
[20:21] v8bot:  drudge has given a beer to guille. guille now has 1 beers.
[20:21] liar has joined the channel
[20:21] drudge: rauchg_++
[20:21] v8bot:  drudge has given a beer to rauchg_. rauchg_ now has 1 beers.
[20:21] EricL: mjr_: Is that async?
[20:22] mjr_: That is async as all hell.
[20:23] bluegene has joined the channel
[20:23] EricL: mjr_: So following what this extension does for async isn't necessary? https://github.com/pquerna/node-extension-examples/blob/master/helloworld_eio/helloworld_eio.cc
[20:23] mjr_: what are you trying to do?
[20:25] EricL: mjr_: Write to a flume socket that is being created with Thrift.
[20:25] mjr_: I don't actually know what Flume is
[20:26] Hewlett_: https://github.com/brianc/node-postgres -- No method to close the connection to the database! :o
[20:26] ossareh has joined the channel
[20:26] sveisvei has joined the channel
[20:26] jesusabdullah: Closing connections is for weenies.
[20:27] adambeynon has joined the channel
[20:27] mjr_: EricL: what don't you know how to do in your flume thing?
[20:28] EricL: mjr_: Basically I want to be able to do this: var flume = require('flume_eio'); var f = new flume.FlumeLogEio("localhost",30000); f.log("message");
[20:28] EricL: I am stuck on the part about getting the new to accept args.
[20:29] Hewlett_: I think node-postgres is breaking node-formidable
[20:29] mjr_: EricL: my advice is to do absolutely everything you can in JS, and only use C++ for a bit of glue into native code.
[20:29] AAA_awright has joined the channel
[20:29] mjr_: EricL: even use JS for read/write to sockets, and then pass down into C++ if you need native code to parse data from the socket.
[20:31] Hewlett_: If this line of code is enabled: pg.connect("pg://crusher:pass@localhost:5432/agentsdb", function(err, client)   {
[20:31] Hewlett_: This code breaks: http://www.pastie.org/1550017
[20:31] Hewlett_: Any ideas why?
[20:31] Hewlett_: I have tested extensively, and it happens every time
[20:31] loktar has joined the channel
[20:31] mscdex: EricL: the arguments for the constructor is in the New method in the binding
[20:32] Hewlett_: Is this a weird node bug?
[20:32] AAA_awright has joined the channel
[20:34] bartt1 has joined the channel
[20:34] lukegalea_ has joined the channel
[20:34] Hewlett_: Essentially, node-postgres breaks node-formidable
[20:34] fission6 has joined the channel
[20:34] EricL: mjr_: Speed is super critical here.  I am only using C++ because thrift is problematic by itself let alone dealing with it in JS.
[20:35] Hewlett_: Maybe try another module for handling POST data?
[20:35] fission6: is there a channel for npm, i am having issues where i am making code changes in my package, but i am not seeing them when i include them in my main script
[20:35] danielzilla has joined the channel
[20:35] stride: Hewlett_: they are pretty unrelated. sure it's not just a logical flaw in your code?
[20:36] Hewlett_: stride: We'll never be able to find it if it is
[20:36] jimt has joined the channel
[20:36] mjr_: EricL: still, I'd do all of your networking in node.  That's what node is good at.  If you try to do networking in C++, you do a ton of extra work and have to handle way more exceptional cases.
[20:36] Hewlett_: But I do know that calling the pg.connect() line is breaking everything else
[20:36] montylounge_ has joined the channel
[20:36] Remoun has joined the channel
[20:36] stride: is the postgres connection giving any errors?
[20:37] EricL: mjr_: The networking is all handled by Thrift.  The only thing I need is for New in C++ to honor/return what I am passing in JS.
[20:38] mjr_: EricL: that's just basic args mapping from JS to C++ then.
[20:39] fission6: if i make changes in a package why wouldn't they be executing as expected
[20:39] ossareh has joined the channel
[20:39] EricL: mjr_: I have to run.  But what I have so far is here: https://github.com/simplereach/node-flume
[20:39] fission6: i am modifying a package and then i try to include it in another script and its not performing the changes i made
[20:40] EricL: Thanks all.  I'll be back later.
[20:41] fission6: no ideas
[20:41] Hewlett_: Okay, fixed!
[20:41] Hewlett_: ACTION prayed to Madonna to get the divine answer to the quagmire
[20:42] Hewlett_: The reason why this was happening: node-formidable is garabge
[20:42] Hewlett_: I switched to querystring and the problem is gone
[20:43] tjholowaychuk: Hewlett_: like i said, node-formidable is for multipart
[20:44] fission6: tjholowaychuk: any idea why when i make changes in a package that it doesn't appear to be running the exepected changes when i import the module
[20:44] tjholowaychuk: fission6: i dont get the question
[20:44] tjholowaychuk: what is running what?
[20:45] fission6: i modifed some source code from within a package, when i go to use the package in my script it doesn't appear to be pulling from package where i made the changes
[20:45] Hewlett_: tjholowaychuk: np
[20:45] Hewlett_: At laest I fixed it
[20:45] fission6: its like cached or running the original copy i installed of the package or something
[20:45] Hewlett_: Praying to Madonna helped too.
[20:45] razvandimescu has joined the channel
[20:45] tjholowaychuk: fission6: node? express?
[20:45] fission6: node
[20:46] tjholowaychuk: i dunno
[20:46] tjholowaychuk: maybe you have it installed in other places
[20:46] fission6: tweaked some code in jsdom
[20:46] tjholowaychuk: happens to me all the time with npm
[20:46] tjholowaychuk: even when im testing stuff lol it tests against npm-installed versions
[20:46] fission6: then went to import it in another script and not getting the changes i expected to one of my methods
[20:46] tjholowaychuk: and im all WTF
[20:46] fission6: right i think thats whats happening
[20:46] vnguyen has joined the channel
[20:46] fission6: i think i may try to manually delete the folder in lib/node
[20:47] dylang has joined the channel
[20:47] tjholowaychuk: i just try my best not to have npm stuff installed most the time
[20:48] jakehow has joined the channel
[20:49] fission6: yea i think thats it
[20:50] Hewlett_: lol the managers are so happy now I fixed it
[20:50] dylang has joined the channel
[20:50] Hewlett_: They're ordering expensive wines to the office to celebrate
[20:50] clarkfischer has joined the channel
[20:52] dylang: I've got to use a windows machine for a week.  Is this out of date?  "NOTE: v0.2.6 and v0.3.1 build on Cygwin. The latests versions do not."
[20:52] jimt_ has joined the channel
[20:53] matclayton has joined the channel
[20:53] Sebmaster: dylang: It is
[20:53] Sebmaster: node v0.4 builds on windows
[20:53] tfe_ has joined the channel
[20:54] dylang: Sebmaster: cool, thanks.
[20:54] clarkfischer: Is it just me, or did 0.4 take way longer to build than 0.2.x or 0.3.x?
[20:55] Sebmaster: clarkfischer: Yea it was about 1min or somth.
[20:55] clarkfischer: hah
[20:55] clarkfischer: I'm bound to a crappy netbook
[20:55] clarkfischer: Took me 24m
[20:56] Sebmaster: clarkfischer: Whoa
[20:56] zomgbie has joined the channel
[20:57] Hewlett_: In node-postgres, what's the proper way to close a connection? pg.end()?
[20:58] Coal has joined the channel
[20:58] dnyy has joined the channel
[20:58] q_no has joined the channel
[20:59] jimt has joined the channel
[21:00] hunterloftis: Node versions: Which ones to use? I see 4.0 on the site but I'm building a project in 2.4 so I'm guessing the API might have quite a few changes
[21:00] hunterloftis: Should I just get the latest 2.x?
[21:01] Sebmaster: hunterloftis: The API changed quite a bit, but its easily portable
[21:01] bwinton has joined the channel
[21:01] tjholowaychuk: hunterloftis: check out the changelog
[21:02] tjholowaychuk: for updates to 2.x
[21:02] tjholowaychuk: (is there a changelog?)
[21:02] hunterloftis: tjholowaychuk, sebmaster: k
[21:02] hunterloftis: tjholowaychuk: I think I saw one
[21:02] hunterloftis: any big boosts to anything in version 4.0?
[21:02] hunterloftis: (just curious, not upgrading right now)
[21:02] fission6: is node_modules a special folder for a package
[21:02] tjholowaychuk: hunterloftis: in some cases it seems quite a lot slower
[21:02] tjholowaychuk: weird quirks or something
[21:03] tjholowaychuk: a bunch of my test suites are 50%-ish slower
[21:03] hunterloftis: fission6: I think it's a special folder for npm
[21:03] hunterloftis: tjholowaychuk: oh damn, good to know
[21:03] fission6: right
[21:03] hunterloftis: tjholowaychuk: what about 3.x?
[21:03] fission6: hmm
[21:03] tjholowaychuk: hunterloftis: but for other cases im sure its faster
[21:03] tjholowaychuk: hunterloftis: those too, 0.3.x is 0.4.0 basically, not sure what changes made things slower for me
[21:03] saikat has joined the channel
[21:03] hunterloftis: fission6: Just let npm deal with that folder, put your stuff in /support, /vendor, something
[21:04] hunterloftis: tjholowaychuk: ok cool. Talked to Aaron last night and he said 2.6 is significantly better than 2.3 (which is what I'm running the project on now) so I became curious about the changes.
[21:04] Ratty_: Is .npmignore documented? I use it but haven't seen it mentioned in any docs. I just copied other projects :)
[21:04] fission6: no its not that its that i am tryng to use a later version of a package but when i runt he code it seems to be using the version inside of this node_modules directoy
[21:04] tjholowaychuk: hunterloftis: not sure off hand
[21:04] tjholowaychuk: cant remember
[21:05] fission6: and i dont know how to superseed it with the one i npm linked
[21:05] hunterloftis: tjholowaychuk: I'll changelog it. Setting up some demo pages on webbynode right now.
[21:06] Coal has joined the channel
[21:06] broofa has joined the channel
[21:06] Aikar: hunterloftis: .4 is now the new "stable", so you should upgrade if possible.
[21:06] fission6: so how do i config the environment to not use whats in node_modules, i dont understand
[21:07] Aikar: fission6: dont put something in node modules then, but you should be using it
[21:07] hunterloftis: fission6: Remove the stuff from node modules then
[21:07] Aikar: node_modules is the equiv of doing require.paths.unshift('/blah/node_modules'); before .4
[21:07] Aikar: require.paths is possibly going to be removed in a future version according to the docs, so you need to start using node_modules folder for your libraries
[21:07] fission6: Aikar: i have a later versoin of a module i want to use
[21:08] saikat has joined the channel
[21:08] fission6: and what the hell is node_modules anyway i cant even see what its doing
[21:08] fission6: where is it being pulled into my path
[21:08] Aikar: hold up
[21:08] Aikar: https://github.com/ry/node/blob/01a864a29d64119054401784cd9255c3a813bdbc/doc/api/modules.markdown
[21:08] Aikar: read that
[21:08] Aikar: that explains the new .4 module loading system
[21:09] Aikar: node_modules was created for the exact REASON of loading specific version of modules as a dependency
[21:09] fission6: right, hmm ok
[21:10] Sebmaster: is anyone still getting a build error with version 0.4 on cygwin?
[21:10] Aikar: if node_modules/foo/ requires bar v1, you can have node_modules/foo/node_modules/bar/ at v1, so foo will load v1, and if v2 of bar is at /node_modules/bar/ itll all work fine
[21:11] fission6: Aikar: "If the module identifier passed to require() is not a native module, and does not begin with '/', '../', or './', then node starts at the parent directory of the current module, and adds /node_modules, and attempts to load the module from that location." Th thing i dont understand is that i have a linked version of the module installed so how is not finding that one its "native" no?
[21:11] Aikar: linked?
[21:12] Aikar: native means modules NODE provides, like 'fs'
[21:12] fission6: oh ok
[21:12] Aikar: you cant add a native unless you put it in lib folder and recompile node
[21:12] fission6: what about those ive npm linked
[21:12] fission6: NODE_PATH existin here
[21:12] Aikar: those are 'userland modules
[21:12] Aikar: npm is going to start using node_modules
[21:13] Aikar: what is the file layout of your modules correctly, what depends o nwhat?
[21:13] fission6: so NODE_PATH is irrevlant where does it live in terms of module loding chain
[21:13] Aikar: NODE_PATH fills in require.paths currently still
[21:13] russell_h: wait, so every single .js file has to be one directory below node_modules?
[21:13] zikes has joined the channel
[21:14] Aikar: itll be checked before node_modules right now
[21:14] fission6: i am using zombie.js it depends on jsdom which is in its node_modules/.cache folder - i pulled down the code for jsdom and made some changes - then did npm link for jsdom, i wan zombie to use my modify package
[21:14] Aikar: russell_h: no, itll keep going down until it finds node_modules
[21:14] Aikar: foo/node_modules/   then foo/bar/baz/hello/world.js 
[21:14] Aikar: world.js can call require('blah') and itll load in foo/node_modules/blah
[21:15] russell_h: aklt: ah, ok
[21:15] fission6: Aikar: then why the hell aint it working - i think the other thing is that when i npm link i get a version 9999 and zombie keeps looking for 1.23 which i don't understand cause i set it to >-1.23 in package.json
[21:15] Aikar: fission6: i dunno, do you have a 'zombie' folder in /usr/local/lib/node/ ?
[21:15] Aikar: why are you using link
[21:15] fission6: yes
[21:15] Aikar: cant you 'npm install zombie' ?
[21:15] fission6: i dont know cause that what is says
[21:16] arnorhs has joined the channel
[21:16] Aikar: do ls -l on your node folder and see if zombie -> points to zombie@9999
[21:16] Aikar: and what error do you get
[21:17] fission6: either way NODE_PATH i have both of these folders in there, and zombie is using the jsdom from node_modules, not the one in NODE_PATH
[21:17] Aikar: zombie has a node_modules folder in it?
[21:17] Aikar: if so, that means zombie is using the new .4 feature
[21:17] tjholowaychuk: ryah: would you accept a patch to pass an option to createServer() to alter the sock timeouts?
[21:17] Aikar: and its bundling its depedency
[21:18] fission6: ok
[21:18] fission6: what if i want it to not use whats bundled
[21:18] fission6: and use the jsdom from my NODE_PATH
[21:18] Aikar: why? the author of the module is expecting his lib to work in a certain way
[21:18] Aikar: trying to make it work diff is likely to break things
[21:19] fission6: how is this a .4 feature, i am on 0.3.7 why is it searchingin node_modukes
[21:19] fission6: node_modules
[21:19] Aikar: how do you know its searching node modules?
[21:19] fission6: the dependancy has a bug in it
[21:19] fission6: i dont i guess
[21:19] dude has joined the channel
[21:19] fission6: let me ste back and try to explain - perhaos its not
[21:19] amerine has joined the channel
[21:19] Aikar: link to where you got zombie from?
[21:20] clarkfischer: Does wrapping sync functions in process.nextTick make them async?
[21:20] clarkfischer: or async-ish
[21:20] fission6: Aikar: can i pastebin something
[21:20] Aikar: sure
[21:21] tjholowaychuk: ryah: instead of the hard-coded 2 minutes
[21:21] boaz has joined the channel
[21:21] dude has joined the channel
[21:21] fission6: http://pastie.org/1550472 this is what happens when i removed jsdom 0.1.23 and did npm link to my own version of jsdom, for some reason zombie keeps looking for 0.1.23 even though i changedthe package.json to be >=0.1.23 so something else in zombie is dicating it to find 0.1.23
[21:22] mikeal has joined the channel
[21:22] spetrea-home has joined the channel
[21:22] GasbaKid has joined the channel
[21:22] loktar has joined the channel
[21:22] boaz: hey nodejistu guys
[21:22] boaz: are you in here?
[21:22] boaz: what are your freenode nicks?
[21:22] boaz: anyone?
[21:23] fission6: Aikar: refresh i added mroe
[21:23] felixge_ has joined the channel
[21:23] felixge_ has joined the channel
[21:23] nejucomo has joined the channel
[21:23] yutt has joined the channel
[21:23] Aikar: fission6: thats showing that npm is using the node_modules folders. you need to confirm with isaacs if npm is friendly to < .4
[21:23] yutt: fuck off
[21:23] yutt has left the channel
[21:24] fission6: ok i am going to build .4 first
[21:24] fission6: ill just get with the times
[21:24] wilmoore has joined the channel
[21:24] bradleymeck: boaz: jimbastard, indexzero
[21:24] fission6: and then in terms of the module i will delete it from node_modules
[21:24] boaz: indexzero
[21:24] briznad has joined the channel
[21:24] fission6: then it should fallback to NODE_OATH right?
[21:25] mbrochh has joined the channel
[21:25] Aikar: NODE_PATH is simply a way to auto inject paths into require.paths
[21:26] fission6: ok so what you recommend then, simlinking my code in node_modules
[21:26] Aikar: by default require.paths includes $INSTALLPEFIX/lib/node, ~/.node_libraries, and ~/.node_modules
[21:26] Aikar: recommend upgrading to .4 node, then simply install modules with npm
[21:26] fission6: hmm ok
[21:26] Aikar: npm should put files in correct paths
[21:26] fission6: i am building .4 now
[21:26] Aikar: and you should have a node_modules in your PROJECTS root
[21:27] fission6: then we will be on an even playing field for you to help :)
[21:27] Aikar: this whole node_modules with .4 is trying to do away with the idea of global modules
[21:27] benburkert has joined the channel
[21:27] fission6: why
[21:27] Aikar: because globals are bad mkay :P
[21:28] fission6: haha
[21:28] Aikar: its harder to package and deploy when dependencies are outside of your project root
[21:28] fission6: ok sounds like i need to get .4 install zombie which has node_modules
[21:28] Aikar: zombie isnt using node_modules
[21:28] jimt has joined the channel
[21:28] fission6: then if i want it to use a different version of a module ill just plop it into node_modules?
[21:28] Aikar: NPM is installing files in a format that uses node_modules
[21:28] Aikar: just use npm, let it handle everything
[21:28] fission6: ?
[21:29] Aikar: cd to your project root
[21:29] fission6: no i a confused - let me get .4 going
[21:29] Aikar: mkdir node_modules
[21:29] fission6: one sec Aikar 
[21:29] Aikar: then npm link /path/to/zombie
[21:29] mnot: hmm. compiling 0.4.0 on osx gets lots of complaints like: "default/config.h:10:1: warning: "HAVE_FDATASYNC" redefined"
[21:29] mnot: well, a few
[21:30] rburke has joined the channel
[21:30] rburke has joined the channel
[21:32] fission6: okay Aikar done compiling node .4 wiped the slate
[21:32] fission6: now what
[21:33] Aikar: scroll up and do the things i said :P
[21:33] jimt has joined the channel
[21:34] devdazed: does anyone know if it is possible to store a javascript object in  a Buffer?
[21:35] prettyrobots has joined the channel
[21:35] fission6: why do i have to make node_modules directoy confused about that
[21:35] Sebmaster: devdazed: Why would you want to do that?
[21:35] Sebmaster: Although you could, if you encode your object somehow
[21:36] devdazed: Sebmaster: for transportation via socket, to prevent the overhead of serialization/deserialization
[21:36] cadorn has joined the channel
[21:37] Sebmaster: devdazed: There's no built-in function other than JSON.stringfy if you mean that
[21:37] bingomanatee has joined the channel
[21:37] devdazed: JSON.stringify, turns it into a string. I want a Binary abject in a Buffer
[21:38] Aikar: fission6: stop thinking on a global level. think of "every module for node I install for this project goes into the node_modules folder for this project"
[21:38] Sebmaster: devdazed: new Buffer(JSON.stringify(object)) there you go4
[21:38] dthompson has joined the channel
[21:38] Aikar: its a "libs" directory
[21:38] bingomanatee: you want to seralize json to a binary format?
[21:38] fission6: Aikar: Error: Cannot find module './../../../../jsdom/0.1.23/package/lib/jsdom' i want to know what keeps forcing this 0.1.23 directory - this has to be coding somewhere in zombie
[21:38] Aikar: you could look at is as a directory for 3rd party code
[21:38] Aikar: no thats an npm shim
[21:38] bingomanatee: You're not going to get a better serialization than stringed json. 
[21:38] Aikar: try updating your npm
[21:38] Aikar: or ask isaacs
[21:38] Sebmaster: devdazed: If you want less overhead you have to map the object to a buffer yourself
[21:38] Aikar: it could be a bug with npm
[21:39] fission6: its getting that 0.1.23 date form somewhere
[21:39] Aikar: i dont think your issue has anything to do with node or zombie or jsdom
[21:39] fission6: and i dont know where
[21:39] Aikar: yes, npm is
[21:39] devdazed: Sebmaster: thanks
[21:39] Aikar: npm GENERATED that code
[21:39] fission6: yeah how and from where
[21:39] Aikar: you need to talk to isaacs
[21:39] fission6: right but it needs to choose 0.1.23 from soemwhere
[21:39] Aikar: (the author of npm)
[21:39] fission6: right?
[21:39] mscdex: fission6: isaacs just implemented the date for modules recently
[21:39] mscdex: so for all older projects they have new dates
[21:39] fission6: im sorry its not a date i mena version
[21:39] mscdex: ah
[21:40] fission6: i just simple dont get where this versoin is coming from and being generasted by
[21:40] bingomanatee: ACTION is still in npm.... in my mind...
[21:40] Aikar: prolly due to the "requires jsdom > 1.23"
[21:40] Aikar: which npm likely installed something newer than 1.2.3
[21:40] Aikar: but it could be a bug with npm
[21:40] Aikar: you need to work with isaacs on it
[21:40] Aikar: do ls -l /var/local/lib/node/.npm/jsdom
[21:41] fission6: right but thats the weird thing
[21:41] Aikar: see what version is installed
[21:41] Aikar: its npm voodoo magic
[21:41] fission6:   "dependencies": {     "html5": "0.2.13",     "jsdom": ">=0.1.25",
[21:41] fission6: i tweaked it to .25
[21:41] fission6: and it still is being generated as .23
[21:41] Aikar: it uses package.json off npm registry problally
[21:41] fission6: which is the latest version in the npm repo? could that be how its getting pulled
[21:41] Aikar: so its ignoring your change
[21:42] fission6: why i did npm link
[21:42] Aikar: that code that references 1.23 is generated on INSTALL
[21:42] slaskis: npm gives me scary errors: terminate called after throwing an instance of 'std::bad_alloc'
[21:42] Aikar: so you cant change the value unless you re npm link
[21:42] fission6: yea i did
[21:42] Ond has joined the channel
[21:42] Fire has joined the channel
[21:42] jonaslund: man i love that car chase in the man with the golden gun
[21:42] Aikar: delete /var/local/lib/jsdom and zombie, then relink and pastebin the npm output
[21:42] jonaslund: :)
[21:43] langworthy has joined the channel
[21:43] fission6: ok
[21:43] arnaudsj- has joined the channel
[21:43] hornairs has joined the channel
[21:44] fission6: Aikar: http://pastie.org/1550551 my next step would be to do npm install jsdom which would gte things working, yet I want to do npm link to my modified version of jsdom
[21:45] Aikar: it should install jsdom itself
[21:45] fission6: ah part of the issue is that jsdom llocal version is 0.1.23 thats probably where its getting messed at
[21:45] Aikar: 1.23 is the latest jsdom
[21:48] fission6: i think it has something to do with versions and linking it
[21:48] Fire has left the channel
[21:49] Aikar: fission6: why dont you just type 'npm install zombie' ?
[21:49] Aikar: instead of linking
[21:50] fission6: cause i am very actively patching it
[21:50] devdazed: hi all, i have a class that is an eventEmitter, lets call it class A.  class A uses another eventEmitting class called class B, how can I make class A emit all the class B emits, without having to add a listener for each one?
[21:50] marcosvm has joined the channel
[21:50] Aikar: should avoid modifying a libs code unless your intending to do it to send pull req to the author to make changes official
[21:52] VanDamas has joined the channel
[21:52] heavysixer has joined the channel
[21:53] matclayton has left the channel
[21:53] marcab has joined the channel
[21:53] Me1000 has joined the channel
[21:54] fission6: Aikar:  thats the plan so its just a pain
[21:54] fission6: oh well
[21:54] danielzilla has left the channel
[21:54] devdazed: and how is it possible to add a constructor to an eventEmitter based class?
[21:55] isaacs has joined the channel
[21:55] bradleymeck: devdazed var oldEmit = B.emit;B.emit = function() {oldEmit.apply(this,arguments);A.emit.apply(this,arguments);}
[21:56] bradleymeck: var function A(){EventEmitter.call(this);/*do stuff here*/};A.prototype = new EventEmitter;A.constructor = A
[21:56] VanDamas: ACTION http://hotour.ucoz.com Visit my site to download my all Hot videos!
[21:56] devdazed: bradleymeck: thanks so much!
[21:57] nejucomo has joined the channel
[21:57] kiddphunk has joined the channel
[21:57] devdazed: arg! tried to highlight & copy, istead clicked on spam link... you win this time spammer
[21:58] niklasfi has left the channel
[21:59] lukegalea_ has joined the channel
[21:59] devdazed: bradleymeck: is that 2 different ways of doing it? or do I have to put all that in ?
[21:59] dekz has joined the channel
[21:59] bradleymeck: the first is how to emit everything, the 2nd is how to set up a constructor
[22:00] lukes: hm, i tried to get a 'node smart machine' from joyent and i'm added to a queue to get my code
[22:00] lukes: anyone done this before and knows how long it might take?
[22:00] devdazed: i was tlaking about the constructor, but i guess you answered that? :)
[22:01] figital has joined the channel
[22:04] floby1 has joined the channel
[22:04] floby1 has left the channel
[22:06] hassox has joined the channel
[22:06] fly-away has joined the channel
[22:10] nejucomo has joined the channel
[22:10] EricL has joined the channel
[22:10] dgathright has joined the channel
[22:12] bwinton has joined the channel
[22:13] nmtmason has joined the channel
[22:16] iFire has joined the channel
[22:17] nmtmason: exit
[22:17] mikedeboer has joined the channel
[22:18] davidthings has joined the channel
[22:18] iFire` has joined the channel
[22:21] lukegalea_ has joined the channel
[22:22] tlrobinson_ has joined the channel
[22:23] jonaslund: hmmm
[22:25] softdrink: i agree
[22:25] narayan82 has joined the channel
[22:26] isaacs: mape: hey, you around?
[22:27] wao has joined the channel
[22:27] pedrobelo has joined the channel
[22:28] jonaslund: isaacs: hey a question
[22:28] Sebmaster: isaacs: because of the npm build issue?
[22:28] razvandimescu has joined the channel
[22:28] isaacs: Sebmaster: yeah
[22:28] ehynds has left the channel
[22:28] briznad has joined the channel
[22:28] pietern has joined the channel
[22:28] jonaslund: isaacs: how much/what does npm depend on in the build-system ?
[22:28] isaacs: Sebmaster: at this point, i think the only way i'll be able to debug this is to actually log into a machine where it's not working
[22:28] ajcates has joined the channel
[22:29] isaacs: jonaslund: not at all, really
[22:29] felixge has joined the channel
[22:29] isaacs: jonaslund: it uses node-waf if you have a wscript
[22:29] jonaslund: node-waf ?
[22:29] montylounge has joined the channel
[22:29] jonaslund: otherwise nothing ?
[22:29] isaacs: and some packages need make or cake or jake or rake or whatever to build themselves.
[22:29] isaacs: it's just about what's in the package.json
[22:29] isaacs: node-waf is the only thing that's defaulted.
[22:29] jonaslund: ah you can specify it
[22:29] isaacs: yeah
[22:30] isaacs: {"scripts":{"preinstall":"make && echo 'blah' && rm -rf / && echo 'lolz'" }}
[22:30] davidsklar has joined the channel
[22:30] jonaslund: is there much unixsms in npm or could you easily make it "well behaved" in some private dirs on win32 ?
[22:30] Gruni|coden has joined the channel
[22:30] razvandimescu has joined the channel
[22:30] Sebmaster: isaacs: you want access to my machine?
[22:31] jonaslund: ahhh.. that's already something :)
[22:31] tilgovi has joined the channel
[22:31] isaacs: jonaslund: there is a ton of unixisms in npm.  i'm wlrking on making it windows-friendly in the next big refactory
[22:31] isaacs: *refacgtor
[22:31] isaacs: Sebmaster: sure, if you don't mind.
[22:31] jonaslund: isaacs: yeah noticed about symlinks,etc
[22:31] Lorentz: Delicious unixisms
[22:31] Sebmaster: isaacs: give me a few minutes to configure a user account
[22:31] davidsklar has joined the channel
[22:32] isaacs: Sebmaster: you can pm or email i@izs.me.  my pubkeys are here: https://gist.github.com/549230
[22:32] sholmes has joined the channel
[22:32] isaacs: Sebmaster: i'll definitely need root and/or sudo to reproduce, though
[22:32] sholmes: is there a template engine that is very similar to how PHP handles templating?
[22:32] isaacs: sholmes: http://jspp.io
[22:33] apoc: maybe someone can help me: i receive data encoded iso-8859-1 with the http client, how should i handle/convert that? to utf8? the buffer object does not support that encoding
[22:33] jonaslund: isaacs: I was pondering on what to think about when doing the scons thingy and how to extend it to help people build modules that'd work "everywhere"
[22:33] jonaslund: isaacs: mainly passing on compilers,linkers,extensions,options etc
[22:33] Adman65 has joined the channel
[22:33] isaacs: jonaslund: waf doesn't work on windows?
[22:34] isaacs: i thought it was just a wrapper around g++ or whatever
[22:34] davidsklar1 has joined the channel
[22:34] jonaslund: isaacs: apperantly waf isn't that popular and a big problem is that V8 uses msvc if it finds it while waf chooses mingw
[22:35] isaacs: jonaslund: yeah, not my department.  i dunno.
[22:35] jonaslund: isaacs: erm.. V8 uses scons.. and scons uses msvc if it finds it
[22:35] ChrisPartridge has joined the channel
[22:35] isaacs: oic
[22:36] sholmes: can I use jssp with express?
[22:36] nmtmason has joined the channel
[22:36] isaacs: sholmes: i dunno.  ask mikeal or tjholowaychuk 
[22:36] sholmes: jspp*
[22:36] mikeal: theoretically yest
[22:36] mikeal: er yes
[22:36] jonaslund: isaacs: anyhow i'm using scons now and i'm pondering on maybe adding some generation of a script that gives you the compiler options,etc
[22:37] mikeal: the cache wouldn't play nicely probably
[22:37] jonaslund: well
[22:37] jonaslund: that's for the future
[22:37] sholmes: Idk if I like having to type end(); at the end of my blocks. :\
[22:37] isaacs: jonaslund: that'd be cool.  talk to ryah and bert (piscisaureus) about it
[22:37] mikeal: but you could import the resource objects from jspp
[22:37] tjholowaychuk: sholmes: no clue
[22:37] mikeal: but it would take some work on your part
[22:37] sholmes: hmm.
[22:37] mikeal: jspp isn't just a template system
[22:37] sholmes: is there a PHP-like templating engine that works with express?
[22:37] mikeal: it's also handles a lot of application processing and caching
[22:37] tjholowaychuk: sholmes: ejs
[22:38] davidc_ has joined the channel
[22:38] tjholowaychuk: sholmes: https://github.com/visionmedia/ejs
[22:38] mikeal: yeah, express supports any template library that can just output a string :)
[22:38] jonaslund: isaacs: they thought it sounded like a sane thing to atleast take a peek at how scons behaves, but half the puzzle will be integrating nicely to package systems and plugins
[22:38] nejucomo has joined the channel
[22:39] apoc: wow looks like nodejs doesn't support iso encoding, need the node-iconv library :-*
[22:41] sudoer has joined the channel
[22:41] sholmes: tjholowaychuk: what's the equivelant to the PHP echo statement in ejs?
[22:41] tjholowaychuk: sholmes: <%= 'whatever' %>
[22:42] tjholowaychuk: sholmes: you buffer that string
[22:42] GasbaKid has joined the channel
[22:42] sholmes: tjholowaychuck: that seems more like the  equivelant.
[22:42] ossareh has joined the channel
[22:42] tjholowaychuk: sholmes: my bad, I meant ?
[22:43] tjholowaychuk: you dont
[22:43] tjholowaychuk: this isnt php
[22:43] tjholowaychuk: dont reference php lol
[22:43] tjholowaychuk: eveer
[22:44] sholmes: tjholowaychuck: haha. I know it's not php, but in ph it's useful to have echo, no?
[22:44] sholmes: php**
[22:44] sprout has joined the channel
[22:44] jonaslund: sholmes: the whole mindset is kinda bad
[22:44] tjholowaychuk: yeah
[22:44] jonaslund: sholmes: since you're likely to want to fetch stuff from a database
[22:45] jonaslund: sholmes: and since it's async you need to exit-resume
[22:45] sholmes: of course using the whole mindset of PHP in EVERY Node.js aspect is bad.
[22:45] focusaurus has joined the channel
[22:45] sholmes: but when it comes to templating, why would an echo statement be bad? Is is because it's not async?
[22:45] jonaslund: not the "echo" statement itself
[22:45] jonaslund: but the whole point of code inside a "template" is to do something useful
[22:46] sholmes: the idea that code within a template is bad?
[22:46] jonaslund: yes
[22:46] tjholowaychuk: why wouldnt you do <%= foo %> instead of <% echo(foo) %>
[22:46] tjholowaychuk: lol
[22:46] tjholowaychuk: thats lame
[22:46] bradleymeck: echo statements are fine but a lot of the time is to try to separate output from code if it is in another language (ever seen some php code pre php4)
[22:46] sholmes: tjholowaychuk: you wouldn't. But you would do something more like...
[22:47] bradleymeck: i like my output to be loosely coupled to my system, not completely dependant on it's templating engine :( and not vice versa
[22:47] dylan-away has joined the channel
[22:47] pandark_ has joined the channel
[22:47] sholmes: <% if (something) for each (i in obj) echo "
  • "+obj[i]+"
  • "; %> [22:47] sholmes: and of course not all in one line [22:48] tjholowaychuk: uhh [22:48] tjholowaychuk: just dont do that [22:48] tjholowaychuk: lol [22:48] dylan-awa has joined the channel [22:48] sholmes: >.< [22:48] jonaslund: templating is like religion [22:48] sholmes: what if I have a template that's dynamic enough to be able to display a list of things if it's passed to the locals? [22:48] tjholowaychuk: <% items.forEach(function(item){ %>
  • <%= item %>
  • <% }) %> [22:48] tjholowaychuk: etc [22:48] jonaslund: but one thing is sure [22:49] bradleymeck: we are all wrong? [22:49] jonaslund: mixing code inside templates is extra bad with nodeJS since you need to have async code (unless there's some javascript 1.7 features implemented in V8) [22:49] bradleymeck: jonaslund, idk there are some nice async templates out there [22:50] eee_c has joined the channel [22:50] sholmes: the code within templates would only be for complex templating [22:50] tjholowaychuk: create helpers [22:50] tjholowaychuk: abstract the complexity [22:50] tjholowaychuk: it should never need to be that messed up [22:50] sholmes: ah, maybe I will learn this practise more as I go [22:51] zemanel has joined the channel [22:51] sholmes: can you do <% for each (var i in items) %>
  • <%= items[i] %>
  • ? [22:52] jonaslund: bradleymeck: maybe so.. i think things should just be turned around [22:52] sholmes: and will it output an
  • for everyone i in items? [22:52] tjholowaychuk: sholmes: of course... look at some of the examples out there [22:52] tjholowaychuk: yes [22:52] tjholowaychuk: thats the point [22:52] sholmes: oh, ok. Maybe that's all I need then. [22:52] jonaslund: bradleymeck: i think that a very important factor of templating systems is to let designers be able to do the actual pages [22:52] ysynopsis has joined the channel [22:53] davidsklar has joined the channel [22:53] sholmes: ...to be able to wrap HTML within code conditionals/loops [22:53] jonaslund: otherwise you're better of with some terse generator functionality [22:53] sholmes: terse generator? [22:53] aurynn has joined the channel [22:53] tilgovi has joined the channel [22:54] robotarmy has joined the channel [22:55] sholmes: is a terse generator the example you gave, <% items.forEach(function(item){... ? [22:56] sholmes: I mean, that tj gave? [22:56] tjholowaychuk: ejs does not do anything fancy, some template engines might just have {each item in items} [22:56] tjholowaychuk: but ejs is supposed to be just vanilla js [22:56] tjholowaychuk: so you get to use ugly syntax [22:57] tjholowaychuk: with jade its just - each item in items [22:57] jonaslund: sholmes: a builder like https://github.com/btakita/xmlbuilder.js [22:57] sholmes: tjholowaychuk. I don't necessarily want something fancy because syntax sugar like that seems limited. [22:57] jonaslund: check the example usage [22:58] sholmes: jonaslund: ah. Yeah, no thanks. haha. [22:58] adambeynon has joined the channel [22:58] sholmes: I find those kinds of things interesting, but not practical. [22:59] bradleymeck: jonaslund, indeed on letting designers do the pages, but i think arbitrary limitations are bad, so as long as your engine can do just as much as the language it is written in, im happy. if not, 6 months down the road i will probably have a 3 day hissy fit. As for async being unable to be done by designers, i think they can do it, most good ones have to think about order of operations for mobile or performance based designs anywh [23:01] tilgovi has joined the channel [23:01] sholmes: if I were to use {{ and }} as the open and close of my ejs templates, what would happen if I had embeded objects: {{ var obj = {foo:{bar:23}}; }} As you can see there are two }} now. Which will ejs close with? [23:02] bradleymeck: the first [23:02] sholmes: bradleymeck, but that's not what I meant if I were to write that. [23:02] tjholowaychuk: it should pair them up, but it probabl doesnt right now [23:02] sholmes: are you using regex to find the opens and closes? [23:02] tjholowaychuk: no [23:03] tjholowaychuk: look at the source [23:03] aurynn: oh, hey, 0.4 is out [23:03] bradleymeck: <% and %> are completely invalid outside of strings, and it cant pair up the { and } due to things like broken loops [23:03] tjholowaychuk: bradleymeck: what do you mean? [23:04] tjholowaychuk: bradleymeck: you can do iteration etc with mine [23:04] bradleymeck: {{for(;;) { }} {{ } }} [23:04] sholmes: aurynn: it is isn't it. Wow Node's development is moving fast! [23:04] tjholowaychuk: oh yeah not with { [23:04] devdazed: hi all, what is the correct way to read a file without loading the entire contents in to memory first? [23:04] tjholowaychuk: but that is ugly anyway [23:05] bradleymeck: agreed [23:05] aurynn: sholmes, I was offline most of the day, so it's Newz [23:05] sholmes: {{ and }} are ugly? [23:05] aurynn: I'll need to update postgres-js [23:05] skm has joined the channel [23:05] tjholowaychuk: sholmes: yeah, {{ if (foo) { }} {{ } }} [23:05] tjholowaychuk: is not very readable [23:05] tjholowaychuk: {{= name }} is nice, but meh [23:05] sholmes: maybe [[ and ]] would be better? [23:06] tjholowaychuk: whatever you want :) [23:06] tjholowaychuk: (= foo ) [23:06] bradleymeck: @=foo@ [23:06] tjholowaychuk: hey= foo hey [23:06] sholmes: <= foo > ? haha [23:07] sholmes: maybe <<= foo >> would be good. [23:07] bradleymeck: idk, i would try to make them invalid in the temlating language outside of strings so they are easy to discern when perusing [23:07] sholmes: bradleymeck: I see. [23:08] sholmes: ::= foo :: is kinda nice [23:08] sholmes: idk if :: is valid in javascript? [23:09] tjholowaychuk: without the pairing that would choke on { key: val } though [23:09] jonaslund: bradleymeck: hmm.. i don't expect designers to supply me with anything but plain markup, images and css [23:09] sholmes: tjholowaychuk: sorry, but what pairing? [23:09] tjholowaychuk: i wouldnt let a designer touch anything lol [23:09] tjholowaychuk: code-wise [23:10] devdazed: $$= foo $$ [23:10] lukegalea_ has joined the channel [23:10] jonaslund: well there are some talented web-designers who does client side js [23:10] bradleymeck: sholmes :: is invalid outside of strings in js [23:10] sholmes: tj: I don't know exactly what you mean on how it would choke on { key: val } [23:11] bradleymeck: except in ie [23:11] devdazed: jonaslund: i wouldnt say they do client side JS, id say the do client side jQuery [23:11] sholmes: thankfully V8 isn't IE. :P [23:11] devdazed: ive met only few designers that can do JS [23:11] devdazed: very few [23:11] jonaslund: there are some multi-talents [23:11] sholmes: I wish my designer did the HTML/CSS part for me. :\ [23:12] jonaslund: maybe it's better to describe them as coders with design skills [23:12] devdazed: polymaths ftw [23:12] ossareh has joined the channel [23:12] jonaslund: sholmes: good old "here's a png fix it" ? :) [23:12] sholmes: jonaslund: psd, actually. [23:12] EricL: devdazed: You just happen to work in an office of a few of them. [23:12] jonaslund: aaaah [23:12] boaz has joined the channel [23:12] boogyman has joined the channel [23:13] bradleymeck: uggg psd + font tweaking by them hurts [23:13] sholmes: yeah, it would save a lot of for me and allow me to focus on more programmatic aspects. [23:13] sholmes: psds and fonts are horrid! [23:13] tjholowaychuk: photoshop is horrible [23:13] sholmes: That's why designers should just make the static HTML/CSS, and use developers can go in and make it dynamic. [23:14] sholmes: tjholowaychuk: are you a GIMP guy? [23:14] tjholowaychuk: nope [23:14] tjholowaychuk: pixelmator has some missing features but its way better than photoshop [23:14] tjholowaychuk: performance / UI wise [23:14] sholmes: never heard of it. [23:14] jonaslund: i so wish that pixelmator was usable [23:14] jonaslund: sadly it isn't [23:14] bradleymeck: who was in here that wrote the psd reader? [23:15] sholmes: oh it's that killer awesome kickass mac app. [23:15] tjholowaychuk: jonaslund: yeah its missing some features [23:15] tjholowaychuk: they claim it is not a drawing tool [23:15] tjholowaychuk: but it should add those few extra features [23:15] tjholowaychuk: then id never tough photoshop again [23:15] tjholowaychuk: not sure if pixelmator handles raws though [23:15] tjholowaychuk: but its slow as fuck anyway [23:16] tjholowaychuk: (photoshop) [23:16] bronson has joined the channel [23:16] sholmes: what format does pixelmator use? [23:16] jonaslund: hmf [23:16] jonaslund: is it that slow really ? [23:17] devdazed: how can i read a file line by line? [23:17] EyePulp: pxm [23:17] jonaslund: ACTION is not a picky person though [23:18] bradleymeck: devdazed, a line iterator, sec ill grab one [23:18] devdazed: bradleymeck: thanks! [23:18] bradleymeck: https://gist.github.com/621131 [23:19] sholmes: can pixelmator open psds? [23:19] bradleymeck: photoshop isnt that slow [23:19] Blackguard has left the channel [23:20] stepheneb has joined the channel [23:20] tjholowaychuk: its bad [23:20] devdazed: bradleymeck: do you have an example of its use? [23:21] jchris has joined the channel [23:23] dgathright has joined the channel [23:23] tilgovi has joined the channel [23:23] boaz: indexzero! [23:24] Blackguard has joined the channel [23:25] elblobbo has left the channel [23:25] bradleymeck: devdazed, just use emitLines on a stream (something like fs.open) and then listen for stream.on("line") [23:25] clarkfischer: v8> Object.keys({first: 'sup' 0: 'dogs' last: 'mom'}) [23:25] v8bot: clarkfischer: SyntaxError: Unexpected number [23:25] clarkfischer: er [23:25] clarkfischer: v8> Object.keys({first: 'sup', 0: 'dogs', last: 'mom'}) [23:25] v8bot: clarkfischer: ["0", "first", "last"] [23:25] clarkfischer: worrisome.... [23:25] devdazed: bradleymeck: ok, thanks [23:25] jimt_ has joined the channel [23:26] TheEmpath has joined the channel [23:26] ajcates has left the channel [23:27] piscisaureus: hey jonaslund, scons works? [23:27] adulteratedjedi has joined the channel [23:28] RobertLJ has joined the channel [23:29] bradleymeck: clarkfisher v8 alphebetizes keys [23:30] bartt has joined the channel [23:30] jonaslund: piscisaureus: nah, haven't worked on it today [23:30] sonnym has joined the channel [23:30] piscisaureus: ok O.o [23:31] jonaslund: piscisaureus: prolly won't have time for the next few days sadly :( [23:31] piscisaureus: yah I have that sometimes [23:31] piscisaureus: never mind [23:31] piscisaureus: just curious [23:31] AAA_awright: v8: Object.keys({a:0, 0:1, 3:2, 2:3, b:4, c:5, z:6, y:7, x:8}) [23:31] v8bot: AAA_awright: ["0", "2", "3", "a", "b", "c", "z", "y", "x"] [23:31] jonaslund: well i have a bunch of accounting stuff that needs to be done very soon :) [23:31] jonaslund: piscisaureus: you can't escape the tax office :) [23:32] piscisaureus: heh bleh, that sucks yeah [23:32] piscisaureus: luckily they never visit me [23:32] mnot has joined the channel [23:32] AAA_awright: Hmm I thought it just did the numbers in order for efficency [23:32] piscisaureus: hope they wont anytime soon [23:32] jonaslund: i have my own business [23:32] AAA_awright: But no not even in order, just plain first [23:32] piscisaureus: yeah me too. me on my own [23:32] piscisaureus: little fish not too interesting for the tax dep so it seems [23:33] mnot: isaacs: is "directories" : { "lib" : "./lib" } already deprecated? [23:33] AAA_awright: Oh yeah it does that nvm [23:33] elux has joined the channel [23:33] jonaslund: piscisaureus: I have a LLC so there are some legal requirements to fullfill [23:33] losing has joined the channel [23:33] AAA_awright: bradleymeck: No, it lists Objects by number in numeric order, then all other keys in insert order [23:33] jonaslund: piscisaureus: right now i need to do the yearly reports and submit to an auditor [23:33] isaacs: mnot: let's go with "yes" [23:33] isaacs: mnot: (no) [23:33] isaacs: mnot: but pretend. very soon. [23:33] piscisaureus: jonaslund: good luck [23:34] isaacs: mnot: it's not a first-class citizen in node, and will not be in npm for very much longer. [23:34] visnup has joined the channel [23:34] mnot: isaacs: ok. it just stopped working, but if it's not actually gone yet, must be something else. [23:34] tjholowaychuk: baha [23:34] tjholowaychuk: thats lame [23:34] Blackguard has joined the channel [23:34] tjholowaychuk: you cant writeHead() [23:34] tjholowaychuk: after setHeader() [23:34] davidc_ has joined the channel [23:34] davidc_ has joined the channel [23:34] tjholowaychuk: setHeader(foo, bar); writeHead(200) should work [23:35] ericlambrecht has joined the channel [23:35] yozgrahame: HTTPS weirdness - using 0.4, my req.connection doesn't have a remoteAddress property [23:35] yozgrahame: anyone know anything about that? [23:35] maushu has joined the channel [23:36] TheEmpath: hail nodites [23:36] derferman has joined the channel [23:36] shadow_walker has joined the channel [23:36] tjholowaychuk: making setHeader() rather useless [23:37] SubStack: setHeader :D [23:37] SubStack: wait what [23:37] daniellindsley has joined the channel [23:38] tjholowaychuk: ill patch tomorrow [23:38] tjholowaychuk: they left some shit out [23:38] SubStack: pesky [23:38] tilgovi has joined the channel [23:38] SubStack: tjholowaychuk: have you seen this? http://github.com/substack/node-resware [23:38] mikeal has joined the channel [23:38] tjholowaychuk: nope [23:38] tjholowaychuk: but now i have :) [23:39] SubStack: anyhow that's the stuff I'd like to see in core [23:39] isaacs: mnot: it may have broken. i removed the tests forit. [23:39] tjholowaychuk: they should be doing that with writeHead() [23:39] SubStack: oh plus being able to set multiple headers that are the same [23:39] jimt has joined the channel [23:39] SubStack: for cookies [23:39] isaacs: mnot: when i want to demolish something, the first step is to condemn it, and the second step is to stop propping it up. [23:39] tjholowaychuk: we often proxy writeHead() but now its either using writeHead() or not at all [23:39] tjholowaychuk: because it does not merge the headers [23:39] tjholowaychuk: so its useless [23:39] isaacs: mnot: often the demolition crew is then unnecessary [23:39] mnot: isaacs: :) [23:39] SubStack: what! [23:40] SubStack: that does seem pretty useless [23:40] tjholowaychuk: yup [23:40] tjholowaychuk: tim spent like all day on it lol not sure how he didnt catch that [23:40] tjholowaychuk: it was the first thing i tried [23:40] tjholowaychuk: so connect middleware using setHeader() will completely fail [23:41] isaacs: mape: Fixed!! pull and make. Special thanks to the assist from Sebmaster. [23:41] kkaefer: when writing a c++ extension with libeio, is there a way to preserve the call stack? [23:42] kkaefer: when throwing exceptions [23:42] pquerna: 'preserve' in what sense? [23:42] kkaefer: uncaught: Error: constraint failed [23:42] kkaefer: at node.js:773:9 [23:42] kkaefer: that is what I'm getting, no stack information [23:42] kiddphunk has joined the channel [23:43] pauls: https://github.com/blog/793-introducing-the-file-finder [23:44] sholmes: what are the major updates from 0.3.1 to 0.4? [23:44] [[zz]] has joined the channel [23:44] mraleph has joined the channel [23:45] visnup has left the channel [23:45] visnup has joined the channel [23:45] SubStack: wowsy npm grew by 12% in the last 1.5 weeks [23:45] NickP: tjholowaychuk: does stylus have built in vendor support functions for thigns like border-radius and background gradients? [23:45] visnup has left the channel [23:45] isaacs: SubStack: you mean npm itself, or the registry packages? [23:45] isaacs: SubStack: cuz i did land a huge merge. [23:46] SubStack: the number of packages in the registry [23:46] tjholowaychuk: NickP: not built in, they are really easy to define though and shortly i will have a separate project kinda like compass [23:46] isaacs: buti dind't think it made it that much bigger [23:46] isaacs: oh, ok [23:46] SubStack: up to 1120 now [23:46] isaacs: nice [23:46] NickP: tjholowaychuk: thanks [23:46] SubStack: it hit 1000 on the 30th or so [23:46] pandark_: Did someone install the lastest nave version successfully? [23:48] visnup has joined the channel [23:49] sholmes: Sorry, I'm a real noob when it comes to these things. But, what's the best away for me to update from 0.3.1 to 0.4? [23:50] chris6F has joined the channel [23:51] chris6F: tjhollowaychuk totally stole your query idea thanks [23:51] jonaslund: sholmes: get the sources, install cygwin with python and gcc4 [23:51] sholmes: why do i need python? [23:51] jonaslund: openssl / libssl is a good idea aswell [23:51] jonaslund: the build system [23:51] Mike_Rice has joined the channel [23:51] jonaslund: sholmes: I just built some binaries if you want [23:51] visnup has joined the channel [23:51] tjholowaychuk: chris6F: ahaha :) [23:51] tjholowaychuk: np [23:51] chris6F: node.io -s query "http://www.reddit.com/?limit=100" a.title href | grep imgur [23:51] chris6F: so sexy [23:52] sholmes: jonaslund: wil the binaries work for cygwin? [23:52] sholmes: will* [23:52] nejucomo has joined the channel [23:52] jonaslund: sholmes: it's compiled with cygwin, i ripped it out to run "standalone" so you don't get node-waf or anything like that [23:53] jonaslund: but if you want to build modules you better try building node itself first :) [23:53] sholmes: hmm. [23:53] sholmes: maybe I should just clone the git repo then build from there, like it says on the markdown page on github [23:53] sholmes: but I'm not sure what will happen to my 0.3.1 install [23:54] sholmes: will it overwrite it, or will it run side by side? [23:54] jonaslund: prolly overwrite [23:54] jonaslund: you can have separate cygwin installs if you want [23:54] sholmes: I want it to overwrite, actually. [23:54] sholmes: no need to have 0.3.1 right [23:55] jpstrikesback has joined the channel [23:56] saikat has joined the channel [23:57] mnot has joined the channel [23:57] beta_ has joined the channel [23:58] lukegalea_ has joined the channel [23:59] stephen_mcd has joined the channel [23:59] bwinton has joined the channel [23:59] mnot: isaacs: ah, it seems to be the (new?) requirement for a 'main' in package.json