[00:02] [[zz]] has joined the channel [00:03] copongcopong has joined the channel [00:07] mephux has joined the channel [00:13] copongcopong has left the channel [00:18] perlmonkey2 has joined the channel [00:19] boogyman has joined the channel [00:20] copongcopong has joined the channel [00:20] mikeal has joined the channel [00:20] olalonde has joined the channel [00:21] mdaisuke has joined the channel [00:21] olalonde: mm [00:25] TooTallNate has joined the channel [00:26] ryanfitz has joined the channel [00:27] TooTallNate: quiet room right now... [00:27] jtsnow has joined the channel [00:27] echosystm has joined the channel [00:27] kmiyashiro has joined the channel [00:27] echosystm: what testing framework are most folks using these days? [00:27] aberry has joined the channel [00:28] tbranyen: echosystm: i've been using nodeunit and liking it [00:28] catshirt has joined the channel [00:28] tjholowaychuk: echosystm: nodeunit = slow/easy, expresso = sometimes annoying/fast, vows = pretty [00:28] tjholowaychuk: pretty/verbose [00:30] newy_ has joined the channel [00:30] tbranyen: tjholowaychuk: slow? i must not be writing many assertions [00:30] tjholowaychuk: well for async stuff since it's serial [00:31] tjholowaychuk: makes it easier to use though for some cases [00:31] tbranyen: well it doesn't have to be, you'd just have to keep track of when all assertions have ran and then call test.done [00:31] tjholowaychuk: although expresso has --serial [00:31] tjholowaychuk: yeah [00:32] tjholowaychuk: but one test is executed at a time [00:32] tjholowaychuk: expresso (by default) executes them all [00:32] tbranyen: oh i see what you're saying [00:32] tjholowaychuk: in one shot [00:32] tjholowaychuk: like my express tests of < 1 second [00:32] tjholowaychuk: would go up to probably 6 or 7 seconds [00:32] tjholowaychuk: at least [00:32] tjholowaychuk: probably more [00:32] tbranyen: write less tests problem solved [00:33] tbranyen: well tested code just makes you feel safe and thats when the real trouble starts [00:34] tjholowaychuk: yup [00:34] tjholowaychuk: IMO unit tests [00:34] tjholowaychuk: are the only important ones [00:34] Aria: Yeah. Maybe some casual integration tests. [00:36] Swimming_bird has joined the channel [00:36] echosystm: has anyone ever thought of setting up a combined package and documentation repository, like CPAN ? [00:36] Aria: I keep toying with it, but have no time to devote to it. [00:36] echosystm: having documentation and packages separate a'la rubygems is kinda lame [00:37] brownies has joined the channel [00:37] pyrotechnick has joined the channel [00:37] pyrotechnick: anyone know how to get global modules to use bundled dependencies? [00:40] postwait has joined the channel [00:40] willwhite has joined the channel [00:40] chrislorenz has joined the channel [00:43] baudehlo has joined the channel [00:44] olalonde: where can I find the latest Node.js development roadmap? [00:45] echosystm: where does npm put executables? [00:46] echosystm: ie. i just npm install vows, but i'm not sure what to add to my path so that the "vows" command is available [00:46] Aria: npm install -g vows [00:46] Aria: You want to install globally to have a globally-available command. [00:46] Aria: npm is weird. In a good way. [00:47] echosystm: what did i just do? [00:47] Aria: Installed the package where the system sees it, not just the current module. [00:47] Aria: without -g, it installs it 'here', the cwd (or parent module) [00:47] Aria: look for node_modules [00:47] echosystm: i see [00:48] echosystm: has it always been that way? [00:48] Aria: Since 1.0 [00:48] neoesque has joined the channel [00:48] echosystm: right [00:48] Aria: Not prior. [00:48] Aria: npm solves the "how do you play nice with 'the system'" problem by working locally by default. [00:48] Aria: I think that's very sane. It also ends up replacing a sort of hackish 'bundle' system [00:48] tilgovi has joined the channel [00:49] tmzt has joined the channel [00:53] postwait: Aria: where does npm -g install it? [00:54] Aria: Well, "alongside node" is the simple answer. [00:54] postwait: in the configured node lib directory? [00:55] Aria: Yeah, and the bin directory where node is [00:55] jacter has joined the channel [00:56] bartt has joined the channel [00:57] olalonde: most answers to the new npm system can be found here: http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation/ [00:57] Silly_Wabbit has joined the channel [00:58] ryanfitz has joined the channel [00:59] tbranyen: olalonde: +1 to that link didn't even know that was posted [00:59] deedubs has joined the channel [01:01] ryanfitz_ has joined the channel [01:02] tilgovi has joined the channel [01:03] poincare101 has joined the channel [01:04] poincare101: Hello everyone. I was wondering if you guys wanted to wrap wxwidgets support for node.js to write desktop apps, I really want to use node.js more than python and ruby, and its the only thing that lacking. I asked RY and he said its a good idea. [01:05] tilgovi: poincare101: do it :) that'd be cool. [01:06] rfay has joined the channel [01:06] mw has joined the channel [01:07] mikeal has joined the channel [01:07] poincare101: tilgovi: done. Setting up github repo :D [01:07] wdperson has joined the channel [01:07] davidwalsh_ has joined the channel [01:08] jtsnow has joined the channel [01:10] kmwallio has joined the channel [01:11] cerisier has joined the channel [01:12] jtsnow has joined the channel [01:12] echosystm: how can you assert equality of buffers? [01:12] echosystm: deepequal doesnt seem to work [01:12] echosystm: AssertionError: deepEqual [01:13] tbranyen: echosystm: calling toString won't work for you? [01:13] tbranyen: buffer1.toString() === buffer2.toString() [01:14] echosystm: thats a bit messy [01:14] tbranyen: is it? [01:14] tbranyen: only way to get them to a primative form suitable for comparing [01:15] jhurlima0: what about writing your own equality comparison for Buffer (check length first, then for loop) [01:16] tilgovi: ACTION resists the temptation to rant about the absence of operator overloading or OO equality methods in js [01:16] tilgovi: ACTION and god forbid you wish to make your own iterable [01:16] sridatta has joined the channel [01:16] AddZero has joined the channel [01:18] sridatta: hey all. what are your thoughts on these benchmarks? http://www.ostinelli.net/a-comparison-between-misultin-mochiweb-cowboy-nodejs-and-tornadoweb/ [01:18] sridatta: I'm trying to figure out what the bottleneck could be that causes node.js to cap out at ~3.5K responses/second [01:18] quackslike: sridatta: is that slow? [01:19] ASY has joined the channel [01:19] quackslike: slow/too few [01:19] sridatta: it's not slow. I'm just thinking/trying to understand the internals [01:19] newy_ has joined the channel [01:20] avalanche123 has joined the channel [01:21] olalonde: probably the V8 engine? [01:21] zentoooo has joined the channel [01:22] poincare101: Hey, if anyone wants to contribute, I'm starting a node fork to get wxwidgets wrapped right here: https://github.com/Poincare/node [01:22] jhurlima0: olalonde, i wouldn't bet on it. that benchmark uses a negligible amount of user-written javascript, and once V8 has JITed and tuned all of the hot methods it mostly stays out of the way except for garbage collection (which shouldn't be an issue in the test that was ran) [01:23] TroyMG_ has joined the channel [01:23] sridatta: perhaps it is an OS level issue with epoll or the unix process message queue? [01:24] jhurlima0: and there isn't enough interesting work going on in the tests to start comparing node.js cooperative threading with erlang pre-emptible threading, so i would place my first bet on the socket handling in node.js [01:25] jhurlima0: socket handling or event loop handling [01:25] gnumarcelo has joined the channel [01:26] aphelion has joined the channel [01:26] chapel: poincare101: why fork node to do wxwidgets? [01:26] chapel: couldn't that be done as an addon? [01:26] olalonde: right, I don't see why it couldn't be a native extension [01:27] jhurlima0: but those tests would need to be re-run and more data collected. you'd want to know what the response time variance was, what the event queue internals looked like when response times started exceeding five seconds, etc [01:28] abraxas has joined the channel [01:28] chapel: jhurliman sridatta ryah and one of the chrome guys (don't remember his name maralph or something) were talking about the issue from the benchmark [01:28] mikeal has joined the channel [01:28] jhurliman: ah, i missed that [01:28] chapel: mralph I think [01:28] chapel: bah, hes not in here [01:29] chapel: anyways [01:29] tim_smart: poincare101: Me and some others started GTK bindings. You could follow a similar convention [01:29] mikegerwitz: mraleph [01:29] killfill has joined the channel [01:29] azeroth__ has joined the channel [01:29] chapel: chrome guy figured 20-30% performance boost could be had from throttling the incomming connections [01:29] chapel: thanks mikegerwitz [01:30] jhurliman: i think i caught the tail end of that conversation. someone was proposing a limit on the number of outstanding accept()'s [01:30] chapel: ryah: I have an interesting observation for you about that infamous and sad comparison with erlang. If I throttle accept (i.e. accept return after 50 accepted connections from https://github.com/joyent/node/blob/master/lib/net.js#L907 then response rate seems to improve by 20-30% and number of errors drops. [01:30] olalonde: poincare101: check out http://syskall.com/how-to-write-your-own-native-nodejs-extension & https://www.cloudkick.com/blog/2010/aug/23/writing-nodejs-native-extensions/ [01:31] astropirate has joined the channel [01:32] sridatta: chapel: interesting. perhaps I'll fork, implement and run a similar benchmark [01:33] chapel: https://gist.github.com/975717 << full conversation [01:33] saschagehlich has joined the channel [01:33] chapel: kind of [01:33] chapel: sridatta: as you can see baudehlo proposed a patch as well [01:34] sridatta: oh cool [01:34] chapel: anyways [01:34] chapel: ACTION is afk [01:35] springmeyer_ has joined the channel [01:35] jhurliman: chapel, thanks for the paste [01:39] ryah has joined the channel [01:39] jacter1 has joined the channel [01:41] jhurliman: i'll look through a few papers/RFCs if i have time this evening to try and find a useful algorithm for rate limiting accept()s [01:41] k1ttty has joined the channel [01:41] philtor has joined the channel [01:42] mynyml has joined the channel [01:43] dguttman has joined the channel [01:44] jhurliman: i'd be curious how nginx or other servers deal with the same issue [01:45] Insanity5902 has joined the channel [01:45] ChrisPartridge: jhurliman: nginx uses zones to rate limit [01:45] bayashi has left the channel [01:46] c4milo has joined the channel [01:48] springmeyer has joined the channel [01:51] dguttman_ has joined the channel [01:52] ngs has joined the channel [01:54] tmzt has joined the channel [01:54] Votaguz has joined the channel [02:01] Mrfloyd has joined the channel [02:02] fr0stbyte has joined the channel [02:03] eyesUnclouded has joined the channel [02:05] eyesUnclouded has joined the channel [02:05] ryanfitz has joined the channel [02:07] reiddraper has joined the channel [02:07] mikeal has joined the channel [02:07] tilgovi has joined the channel [02:07] tilgovi has joined the channel [02:07] reiddraper: is there a "connect" middleware channel? [02:09] dyer has joined the channel [02:09] dyer has joined the channel [02:12] chalaschek has joined the channel [02:12] Yuffster has joined the channel [02:14] fr0stbyte has joined the channel [02:14] fr0stbyte has joined the channel [02:15] marknel has joined the channel [02:16] harth has joined the channel [02:17] JackeyChan has joined the channel [02:19] jakehow has joined the channel [02:20] skeevis has joined the channel [02:20] JackeyChan: what's the good test tools for nodejs ? [02:21] tmzt has joined the channel [02:21] deedubs: JackeyChan: nodeunit, vows [02:21] JackeyChan: deedubs: thanks [02:22] jacter has joined the channel [02:23] sub_pop has joined the channel [02:25] dcampano_ has joined the channel [02:26] fr0stbyte has joined the channel [02:26] tim_smart: JackeyChan: I use node-microtest :) [02:26] chalaschek_ has joined the channel [02:26] exstrudel has joined the channel [02:26] tim_smart: Caution, only use if you are somewhat serious about TDD [02:26] willwhite has joined the channel [02:27] sonnym1 has joined the channel [02:28] perlmonkey2 has joined the channel [02:30] wookiehangover has joined the channel [02:31] nadirvardar has joined the channel [02:32] febits has joined the channel [02:34] azeroth__ has joined the channel [02:35] quackslike: reiddraper: no, i dont think there is.. [02:36] reiddraper: quackslike: thanks. I'm wondering if anyone has done websocket stuff as a connect middleware layer [02:37] Skippy_AU has joined the channel [02:38] jacter has joined the channel [02:38] Skippy_AU: Can nodeJS be used to build full websites on? like if php etc? [02:39] sridatta: Skippy_AU: yes, absolutely. check out web frameworks for node.js like Express [02:40] a|i: so it is not possible to store socket.io clients in redis? [02:40] a|i: (why not?) [02:40] a|i: cannot we just store socket sessionid into redis? [02:41] tk has joined the channel [02:41] jacter has joined the channel [02:42] olalonde: Skippy_AU: yep, with a steeper learning curve though [02:43] Skippy_AU: is there any benifits in going down this root? [02:43] brownies has joined the channel [02:44] chjj: Skippy_AU: to using node.js over php...? [02:44] Skippy_AU: yes [02:44] chjj: ...i dont think i can list them all [02:45] chjj: youll have to be more specific, what are you looking for exactly? [02:45] Skippy_AU: So there is benifits [02:45] dguttman has joined the channel [02:45] olalonde: there's the clear benefit of using the same language on the server and client [02:45] chjj: ill put it this way: there is nothing you can do with php that you cant do with node.js, but there are several things you can do with node.js that you cant do with php [02:46] neoesque has joined the channel [02:46] Skippy_AU: Well i am looking at making something small to start with like a user login system but so far have found 0 info on doing that with nodejs [02:46] chjj: if you want to get up and running, start with a framework, like express [02:46] zivester has joined the channel [02:47] chjj: however [02:47] chjj: i do recommend learning the lower level api first [02:47] olalonde: If you're new to building web apps, I'd recommend you stick with PHP for now. The documentation/support for Node.js is still lacking if you can't do a lot of work by yourself [02:48] rfay has joined the channel [02:48] chjj: i dont know if thats particularly good advice, php doesnt promote a very good understanding of http [02:49] puffpio has joined the channel [02:50] olalonde: Well, that's the point. When you learn programming, you don't want to jump right in assembly or system calls [02:51] Skippy_AU: I have had a small look at the nodejs docs and googlef around. say to make a baisc auth system how would that be done on nodejs? i did read something saying you make the client side JS make a cookie and then somehow make the nodejs make sure the cookie is set and the into is in a database etc. [02:51] chjj: since when does node.js === assembly? [02:51] olalonde: but if you really want to learn lots of stuff, Node.js is probably a good idea then :) [02:51] chjj: Skippy_AU: a session system [02:51] olalonde: I was making a parallel with high level languages / assembly [02:52] chjj: Skippy_AU: for example, express/connect comes bundled with a session middleware, you have to pick a session store though [02:52] olalonde: meaning that Node.js might be a bit too complicated for a novice right now [02:52] Skippy_AU: okay with php for securty you would have to regen the session would that have to be done with node as well? [02:53] CIA-90: node: 03koichik 07master * rd4f82ea 10/ (lib/dns.js test/simple/test-c-ares.js): [02:53] CIA-90: node: Fix dns.resolve() with 'PTR' throws Error: Unknown type "PTR" [02:53] CIA-90: node: Fixes #1038 - http://bit.ly/kaBJR4 [02:53] CIA-90: node: Conflicts: [02:53] CIA-90: node: src/node_crypto.cc - http://bit.ly/iw4izj [02:53] chjj: the security measures like hmacs and what not are taken care of for you in most session middlewares for node [02:56] zkday has joined the channel [02:56] chjj: Skippy_AU: just go with whatever youre comfortable with i guess, node may not be comfortable for you, but i do highly recommend it over anything else [02:58] Skippy_AU: I think my best bet would be to keep using php and learn nodejs from the ground up. can you recommand me any good sites? [02:58] olalonde: yes, just learn it from the ground up and start using it on side projects when you it's a good fit [02:58] ChrisPartridge: Skippy_AU: howtonode.org dailyjs.com and the wiki on the node gh page, http://github.com/joyent/node [02:58] brownies has left the channel [02:58] brownies has joined the channel [02:59] olalonde: Skippy_AU: also, always check the date of articles you read. a lot of stuff out there might be already obsolete [02:59] chjj: yes, dailyjs has a tutorial for how to make a web app: http://dailyjs.com/2011/05/02/node-tutorial-23/ [03:00] olalonde: Skippy_AU: also http://nodebeginner.org/ [03:00] chjj: (that part because it lists all the previous tutorials) [03:01] chjj: http://www.google.com/search?q=site:dailyjs.com+node+tutorial [03:01] seivan has joined the channel [03:01] olalonde: Skippy_AU: also, you might want to use Linux if you don't already [03:01] zkday: where the free host for test nodejs. [03:01] Skippy_AU: Thank you all for the links. [03:02] Skippy_AU: yes i have a linux server in my computer room. an old DELL 1U really need to upgrade it one day [03:04] brweber2 has joined the channel [03:05] zivester has joined the channel [03:06] jesusabdullah: SubStack: I just found my copy of Dietel's C++ How To Program. Should I a) Keep it; b) Sell it; c) Give it to the literacy council; d) Kill it with fire ? [03:06] bingomanatee has joined the channel [03:07] bingomanatee: Hey Nodelings [03:07] jesusabdullah: Anybody else with an opinion, feel free to join in!= [03:07] bingomanatee: I am presenting in the southbay on the 24th http://www.meetup.com/GreaterSanFranciscoBayApacheLAMP/ [03:07] bingomanatee: anyone want to come and show? [03:07] bingomanatee: I can provide the ride [03:07] halfhalo: I'm always a fan of d. [03:07] olalonde: zkday: you can test it on your own computer ;) otherwise you can grab a free EC2 Micro Instance http://aws.amazon.com/free/ [03:07] Emmanuel__ has joined the channel [03:08] temp01 has joined the channel [03:09] chjj: i still cant figure out what the catch is with that ec2 promotional [03:09] chjj: i know there is one ;) [03:09] halfhalo: Amazon owns your soul [03:09] chjj: i tried reading about them, but it was just a salad of buzz words [03:09] olalonde: there is actually. I think you have to watch for your usage yourself otherwise you get billed [03:10] chjj: it was like "super map reduce web scale scale scale scale free ec2 aws 100000" [03:10] chjj: and my brain just filters out buzz word salads [03:11] chjj: ACTION needs more web scale [03:11] olalonde: http://mhlakhani.com/blog/2011/01/hidden-charges-aws-free-tier/ [03:11] sechrist: fuck yeah jsbbq [03:11] olalonde: lol [03:12] JackeyChan has joined the channel [03:14] trcarden has joined the channel [03:16] ChrisPartridge: olalonde: those 1c bills will getcha ;-) [03:16] chrislorenz has joined the channel [03:18] halfhalo: Think of all the starving children that cent could feed! [03:19] SubStack: jesusabdullah: oh gods, the dietel books are worse than useless [03:19] bingomanatee: Hey SubStack - feel like rolling out Browserling to the south bay? [03:19] bingomanatee: or dnode? [03:19] olalonde: are those the purple books? [03:20] SubStack: rolling out wha? [03:20] bingomanatee: http://www.meetup.com/GreaterSanFranciscoBayApacheLAMP/ I have a preso to the south bay AJAX group [03:21] sechrist has joined the channel [03:23] zivester has joined the channel [03:23] mw has joined the channel [03:23] mw has joined the channel [03:24] b_ruce has joined the channel [03:25] b_ruce: Hi, anyone around? [03:26] ezl has joined the channel [03:29] z8000 has joined the channel [03:31] z8000: I recall on the mailing list a while back a bunch of people trying to see how many concurrent tcp/ip connections they could get on a single node.js server ... is there any sample stress test code out there? how many stable+active connections have you achieved? [03:32] mikeal has joined the channel [03:32] zenserve has joined the channel [03:33] chapel: z8000: I think felixge ran a test where he got a ton of open connections on one process [03:34] mjr_: z8000: you can open more than you can use, for sure [03:34] z8000: yeah :) [03:34] mjr_: I've had 64K connections open. [03:34] mjr_: It works. [03:34] z8000: mjr_: nice; were they mostly idle? [03:34] mjr_: But 64K connections into a single process, how much meaningful work can you do with that? [03:34] mjr_: Yeah, just sending a keepalive message every 60 seconds. [03:35] z8000: mjr_: if I'm mostly offloading work to be done elsewhere it's quite useful really [03:35] zentooo has joined the channel [03:35] z8000: do you happen to recall what the memory usage was for 64K connections? depends on how you setup tcp_rmem/wmem on Linux and such I know but ... [03:36] z8000: 200 MB or 2 GB? [03:36] mjr_: 200MB [03:36] z8000: right on; thanks [03:36] mjr_: Actually, more like 300MB. [03:36] tshpaper has joined the channel [03:36] indutny has joined the channel [03:36] chapel: [12:03] felixge: Wow, just did a little playing and found that node can allocate 1.6 million concurrent http server request objects on a single socket before out of memory. 1.53kb / connection. Wow : ) [03:37] chapel: [12:03] felixge: 1.53kb / request [03:37] mjr_: But yeah, that's the basic shape of things. These were HTTP connections too, which is pretty cool. [03:37] z8000: just wanted to get the order of magnitude; that works. thanks much [03:37] chapel: funny, how I remembered who said it [03:37] chapel: bingomanatee: how is your irc search thing going? [03:38] copongcopong has joined the channel [03:38] temp01 has joined the channel [03:39] ryah: file descriptors is great object oriented programming [03:40] zentooo has joined the channel [03:40] chapel: ryah++ [03:40] v8bot: chapel has given a beer to ryah. ryah now has 2 beers. [03:40] ryah: chapel: but i already have a beer [03:40] ryah: ACTION double fists for a bit [03:40] chapel: :) [03:40] pyrotechnick: pipe down [03:41] chapel: next nodeconf, I will be buying ryah a beer or two [03:41] zentooo has joined the channel [03:42] flippyhead has joined the channel [03:43] jesusabdullah: SubStack: Okay, so should I give it to the literacy council or kill it with fire? XD [03:43] tmzt has joined the channel [03:43] zakabird has joined the channel [03:45] olalonde: ryah: splice() or delete ? :) [03:45] olalonde: ACTION is watching http://ontwik.com/javascript/introduction-to-node-js-with-ryan-dahl/ [03:45] sechrist: I wonder why Stylus doesn't do any inheritance [03:46] mikeal has joined the channel [03:47] mbrevoort has joined the channel [03:47] ryah: v8: a = [1,2,3]; delete a[1]; a.length [03:47] v8bot: ryah: 3 [03:47] ryah: splice [03:48] ryah: ^-- figured that out after that talk [03:48] olalonde: ok :) [03:48] chapel: v8: a = [1,2,3]; delete a[1]; a[1]; [03:48] v8bot: chapel: undefined [03:48] chapel: :) [03:48] chapel: v8: a = [1,2,3]; delete a[1]; a; [03:48] v8bot: chapel: [1,3] [03:49] tbranyen: chapel: yeah but the array magic is lost :( [03:49] chapel: I know [03:49] tbranyen: length is a special load of butthurt [03:49] chapel: its simulated length [03:49] tbranyen: especially in teh client side world [03:49] chapel: just like args [03:49] olalonde: kind of weird behaviour [03:49] guybrush: haha, what do i do when i want to install module "x" with npm if there is a directory/file named "x" in pwd? [03:50] chapel: in pwd/node_modules ? [03:50] guybrush: na [03:50] guybrush: private working dir [03:50] ryah: don't use delete [03:50] guybrush: i want to install "x" in the current directory, which contains the file ./x [03:50] ryah: that's the trick [03:50] ryah: it should be removed from the language entirely [03:51] ryah: i think v8 just ignores it? [03:51] chapel: v8: a = [1,2,3]; a.splice(1, 1); a.length; [03:51] v8bot: chapel: 2 [03:51] ryah: well - it can't ignroe it [03:51] tbranyen: ryah: delete removes properties from objects [03:51] ryah: but i don't think it helps the gc [03:51] tbranyen: it does more than just assign undefined [03:51] olalonde: http://stackoverflow.com/questions/500606/javascript-array-delete-elements [03:51] ryah: *shrug* [03:51] ryah: do you really need that? [03:52] ryah: i guess so... [03:52] chapel: v8: a = {1: 1, 2: 2, 3: 3}; delete a[2]; a.length; [03:52] v8bot: chapel: undefined [03:52] tbranyen: well they would technically remain on the object as defined to undefined [03:52] chapel: hrm, /me dumb [03:52] tk has joined the channel [03:52] tbranyen: delete would remove them completely from things like JSON.stringify and console.dir or log [03:52] tbranyen: or atleast it should... [03:53] markbao has joined the channel [03:53] tbranyen: ryah: http://sharefilewith.me/u/6ffdff.png [03:53] tbranyen: is the best way to show the diff [03:53] tbranyen: at least the best way i knwo of [03:55] copongcopong has joined the channel [03:55] jtsnow has joined the channel [03:55] sleeplessinc has joined the channel [03:57] rchavik has joined the channel [03:57] Tidwell has joined the channel [03:58] bene has joined the channel [04:01] _Ecce_ has joined the channel [04:02] olalonde: http://www.youtube.com/watch?v=jo_B4LTHi3I&feature=player_embedded#t=2111s dumb question here: can the 2 socket callbacks run concurrently? [04:02] sor3nsen has joined the channel [04:03] chjj: olalonde: what do you mean? (cant watch the video, no headphones) [04:03] aaronblohowiak has joined the channel [04:04] temp01 has joined the channel [04:05] olalonde: socket.on('data', function() { /* A */ }); socket.on('end', function() { /* B */ }); can A and B execute concurrently [04:05] olalonde: I'm still trying to get my head around the event loop [04:05] aaronblohowiak: olalonde: there is no such thing as concurrent. [04:05] aaronblohowiak: olalonde: well, not thatyou have to worry about =) [04:06] chjj: in node, two things cant happen at the same time [04:06] chjj: its only A then B [04:06] chjj: not A and B [04:07] olalonde: ok cool [04:07] aaronblohowiak: olalonde: imagine that there is a while(true){} loop that all of your code runs inside of. and inside of that, it checks an array of functionsToExecute. if that array is not empty, then pop() the function and call it [04:07] chjj: thats the point of node actually, you dont have to deal with all the confusion "A and B" would bring into the picture [04:07] olalonde: so let's say A loops: for(var i = 0; i < global_var; i++) {} and B modifies global_var, there's no risk that it will modify it while A is looping right [04:08] tbranyen: holy god damn npm is fast now [04:08] chjj: no, theres no risk, unless something asynchronous is being called from *within* that for loop [04:08] chjj: but a normal for loop is blocking, its synchronous [04:08] olalonde: aaronblohowiak: ok cool. [04:08] chjj: *nothing* else will be happening while that for loop is iterating [04:09] chapel: not entirely true [04:09] chjj: ? [04:09] olalonde: so it might affect the loop if I have an async call in the loop right? [04:10] tbranyen: olalonde: most definitely [04:10] chapel: v8: console.log('start'); for (var i = 0; i < 1000; i++) { if (i === 998) {console.log('loop end'); } console.log('end'); [04:10] v8bot: chapel: SyntaxError: Unexpected end of input [04:10] olalonde: like a filesystem call [04:10] chapel: typing in irc is odd [04:10] tbranyen: olalonde: the way i've been thinking about async lookups in a loop is that you might be more interested in emitting events [04:10] chjj: well, whatever async thing you call within the loop will not be executed right away, the loop will iterate, finish, and then the fs call might be executed [04:10] tbranyen: rather than iterations [04:11] tbranyen: chjj: why wouldn't they get executed? the app won't terminate until everything is complete [04:11] chjj: ? [04:11] chjj: why dont fs callbacks get executed instantly? is that what youre asking me? [04:12] tbranyen: no... [04:12] tbranyen: just curious why you said 'might' [04:12] chjj: well there is some more code after the for loop, it might not be executed then [04:12] chjj: because the code after would have to finish executing [04:13] superjudge has joined the channel [04:13] olalonde: chjj: ah I think I get it. [04:13] chjj: i meant to say, once all the sync code is done executing, then your whatever fs callback can be executed [04:13] danfo has joined the channel [04:15] chjj: but say you have 100 lines of code after the for loop that makes a bunch of fs.readFile calls, those fs.readFile callbacks will not be executed until the 100 lines are done, ever [04:16] mike5w3c has joined the channel [04:16] chjj: so if you do: setTimeout(function() { console.log('hello'); }, 1); for (var i = 0xffffffff; i--;); [04:17] beldur has joined the channel [04:17] chjj: that settimeout will not execute 1ms later [04:17] chjj: because that giant for loop has to be executed first [04:17] k1ttty has joined the channel [04:19] azeroth__ has joined the channel [04:19] dyer has joined the channel [04:20] niftylettuce has joined the channel [04:20] olalonde: var max = 10; for (var i = 0; i <= max; i++) { setTimeout(function() { console.log(max); }, 1000); } max = "oops"; [04:21] olalonde: but I guess this is expected behavior anyway :) [04:21] temp01 has joined the channel [04:21] chjj: well, you should see all of those in the console saying, "oops", at roughly the same time [04:21] chjj: thats whats to be expected [04:22] harth: SubStack: I can't figure out what opts to pass browserify.bundle() for my package. [04:22] harth: All my code is in ./lib [04:22] harth: I have a main that I want to export on `require("mypkg")` [04:23] harth: and deps in node_modules, but I only want to bundle one of them [04:23] Maximosis has joined the channel [04:25] chrislorenz has joined the channel [04:29] jacter1 has joined the channel [04:30] sechrist: Are there any modules to make it super simple to do a multi-part post? [04:30] sechrist: for file uploads [04:30] chapel: lol [04:31] chapel: sechrist: felixge is working on one [04:31] chapel: he doesn't have it pushed to the repo yet [04:31] sechrist: I love formidable [04:31] sechrist: a sister lib would be nice [04:31] sub_pop has joined the channel [04:31] chapel: not formidable, for posting, not receiving [04:31] sechrist: yea [04:31] sechrist: I mean he also wrote formidable [04:31] chapel: https://github.com/felixge/form-data [04:31] sechrist: it'd be nice to have it all from the same place [04:31] chapel: yeah [04:31] chapel: oh [04:31] chapel: thats urlencoded [04:31] chapel: not multipart [04:32] chapel: hmm [04:32] naniya has joined the channel [04:33] Torkn2U has joined the channel [04:33] Corren has joined the channel [04:34] sechrist: yep hmm I don't see one [04:34] jbpros has joined the channel [04:35] chjj: wouldnt be that hard to write one [04:36] chjj: if you wanted to send a single file as multipart/form-data you could do it in a couple lines actually, thanks to .pipe [04:38] Viriix has joined the channel [04:38] chjj: req.setHeader('Content-Type', 'etc; boundary='+key); req.write(key+'\r\nContent-Disposition: name="my_file"\r\n\r\n'); readStream.pipe(req, { end: false }); readStream.on('end', function() { req.write('\r\n--' + key + '--'); [04:38] mscdex: eh? [04:38] chjj: something like that would do [04:38] mscdex: lolwut [04:39] chjj: to make a multipart request [04:39] chjj: ! [04:39] chjj: for a single file [04:39] mscdex: i thought there was a multipart request library somewhere [04:39] mscdex: not formidable [04:39] chjj: well formidable isnt for multipart requests [04:39] chjj: i mean, making them [04:40] chjj: im just saying, with the api node gives you, its trivial to make a multipart request [04:40] mscdex: i know [04:40] mscdex: i just meant, i wasn't confusing with formidable ;) [04:40] chjj: ah [04:40] newy_ has joined the channel [04:41] sleeplessinc has joined the channel [04:43] Aria: felixge just made a library for doing multipart requests. [04:43] chjj: oh, cool [04:44] kmiyashiro: how do you make multipart requests? [04:44] chjj: kmiyashiro: see above [04:44] sechrist: Aria: where? [04:44] chjj: i forgot the two dashes before the first mention of `key` in the body though [04:45] zermet has joined the channel [04:45] zermet: $10 dollar obey survey http://www.surveymonkey.com/s/7FYJH3F sh [04:45] Aria: https://github.com/felixge/form-data I believe [04:45] towski has joined the channel [04:46] zermet has left the channel [04:46] Aria: He was talking about it on Twitter this morning [04:46] nexxy: "I believe aliens are gods" rofl [04:47] nexxy: it's like this survey is specifically for me! [04:47] mscdex: orly [04:47] nexxy: mhmm [04:47] nexxy: bitches don't know about my alien gods [04:47] sechrist: chjj: where were you missing --s? [04:48] chjj: the first mention of `key` in the body [04:48] z8000: I want to shoot myself every time I end up on launchpad.net [04:48] chjj: here, ill show a more cleaned up example, i typed that in 2 seconds [04:48] nexxy: has anyone here done extensive work with riak-js? [04:48] indutny has joined the channel [04:48] olalonde: is there a utility function for iterating an Object as an associative array? [04:49] Jamool has joined the channel [04:49] Aria: for(var k in object) ? [04:49] chjj: ok, brace yourselves, im too lazy to gist... [04:49] chjj: req.setHeader('Content-Type', 'multipart/form-data; boundary="'+key+'"'); req.write('--'+key+'\r\nContent-Disposition: name="my_file"; filename="myfile.txt"\r\n\r\n'); readStream.pipe(req, { end: false }); readStream.on('end', function() { req.end('\r\n--'+key+'--'); }); [04:49] _fat has joined the channel [04:50] kmiyashiro: how do you do that via ajax? [04:50] nexxy: by sending the request with an HXR [04:50] zentooo has left the channel [04:50] nexxy: XHR* [04:50] chjj: and the key would be whatever you set, usually a string with a random number appended to it [04:50] kmiyashiro: I heard you can't submit multipart with xhr [04:51] Jamool_ has joined the channel [04:51] mykul has joined the channel [04:52] chjj: technically you could, xhr allows you to set headers [04:52] jbpros has joined the channel [04:52] nexxy: idk why not [04:52] chjj: as long as you form the body correctly [04:52] zentooo has joined the channel [04:52] kmiyashiro: but how would it send the file? [04:52] kmiyashiro: since it can't access the filesystem [04:52] chjj: multipart/form-data doesnt necesarily mean theres a file [04:52] killfill has joined the channel [04:52] olalonde: nvm [04:53] chjj: thats just what its usually used for [04:53] chjj: but yeah, theres no way you could send a file [04:54] nexxy: I could have sworn I've used a file uploader that didn't use the iframe hack [04:54] planetic has left the channel [04:55] chjj: that would be a pretty big security hazard nexxy [04:55] chjj: if browsers allowed the dom to grab files from disk and upload them places [04:55] chjj: there is the filesystem api, but its just like local storage except with files [04:55] _fat: you don't have to use an iframe... http://www.plupload.com/ [04:55] olalonde: v8: var o = {}; o[{}] = "uh"; o[{id:123}] = "wtf"; console.log(o[{}]); [04:56] v8bot: olalonde: "wtf" [04:56] olalonde: guess I'll never understand JS fully [04:56] nexxy: idk how that would be a security hazard innately [04:56] chjj: v8: {} + '' [04:56] v8bot: chjj: 0 [04:56] nexxy: if it was able to do it w/o any user interaction sure [04:56] olalonde: it uses the object's type as a key I guess [04:56] chrisdickinson: olalonde: it's coercing o[{}] to '[Object object]' [04:57] chrisdickinson: v8: var o = {}; o[{}] = 'uh'; o['[object Object]'] [04:57] v8bot: chrisdickinson: "uh" [04:57] olalonde: chrisdickinson: ah ok, I see [04:57] tbranyen: object keys can only be strings [04:57] tbranyen: which is why [04:57] chrisdickinson: sometimes i wish javascript came with achievement badges. [04:57] olalonde: thought I read otherwise somewhere [04:57] chrisdickinson: except they'd all read, "oh, so that's how it works." [04:57] tbranyen: v8> {}.toString() [04:57] v8bot: tbranyen: SyntaxError: Unexpected token . [04:57] tbranyen: v8> {} .toString() [04:57] v8bot: tbranyen: SyntaxError: Unexpected token . [04:57] tbranyen: r u shitting me [04:57] chrisdickinson: v8: ({}).toString() [04:57] olalonde: rofl [04:57] v8bot: chrisdickinson: "[object Object]" [04:58] tbranyen: welp works fine in the node repl [04:58] chrisdickinson: tbranyen: bare braces begin a statement [04:58] tbranyen: chrisdickinson: again, works fine in the node repl :) [04:58] tbranyen: wonder why [04:58] chrisdickinson: tbranyen: i think it automatically does something like eval('('+code+')')? [04:58] tbranyen: probably something to do with magic [04:58] ceej has joined the channel [04:58] olalonde: right, works here [04:59] chrisdickinson: v8: ({}.toString()) [04:59] v8bot: chrisdickinson: "[object Object]" [04:59] olalonde: probably cause node's repl != v8 [04:59] chrisdickinson: yeah, that'd probably explain it [04:59] tbranyen: v8> eval('{}.toString()') [04:59] v8bot: tbranyen: SyntaxError: Unexpected token . [04:59] tbranyen: oh i see [04:59] darshanshankar has joined the channel [04:59] chrisdickinson: yeah :\ just like that old json decoding trick. [04:59] tbranyen: yup [04:59] tbranyen: i dunno if thats such a good idea [05:00] olalonde: let's try in Chrome [05:00] tbranyen: olalonde: no chrisdickinson is totally right on the nose [05:00] tbranyen: chrome will bomb out too [05:00] olalonde: SyntaxError: Unexpected token . [05:00] olalonde: yep [05:01] echosystm: whats the best way to extend Error ? [05:01] chrisdickinson: for real fun, compare what happens in chrome and safari with the following: [05:01] chrisdickinson: ``new Date('2000-10-11 01:22:00')`` [05:01] echosystm: util.inherits doesnt work - i dont get a stacktrace [05:01] chrisdickinson: echosystm: you can do Error.captureStackTrace(this) inside your constructor [05:01] tbranyen: chrisdickinson: ret = vm.runInContext('(' + self.bufferedCommand + ')', [05:01] echosystm: should that be done automagically when i call super_.apply(this, arguments) ? [05:02] echosystm: *shouldnt [05:02] chrisdickinson: echosystm: directly inheriting has never added that for me. don't know why. [05:02] echosystm: hmm [05:02] echosystm: ok [05:02] echosystm: thanks [05:02] chrisdickinson: echosystm: no prob [05:06] chrisdickinson: echosystm: it looks like (from the node library, deps/v8/src/messages.js#L978) it only attempts to decorate an Error is the call is a construction call [05:06] chrisdickinson: which Error.call(this) or super_.apply(this) wouldn't trigger as, at a low level. [05:07] chrisdickinson: *s/node library/node repo/g [05:07] echosystm: hm [05:08] SubStack: harth: with browserify you can specify main as an option and set base to __dirname + '/lib' [05:09] tilgovi has joined the channel [05:09] tilgovi has joined the channel [05:09] ChrisPartridge: ACTION wishes he didn't have a day job [05:10] echosystm: is there any way at all to do the equivalent of super_.apply chrisdickinson ? [05:10] echosystm: i'd like to have the message etc. populated [05:10] chrisdickinson: echosystm: probably not. you can call it in your constructor against the current value of ``this``, though, and that'll have the exact same effect. [05:11] echosystm: hang on, can you explain what you mean by that? [05:11] echosystm: what do you mean against the current value of "this" ? [05:12] chrisdickinson: v8: function SubclassedError() { Error.apply(this, arguments); Error.captureStackTrace(this); } SubclassedError.prototype = new Error; a = new SubclassedError; a.stack [05:12] v8bot: chrisdickinson: "Error\n at Error.SubclassedError (eval at (evalmachine.:26:5))\n at eval at (evalmachine.:26:5)\n at evalmachine.:26:9\n at evalmachine.:30:2\n at Socket.run (/home/inimino/v8bot/lib/sandbox/shovel.js:76:19)\n at Socket.emit (events.js:39:17)\n at Socket._onReadable (net.js:629:51)\n at IOWatcher.onReadabl [Output truncated...] [05:12] jacter has joined the channel [05:12] admc has joined the channel [05:12] Marak has joined the channel [05:12] chrisdickinson: echosystm: (in SubclassedError, i'm calling Error.captureStackTrace(this) which applies the ``stack`` decorator to the new error object) [05:13] echosystm: that doesnt give me message tc. [05:13] echosystm: *etc. [05:13] echosystm: my error objects only have the stacktrace property [05:14] echosystm: { stack: [Getter/Setter] } [05:14] chrisdickinson: v8: function SubclassedError() { Error.apply(this, arguments); Error.captureStackTrace(this); } SubclassedError.prototype = new Error; a = new SubclassedError('uhhhh'); a.message [05:14] v8bot: chrisdickinson: "" [05:14] chrisdickinson: echosystm: gimme a second :) [05:14] echosystm: ok [05:14] echosystm: i remember we had this discussion a while ago [05:14] echosystm: i found a solution but i cant remember what it is now [05:15] itissid has joined the channel [05:15] chrisdickinson: echosystm: yeah, error basically refuses to do anything if it's not a construct call. [05:15] olalonde: what's a good reference for all JS "wtf" moments? (apart from quirksmode.org). "JavaScript: The Good Parts" was a pretty good book but is there something more concise out there [05:15] justinTNT has joined the channel [05:16] justinTNT: hmmm [05:16] fmeyer has joined the channel [05:16] olalonde: I remember there was a link on hacker news a few weeks ago but didn't bookmark it unfortunately [05:16] mynyml has joined the channel [05:17] polotek has joined the channel [05:18] JackeyChan has joined the channel [05:18] chrisdickinson: olalonde: http://bonsaiden.github.com/JavaScript-Garden/ [05:18] olalonde: chrisdickinson: wow! exactly the link I was looking for! [05:19] mbrevoort has joined the channel [05:19] ChrisPartridge: Anyone else think a "npm adddep " would be a good addition to npm? Doesn't link, or install the package locally, but add's it to the current modules package.json > dependencies object with the latest global version specified? [05:20] chrisdickinson: echosystm: https://gist.github.com/b65b7cc753b6f9183e0c [05:20] Aria: That sounds nice. [05:20] chrisdickinson: you can extend from ExtendableError and get all the proper properties on your object. [05:21] echosystm: ow [05:21] echosystm: *wow [05:21] echosystm: that is terrible :P [05:22] echosystm: i wonder why no one had the fore-thought to not screw this up [05:22] Aria: Yeah, it really is horrible. [05:22] olalonde: ChrisPartridge: it would basically edit your package.json file programmatically? [05:22] chrisdickinson: echosystm: it sucks that you have to have an intermediary, but the base Error class doesn't assign any properties if it's not a construct call. [05:22] echosystm: mm [05:22] chrisdickinson: so yeah, suckage, but you can put that shim someplace dark and secret and forget about it. [05:22] ChrisPartridge: olalonde: Yep [05:23] zeade has joined the channel [05:23] chrisdickinson: ACTION misses python's pattern matching on exception types constantly in js. [05:23] sherod has joined the channel [05:24] olalonde: ChrisPartridge: not a bad idea, but I wonder how hard it would be to do it without altering your formatting and comments [05:24] echosystm: i miss OOP that doesnt suck :P [05:24] ChrisPartridge: olalonde: it's JSON... not a worry at all [05:24] chrisdickinson: when i'm in a good mood about JS, i imagine that the reason the exception system is so janky is because they really wanted to avoid people relying on it (since in an event loop'd language, the exception may often end up at the top of the stack unintentionally) [05:25] Aria: It might be a worry if JSON supported comments. [05:25] chrisdickinson: when i'm in a bad mood i just vomit tacks all over the implementation of Error [05:25] echosystm: lol [05:26] olalonde: ah, thought it was ok to comment a json file, my bad [05:26] fmeyer has joined the channel [05:26] materialdesigner has joined the channel [05:27] gf3 has joined the channel [05:27] zackattack has joined the channel [05:28] sreeix has joined the channel [05:29] johnnywengluu: is anyone using mustache on node.js? [05:29] johnnywengluu: eg. this one: https://github.com/raycmorgan/Mu [05:29] johnnywengluu: it seems not that actively maintained .. havent updated it for over one year [05:30] yokoaway has joined the channel [05:30] justinTNT: hmmm, distracted : that's a funny word. I wonder if anyone ever gets tracted? I might just call the suicide hotline and ask ... [05:31] ChrisPartridge: justinTNT: tracted = verb for being run over by a tractor? :-) [05:32] justinTNT: CP: actually I'm leaning more to "a set of mechanisms for straightening broken bones or relieving pressure on the skeletal system" [05:36] ryah: the new internal interface for node is going to be awesome [05:37] ryah: https://gist.github.com/976008 [05:38] sechrist: How do I send normal post variables in a multipart? hmm [05:39] mikeal has joined the channel [05:40] ryah: ^-- this is what we're going to build net.js on again [05:40] ChrisPartridge: ryah++ [05:40] v8bot: ChrisPartridge has given a beer to ryah. ryah now has 1 beers. [05:41] ryah: super basic - but a good binding layer [05:41] ryah: windows-y [05:42] brianloveswords has joined the channel [05:45] Aria: Interesting. What's Req? [05:45] Aria: A 'target' for IO events? [05:47] mscdex: no more port first? :O [05:47] mscdex: hehe [05:47] tonymilne: Ok. Wow. Does anyone use Campaign Monitor (an Aussie company for sending email campaigns!)? [05:47] tonymilne: We just sent one, and they've got some neat real time display of people opening the emails (and clicking through) [05:47] tbranyen: with http.get do i need to specify my own data event to collect the returned value? [05:47] tonymilne: Hope they pulled it off using nodejs. [05:48] mscdex: tbranyen: yes [05:48] tbranyen: mscdex: thx [05:48] ChrisPartridge: tonymilne: i'm guessing they are using JS in html emails? [05:48] tonymilne: Yeah, they've always had analytics, but their display of the results just got realtime awesome. [05:49] brettgoulder has joined the channel [05:49] tbranyen: mscdex: worked great :D [05:49] tbranyen: thx [05:51] pwned has joined the channel [05:59] marknel has joined the channel [06:00] Jaike has joined the channel [06:01] azeroth__ has joined the channel [06:05] tdegrunt has joined the channel [06:06] mraleph has joined the channel [06:07] SamuraiJack has joined the channel [06:07] mike5w3c has joined the channel [06:08] Marak has joined the channel [06:08] unomi has joined the channel [06:10] Marak: nexxy: im stupid, thought you were someone else in here lol [06:11] Marak: nexxy: we are in #Nodejitsu if you want to talk about audio apps [06:14] polotek: ryah [06:14] polotek: I'm not sure I get the API you posted [06:14] nexxy: Marak, lol [06:15] davidbanham has joined the channel [06:16] TroyMG__ has joined the channel [06:16] davidbanham: I'm using express, and I'd like to store session information in a mySQL database. I can't find anything out there that will let me do this. Is there something I'm missing, or is it a sign that this is actually a really awful idea and I should learn Redis instead? [06:17] polotek: davidbanham: redis is dead simple and awesome for sessions [06:18] davidbanham: Thanks polotek, I was just hoping to avoid cramming more in my head than I had to. I'll bite the bullet I guess. [06:19] polotek: davidbanham: it's pretty easy to write a session store for express/connect [06:19] polotek: check out the memory store. https://github.com/senchalabs/connect/blob/master/lib/middleware/session/memory.js [06:20] polotek: just create your own store that implements these methods using your database [06:20] dguttman has joined the channel [06:20] polotek: it's meant to be pluggable [06:20] pwned has joined the channel [06:20] ChrisPartridge: ryah: When we get native windows support, I'm guessing there is going to a directory separator var? [06:22] davidbanham: polotek: Thanks, the code for the memorystore is far simpler than I had expected. I do get the feeling, though, that if no-one's already written a session store for mySQL, and yet there are several for other databases, that I'm missing something and I should just use Redis. [06:23] polotek: davidbanham: we're big on alternative datastores here. but mysql is fine if that's what you need. there are a couple of good drivers for it [06:23] boghog: http://bellard.org/jslinux/ :o [06:24] boghog: x86 emulator written in js, running linux [06:24] Nexxy: -_- [06:24] tbranyen: is there anything js can't do [06:24] davidbanham: Yeah I'm using https://github.com/felixge/node-mysql for most of my data storage and it's brilliant. [06:29] febits[0] has joined the channel [06:33] tk has joined the channel [06:35] gkatsev: tbranyen: well, clearly, you can't connect to the internet on linux inside of js. [06:37] isaqual has joined the channel [06:37] mscdex: i want to run links inside of my browser! [06:38] fly-away has joined the channel [06:40] mscdex: hax! [06:40] boghog: at least is has vi [06:41] boghog: it* [06:41] mscdex: eh? [06:41] `3rdEden has joined the channel [06:41] pyrotechnick: SubStack: dnode is screwwy [06:42] mscdex: huh... doesn't work completely in chromium [06:42] mscdex: it gets stuck at "Freeing unused kernel memory" [06:42] sechrist: wow I am struggling way more than I thought I would be with this multipart stuff [06:44] hellp has joined the channel [06:45] liquidproof has joined the channel [06:47] ChrisPartridge: pyrotechnick: :o how so? [06:49] foobarfighter: Anybody know how to get npm to authenticate over SSL when publishing? [06:51] nmd6168 has joined the channel [06:51] balaa has joined the channel [06:51] nmd6168 has left the channel [06:52] makuchaku has joined the channel [06:53] yozgrahame has joined the channel [06:53] copongcopong1 has joined the channel [06:53] pyrotechnick: ChrisPartridge: Uncaught Error: Uncaught, unspecified 'error' event. [06:53] pyrotechnick: but only when debugger is disabled [06:54] pyrotechnick: so i cant get a stack [06:54] emattias has joined the channel [06:55] DTrejo has joined the channel [06:55] Druide_ has joined the channel [06:55] langworthy has joined the channel [06:55] nmd6168_ has joined the channel [06:56] ChrisPartridge: pyrotechnick: Sounds strange, what version of dnode? [06:56] nmd6168_ has left the channel [06:56] rauchg has joined the channel [06:57] marknel has joined the channel [06:57] jacobolus has joined the channel [06:58] materialdesigner has left the channel [06:59] Squeese has joined the channel [07:01] mike5w3c has joined the channel [07:01] matjas has joined the channel [07:05] Skola has joined the channel [07:06] fangel has joined the channel [07:11] djcoin has joined the channel [07:14] beawesomeinstead has joined the channel [07:14] beawesomeinstead has joined the channel [07:14] mAritz has joined the channel [07:17] Me1000 has joined the channel [07:18] harth: SubStack: thanks, I think I was running into a bug, sent pull request [07:18] pyrotechnick: ChrisPartridge: 0.6.10 [07:19] Esteb has joined the channel [07:20] mykul has joined the channel [07:24] pyrotechnick: i got a stack trace [07:26] Rodtusker has joined the channel [07:28] uchuff has joined the channel [07:29] uchuff has joined the channel [07:30] ewdafa has joined the channel [07:31] Xano has joined the channel [07:31] sridatta has joined the channel [07:32] tk has joined the channel [07:33] tdegrunt has joined the channel [07:33] mike5w3c has joined the channel [07:33] groom has joined the channel [07:34] MikeMakesIt has joined the channel [07:34] ChrisPartridge: pyrotechnick: gist that bitch [07:35] pyrotechnick: meh [07:36] pyrotechnick: it got to else if (typeof req.method == 'number') { apply(scrubber.callbacks[req.method], self.instance, args); } [07:36] pyrotechnick: message was fine [07:36] pyrotechnick: something's wrong [07:36] [AD]Turbo has joined the channel [07:36] pyrotechnick: stacktrace doesnt show anything you need the args too [07:36] pyrotechnick: dunno [07:37] pyrotechnick: am going to drop dnode here at work [07:37] secoif has joined the channel [07:37] brownies has joined the channel [07:37] pyrotechnick: its failing in some really stupid situations [07:37] pyrotechnick: like [07:37] [AD]Turbo: hi there [07:38] pyrotechnick: {handle: 'action', action: 'call_raise_all_in_fold'} [07:38] pyrotechnick: is fine [07:38] pyrotechnick: but {handle: 'action', action: 'call_raise_all_in_fold', data: null} fails [07:38] pyrotechnick: just having the data key makes dnode Uncaught Error: Uncaught, unspecified 'error' event. [07:39] pyrotechnick: maybe just webkit being a noob [07:39] ChrisPartridge: pyrotechnick: Hmm, strange - using it pretty heavily here at the moment [07:40] Zelest has joined the channel [07:40] pyrotechnick: yeah we have been and we really like it [07:40] itissid has joined the channel [07:41] pyrotechnick: but its doing some really weird shit [07:41] pyrotechnick: that i cant for the life of me seem to debug [07:41] sechrist: http://bellard.org/jslinux/ [07:41] sechrist: the ultimate sandbox [07:42] Druide_ has joined the channel [07:43] troessner has joined the channel [07:45] tk has joined the channel [07:45] mhausenblas has joined the channel [07:47] CiRlE has joined the channel [07:48] robhawkes has joined the channel [07:48] msucan has joined the channel [07:49] m64253 has joined the channel [07:50] aliem has joined the channel [07:50] kixxauth has joined the channel [07:51] febits has joined the channel [07:51] teemow has joined the channel [07:57] mc_greeny has joined the channel [07:59] rook2pawn has joined the channel [08:00] rook2pawn: if i have a child spawn is there a way to set the handler on it before the spawn actually initiates? [08:01] pyrotechnick: it wont do nething before the next tick [08:01] pyrotechnick: its safe to attach after the spawn call [08:02] jacter has joined the channel [08:03] rook2pawn: oh ok. i just noticed a difference between typing in spawn('ls') and then typing the handler in (getting nothing) versus running node on a file that had all those instructions in one go [08:03] Jaike has joined the channel [08:05] rook2pawn: is there something special about running spawn in the node console and the process tick versus executing a js file? [08:05] pyrotechnick: not that i know of [08:06] pyrotechnick: wait [08:06] pyrotechnick: yeah [08:06] pyrotechnick: there is [08:06] pyrotechnick: by the time you're finished attaching the handler ls has streamed all of its data [08:06] rook2pawn: yes, that is what i wanted to work around [08:08] rook2pawn: maybe there is a way to control the tick [08:08] eee_mk has joined the channel [08:08] Wizek has joined the channel [08:08] jacter1 has joined the channel [08:09] wilken has joined the channel [08:09] thalll has joined the channel [08:13] SubStack: pyrotechnick: you sure it's a dnode bug? [08:13] sherod has joined the channel [08:14] djcoin: I was reading that : http://anders.janmyr.com/2011/05/not-very-short-introduction-to-nodejs.html [08:14] djcoin: and saw: good pattern, make asynchronous works: dont forget to add a return in your callback function [08:14] djcoin: To me it just useless no ? [08:15] djcoin: If it reaches the end of the funciton it just returns as in any programming language [08:15] djcoin: Fake advice [08:17] pyrotechnick: SubStack: did you read? [08:17] pyrotechnick: {handle: 'action', action: 'call_raise_all_in_fold'} is fine but {handle: 'action', action: 'call_raise_all_in_fold', data: null} fails, just having the data key makes dnode Uncaught Error: Uncaught, unspecified 'error' event. [08:19] TomY_ has joined the channel [08:20] ryah has joined the channel [08:21] SubStack: pyrotechnick: I just threw some nulls into the unit tests and it works fine [08:22] mscdex: any word on nodeconf videos? [08:22] eldios has joined the channel [08:23] jacter has joined the channel [08:24] pyrotechnick: did u see where it was breaking? [08:25] AsDfGh1231 has joined the channel [08:26] SubStack: a key set to null, did that in the test and it passes just fine [08:27] SubStack: can you .on('error', console.log) ? [08:27] SubStack: on the server/client handle or conn object, I forget which [08:28] jonathantaylor has joined the channel [08:28] hybsch has joined the channel [08:29] q_no has joined the channel [08:29] coreb has joined the channel [08:29] pyrotechnick: yeah i was wondering about that [08:29] pyrotechnick: i have a break point finally catching it [08:29] pyrotechnick: do you have skype or something [08:29] jesusabdullah: pyrotechnick: Was that you that sassed the rails bitches? [08:30] pyrotechnick: depends who's asking [08:30] chapel: yeah it was him [08:30] chapel: :) [08:30] jesusabdullah: tsk tsk for shame! [08:30] jesusabdullah: hehe [08:30] SubStack: neg my internet is really shit right now [08:30] pyrotechnick: grrr [08:30] pyrotechnick: well [08:30] pyrotechnick: ill show you [08:31] indutny has joined the channel [08:34] neurone-1337 has joined the channel [08:35] markwubb_ has joined the channel [08:36] jesusabdullah: pyrotechnick: Show what? [08:36] jesusabdullah: heh [08:38] rookandpawn has joined the channel [08:41] rook2pawn has joined the channel [08:44] saschagehlich has joined the channel [08:44] Xano has joined the channel [08:45] jacter1 has joined the channel [08:46] mehlah has joined the channel [08:46] jonathantaylor has joined the channel [08:46] herbySk has joined the channel [08:46] roidrage has joined the channel [08:47] MikeMakesIt has joined the channel [08:50] herbySk74 has joined the channel [08:52] sh1mmer has joined the channel [08:55] FireFly has joined the channel [08:55] jacobolus has joined the channel [09:00] drgnorq has joined the channel [09:00] herbySk has joined the channel [09:04] hybsch has joined the channel [09:06] drgnorq: does anyone know good tutorials on using node.js and websockets? [09:06] sjbreen has joined the channel [09:07] dies_el has joined the channel [09:08] firedfox has joined the channel [09:09] justinTNT has joined the channel [09:09] bencc has joined the channel [09:09] viz has joined the channel [09:11] Schmallon has joined the channel [09:11] bzinger has joined the channel [09:13] nyholt has joined the channel [09:17] Marak: upboat for async.js? *ducks* http://news.ycombinator.com/item?id=2555779 [09:17] jeremyselier has joined the channel [09:20] SeyZ has joined the channel [09:21] chjj: hmm, writing a css selector engine was easier than i thought [09:21] pyrotechnick: drgnorq: no tutes no but you may want to checkout socket.io or dnode [09:21] pyrotechnick: chjj: what's wrong with sizzle :O [09:21] `3rdEden: it's slow [09:21] `3rdEden: ;D [09:21] chjj: nothing that i know of [09:21] `3rdEden: NWMATCHER FOR ZE WIN@ [09:22] `3rdEden: oh. [09:22] eldios: css selector? [09:22] chjj: i just want to write my own client side stuff [09:22] chjj: because i like reinventing the wheel [09:22] `3rdEden: suffering from NIH syndrom? [09:22] chjj: hm? [09:22] `3rdEden: http://en.wikipedia.org/wiki/Not_Invented_Here [09:22] chjj: also [09:23] hlindset has joined the channel [09:23] chjj: i want to try to rewrite it parsing left to right, to see if i can make it efficient [09:23] `3rdEden: Yes there is even a dedicated wiki page for that [09:23] chjj: that would allow me to put the subject of the selector anywhere [09:24] chjj: `3rdEden: i dont think so [09:24] jeremyselier: hi guys, is there a way to set a timeout when fetching data with http.get ? [09:24] justinTNT: anyone looked at petrify yet? [09:25] Jaike has joined the channel [09:27] Bj_o_rn has joined the channel [09:27] chjj: jeremyselier: setTimeout(function() { req.destroy(); }, 5000); [09:27] chjj: i think that will close the underlying socket [09:27] chjj: not sure [09:28] chjj: should [09:29] zackattack has joined the channel [09:29] markwubben has joined the channel [09:29] zackattack has joined the channel [09:30] Polysics has joined the channel [09:30] Polysics: hello [09:31] Polysics: i installed node.js from git, then isntalled npm [09:31] Sami_ZzZ has joined the channel [09:31] Polysics: but npm is installing my packages in the current directory [09:31] Polysics: how do i tell nom where packeges go, please? and where do packages go? :-D [09:31] JackeyChan has joined the channel [09:31] Polysics: i instaled node in /opt7node [09:32] JackeyChan: I am using express. In the client, how to post object like {name:"JackeyChan"} to the server ?? [09:32] JackeyChan: with ajax [09:34] jeremyselier: ok chjj, thanks, will try! [09:35] justinTNT: poly : /usr/local/lib/node [09:35] justinTNT: jackey: you mean push? or responding to a http request? [09:35] medikoo has joined the channel [09:35] Polysics: justinTNT, what do you mean, please? [09:35] Polysics: i have node in the wrong place? [09:36] JackeyChan: justinTNT: I am trying my thinking, thanks [09:36] Booster2ooo has joined the channel [09:36] Booster2ooo: Hello [09:36] jeremyselier: I have to try catch the destroy, but it works! thanks chjj [09:38] marknel has joined the channel [09:38] Casperin has joined the channel [09:38] sjbreen_ has joined the channel [09:40] SamuraiJack has joined the channel [09:41] flippyhead has joined the channel [09:42] ntelford has joined the channel [09:42] Polysics: i tried installing with -g switch but i still get module not found [09:51] skyloid has joined the channel [09:51] Polysics has joined the channel [09:51] Polysics: hello again [09:51] Polysics: haven't solved anything .-/ [09:51] Polysics: why is npm not installing packages in the proper place, please? [09:53] bryanrieger has joined the channel [09:53] coreb has joined the channel [09:58] Esteb has joined the channel [09:58] Polysics: i keep getting "cannot find module" [09:58] Polysics: npm modules are there and installed with -g [09:58] vlapan has joined the channel [09:58] ixti has joined the channel [09:59] chapel: you should be installing locally [09:59] chapel: unless you are installing command line apps [10:00] mikl has joined the channel [10:01] snearch has joined the channel [10:04] icebox has joined the channel [10:05] TomY has joined the channel [10:08] cognominal has joined the channel [10:09] tmzt has joined the channel [10:12] AsDfGh123 has joined the channel [10:14] tmzt has joined the channel [10:14] justinTNT has joined the channel [10:14] Polysics: i am mostly doing command line stuff [10:15] Maximosis has joined the channel [10:15] mattijs has joined the channel [10:17] Maximosis_ has joined the channel [10:20] tmzt_ has joined the channel [10:24] brsh has joined the channel [10:30] MattJ has joined the channel [10:30] roidrage has joined the channel [10:30] roidrage_ has joined the channel [10:31] BigWookie has joined the channel [10:32] BigWookie: Hey , anyone knows a node module to create virtual hosts with reverse proxying? [10:32] BigWookie: tried node-http-proxy but that dosn't route uri paths [10:33] tmzt has joined the channel [10:33] roidrage has joined the channel [10:34] jayfresh has joined the channel [10:35] k1ttty has joined the channel [10:36] justinTNT: BW: node-vhost with node-http-proxy [10:36] febits has joined the channel [10:37] Xano has joined the channel [10:38] bergie has joined the channel [10:48] Rodtusker has joined the channel [10:49] davidbanham has joined the channel [10:49] thalll has joined the channel [10:50] BigWookie: sounds good, is there information about node-vhost somewhere? [10:50] deebo: mm nude vhost [10:52] AAA_awright_ has joined the channel [10:52] jonaslund_ has joined the channel [10:52] mischief__ has joined the channel [10:54] tobiassjosten has joined the channel [11:00] mischief has joined the channel [11:01] ewdafa has joined the channel [11:01] grabarz has joined the channel [11:05] tmzt has joined the channel [11:06] justinTNT: sorry, distracted. [11:06] justinTNT: um [11:08] justinTNT: it's baked into express : something like app.use(express.vhost('domainname', app) [11:09] justinTNT: https://gist.github.com/750032 [11:09] febits[0] has joined the channel [11:10] tmzt has joined the channel [11:13] TomY_ has joined the channel [11:14] febits has joined the channel [11:15] jet18 has joined the channel [11:15] davidbanham has joined the channel [11:16] avalanche123 has joined the channel [11:16] phiggins has joined the channel [11:19] fangel has joined the channel [11:20] ewdafa has joined the channel [11:20] lupomontero has joined the channel [11:20] wilken has joined the channel [11:22] fangel has joined the channel [11:23] tmzt has joined the channel [11:25] ixti has joined the channel [11:26] ewdafa has joined the channel [11:28] skeevis has joined the channel [11:29] gmci has joined the channel [11:29] saschagehlich has joined the channel [11:32] grabarz has joined the channel [11:33] pietern has joined the channel [11:33] davidbanham has joined the channel [11:33] BogdanD has joined the channel [11:34] BogdanD has left the channel [11:34] ewdafa has joined the channel [11:38] christophsturm has joined the channel [11:39] liar has joined the channel [11:39] FireFly|n900 has joined the channel [11:39] lukegalea has joined the channel [11:41] fairwinds has joined the channel [11:41] Xano has joined the channel [11:42] unomi has joined the channel [11:43] ChrisPartridge has joined the channel [11:44] drgnorq has joined the channel [11:45] Booster2ooo: I'm a big noob in JS & nodejs and I see this in a src: var irc = exports; Can anyone tell me where it comes from ? Because I don't see it in the doc [11:46] Epeli: it? exports? [11:47] niftylettuce has joined the channel [11:48] Booster2ooo: Epeli > yes [11:48] Booster2ooo: Is it JS related or node related? [11:48] Epeli: exports variable is in every module (.js file) from which you can publish your functions/objects [11:48] Epeli: node related [11:48] Poetro has joined the channel [11:49] Booster2ooo: Ok, I'm gonna ask Google, thank yuo [11:49] Booster2ooo: you* [11:49] Epeli: I think it originates from CommonJS spec http://wiki.commonjs.org/wiki/Modules/1.1 [11:49] z8000 has joined the channel [11:50] hij1nx has joined the channel [11:51] mobius_ has joined the channel [11:52] Booster2ooo: Epeli > thx, I'm gonna read it [11:52] mobius_: hello everyone. I am new with node.js and I've been playing with the webworkers module, but I keep getting an error "TypeError: undefined is not a function". Has anyone seen this before? [11:53] `3rdEden: than it's probably undefined and not a function that you are calling ;D? [11:53] tiagoa has joined the channel [11:54] mobius_: well, it looks like so, however what I am getting it even on the prefork example of the webworkers module [11:54] mobius_: which kinda complicates things a bit [11:55] AddZero has joined the channel [11:56] ezl has joined the channel [11:58] jbpros has joined the channel [11:59] jonaslund: what's the best text based irc client for *nix derivates these days [11:59] Xano has joined the channel [12:04] tisba has joined the channel [12:05] dnolen has joined the channel [12:05] poincare101 has joined the channel [12:06] ntelford has joined the channel [12:07] Mrfloyd has joined the channel [12:07] stepheneb has joined the channel [12:09] drudge- has joined the channel [12:09] markeeto has joined the channel [12:12] SamuraiJack has joined the channel [12:14] bryanrieger has left the channel [12:17] bencc has left the channel [12:18] tiemonster has joined the channel [12:20] gtramont1na has joined the channel [12:21] dyer has joined the channel [12:22] temp01 has joined the channel [12:27] neoesque has joined the channel [12:28] fumanchu182 has joined the channel [12:29] jeremyselier has joined the channel [12:29] MikeMakesIt has joined the channel [12:29] liquidproof has joined the channel [12:33] jlecker has joined the channel [12:34] bshumate has joined the channel [12:34] bshumate has joined the channel [12:35] kriszyp has joined the channel [12:36] Squeese has joined the channel [12:36] mw has joined the channel [12:36] mw has joined the channel [12:36] saschagehlich has joined the channel [12:37] Guest75743 has joined the channel [12:38] hebz0rl has joined the channel [12:38] tmzt has joined the channel [12:39] EM03 has joined the channel [12:39] EM03: the express web framework is rather intersting [12:40] temp01 has joined the channel [12:40] openpercept has joined the channel [12:40] FireFly|n900 has joined the channel [12:41] mike5w3c has joined the channel [12:41] VovaZaycev has joined the channel [12:45] hebz0rl has joined the channel [12:46] exstrudel has joined the channel [12:46] brolin has joined the channel [12:46] Booster2ooo: I've got an other question: I can't find the sys module doc on the 0.4.7 doc but util seems quite similar, is util the new sys ? And if so, is the util.log the new sys.put ? [12:46] drudge: yes [12:47] fermion has joined the channel [12:47] Booster2ooo: drudge> thanks [12:49] EM03: anyone else here bothered by the fact js has no hashes? [12:51] indutny has joined the channel [12:51] `3rdEden: you mean object EM03 [12:51] broofa has joined the channel [12:52] EM03: ? [12:52] EM03: I'm no js guru but I don't see hashes or associative arrays however you want to call them [12:54] christophsturm: EM03: every object is a hash [12:55] EM03: hmmmm [12:55] TomY has joined the channel [12:55] EM03: can i have a 1 to 1 relationship easily with my data? [12:55] christophsturm: var a={'bleh':'heh'}; [12:56] F1nnur has joined the channel [12:56] zackattack has joined the channel [12:57] davidbanham has joined the channel [13:00] AaronMT has joined the channel [13:00] thomblake has joined the channel [13:01] rfay has joined the channel [13:02] EM03: christophsturm: thats legal? [13:02] christophsturm: yeah [13:03] EM03: what is that called in javascript? [13:03] EM03: cause a google for hash or associate array did not help at all [13:03] johnnywengluu: hi [13:04] johnnywengluu: is https://github.com/LearnBoost/soda using selenium 2 or 1? [13:05] boaz has joined the channel [13:06] johnnywengluu: 1 [13:06] christophsturm: EM03: that's an object. an object can have properties. so it acts like a hash [13:07] EM03: how do you access something out of it? [13:07] christophsturm: a['blah'] => 'heh' [13:07] roidrage has joined the channel [13:08] amacleod has joined the channel [13:08] christophsturm: EM03: go read some javascript code or a tutorial [13:08] `3rdEden: v8: var a = {foo:'bar'}; a.foo; [13:08] v8bot: `3rdEden: "bar" [13:09] EM03: christophsturm: I'm really not dumb :) just crazy a simple google hash search i couldn't find that [13:09] `3rdEden: it's because its not called a hash [13:09] `3rdEden: it's like searching for prototypical inhertance for php [13:10] dyer has joined the channel [13:11] BigWookie: join #ubuntu-de [13:12] taf2: node.js just really helped me out... i had to copy files from an ftp site to an s3 account... and with the help of node-ftp and knox this is so far crazy easy [13:12] eb4890 has joined the channel [13:13] davidsklar has joined the channel [13:13] taf2: crazy the node.js process is humming along at 5% cpu because i decided to have a little progress output to console and staying strong at 22Mb of memory [13:15] gavin_huang has joined the channel [13:15] grabarz has left the channel [13:16] grabarz has joined the channel [13:16] emattias_ has joined the channel [13:17] Aikar: :D i got google Traceur working as a module. https://github.com/aikar/traceur (testtraceur.js and test.js) [13:18] tmzt has joined the channel [13:18] Aikar: https://github.com/aikar/traceur/blob/master/testtraceur.js [13:18] temp01 has joined the channel [13:19] TomY has joined the channel [13:19] A83 has joined the channel [13:20] `3rdEden: +watch! :D [13:20] Aikar: npm install traceur if ya wanna use it, gotta update docs/legal/test etc (its MIT) still [13:20] olalonde: you guys saw this? http://bellard.org/jslinux/ [13:20] `3rdEden: yup [13:20] A83: Which is the best OAuth package for express/connect? [13:21] ewdafa has joined the channel [13:21] Aikar: A83: OAuth2 is so trivial, if none exists you should just roll your own. the client code def does not need a premade client [13:22] taf2: olalonde, wow, that could actually my google chrome book useful [13:22] olalonde: nice call :) [13:22] A83: Aikar: Ok, I should read up on OAuth2 then... [13:23] olalonde: I recently used `npm install oauth` for a client, worked like a charm [13:23] taf2: it's missing node.js though :( [13:23] olalonde: not with express though [13:23] Aikar: A83: OAuth2 is simply understanding the flowpath of OAuth2, and knowing what parameters to pass. they are simple web requests now. no crypography crap [13:24] catshirt has joined the channel [13:25] sub_pop has joined the channel [13:26] MattJ100 has joined the channel [13:26] `3rdEden: rm -rf 'ing the jslinux [13:27] taf2: evil [13:27] vuliev: /win 25 [13:28] Aikar: zomg rm -rf / destroyed my OS in jslinux! [13:29] olalonde: lol [13:29] olalonde: I wonder if the code would run in Node.js [13:29] olalonde: with the right packages [13:30] Aikar: :(){ :|: & };: didnt work ;( [13:31] vipaca has joined the channel [13:31] vipaca has joined the channel [13:31] Ian_Corne: it's not bash Aikar [13:31] Ian_Corne: :p [13:31] Ian_Corne: it's a very basic shell [13:31] lstoll has joined the channel [13:32] bingomanatee: rm -rf / is the ultimate cheat code [13:32] chalaschek has joined the channel [13:33] jacter has joined the channel [13:33] marknel has joined the channel [13:33] tmzt has joined the channel [13:34] fumanchu182 has joined the channel [13:35] truedat101 has joined the channel [13:36] unomi has joined the channel [13:39] Rodtusker has joined the channel [13:40] bergie has joined the channel [13:40] grabarz has joined the channel [13:41] temp01 has joined the channel [13:41] kjy112 has joined the channel [13:42] timmywil has joined the channel [13:43] ngs has joined the channel [13:45] tmzt has joined the channel [13:45] jet18 has joined the channel [13:46] telemachus: Aikar: maybe that's why my jslinux is stuck here: Freeing unused kernel memory: 124k freed [13:46] telemachus: You sure you didn't rm -rf / mine? [13:46] Aikar: 3~lol [13:46] Aikar: im in ur browzers rm -rf/ing your jslunix [13:46] Aikar: ur* [13:47] telemachus: Aikar: Did you just seriously s/your/ur/? [13:47] telemachus: That's it folks, pack it up. Civilization's over. We're toast. [13:47] telemachus: Thanks for playing. [13:47] Aikar: telemachus: i was lolzspeaking, it was suppose to be ur [13:47] Xano has joined the channel [13:47] telemachus: Aikar: I know. Was kidding. Irony. (Not funny or anything, just saying...) [13:47] Aikar: ;p [13:47] XaKBooT has joined the channel [13:49] colinclark has joined the channel [13:49] Aikar: welp now im switching to Traceur i gotta figure out a way to do nice autoloading of classes ;( [13:49] Aikar: considering using Joose with Closure but having class Foo { and Class('Foo', { seems confusing [13:49] Aikar: with Traceur* [13:50] Insanity5902 has joined the channel [13:50] slyphon has joined the channel [13:50] davidwalsh_ has joined the channel [13:50] Booster2ooo: I've got a problem with the net module and I don't understand where is comes from. Could you have a look at my code and tell me what's wrong please ? http://pastebin.com/uQ8KjUz5 [13:51] Booster2ooo: I know it's crap but it's only my first node app & one of my first js scripts [13:51] Aikar: i wonder if you can set an Interceptor on the global object and catch references to non existant variables [13:51] Booster2ooo: I didn't even use objects & prototypes [13:52] Aikar: Booster2ooo: not everything needs to be OO [13:52] Aikar: use it appropriately ;) [13:52] Aikar: but an IRC client is something that can be cleaner in OO (object per connection/channel/user etc) [13:53] Booster2ooo: Yea, as it's a first test, I thought I didn't need to use objects [13:53] Booster2ooo: I just wanted to understand the basics of the modules I used [13:53] Booster2ooo: and then recode the whole thing using OO programing [13:53] Aikar: looks like your on the right path [13:54] Aikar: just dont forget to handle ping pongs [13:54] Aikar: there are a few IRC clients already written if you wanna use them for inspiration [13:55] willwhite has joined the channel [13:55] Aikar: ACTION inb4 someone saying just use one already written [13:56] d0k has joined the channel [13:56] Booster2ooo: Aikar > I found some but none working properly, probably because they were written for earlier version of node, idk. [13:56] Aikar: Booster2ooo: thoug, now i just saw the error message up top, you really should install Ubuntu along side windows, and do dev there. cygwin is not recommended [13:56] Swimming_bird has joined the channel [13:56] tisba has joined the channel [13:56] Booster2ooo: For this code, I took nodelog (felixge) for example [13:56] rfay has joined the channel [13:57] Booster2ooo: Aikar > I've got the same error under debian [13:57] Booster2ooo: I just pasted from win because I was easier for me ^^ [13:57] Aikar: i didnt say it would fix the error, just saying windows is bad :P [13:57] eee_mk has joined the channel [13:58] pandeiro has joined the channel [13:58] Booster2ooo: http://imageshack.us/m/17/8725/errscr.jpg [13:58] pandeiro has joined the channel [13:58] dcampano has joined the channel [13:59] Aikar: anyone from UK ? need to test GeoIP lookup code lol and need a UK ip [13:59] Booster2ooo: It's the exact same error ^^ [13:59] Booster2ooo: Use a public UK proxy? [13:59] timmywil has joined the channel [14:00] Aikar: Booster2ooo: need to just use a special method to fake IP, as its accessing an internal network environment :P [14:00] Booster2ooo: ok ^^ [14:00] Jalava: hmm, is there bug with pre tag in jade, it doesn't allow arbitary identation? [14:01] Jalava: or do I need to mark the pre section additioanlly with some special tags? [14:04] coreb has joined the channel [14:07] jtsnow has joined the channel [14:08] avalanche123 has joined the channel [14:08] jeff_horton has joined the channel [14:08] marlun has joined the channel [14:12] Xano has joined the channel [14:12] baudehlo: chapel: fwiw that patch applies cleanly on 0.4.7 too. [14:12] brianc has joined the channel [14:14] stepheneb has joined the channel [14:14] syskk has joined the channel [14:15] jtsnow has joined the channel [14:15] montylounge has joined the channel [14:15] skamikaze has joined the channel [14:15] cbibler has joined the channel [14:16] catshirt has joined the channel [14:17] temp01 has joined the channel [14:17] yhahn has joined the channel [14:17] bronson has joined the channel [14:18] CoinOpeBoy has joined the channel [14:18] Booster2ooo: I found my mistake, createConnection(host, port) instead of port, host :) [14:19] bronson: Anyone know of something like Rails Admin but for Node? [14:19] skamikaze has left the channel [14:19] Booster2ooo: it works :D [14:19] Booster2ooo: *happy* [14:20] bronson: Just want something to generate forms based on DB schema... doesn't mater at all how it looks. [14:25] tmzt has joined the channel [14:25] nibblebot has joined the channel [14:26] Yuffster has joined the channel [14:26] Ori_P has joined the channel [14:28] Corren has joined the channel [14:29] Skola: can I use a function argument (a string) as a key inside the same function? [14:29] eyesUnclouded has joined the channel [14:29] systemfault: Skola: Not sure I understand the question. [14:30] Skola: if I do foo (bar) { x.somefunction({bar : 123}) } [14:30] context: as a key for an object ? [14:30] context: var x; x[bar] = 123; return x; [14:30] context: err. var x = {}; [14:30] pifantastic has joined the channel [14:31] dies-el has joined the channel [14:31] Skola: but would it work as in foo (bar) { var x = {}; x[bar] = 123; return "whatever" } [14:32] Skola: wait I will paste it somewhere [14:32] davidwalsh_ has joined the channel [14:33] sonnym1 has joined the channel [14:34] Viriix has joined the channel [14:35] Skola: http://hpaste.org/46755/ [14:35] Skola: It breaks on the ({property : ..... part [14:36] Skola: because I'm probably doing it wrong [14:36] F1nnur: function () [ [14:36] bentruyman has joined the channel [14:36] F1nnur: function () { [14:36] Skola: sorry typo [14:36] Skola: just retyped it from CoffeeScript [14:37] Skola: that typo wasn't in the original, so it wasn't that [14:37] systemfault: :( Perhaps you should learn JS before coffescript (Opinion) [14:37] tokumine has joined the channel [14:37] thalll has joined the channel [14:37] edude03 has joined the channel [14:37] Skola: do you know what the problem is though? [14:38] Aikar: can anyone explain how this syntax works? var foo = ('global', eval)('this'); [14:38] Aikar: google used it in traceur [14:38] Skola: because you seem to imply it's a beginners mistake [14:38] Skola: which it probably is [14:38] Skola: but if so, please be so kind as to help me : )) [14:39] Skola: and I retyped it so people not familiar with CS could read it [14:42] ryanfitz has joined the channel [14:43] __tosh has joined the channel [14:47] patcoll has joined the channel [14:47] arian___ has joined the channel [14:47] BillyBreen has joined the channel [14:47] rgabo has joined the channel [14:48] flippyhead has joined the channel [14:49] taf2: Aikar, hrm... if you figure it out that would be great :) [14:50] uchuff has joined the channel [14:50] emattias has joined the channel [14:50] montylounge has joined the channel [14:50] mynyml has joined the channel [14:52] strmpnk has joined the channel [14:52] jxck has joined the channel [14:54] tmzt has joined the channel [14:54] Xano has joined the channel [14:55] Aikar: taf2: if your in #javascript read the chat log [14:55] Aikar: someones explaining it there [14:55] taf2: Aikar, shoot i missed it [14:55] insin has joined the channel [14:56] sub_pop has joined the channel [14:56] aho has joined the channel [14:59] hunterloftis has joined the channel [14:59] acd123 has joined the channel [14:59] hunterloftis: node hosting. amazon. thoughts, experiences? [15:00] aconbere has joined the channel [15:01] acd123: i'm having a hard time getting node to timeout idle HTTPS connection and my google search terms are failing me [15:01] acd123: can anyone point me in the right direction? [15:01] hunterloftis: acd123 - are you using Connect? Connect-timeout has worked well for us [15:01] acd123: thus far I've only been using the https lib that comes with node [15:02] kkaefer: when using expresso for testing, what's the preferred way to make expresso exit despite an open database connection? [15:02] acd123: maybe i can figure out what connect does to set a timeout though [15:03] hunterloftis: acd123 - it's probably just a setTimeout ;) [15:03] dmcquay has joined the channel [15:04] jakehow has joined the channel [15:05] kkaefer: ...or to see at all what keeps expresso from exiting [15:06] acd123: hunterlofits: this Connect-timeout that you mentioned, is it part of Connect? [15:07] pietern has joined the channel [15:09] hunterloftis: acd123: It's just connect middleware [15:10] aliem has joined the channel [15:12] pifantastic has joined the channel [15:12] acd123: hunterloftis: do you have a URL you could point me to? thx. [15:12] truedat101 has joined the channel [15:13] Me1000 has joined the channel [15:13] Me1000 has joined the channel [15:13] deedubs has joined the channel [15:14] hunterloftis: acd123: it's surprisingly hard to find, 1 sec... [15:14] softdrink has joined the channel [15:14] acd123: heh i think i got it [15:14] acd123: node, connect, and timeout are all relatively common words ;) [15:14] Bj_o_rn has joined the channel [15:15] hunterloftis: it's in npm as 'connect-timeout@0.0.1 =aaron =rauchg latest remote Adds timeouts to connect' <-- might be easier to just pull that [15:15] acd123: thanks [15:17] briznad has joined the channel [15:19] mbrevoort has joined the channel [15:19] dmcquay_ has joined the channel [15:20] newy has joined the channel [15:20] coreb1 has joined the channel [15:20] tbranyen: any node.js mailing list moderators in here [15:21] aconbere has joined the channel [15:21] jtsnow has joined the channel [15:22] w_wilkins has joined the channel [15:23] philtor has joined the channel [15:24] Renegade001 has joined the channel [15:26] Guest75743 has joined the channel [15:28] lukstr has joined the channel [15:28] teemow has joined the channel [15:29] alex_b has joined the channel [15:30] zomgbie has joined the channel [15:30] MooGoo has joined the channel [15:30] MooGoo: allo [15:31] MooGoo: how do you access the scope chain object in v8? [15:32] Samot has joined the channel [15:35] trcarden has joined the channel [15:36] matjas has joined the channel [15:36] harth has joined the channel [15:38] langworthy has joined the channel [15:38] Venom_X has joined the channel [15:39] Rodtusker has joined the channel [15:39] tarrant has joined the channel [15:40] EvanCarroll: http://opensourceuniverse.tradepub.com/free/w_make33/prgm.cgi [15:41] EvanCarroll: lawl. oh Linkedin spammers [15:41] adambeynon has joined the channel [15:42] tarrant has left the channel [15:42] snearch has joined the channel [15:42] yhahn has joined the channel [15:43] swick has joined the channel [15:44] matjas has joined the channel [15:47] sirganya has joined the channel [15:47] liquidproof has joined the channel [15:47] olauzon has joined the channel [15:47] sirganya: what headers/encoding do I use to trigger a download of a csv file? thanks [15:48] bene has joined the channel [15:50] baudehlo: Content-Disposition: attachment; filename=blah.csv [15:50] Me1000 has joined the channel [15:50] sorens3n has joined the channel [15:51] Qbix1 has joined the channel [15:51] sirganya: baudehlo: thanks, and utf8 for encoding? [15:51] Qbix1: hey anyone here have this: [15:51] Qbix1: facebook-graph-client [15:52] baudehlo: sirganya: Content-Type: text/csv; charset="utf-8" [15:53] chrislorenz has joined the channel [15:55] Yuffster_work has joined the channel [15:55] SamuraiJack has joined the channel [15:56] indutny has joined the channel [15:56] jxck has joined the channel [15:56] aberry has joined the channel [15:57] marknel has joined the channel [15:57] jano has joined the channel [15:57] bzinger has joined the channel [15:59] m64253 has joined the channel [15:59] donaldpcook has joined the channel [16:00] ian-london has joined the channel [16:01] mahna has joined the channel [16:03] rauchg_ has joined the channel [16:05] V1 has joined the channel [16:05] Booster2ooo: Does anybody use Nodester ? Because I created an account some days ago but the serv seems down already [16:05] Booster2ooo: I wanted to know if they were stable or often down [16:08] namelessnotion_ has joined the channel [16:08] k1ttty has joined the channel [16:08] aheckmann has joined the channel [16:10] Qbix1: anyone? [16:10] Qbix1: facebook-graph-client [16:10] Qbix1: who knows it [16:10] trcarden has joined the channel [16:10] eyesUnclouded has joined the channel [16:10] Xano has joined the channel [16:10] Casperin has joined the channel [16:12] eldios: WOOO OOO!!! FREEDOM!! I finally finished reading through the whole EloquentJavascript book! [16:12] eldios: \o/ [16:12] eldios: ACTION runs naked around the chan [16:12] yhahn has joined the channel [16:12] Samot: ACTION slaps eldios ass [16:12] eldios: ACTION sing at the slapping rhythm [16:12] puffpio has joined the channel [16:13] bulatshakirzyano has joined the channel [16:13] niftylettuce has joined the channel [16:14] jeff_horton has joined the channel [16:14] marknel has joined the channel [16:14] donaldpcook has joined the channel [16:15] beriberikix_ has joined the channel [16:16] loob2 has joined the channel [16:16] eyesUnclouded has joined the channel [16:16] mahna: Anybody have trouble building 0.4.7 on osx when specifying a custom prefix? [16:16] context: works fine here with homebrew [16:16] ryanfitz has joined the channel [16:17] rgabo: worked for me as well, needed brew link icu4c [16:17] mahna: Specifically, mid-way through the build the process stops calling /usr/bin/gcc and tries to call /Users/me/mydirgcc, resulting in "No such file." [16:17] eyesUnclouded has joined the channel [16:18] rgabo: sorry ,wrong chanenl [16:18] mahna: On 50/75. Up to that point it found gcc just fine, then it suddenly started looking for gcc in my custom install dir. [16:18] postwait has joined the channel [16:18] norviller has joined the channel [16:18] saschagehlich has joined the channel [16:19] mahna: I'm following my usual install process that worked fine up until 0.4.2, IIRC. [16:20] liar has joined the channel [16:20] brettgoulder has joined the channel [16:21] sreuter: So, 24 hours later… I think i can give it another shot :-) Anybody using node-crypto to successfully decipher binary streams? [16:21] BigWookie has left the channel [16:21] sreuter: http://groups.google.com/group/nodejs/browse_thread/thread/a1cac854f7ff319a [16:23] ryah has joined the channel [16:23] seivan has joined the channel [16:23] jamesarosen has joined the channel [16:24] FireFly has joined the channel [16:24] FireFly has joined the channel [16:24] reiddraper has left the channel [16:25] steph021 has joined the channel [16:25] pifantastic has joined the channel [16:27] webb has joined the channel [16:27] FireFly|n900 has joined the channel [16:27] mahna: https://gist.github.com/976792 [16:28] beldur has joined the channel [16:28] tjholowaychuk has joined the channel [16:28] jerry_ has joined the channel [16:29] jeff_horton has joined the channel [16:29] mahna: It's building fine, then starts looking for gcc in my custom location. [16:30] mahna: Strange [16:30] amerine has joined the channel [16:30] rgabo has left the channel [16:30] sreuter: mahana: it looks like you tried something else before that forces the build process to prepend your custom location to gcc. any environment variables set? did you try to relogin or "make clean"?! [16:32] Renegade001 has joined the channel [16:32] ezl has joined the channel [16:32] TooTallNate has joined the channel [16:33] Renegade001 has joined the channel [16:34] mahna: sreuter: This was a fresh install (purged all previous), but just tried again with 'make distclean' first and got the same result--it starts looking for gcc in the wrong place at 50/75. [16:35] jonathantaylor has joined the channel [16:35] gazumps has joined the channel [16:35] uchuff has joined the channel [16:35] sreuter: ahkey, so after there were already plenty of code compiled using /usr/bin/gcc? weird.. [16:35] SamuraiJack has joined the channel [16:36] sreuter: does it build successfully if you dont use —prefix ? [16:36] cm: I'm getting the following error when trying to install npm: http://pastebin.com/kzsiRXy2 [16:37] cm: I have installed node and can access it using "node" [16:37] mahna: sreuter: I'll try (I didn't want to have to clean it up afterwards ;). [16:38] Qbix1: how do I upgrade node using npm? [16:38] Qbix1: is it possible? [16:38] Qbix1: how do I upgrade node to 0.4.7 [16:38] Qbix1: or whatever [16:39] sreuter: cm: "Note that running as sudo can change envs." <- As you can see in the last line, there is only /usr/bin:/bin in your PATH. I believe your node binary is in /usr/local/bin or similar. :-) [16:39] cm: oh, okay [16:39] colinclark has joined the channel [16:39] Qbix1: ah, npm install n [16:39] sreuter: mahna: just dont do "make install" after the "make" :-) [16:40] Qbix1: guys, I have a "socket hang up" error [16:40] Qbix1: when trying to access facebook rest api [16:40] Qbix1: I didn't have it before [16:40] mahna: sreuter: Good idea. [16:41] skeevis has joined the channel [16:41] caolanm has joined the channel [16:41] Corren has joined the channel [16:42] jscheel has joined the channel [16:43] xeodox has joined the channel [16:43] towski has joined the channel [16:43] kmwallio has joined the channel [16:45] Renegade001 has joined the channel [16:45] SamuraiJack has joined the channel [16:46] jscheel: howdy guys! I am pinging an api that is returning pdfs as base64-encoded strings. I need to return these as pdfs to the browser, but I'm not quite sure how to write this to the response appropriately. [16:47] SubStack: res.write(new Buffer(pdf64String, 'base64')) [16:48] tiagoa has joined the channel [16:48] Renegade001 has joined the channel [16:48] TooTallNate has joined the channel [16:49] springmeyer has joined the channel [16:49] jscheel: SubStack: aaah, thanks! [16:49] mahna: sreuter: All better now. Before starting my reinstall I had set the PREFIX environment variable, which I guess was the old way of doing things. I see now that was wrong. ;) [16:50] ryan0x2 has joined the channel [16:50] mahna: Starting a fresh console session and only setting the prefix option, instead of both (despite the fact they both pointed to the same location), was the way to go. [16:51] Opaque has joined the channel [16:51] LowValueTarget has joined the channel [16:51] mahna: sreuter: Thanks for your help. [16:52] stephank has joined the channel [16:53] davidascher has joined the channel [16:53] x_or has joined the channel [16:53] sreuter: sreuter; you're welcome ;-) [16:54] sreuter: oooops… s/sreuter/mahna/g :-) [16:56] bluekite2000_ has joined the channel [16:57] mcantelon has joined the channel [16:57] akshat[remote] has joined the channel [16:59] bene has joined the channel [16:59] puffpio has joined the channel [17:00] Nican has joined the channel [17:00] dilvie has joined the channel [17:00] zeade has joined the channel [17:00] yhahn has joined the channel [17:01] nadirvardar has joined the channel [17:02] webb has left the channel [17:02] tdegrunt has joined the channel [17:03] xtianw has joined the channel [17:03] akshat[remote]: where do i ask questions about npm? [17:04] boaz has joined the channel [17:04] bentruyman has joined the channel [17:04] ardcore has joined the channel [17:04] bartt has joined the channel [17:05] ardcore has left the channel [17:07] dilvie: somebody here might be able to answer those. [17:08] nrajlich has joined the channel [17:09] atsuya has joined the channel [17:11] drudge: tjholowaychuk: was there an html2jade converter? thought i remember seeing one [17:11] lupomontero has joined the channel [17:11] TooTallNate has joined the channel [17:11] tjholowaychuk: drudge: yup [17:12] tjholowaychuk: https://github.com/donpark/html2jade [17:12] binarypie has joined the channel [17:12] markbao has joined the channel [17:12] drudge: thanks man [17:12] lukegalea: tjholowaychuk, drudge: it "mostly" works :) [17:12] tjholowaychuk: haven't tried it [17:12] lukegalea: I just tried it a couple of days ago [17:12] lukegalea: t [17:12] thalll has joined the channel [17:13] lukegalea: to convert a big email template. It was great but it totally messed up on embedded script tag contents. [17:13] lukegalea: (which you would only see in an email template)... [17:13] lukegalea: but I think for a normal ejs template or html it would be fine. [17:14] drudge: these pages are pretty simple, i'm just lazy :P [17:14] q_no has joined the channel [17:14] TooTallNate has joined the channel [17:15] perezd has joined the channel [17:15] dguttman has joined the channel [17:16] dguttman has joined the channel [17:16] lupomont_ has joined the channel [17:16] kmiyashiro has joined the channel [17:17] sreuter: SubStack: you just made my day! [17:17] SubStack: did I‽ [17:19] sreuter: yes you did. i don't know if you followed my problem with the decoding of a binary stream using node-crypto… http://groups.google.com/group/nodejs/browse_thread/thread/a1cac854f7ff319a ... [17:19] drudge: lukegalea/ tjholowaychuk: worked great. Only thing is i like : rather than = for my attrs [17:19] tjholowaychuk: drudge: cool cool [17:20] sreuter: wrapping a "new Buffer()" around the decoded chunk fixed it! Like: if(!res.write(new Buffer(decipher.update(chunk), 'binary'))) { S3_response.pause() } ; [17:20] lukegalea: drudge: me too.. But I'm also lazy. [17:20] cognominal: in child_process.js, setupChannel uses ascii as encoding, why not utf8? [17:20] lukegalea: I'm just living with it ;) [17:20] yozgrahame has joined the channel [17:21] sreuter: SubStack: thanks a lot! :-) [17:22] Renegade001 has joined the channel [17:22] nrajlich has joined the channel [17:24] TooTallNate has joined the channel [17:24] viz has joined the channel [17:24] swick has left the channel [17:25] ryah has joined the channel [17:25] sreuter: SubStack: I'm still wondering if this should actually be necessary. (beside the fact that id doesn't work without it :-) ) [17:25] markbao- has joined the channel [17:26] zcopley has left the channel [17:26] TooTallNate has joined the channel [17:27] zcopley has joined the channel [17:27] rfay has joined the channel [17:29] zeade has joined the channel [17:30] uchuff has joined the channel [17:30] rauchg has joined the channel [17:30] tilgovi has joined the channel [17:30] tilgovi has joined the channel [17:30] openpercept has joined the channel [17:31] ruquay has joined the channel [17:31] uchuff has joined the channel [17:32] m64253_ has joined the channel [17:33] nrajlich has joined the channel [17:33] udp has joined the channel [17:34] broofa has joined the channel [17:35] ian-london has joined the channel [17:35] c4milo: hello, who is using SSL in production? [17:35] Postmodernist has joined the channel [17:35] ryah: c4milo: mjr_ is [17:35] mjr_: c4milo: oh yes [17:35] tjholowaychuk: we are as well [17:36] ryah: it's buggy still [17:36] fakewaffle: anyone here is dvorak? [17:36] fakewaffle: use* :( [17:36] ryah: getting better though [17:36] c4milo: ryah: do we know the scenarios where it's still buggy? [17:36] ian-london has left the channel [17:37] ryah: c4milo: there is a very difficult to reproduce problem which can be seen under very heavy load [17:37] ian-london has joined the channel [17:37] ryah: sockets get forgotten, somehow [17:38] c4milo: ryah: got it, my intended use is for a rest api that also has streaming support [17:38] ryah: c4milo: use it [17:38] c4milo: ryah: I'll give it a try then [17:38] c4milo: ryah: thanks [17:38] ryah: let me know if you get bugs [17:40] rook2pawn has joined the channel [17:40] samsonjs has joined the channel [17:42] bluekite2000_ has joined the channel [17:42] Country has joined the channel [17:43] gwm has joined the channel [17:43] wao: xhr for the world [17:43] truedat101 has joined the channel [17:43] wao: anyway, is planned to turn on sockets in firefox later by default? [17:43] tbranyen: probably [17:44] tbranyen: i don't know why they would keep them disabled by default forever, that would be silly [17:44] tbranyen: wao: they are already enabled by default in mobile firefox [17:44] cognominal: ryah, in child_process.js, setupChannel uses ascii as encoding, why not utf8? [17:44] ryah: why utf8? [17:44] Aikar: cognominal: he just responded to the commit about that [17:45] cognominal: in Europe, we use plenty of characters that don't fit in ascii [17:45] ryah: this is an american project [17:45] Aikar: lolz [17:45] ryah: so... sorry [17:46] tjholowaychuk: america fuck yeah [17:46] MooGoo: yea fuck those off brand characters [17:46] Bonuspunkt: ^^ <3 [17:46] MooGoo: just makes everything more difficult [17:46] ryah: cognominal: json is ascii [17:46] Pilate: if its not matched by \w its not real [17:47] ryah: cognominal: high-valued characters are encoded like this "\u1234" [17:47] brolin has joined the channel [17:47] cognominal: thx, I did not know. [17:47] MooGoo: you guys in eurpoe should just all learn to speak english [17:47] MooGoo: same goes for the rest of the world [17:48] Bonuspunkt: v8: JSON.stringify('◎н ґεαʟł⑂') [17:48] v8bot: Bonuspunkt: "\"◎н ґεαʟł⑂\"" [17:48] halfhalo: psh, like the rest of the word matters [17:48] acd123: i'm trying to use node's SSL in production and i think i'm experiencing the bug you guys were discussing [17:48] MooGoo: well I dunno [17:48] MooGoo: encoding issues are a real pain in the ass [17:48] MooGoo: imagine the world with just ascii [17:48] MooGoo: a world of peace and prosperity [17:48] themiddleman_itv has joined the channel [17:48] halfhalo: i like it [17:48] halfhalo: lets do it [17:49] MooGoo: I think the first step is to take the internet back [17:49] MooGoo: the rest of the world can have their own [17:49] MooGoo: cept keep a link to japan for pr0n [17:50] cognominal: So the problem is with JSON.stringify? [17:50] ryah: huh -maybe im wrong about the json.stringify [17:50] c4milo: well in south american we use characters outside of the ascii set :P [17:50] c4milo: ryah: yes you are wrong [17:51] c4milo: ryah: it supports utf-8 [17:51] Aikar: inb4 south america isnt america [17:51] awenkhh has joined the channel [17:51] Lorentz has joined the channel [17:51] sechrist has joined the channel [17:51] CIA-90: node: 03Ryan Dahl 07master * r0271b78 10/ lib/child_process.js : fork: Use utf8 for channel encoding - http://bit.ly/inL9AH [17:51] harth has joined the channel [17:52] `3rdEden: OH [17:52] ryah: cognominal: sorry [17:52] SubStack: harth: harth === harthur? [17:52] cincinnatus has joined the channel [17:53] harth: SubStack: true [17:53] SubStack: just merged your pull req [17:53] SubStack: and then I wrote a test [17:53] cognominal: ryah++ # that was fast [17:53] harth: SubStack: word, thanks [17:53] SubStack: but that showed some other screwy cases, so I fixed those with even crazier hacks [17:54] ryah: cognominal: also - not the topic of the channel [17:54] ryah: note [17:54] indutny1 has joined the channel [17:54] halfhalo: that just means there are special suprises in the code! [17:55] cognominal: ryah, I am used to rakudo. Comparatively the experimental branches of nodes are rock solid :) [17:55] hellp has joined the channel [17:55] langworthy has joined the channel [17:55] MooGoo: anyone here know how to write node extensions [17:55] SubStack: harth: also now hacking browserify to support node_modules so that local installs from npm work properly [17:56] F1LT3R has joined the channel [17:56] harth: SubStack: omgz awesome [17:56] meetar has joined the channel [17:56] SubStack: this code is such a mess [17:56] SubStack: but I don't even care because it passes all the tests :p [17:57] mikeal has joined the channel [17:57] mikeal has joined the channel [17:57] cognominal: I remember there is a way to pass a fd from a UNIX process to another so as to create alternate channel. hazy memories... [17:58] SubStack: up to 840 lines of tests for browserify [17:58] tjholowaychuk: SubStack: that's nothin :p I've got 8836 for stylus [17:59] SubStack: did you write them all by hand? [17:59] tjholowaychuk: 8799 lines in the lib [17:59] tjholowaychuk: so a bit more tests [17:59] tjholowaychuk: yeah [17:59] cognominal: is this channel logged somewhere? [17:59] SubStack: what! [17:59] Aikar: yes [17:59] ceej has joined the channel [17:59] Aikar: !google node.js irc [17:59] SubStack: shit my modules are usually 500 lines tops [18:00] SubStack: and mostly around 200ish lines [18:00] Aikar: cognominal: http://nodejs.debuggable.com/ [18:00] tjholowaychuk: jade is 2253 [18:00] tjholowaychuk: pretty small in comparison [18:01] sechrist: tjholowaychuk: why doesn't stylus let you do inheritance/code scoping? [18:01] sechrist: that's the only thing I saw on less/sass that I didn't see on stylus [18:01] tjholowaychuk: "code scoping" ? [18:01] tjholowaychuk: wtf is that [18:01] SubStack: dnode is 313 [18:01] sechrist: tjholowaychuk: span { a {} b{} } [18:01] tjholowaychuk: sechrist: stylus has scopes [18:01] tjholowaychuk: you can nest [18:01] SubStack: optimist is bigger at 449 [18:01] sechrist: oh you can? [18:01] tjholowaychuk: yeah [18:01] tjholowaychuk: from day one [18:01] tjholowaychuk: you could [18:01] tjholowaychuk: lol [18:02] tjholowaychuk: sass has been stealing ideas from stylus lately [18:02] jgv_ has joined the channel [18:02] tjholowaychuk: that i've had since 0.0.1 [18:02] tjholowaychuk: but hey at least it makes sass better too [18:02] ardcore has joined the channel [18:04] `3rdEden: code.replace('\n', '') zomg only 1 line of code [18:04] MooGoo: you use newlines in your code? [18:04] MooGoo: noob [18:04] puffpio has joined the channel [18:05] halfhalo: lulz [18:05] Rodtusker has joined the channel [18:05] mertonium has joined the channel [18:05] `3rdEden: comparing LOC is like comparing penis sizes, PUT YOUR NUMBERS ON THE TABLE [18:06] tjholowaychuk: hahaha [18:06] exstrudel has joined the channel [18:06] MooGoo: in code, im more impressed by smaller penis size [18:06] tjholowaychuk: would be nice if sloccount worked with js [18:07] yhahn has joined the channel [18:07] yumike has joined the channel [18:08] q_no: I'm having a weird issue with sending http responses... the file I'm returning is a 15kB png and the response is only 7k [18:08] mikey_p: ACTION actually doesn't care much about size of code [18:08] q_no: so I'm receiving lots of "corrupt file" messages [18:08] vikstrous has joined the channel [18:08] ExsysTech has joined the channel [18:09] q_no: any suggestion how to track down the issue? sending half responses is not desirable ;) [18:10] skohorn has joined the channel [18:10] lgomez has joined the channel [18:10] ryah: q_no: post the code - what version are you using? [18:11] q_no: v0.5.0-pre, proxied by nginx 1.0 [18:11] vikstrous has joined the channel [18:11] riven has joined the channel [18:11] ryah: switch to v0.4.7 [18:12] ryah: q_no: note the topic [18:12] MooGoo: works for me [18:13] jbpros has joined the channel [18:13] q_no: it worked perfectly for a quite a long time, guess it has something todo with the nginx update (switched from 0.7.6 to 1.0) [18:13] a|i has joined the channel [18:13] q_no: but well, you never now... perhaps it works better with 0.4.7... that's tricky [18:13] SOLEIL has joined the channel [18:13] tjholowaychuk: q_no: might as well use the stable api [18:14] ryah: q_no: just to rule out causes [18:14] ryah: q_no: this is normal http - not https? [18:14] q_no: just normal http [18:14] ryah: q_no: it would be very surprising to find a http bug like this now [18:14] ryah: i suspect it's not node - you should post the code [18:14] q_no: it's an image server... rendering/resizing and responding png files for http://dashed.com ;) [18:15] q_no: wait a sec, I'm gonna make a pastebin [18:15] jerrysv: q_no: same results if you hit node directly, or only while proxied? eliminate a variable [18:15] arpegius has joined the channel [18:16] lgomez: If someone has a minute, could you take a look at this and tell me if you see something that may be causing the problem described there? https://gist.github.com/33b53dd85c1a0a1e15f4 [18:16] superjudge has joined the channel [18:16] lgomez: If I go to the login route and then hit any link taking me to the home page a few times, I get logged out. I'm not sure what's causing that. [18:18] truedat101 has joined the channel [18:18] mscahill has joined the channel [18:18] mscahill has left the channel [18:19] q_no: hitting it directly seems to work fine, got my 17kB back [18:19] q_no: seems like we narrowed it down to the proxing nginx<>node [18:19] ryah: ACTION looks around for mraleph [18:20] kawaz has joined the channel [18:22] bartt has joined the channel [18:22] newy_ has joined the channel [18:22] Booster2ooo: Hi again. Does anybody use Nodester to host his applications? [18:23] q_no: ok... I turned set "proxy_buffering off;" in nginx... seems to solve the issue -.- [18:23] Booster2ooo: Because i tried it, when I try to launch my little irc client, i just have Error: false which doesn't really helps me ^^ [18:23] q_no: jerrysv: hitting it directly was the idea I needed, thx ;) [18:24] jerrysv: q_no: np. i spend a lot of time troubleshooting :) [18:25] crodas has joined the channel [18:25] q_no: ryah: I'll keep the version notice in mind for my next issue ;) [18:27] jerrysv: ryah: with this optimization push that seems to be happening, any thoughts on speeding up dealing with add-ons? [18:27] maushu has joined the channel [18:27] ryah: ? [18:27] patcito has joined the channel [18:27] ryah: jerrysv: what do you mean [18:28] jerrysv: ryah: writing a c++ add-on can be fairly slow, with all of the translation from javascript to v8, i'm wondering if there are gains to be made there [18:29] ryah: writing or running? [18:29] jerrysv: running :) [18:29] jerrysv: writing was easy [18:29] context: mmm what do i want for lunch [18:29] ryah: jerrysv: that's v8's problem [18:29] ryah: we can't do much [18:30] tilgovi has joined the channel [18:30] tilgovi has joined the channel [18:31] jerrysv: ryah: figured i'd ask [18:31] wilken has joined the channel [18:33] tiagoa_ has joined the channel [18:33] pifantastic_ has joined the channel [18:34] fmeyer has joined the channel [18:35] jacobolus has joined the channel [18:35] hoax__ has joined the channel [18:35] nibblebot has joined the channel [18:37] jbpros has joined the channel [18:38] dingomanatee has joined the channel [18:38] dingomanatee: Hey Ho [18:39] dingomanatee: Any Node.JS'ers have any projects you want to show off to the south bay crowd on the 24th? [18:39] yhahn has joined the channel [18:40] jamesarosen has joined the channel [18:40] meetar: I have a beta I'm working on [18:40] dingomanatee: cool whats it about? [18:40] meetar: in fact if anyone here wants to break it i just pushed it live about a second ago [18:40] mbrevoort has joined the channel [18:41] meetar: http://nodepong.com [18:41] exstrudel has joined the channel [18:41] viz has joined the channel [18:41] dilvie has joined the channel [18:41] jarek has joined the channel [18:41] bminer has joined the channel [18:41] tbranyen: nodejs JSON.stringify is acting strange, its coercing my numbers to strings [18:42] baudehlo: ghod all http benchmarking tools are bloody awful. [18:42] jarek has joined the channel [18:42] jarek has joined the channel [18:42] bminer: anyone noticing slow perfomance with exec()? [18:42] Guest51628 has joined the channel [18:42] meetar: oo a bug [18:43] meetar: i suspect flashsockets [18:44] jarek has joined the channel [18:44] jarek has joined the channel [18:44] markwubben has joined the channel [18:44] jarek has joined the channel [18:44] mikegerwitz: tbranyen: What is `typeof yournumber`? [18:45] mikegerwitz: v8: JSON.stringify( 1 ) [18:45] v8bot: mikegerwitz: "1" [18:45] tbranyen: mikegerwitz: hmmm well i'm trying to reproduce outside of my app and i can't [18:45] tbranyen: heh [18:45] jarek has joined the channel [18:45] jarek has joined the channel [18:45] mikegerwitz: v8: JSON.stringify( '1' ) [18:45] v8bot: mikegerwitz: "\"1\"" [18:45] dingomanatee: meetar - interesting however I am not sure the scores are updating right. [18:45] tbranyen: same object too [18:45] meetar: boost: what browser were you in? [18:45] mikegerwitz: tbranyen: Yeah as long as it's a number and not a string, it shouldn't quote it [18:45] meetar: dingo: i agree [18:46] meetar: dingo: what browser are you in? [18:46] jerrysv: v8:JSON.stringify(Number(1)) [18:46] v8bot: jerrysv: "1" [18:46] dingomanatee: Little steps - also a bit of a noticeable lag when the pixel hits the peddle [18:46] dingomanatee: FF [18:46] drderidder has joined the channel [18:46] dingomanatee: OSX [18:46] meetar: dingo: yeah FF is going through flashsockets - quite slow compared to websocket [18:47] test117523 has joined the channel [18:47] dingomanatee: You need to ramp up the players - MMORPG (Massively Multiplayer Online Realtime Pong Game) ! [18:47] dingomanatee: Put players on all four walls [18:47] pengwynn has joined the channel [18:47] meetar: dingo: heh sounds insane [18:48] drderidder has left the channel [18:48] bminer: question... why is child_process.exec() performing slowly? [18:48] dingomanatee: meetar: look at Unity - you can have 3d pong and its has its own socketry [18:48] dambalah has joined the channel [18:48] bminer: i have a program that calls exec()... [18:48] bminer: the command is actually invalid (intentionally) [18:49] bminer: and i get runtimes of 60ms for just 12 calls of exec() [18:49] meetar: dingo: are you talking about 'vong'? [18:50] jarek has joined the channel [18:50] Venom_X has joined the channel [18:50] ryan0x2 has joined the channel [18:50] bminer: anyone? [18:50] bminer: performance of exec()? [18:50] jbpros has joined the channel [18:50] dingomanatee: node poing [18:50] jarek has joined the channel [18:51] dingomanatee: I just think it would be fun if you could pong inside a 3D cube [18:51] meetar: 3 Ds is too many [18:51] dingomanatee: you can put it into isometrics [18:51] dingomanatee: and flatten out the third dimension if you want. [18:52] meetar: i did those to stay in shape when i was in jail [18:52] teemow has joined the channel [18:52] indutny has joined the channel [18:53] meetar: i've seen some flash 3d pong games do that [18:53] dingomanatee: ACTION works on a prison based website.  [18:53] jarek has joined the channel [18:53] jarek has joined the channel [18:53] meetar: my biggest chore right now is coping with laggy flashsocket response. [18:53] dingomanatee: when they put you back in, I pwn your phn [18:53] dingomanatee: make it turn based :D [18:53] knirhs has joined the channel [18:53] jarek has joined the channel [18:53] jarek has joined the channel [18:53] meetar: haw [18:53] meetar: the firefox version [18:53] jerrysv: wait, turn based 3d pong? [18:53] dingomanatee: Zynga Pong [18:54] meetar: aka "pool" [18:54] dingomanatee: Pongville [18:54] Darren has joined the channel [18:54] meetar: pool in space [18:55] meetar: anyway: maybe not ready for a bunch of South Bay nerds [18:55] meetar: maybe by the 24th [18:56] steph021_w has joined the channel [18:56] steph021_w has joined the channel [18:56] mbrevoort has joined the channel [18:57] bminer: :quit [18:57] bminer has left the channel [18:57] rfay has joined the channel [18:58] tiagoa_ has joined the channel [18:58] kjeldahl has joined the channel [18:58] piscisaureus has joined the channel [18:59] Poetro has joined the channel [18:59] darren has left the channel [19:00] truedat101 has joined the channel [19:00] rtuin has joined the channel [19:00] Venom_X has joined the channel [19:01] admc has joined the channel [19:01] w_wilkins has joined the channel [19:02] baudehlo: has anyone written a httpperf/ab equivalent in node? [19:02] dingomanatee has joined the channel [19:04] coreb has joined the channel [19:04] pedrobelo has joined the channel [19:04] awenkhh has joined the channel [19:06] namelessnotion_ has joined the channel [19:06] Postmodernist: Hi [19:07] Postmodernist: Is there anything wrong with putting the create/read/update/delete functions inside the anonymous function called after the connection to the database is established? [19:07] Postmodernist: https://gist.github.com/977138 [19:07] saschagehlich has joined the channel [19:08] Postmodernist: Critque on that style would be appreciated. :) [19:10] rpflo has joined the channel [19:11] Postmodernist: *Critique [19:12] kriszyp has joined the channel [19:12] nphase has joined the channel [19:12] Marak has joined the channel [19:12] Marak: if anyone cares, we resurrected the announcer bot for node.js search keywords on twitter and he's alive in #nodejitsu [19:12] Marak: you can also !tweet responses to people [19:13] Postmodernist: I'm declaring functions inside an anonymous callback function: https://gist.github.com/977138 [19:13] Marak: ryah: I can bring the bot back in here, but the #nodejs hashtag is a bit busier since the last time we have the announcer bot running [19:13] Postmodernist: ACTION isn't sure if this is in accordance to idoimatic Javascript [19:13] Postmodernist: *idiomatic [19:14] darren has joined the channel [19:14] ezilman has joined the channel [19:14] Marak: fuck it, im doing it [19:14] Max-Might has joined the channel [19:15] ezilman: is there a way to force node to use a port? [19:15] ezilman: node -p 424242? [19:15] saschagehlich: ezilman: you have to tell the modules to use a specific port. node itself does not run on any ports [19:16] hlindset has joined the channel [19:16] hlindset has joined the channel [19:16] mscdex: Marak: we'll do it live! [19:17] Marak: mscdex: apparently avianflu hard-coded the broadcast to one channel, so he's fixing it now [19:18] fostah has joined the channel [19:19] wavded has joined the channel [19:19] Postmodernist: I'LL WRITE IT AND WE'LL DO IT LIVE!!!!oneone [19:19] wavded: does anyone know work being done in the vein of JRuby for Node? [19:19] Postmodernist: wavded: Is that a wrapper for gems? [19:19] baudehlo: wavded: no. [19:20] baudehlo: wavded: closest you'll get is Rhino. [19:20] wavded: i don't know too much about JRuby but it lets you run it in on the JVM [19:20] wavded: yeah Rhino runs on the JVM [19:20] ezilman1 has joined the channel [19:20] Max-Might has left the channel [19:20] SubStack: Postmodernist: I would just { create : (function () {}, delete : function () {} }[param] || function () {})() [19:20] SubStack: look ma, no points! [19:20] ezilman1: aschagehlich: well right now a simple "node node_modules/redis/test.js" brings up a bunch of errors [19:20] ezilman1: (for some reason it decides to run on port 6379 on its own, how do I override that?) [19:20] mnbvasd: why would anyone chose to run an interpreted language in a jvm? [19:21] baudehlo: waveded: there's no reason you couldn't port the API to Rhino. But the performance is shit. [19:21] Postmodernist: SubStack: Hmm, how do I call create or delete then? [19:21] wavded: yeah right [19:21] Postmodernist: Just .create? [19:21] wavded: mnbvasd: portability [19:21] Postmodernist: .create() [19:21] mnbvasd: wavded: accross what? [19:21] mscdex: across lols [19:22] SubStack: oh wups, misplaced ( all up in that example [19:22] mbrevoort has joined the channel [19:22] wavded: mnbvasd: well as far as i understand it you can run it anywhere the jvm runs [19:22] mnbvasd: wavded: which is probably a very specific jvm version on a very specific platform? [19:23] Postmodernist: SubStack: If I declare a function as create: function() { }, how do I call it? [19:23] baudehlo: node runs pretty much everywhere except windows. [19:23] bluekite2000 has joined the channel [19:23] dmcquay has joined the channel [19:23] SubStack: Postmodernist: you don't [19:23] baudehlo: and even there it runs, on cygwin. and will run on windows fine in v0.6 [19:23] mnbvasd: baudehlo: and on mips, power, sparc etc. [19:23] wavded: mndvasd: not sure, i would have to look into JRuby more and see what they did [19:23] mbrevoort has joined the channel [19:23] ezilman1: anybody? buller? [19:23] blackdog_ has joined the channel [19:23] chjj has joined the channel [19:24] baudehlo: mnbvasd: right, but nobody uses those ;-) [19:24] mnbvasd: baudehlo: or openbsd, jnode, or *other OS. [19:24] mnbvasd: baudehlo: sure ;) [19:24] SubStack: Postmodernist: but your example only had 1 call to create() so you should factor that out if you're only going to call it once [19:24] baudehlo: anyhow, the answer is the same. [19:24] jasong_at_apache has joined the channel [19:24] mnbvasd: the only people I've found who like java are mediocure coders and people teaching OO programming. [19:24] baudehlo: there's nobody currently working jNode.js [19:25] baudehlo: *on [19:25] Postmodernist: mnbvasd: What makes a programmer mediocre? [19:25] mnbvasd: I've never met a sysadmin who doesn't hate it with a passion. [19:25] hij1nx has joined the channel [19:25] baudehlo: Postmodernist: lack of salt. [19:25] mnbvasd: Postmodernist: clueless ones, who write bad code and make wrong assumptions. [19:25] baudehlo: they just don't taste right. [19:25] mnbvasd: ACTION giggles [19:25] ilya_ has joined the channel [19:26] mnbvasd: js runs on more platforms than java, hence is more portable. [19:26] Postmodernist: Larry Page seemed to like Java in 1995. [19:26] baudehlo: but v8 doesn't. [19:26] mnbvasd: idd [19:26] baudehlo: and node is pretty tied to v8 now. [19:26] mikegerwitz: mnbvasd: I think the problem is that Java is taught everywhere, therefore there is a larger population of inexperienced programmers for that language. The langauge itself, though I personally am not fond of it, is fine. [19:26] mnbvasd: google uses java for some stuff internally. [19:26] ilya_: tjholowaychuk: it appears that express/connect body parser doesn't recognize bools and turns {'param': false} into {'param': 'false'}. [19:27] ezilman1: Postmodernist: that's.. all that was available, google rewrote everything in python :P [19:27] Postmodernist: Fuck portability when it comes to SaaS. I'll get whatever platform I need and then serve it everywhere. [19:27] Postmodernist: ezilman1: ya [19:27] mnbvasd: mikegerwitz: I don't like the language personally... I just hate how non-portable it is.. you've got to get very specific jvms for very specific archs. [19:28] mnbvasd: ezilman1: google are going for go! dude! [19:28] Postmodernist: mnbvasd: Ruby or Java? [19:28] wavded has left the channel [19:28] mnbvasd: Postmodernist: java especially... I don't like ruby, but that's just a mild distaste ;) [19:28] ezilman1: mnbvasd: oh snap, and here I thought my Haskell for Dummies was going to make me the hippest cat for miles [19:28] Wizek has joined the channel [19:28] stephank has joined the channel [19:28] SubStack: haskell for dummies? PUHLEASE [19:29] mnbvasd: ACTION ^5's ezilman1  [19:29] mikegerwitz: Postmodernist: Seeing those two in the same sentence made me a little sick [19:29] SubStack: learn you a haskell is where it's at [19:29] Postmodernist: mnbvasd: What _do_ you like? [19:29] mnbvasd: Postmodernist: JS, C, C++, ASM, Pascal, Perl, Go!.... [19:29] Postmodernist: mikegerwitz: You're welcome. =) [19:30] jamesarosen has joined the channel [19:30] Postmodernist: Perl is still good for writing little utilities :) [19:30] mnbvasd: perl is great for quick hacks and 1 liners, so long as you don't write an app in it. [19:30] Postmodernist: I always hire a Perl monkey to do it though. [19:30] Postmodernist: sure [19:31] Postmodernist: I like Perl because I can easily find people to write quick hacks with CPAN in it [19:31] mnbvasd: I hate Perl because CPAN is so terribly broken [19:31] mnbvasd: ;) [19:31] baudehlo: ACTION has written a bunch of very large scale apps in perl... [19:32] mnbvasd: poor you :( [19:32] baudehlo: not really. [19:32] mnbvasd: ACTION gives baudehlo a lolly [19:32] baudehlo: clean perl is very nice. [19:32] baudehlo: ugly perl is very fucking ugly. [19:32] tjholowaychuk: ilya_ x-www-form-urlencoded? or json? [19:32] stepheneb_ has joined the channel [19:32] ilya_: JSON [19:32] baudehlo: generally it's a better language than Javascript. [19:32] mnbvasd: I can write nice clean perl, it's just I've had to maintain far to many "clever" programs other people write. [19:33] maxdlx has joined the channel [19:33] baudehlo: yeah, I can agree that sucks. [19:33] tjholowaychuk: ilya_: hmmm.. it's literally just JSON.parse [19:33] tjholowaychuk: so should be fine [19:33] ilya_: i just tested in node's REPL, converted JSON objects back and forth and yes, in there it stays a bool [19:34] tjholowaychuk: i suspect there is a different issue [19:34] ilya_: tjholowaychuk: but in the app, i print body right from app.post() and it's a string [19:34] chjj: bah, i hate JS on the client side now [19:34] Postmodernist: mnbvasd: I don't care if I can maintain the little apps people write in Perl. If it breaks, it's throwaway code. I'll pay $350 to another person in #perl and get a replacement. [19:34] tjholowaychuk: it's literally ['application/json'] = JSON.parse [19:34] Postmodernist: s/apps/utilities/ [19:35] ilya_: tjholowaychuk: i'm going to disable parser and look at raw body [19:35] mnbvasd: Postmodernist: fair point well made.. I spend 20 mins writing a custom script to parse a few log files then dump it somewhere to get deleted in 2 years time, and then write a replacement for the next problem ;) [19:36] hij1nx has joined the channel [19:36] ilya_: tjholowaychuk: where would the unparsed request body be? req.body is undefined [19:36] tjholowaychuk: ilya_ 'data' events [19:37] tjholowaychuk: bodyParser buffers [19:37] caolanm has joined the channel [19:37] ilya_: oh, back to body +=, ok [19:37] tjholowaychuk: ilya_: or req.rawBody [19:37] tjholowaychuk: i think is what it was called [19:37] tjholowaychuk: we store the original data [19:37] tjholowaychuk: so leave bodyParser in and check that [19:37] ilya_: nope, that's undefined too [19:37] tjholowaychuk: personally i dont think we should store the original at all [19:37] ilya_: i'll just collect the data event [19:37] tjholowaychuk: i've never used it at aleast [19:38] _fat has joined the channel [19:39] kersny has joined the channel [19:39] ilya_: tjholowaychuk: app.on('data', function(chunk){}) ? [19:39] tjholowaychuk: yeah [19:39] tjholowaychuk: well [19:39] tjholowaychuk: not app [19:40] tjholowaychuk: req.on('data', ...) [19:40] tjholowaychuk: just like regular node [19:40] ilya_: oh, ok [19:40] ryah: what's the best rss thing for node? [19:41] Qbix1: guys, I have a "socket hang up" error [19:41] Qbix1: when trying to access facebook rest api [19:41] Qbix1: I didn't have it before [19:41] Qbix1: does anyone know what that is about? https? [19:41] ryah: wow - not too many rss readers on the npms [19:41] Qbix1: I have latest node.js version [19:41] Qbix1: ryah - any reports of "socket hang up" errors in node.js https that you know about? [19:42] ryah: Qbix1: the other side hung up midrequest [19:42] ryah: handle it with req.on('error') [19:43] wadey has joined the channel [19:43] Qbix1: hold on, I will check [19:43] sreuter: Still can't believe I can proxy stuff I got in S3 at about 100mb/s (1000Gbit/s) trough one node process on an amazon ec2 medium instance.. insane…. [19:45] Maximosis has joined the channel [19:46] sreuter: When the objects in S3 are encrypted and I decipher them in-stream (chunkwise) I can at least achieve about 15mb/s (150mbit/s) … [19:46] brianc has joined the channel [19:47] copongcopong has joined the channel [19:48] wavded has joined the channel [19:49] wavded has left the channel [19:49] sreuter: On the shell (using the openssl binary) I can decrypt a object at about 31mb/s. So i think there is nothing much to tweak in node-crypto anymore, at leas not on decrypt perfomance. :-) [19:50] materialdesigner has joined the channel [19:50] mscdex: sreuter: have you tried 0.4 head? [19:51] mscdex: sreuter: ssl compression was disabled recently and that may help [19:51] yhahn has joined the channel [19:51] sreuter: mscdex: that only affects tls i guess :-) [19:51] mscdex: huh? [19:51] mscdex: tls and https [19:51] sreuter: mscdex: what i do is pure stream decryption, chunkwise.. with crypto.createDecipher(). [19:52] sreuter: yeah, that's not what i do :-) [19:52] sreuter: i'm not decrypting on the transport... [19:52] mscdex: sreuter: can you gist your code? [19:54] sreuter: mscdex: sure, i will correct my last gist (which i opened because of a bug i have now fixed) … just a second [19:55] stagas has joined the channel [19:55] Guest75743 has joined the channel [19:57] jarek has joined the channel [19:57] sreuter: mscdex: https://gist.github.com/c5b0e60728a986fdd3bf [19:58] exstrudel has joined the channel [19:58] mahna has joined the channel [19:58] ilya_: tjholowaychuk: turns out i was POSTing not stringified JSON objects and they were sent as ?param=value, therefore types were lost. But now I'm sending stringified objects and bodyParser creates an object that looks like {'{my data here}': ''} which is very weird. [19:59] hassox has joined the channel [20:00] stagas: ilya_: how are you posting that? [20:00] kmiyashiro: ilya_: what are you posting? [20:01] cloudhead has joined the channel [20:01] tjholowaychuk: ilya_ are you setting the content-type? [20:01] tjholowaychuk: to application/json ? [20:01] ilya_: via jquery's ajax [20:01] ilya_: i'm setting datatype: 'json' [20:01] awenkhh has joined the channel [20:02] tjholowaychuk: i had that issue the other day [20:02] tjholowaychuk: but [20:02] tjholowaychuk: jquery is lame [20:02] tjholowaychuk: so i had to do contentType: 'json' or something [20:02] ilya_: let me try that [20:03] ilya_: ah, you're right, it's contentType, not datatype [20:03] ilya_: datatype is for receiving [20:03] ilya_: derp [20:04] jetienne has joined the channel [20:05] `3rdEden: Offtopic: Does anybody here know a way to detect, if the `window.onload` event has been fired or not [20:05] sreuter: mscdex: see what i mean? :-) [20:07] SubStack: `3rdEden: var fired = false; window.onload = function () { fired = true }; [20:07] `3rdEden: SubStack yeah but the issue here is, the script is dynamically loaded in the page [20:08] `3rdEden: So I have no clue if the script is insered after the onload event or not [20:08] jetienne: `3rdEden: dom element got states. i remember that from a preloading stuff, one if is it loaded or not. maybe window.* got it [20:08] willwhit_ has joined the channel [20:08] tjholowaychuk: ilya_: confusing i know [20:08] tjholowaychuk: and headers: { 'Content-Type': ... } doesnt work [20:08] tjholowaychuk: which was the first thing i tried [20:08] `3rdEden: jetienne yeah i tried checking for document.readyState, but that also shows `complete` if the dom is loaded [20:09] frostbytten has joined the channel [20:09] `3rdEden: but I need the onload explicitly [20:09] Metapony has joined the channel [20:09] `3rdEden: I have been banging my head against for hours now ;! [20:09] frostbytten: Hey, can I ask and Express question here? [20:09] puffpio_ has joined the channel [20:10] ilya_: tjholowaychuk: yeah, I think it got it to work, without type coercing and other crap [20:10] ilya_: tjholowaychuk: thanks! [20:10] SubStack: dynamic loading >_< [20:11] SubStack: browserify that shit! [20:11] Squeese has joined the channel [20:11] hij1nx has joined the channel [20:12] jetienne: https://github.com/jquery/jquery/blob/master/src/core.js#L425 <- `3rdEden jquery code on it [20:12] frostbytten: Noob question, but is there a way to make basicAuth middleware only work for certain paths? [20:12] andi5 has joined the channel [20:12] kmiyashiro: ilya_: how'd you do it? [20:12] sreuter: frostbytten: answered this yesterday :-) just a second... [20:12] Qbix1: hey SubStack [20:12] Qbix1: waht's up [20:12] jetienne: `3rdEden: seems to say "complete" == loaded... what about that before it is loaded [20:12] Qbix1: ryah: are you here? [20:12] `3rdEden: I thought of using document.image and checking for height and width > than 0 as images the last once that are loaded [20:12] sreuter: frostbytten: there you go… https://gist.github.com/b15774d6ac7b4f2082e5 [20:12] ilya_: in jquery.ajax: data: JSON.stringify(JSONobj), contentType: 'application/json' [20:13] frostbytten: Thanks. [20:13] zeade has joined the channel [20:13] ryah: Qbix1: what's up? [20:13] sreuter: frostbytten: just leave the "basicAuth" argument if you dont want the resource/route to be protected [20:13] ilya_: kmiyashiro: this way bodyparser parses it back into object and keeps things as they were [20:13] jetienne: `3rdEden: you sure about readystate, jquery code seem pretty simple from here [20:13] frostbytten: Right... I got middleware up the butt over here, but I totally wasn't wrapping my head around basicAuth for some reason. [20:14] kmiyashiro: ilya_: ic... are you posting a form? [20:14] frostbytten: I guess because of req, res [20:14] SubStack: Qbix1: hackin [20:14] ilya_: kmiyashiro: ATM I just set up a page with buttons, so I'm posting an object i define in the