[00:00] cainus has joined the channel [00:01] mekwall has left the channel [00:01] riven has joined the channel [00:01] riven has joined the channel [00:01] cainus: anyone have a recommendation for a mongo client lib? seems like mongoose can't go schemaless, which seems very strange to me... [00:01] tbranyen: cainus: i used mongo-native which was pretty good [00:01] tbranyen: i guess [00:02] tbranyen: i didn't like bson very much [00:02] secoif has joined the channel [00:02] replore has joined the channel [00:02] replore_ has joined the channel [00:03] cainus: does it make you interact with bson? [00:03] rchavik has joined the channel [00:04] cainus: bah... serializers :\ [00:05] jakehow has joined the channel [00:06] chance- has joined the channel [00:07] ggg: i used to use native mongo before mongoose [00:07] ggg: I like mongoose for the schema, keeps things organized [00:08] DrMcKay has joined the channel [00:10] EvRide has joined the channel [00:11] koo6 has joined the channel [00:13] Wa has joined the channel [00:17] devongovett has joined the channel [00:18] kerigan: how do i get the last inserted id when using pg and an "insert into" statement? [00:19] brianseeders has joined the channel [00:20] ryanrolds: Does the end of the query have 'returning'? [00:21] konobi: it also depends on the node pg library you're using [00:22] ryanrolds: If is using 'pg' then 'RETURNING ; [00:22] ryanrolds: err, 'RETURNING id' should get him something in the results. [00:22] kerigan: ok i try that [00:23] ryanrolds: Assuming id, is the name of your pkey. [00:23] ryanrolds: Or whatever field you're wanting back. [00:24] cainus: ggg: why use mongo instead of an rdbms though? [00:25] ecin has joined the channel [00:25] artur_ has joined the channel [00:26] kerigan: cool works thanks ryan [00:26] ryanrolds: cainus: Some projects don't have a good dba, so the initial cost of getting something up is easier on doc or key/value store. [00:26] ryanrolds: kerigan: Awesome. [00:27] cainus: dba == db abstraction? [00:27] ryanrolds: database administrator [00:28] cainus: well you can learn SQL CREATE statements or mongoose schema statements... I don't think one is any easier than the other [00:28] ryanrolds: If you don't have someone that is very familure with how to optimize your RDBMS and your queries you can end up with something pretty slow. [00:28] cainus: yeah I don't think mongo solves that automagically either [00:29] cainus: ah well... to each his own [00:30] shanez_ has joined the channel [00:33] ryanrolds: For the LCD, mongodb is easier to setup and gives you much better intial performance (before it goes all Challenger on you). It's a tool choice that influenced by if you team has a dba or not. I agree with you. I prefer a RDBMS. [00:33] ryanrolds: *if your team [00:36] franciscallo has joined the channel [00:36] skm has joined the channel [00:40] MUILTFN has joined the channel [00:41] codely has joined the channel [00:41] ryanmcgrath has joined the channel [00:42] codely: hey everyone, any idea why i get command not found? in my devDependencies i have vows … but if i run vows test/*-test.js --spec … bash - vows command not found? [00:43] nerdy_ has joined the channel [00:45] tylerstalder has joined the channel [00:45] kurtzhong has joined the channel [00:47] ryanrolds: Does ./node_modules/.bin/vows test/*-test.js work? [00:48] ryanrolds: It may just be that ./node_modules/.bin isn't in your search path. [00:49] artur_ has left the channel [00:51] cjm has left the channel [00:52] codely: hmm how do i get that in my path? [00:52] Drakonite has joined the channel [00:52] codely: weird that npm install vows doesn't do that? [00:52] ryanrolds: It's great that it doesn't. [00:53] ryanrolds: If you can something globally installed do 'npm install vows -g' [00:53] codely: hmm what do i do then when testing my module? [00:53] codely: i was using should, and using a makefile to node text/index.test.js [00:53] codely: (but vows is pretty awesome) [00:53] ryanrolds: Typically you don't want locally installed modules in your search path. [00:53] codely: yeah ... [00:53] codely: so how do i run tests? [00:54] ryanrolds: Did this work: ./node_modules/.bin/vows test/*-test.js [00:54] tbranyen: thats a pretty bad idea [00:54] tbranyen: bad is relative here, but i'm just saying that looks bad [00:54] codely: yeah it worked ... [00:54] codely: no i get that, i mean when testing a module, what is the "practice" [00:55] codely: so i have test, great. i have vows as a dev dependency. now what aside from the possibility of doing npm install vows -g [00:55] ryanrolds: most people have make/jake test run that. [00:56] ryanrolds: Rather then installing it globally, most people have their build system make that call. Such as doing 'make test'. [00:56] codely: yeah [00:56] codely: gotcha ok - [00:56] codely: i just didn't get the object of dev dependencies i guess [00:56] fread2281 has left the channel [00:57] ryanrolds: Dev dependences are modules not needed for the app/modules to function. [00:57] codely: i know ... [00:58] joshthecoder has joined the channel [00:58] bicranial has joined the channel [01:00] ryanrolds: I guess I don't understand the confusion. [01:00] tokuzfunpi has joined the channel [01:03] aho has joined the channel [01:06] zmbmartin has joined the channel [01:06] k1ttty has joined the channel [01:06] neurodrone_ has joined the channel [01:07] overthemike has joined the channel [01:10] michaeldeol has joined the channel [01:11] htoothrot has joined the channel [01:12] a_suenami has joined the channel [01:16] towski has joined the channel [01:16] jldbasa has joined the channel [01:18] abraxas has joined the channel [01:19] digman543 has joined the channel [01:20] matyr has joined the channel [01:24] briandh has joined the channel [01:24] harthur has joined the channel [01:25] Wa has joined the channel [01:26] cafesofie has joined the channel [01:28] neoesque has joined the channel [01:28] Circlefusion has joined the channel [01:29] jmoyers has joined the channel [01:29] balaa has joined the channel [01:35] skyl has joined the channel [01:36] Andrevan has joined the channel [01:36] Andrevan has joined the channel [01:39] te-brian has joined the channel [01:40] ditesh|cassini has joined the channel [01:42] PastorBones: Can anybody tell me how to use the attribute group=true in cradle? [01:43] skm has joined the channel [01:45] PastorBones: nvm, figured it out :) [01:50] secoif: anyone here set up a streaming webcam server using node? [01:50] secoif: one -> many [01:50] fread2281 has joined the channel [01:50] nforgerit has joined the channel [01:50] necrodearia has joined the channel [01:53] Circlefusion has joined the channel [01:53] melcher has joined the channel [01:53] inph0 has joined the channel [01:54] jppjcnva has joined the channel [01:54] jppjcnva: quit [01:55] jppjcnva has joined the channel [02:00] neilk_ has joined the channel [02:01] jppjcnva has joined the channel [02:02] julioj_ has joined the channel [02:03] japhlff has joined the channel [02:06] japhlff has joined the channel [02:06] dmkbot: joyent/node: 03tellnes: fix dns.resolveTxt - https://github.com/joyent/node/issues/1817 [02:06] skyl has joined the channel [02:07] elijah has joined the channel [02:07] japhlff has joined the channel [02:07] phlff has joined the channel [02:08] zmbmartin has joined the channel [02:08] davidascher has joined the channel [02:08] zipace has joined the channel [02:09] phlff has left the channel [02:09] felixhummel has joined the channel [02:10] chrisvtx has joined the channel [02:12] boehm has joined the channel [02:17] zmbmartin has joined the channel [02:18] matyr has joined the channel [02:18] joshgillies has joined the channel [02:23] brianseeders has joined the channel [02:23] hacksparrow has joined the channel [02:25] dominictarr has joined the channel [02:30] skiz has joined the channel [02:31] louissmit_ has joined the channel [02:31] brianseeders has joined the channel [02:32] louissmit_ has joined the channel [02:32] squeese has joined the channel [02:33] jtsnow has joined the channel [02:36] stepheneb has joined the channel [02:36] brianseeders has joined the channel [02:42] zmbmartin has joined the channel [02:42] seawise has joined the channel [02:43] kerigan: hm i think i gonna us mongo instead of postgre :) [02:44] kerigan: whats the best mongo module? [02:46] briandh: node-mongodb-native [02:46] briandh: Hands down [02:48] cafesofie has joined the channel [02:49] Vennril2 has joined the channel [02:49] AAA_awright_ has joined the channel [02:50] chrisvtx1 has left the channel [02:50] kerigan: ok ill try that [02:50] davidbanham has joined the channel [02:51] AphelionZ has joined the channel [02:51] briandh: I think there are many (read: 3) modules available that add an extra layer on-top of mongodb-native that supposedly make it easier to use. [02:51] shipit has joined the channel [02:52] spathi^ has joined the channel [02:57] isaacs: ircretary: tell codely Put a test script in your package.json. Run `npm install`. Then run `npm test` to execute your test script. It'll see the locally installed bin files. No need for global installs. [02:57] ircretary: isaacs: I'll be sure to tell codely [02:57] isaacs: Who here uses Windows? [02:57] isaacs: http://npmjs.org/doc/README.html#Installing-on-Windows-Experimental [02:57] isaacs: please test ^ [02:57] AvianFlu: isaacs: leaving somebody a message that gets sent to them on join: awesome bot feature [02:57] AvianFlu: so gonna steal that [02:57] isaacs: AvianFlu: thanks :) [02:58] isaacs: i usually don't do it in the room, but figured i may as well leave it in the logs in case anyone else has the same question :) [02:58] tbranyen: yeah we have that in a few other channels, its nice, unless the bot dies :( [02:58] isaacs: tbranyen: ircretary will pass messages between rooms, too [02:58] AvianFlu: most apps lose a few features when they go down XD [02:58] isaacs: tbranyen: she's also in #libuv and #joyent [02:58] tbranyen: heh bot-t will too :-p [02:59] __main__ has joined the channel [02:59] tbranyen: but thats like the jquery-side of irc [03:00] jetienne_ has joined the channel [03:01] __main__ has joined the channel [03:01] zackattack has joined the channel [03:01] heavysixer_ has joined the channel [03:02] matyr has joined the channel [03:03] racar has joined the channel [03:04] racar: Hello folks, is it me or array type doesnt exist in node ?!? i'm doing : var a = new Array(); ... typeof a return 'object' [03:04] racar: same for a = ['3']; [03:05] racar: was tring to use .length , but doesn't work on object obviously [03:05] AvianFlu: yes, the type of an array is 'object' [03:05] AvianFlu: you can use Array.isArray(something) to check [03:06] AvianFlu: if it's an array [03:06] AvianFlu: that's a javascript thing, btw, it's not just node [03:06] racar: but in JS i can do var a = ['3]; a.length will return 1 isn't ? [03:07] racar: '3' [03:07] AvianFlu: no, arrays should have .length [03:07] AvianFlu: v8: ['3'].length [03:07] v8bot_: AvianFlu: 1 [03:07] MooGoo: it's nice having two ##javascripts [03:07] MooGoo: arrays are objects [03:07] racar: yes , so you're saying that a = ['3'] is not a array and new Array() too ? [03:07] tmzt_: Array.isArray or Array.prototype.isArray? [03:07] AvianFlu: v8: ['3','4','5'].length [03:07] racar: k [03:07] MooGoo: 1st [03:07] v8bot_: AvianFlu: 3 [03:07] AvianFlu: Array.isArray [03:08] AvianFlu: it's what would be called a static variable in c++ [03:08] MooGoo: or a static method even [03:08] AvianFlu: part of something that gets instantiated, but not itself an instance method [03:08] tbranyen: property [03:08] AvianFlu: yeah, either way [03:08] AvianFlu: same idea [03:09] davidvip has joined the channel [03:09] tbranyen: nah i wanna bikeshed, don't give in that easily [03:09] AvianFlu: I mean, 'variable' wasn't right of me, it's a function [03:09] davidvip: hi all, i am running 0.4.8 and often have this error thrown whenever connection pool is being used: warning possible eventemitter memory leak detected [03:09] AvianFlu: but I guess it's also a variable with a reference to a function [03:09] davidvip: are there any concrete answer despite google [03:09] MooGoo: it's an object property [03:10] AvianFlu: davidvip: that happens when you have more than 10 listeners on an event [03:10] AvianFlu: you might be using .on when you should be using .once, for example [03:10] MooGoo: I still dont get that [03:10] AvianFlu: something would be getting re-attached to the event over and over, in that case [03:10] MooGoo: why would 10 listeners on an event cause a memory leak [03:10] AvianFlu: it's set to 10 [03:11] AvianFlu: the idea is that when they start increasing a lot it's a leak [03:11] MooGoo: why would any number create a memory leak [03:11] AvianFlu: and if you use .on when you should use .once [03:11] MooGoo: oh [03:11] MooGoo: so [03:11] AvianFlu: it'll keep adding a new listener every time [03:11] davidvip: so i hv 2 places to look for... emit.once and setMaxListener [03:11] AvianFlu: so #2 you call it twice, #3 3 times, etc. [03:11] MooGoo: it's a userland memory leak [03:11] AvianFlu: exactly [03:11] davidvip: thanks will try it [03:12] hasenj has joined the channel [03:12] AvianFlu: .once removes a listener after the first time it's fired [03:12] AvianFlu: .on leaves it there to be called every time [03:12] AvianFlu: some you want one, some you want the other [03:13] MooGoo: >> for(i=0,s='hai';i<99999;i++)s+=s [03:13] isaacs: hahah [03:13] isaacs: unintentional easter-egg: npm is philosophical [03:13] isaacs: npm get depth [03:14] isaacs: Infinity [03:14] AvianFlu: epic [03:14] isaacs: that's deep. looks into the void. [03:14] jacter has joined the channel [03:14] AvianFlu: npm updating itself [03:14] AvianFlu: NODECEPTION [03:14] davidvip: but if using connection pool, i have to use .on right? [03:14] MooGoo: v8: for(i=0,s='hai';i<99999;i++)s+=s [03:14] v8bot_: MooGoo: [03:14] isaacs: AvianFlu: NO DECEPTION!!! [03:14] AvianFlu: davidvip: using it for what? [03:15] AvianFlu: ahahahahahahahahahahahaha [03:15] isaacs: it's truthy to the max [03:15] isaacs: it's ok if your mind was just blown. [03:15] isaacs: it'll come back soon :) [03:17] davidvip has left the channel [03:18] mike5w3c_ has joined the channel [03:19] ryanrolds: node [03:19] racar: Anyone using node-mysql-pool and still able to use the _queue.length properties from mysql module ? i tried pool.properties but doesnt work [03:20] MooGoo: sɾ˙ǝpou [03:20] racar: not bad [03:25] mtwdmn has left the channel [03:27] maletor has joined the channel [03:30] jolokia has joined the channel [03:30] jtsnow has joined the channel [03:31] beatak has joined the channel [03:33] paul_k has joined the channel [03:35] bicranial has joined the channel [03:36] edenli has joined the channel [03:38] kriszyp has joined the channel [03:39] beatak: i have a question about installation. [03:39] beatak: i got this error on both `make` and `sudo make install` [03:39] beatak: Waf: Leaving directory `/Repository/node/out' [03:39] beatak: 'build' finished successfully (28.522s) [03:39] beatak: Traceback (most recent call last): [03:39] beatak: File "tools/waf-light", line 158, in [03:39] beatak: Scripting.prepare(t, cwd, VERSION, wafdir) [03:39] beatak: File "/Repository/node/tools/wafadmin/Scripting.py", line 145, in prepare [03:39] beatak: prepare_impl(t, cwd, ver, wafdir) [03:39] beatak: File "/Repository/node/tools/wafadmin/Scripting.py", line 135, in prepare_impl [03:39] beatak: main() [03:39] beatak: File "/Repository/node/tools/wafadmin/Scripting.py", line 186, in main [03:39] beatak: fun() [03:39] beatak: File "/Repository/node/wscript", line 1012, in shutdown [03:39] beatak: os.symlink('out/Release/node', 'node') [03:39] beatak: OSError: [Errno 17] File exists [03:39] AAA_awright: Woaa [03:40] brainproxy: beatak, dude, use a gist or pastie :p [03:40] beatak: i'm using OSX 10.7.1, Python 2.7.1 [03:40] beatak: sorry [03:41] beatak: http://pastie.org/2630075 [03:41] beatak: should I care or it doesn't matter? [03:41] levi has joined the channel [03:42] meso has joined the channel [03:42] davidbanham has joined the channel [03:45] isaacs: beatak: make clean all [03:45] isaacs: beatak: might have to sudo it [03:46] beatak: isaacs: i got the same error by `make clean all` [03:46] isaacs: beatak: `make clean` should have removed the file that it's colliding with, though [03:46] isaacs: beatak: the exact same error? [03:46] beatak: yeah [03:51] mynyml has joined the channel [03:51] beatak: ah `make distclean` does it. [03:53] Bonuspunkt has joined the channel [03:54] franciscallo has joined the channel [03:58] Peniar has joined the channel [03:59] aguynamedben has joined the channel [03:59] hasenj has joined the channel [04:02] metellus has joined the channel [04:04] cha0s has joined the channel [04:06] _sorensen_ has joined the channel [04:06] AvianFlu: hey isaacs [04:06] isaacs: yo [04:06] AvianFlu: 1.0.30 -> 1.0.90? [04:06] AvianFlu: I'm just curious [04:07] AvianFlu: i.e. what's up with that [04:09] isaacs: AvianFlu: it's a node tradition ;) [04:09] isaacs: AvianFlu: big major change, but no API changed. [04:09] CarterL has joined the channel [04:09] isaacs: so, changing it to 1.1.0 doesn't make sense. [04:10] isaacs: when all the windows stuff is done, i'll make it 1.1 [04:10] AvianFlu: so you go to 9? [04:10] isaacs: to 90 [04:10] AvianFlu: okay, that makes sense [04:10] ecin has joined the channel [04:14] Strathmeyer has joined the channel [04:14] AvianFlu: also, if I started testing npm on windows, would I wind up spending more time thinking about npm's code or about win32api voodoo [04:14] AvianFlu: ? [04:14] jedahan has joined the channel [04:14] isaacs: well, ideally, it'd Just Work ;) [04:14] davidascher has joined the channel [04:15] isaacs: but, if it doesn't -- and it won't -- it's probably going to be about 50/50 [04:15] isaacs: ie, broken stuff in node, broken stuff in npm, and weird voodoo on windows [04:15] AvianFlu: yeah, I've tried to write way too much dumb shit from scratch over the years to ever believe the Just Works(tm) [04:15] jacter has joined the channel [04:15] isaacs: it *does* work a surprising amount of the time [04:15] isaacs: i mean, it's already much better than cygwin [04:15] isaacs: (not saying much) [04:15] AvianFlu: yeah lol [04:16] jesusabdullah: haha [04:16] jesusabdullah: nice [04:16] AvianFlu: but still, awesome [04:16] strathmeyer: :-D [04:22] meso has joined the channel [04:23] Twelve-60: any tips on debugging: throw e; // process.nextTick error, or 'error' event on first tick Error: EPERM, Operation not permitted, at Socket._onConnect (net.js:595:18) [04:24] isaacs has joined the channel [04:27] zipace has joined the channel [04:28] matyr has joined the channel [04:28] racar has joined the channel [04:29] bradleymeck has joined the channel [04:36] dmwuw has joined the channel [04:37] tilgovi has joined the channel [04:37] tilgovi has joined the channel [04:42] melcher has joined the channel [04:43] stonebranch has joined the channel [04:44] ohtogo has left the channel [04:46] nerdy has joined the channel [04:46] dexter_e has joined the channel [04:46] markdaws has joined the channel [04:46] neilk_ has joined the channel [04:53] fangel has joined the channel [04:54] k1ttty has joined the channel [05:00] anoop has joined the channel [05:01] Drakonite has joined the channel [05:01] lz has joined the channel [05:01] inpho has joined the channel [05:01] _sorensen_ has joined the channel [05:03] meso has joined the channel [05:05] shedinja has joined the channel [05:05] Emmanuel` has joined the channel [05:07] r04r has joined the channel [05:10] igl has joined the channel [05:11] bojicas has joined the channel [05:11] bojicas has joined the channel [05:12] levi has joined the channel [05:12] wbw72 has joined the channel [05:13] r04r has joined the channel [05:13] r04r has joined the channel [05:14] jacter has joined the channel [05:14] jedahan has joined the channel [05:17] franksalim has joined the channel [05:17] vns has joined the channel [05:21] chet has joined the channel [05:21] chet: hey [05:21] chet: is the best way for 2 way server communication with socket.io? [05:21] jesusabdullah: server communication? [05:21] jesusabdullah: or client/server ? [05:22] r04r has joined the channel [05:24] chet: client/server [05:24] chet: well i guess it would be 2 servers [05:25] chet: i have a web server, which a user will send information from that server to another [05:25] fread2281 has joined the channel [05:25] chet: both run linux and node just fine [05:26] jesusabdullah: socket.io is a good way to do 2-way server/client communications, but I don't think it will connect to arbitrary domains. You'll have to proxy with your server [05:26] konobi: a server is just another client [05:26] jesusabdullah: and by "client" I mean "the browser" [05:26] jesusabdullah: if you're talking nodes communicating with each other, http works fine [05:26] jesusabdullah: dnode makes it easy [05:27] chet: an example of my needs are: user pushes button on browser, request is send to the second server which then changes turns a light on or off (second server does this via terminal commands) [05:27] chet: so dnode would be a good choice? [05:27] hank__sims has joined the channel [05:27] jesusabdullah: I don't know, I don't really understand what you are trying to do [05:27] chase has joined the channel [05:28] ryanrolds: From the Socket.io FAQ: Does Socket.IO support cross-domain connections? Absolutely, on every browser! [05:28] jesusabdullah: ah! Cool [05:28] ryanrolds: I haven't tested it. [05:28] jesusabdullah: I did not know that [05:28] ryanrolds: http://socket.io/#faq [05:28] jesusabdullah: But they claim it to be so [05:28] ryanrolds: It's something I intened to test. [05:28] jesusabdullah: I honestly don't use socket.io much [05:29] ryanrolds: Now, if you support IE8+ and modern browser, you should be able to use CORS too. [05:29] ryanrolds: http://www.w3.org/TR/cors/ [05:30] ryanrolds: I do CORS with Node a lot. [05:30] chet: my main concern is the 2 way communication between the servers [05:30] ryanrolds: Yeah, try socket.io. [05:30] chet: i have a node server which gets a curl sent to it, which works 1 way [05:31] ryanrolds: It should be easy to run cross domain tests if you edit your hosts file. [05:31] chet: but i need both for another application [05:31] hank__sims: Any way to replumb a stream.pipe? Say I'm piping Stream A --> Stream Z and Stream B --> Stream Y, and I want to swap them mid-stream without shutting anything down. [05:33] zipace has joined the channel [05:33] Circlefusion has joined the channel [05:33] ecin_ has joined the channel [05:34] chet: ill read up on socket.io [05:34] chet: thanks for the help guys [05:35] devongovett has joined the channel [05:35] jacter1 has joined the channel [05:35] thalll has joined the channel [05:35] Remoun has joined the channel [05:36] chase: anyone have experience with Webbynode or can recommend a good server deployment that I can setup very quickly? [05:37] chase: looked at dotcloud but they don't seem to have the greatest socket.io support [05:37] langworthy has joined the channel [05:39] langworthy has joined the channel [05:40] jacobolus has joined the channel [05:41] jacobolu_ has joined the channel [05:43] sonnym has joined the channel [05:46] wilmoore has joined the channel [05:50] JSManiacs has joined the channel [05:53] towski has joined the channel [05:53] Bonuspunk has joined the channel [05:54] Wizek has joined the channel [05:55] joshkehn has joined the channel [05:58] hermanjunge has joined the channel [06:01] stagas has joined the channel [06:01] Xano has joined the channel [06:01] Frippe has joined the channel [06:02] socialhack has joined the channel [06:04] mwhooker has joined the channel [06:04] simenbrekken has joined the channel [06:07] nyrb has joined the channel [06:12] k1ttty has joined the channel [06:13] mif86 has joined the channel [06:18] fangel has joined the channel [06:18] Tobbe has joined the channel [06:18] tlrobinson has joined the channel [06:20] wbednarski has joined the channel [06:21] sub_pop has joined the channel [06:23] yobi: chase: try out nodejitsu [06:23] yobi: if you are a node dev [06:24] chase: meh private beta [06:24] chase: i need something right away :/ [06:24] chase: dotcloud is failing [06:24] chase: webnoddey same [06:24] chase: no idea [06:24] chase: thanks though [06:26] joshkehn has left the channel [06:30] yobi: chase: if you join their irc channel you can get one today=) [06:30] cosmincx has joined the channel [06:30] yobi: i just got one [06:30] chase: nice ill try it out [06:30] chase: thanks [06:33] isaacs has joined the channel [06:34] dshaw_ has joined the channel [06:36] tlrobinson has joined the channel [06:37] TheJH has joined the channel [06:37] kurtzhong has joined the channel [06:38] shipit has joined the channel [06:39] dshaw_1 has joined the channel [06:39] SamuraiJack has joined the channel [06:40] aguynamedben has joined the channel [06:43] dshaw_ has joined the channel [06:44] sgimeno has joined the channel [06:44] dshaw_1 has joined the channel [06:45] TomY has joined the channel [06:45] dshaw_ has joined the channel [06:47] Remoun has joined the channel [06:47] dshaw_1 has joined the channel [06:47] kurtzhong_ has joined the channel [06:47] thalll has joined the channel [06:48] bluesmoon has joined the channel [06:48] `3rdEden has joined the channel [06:49] bluesmoon: anyone awake? [06:49] TheJH: awake [06:49] bluesmoon: hola [06:50] bluesmoon: which timezone are you in? [06:51] simenbrekken has joined the channel [06:52] jbpros has joined the channel [06:53] herbySk has joined the channel [06:54] joshgillies has joined the channel [06:55] isaacs: bluesmoon: hi [06:55] bluesmoon: yo isaacs [06:55] isaacs: ello philip [06:55] isaacs: you see the flame this morning/yesterday? [06:56] bluesmoon: isaacs, just catching up... was at jsconf this weekend [06:56] isaacs: ah, nice [06:58] bluesmoon: it's often not worth my time to read rants :P [06:58] isaacs: oh, this one is particularly unworthy of time [06:58] isaacs: but interesting for its utter awfulness [06:58] shedinja: that's good advice bluesmoon [06:59] bluesmoon: i'm only reading the responses by joshua and brian [06:59] TheJH: bluesmoon, gmt+1 / gmt+2 [07:00] TheJH: node runs on my android now :) [07:00] bluesmoon: TheJH, wait, have we met? [07:00] TheJH: bluesmoon, probably not, why? [07:00] bluesmoon: because I'm gmt+1 right now [07:00] TheJH: bluesmoon, oh, you're from germany, too? [07:01] bluesmoon: TheJH, no only visiting... for another 1 hour at least [07:01] random123 has joined the channel [07:06] raphdg has joined the channel [07:06] flamboz has joined the channel [07:10] matyr has joined the channel [07:12] hank__sims has left the channel [07:14] fangel has joined the channel [07:15] ecin_ has joined the channel [07:15] jacter has joined the channel [07:16] artgon has joined the channel [07:17] emattias has joined the channel [07:17] _bat has joined the channel [07:18] ph^ has joined the channel [07:20] rmzg has joined the channel [07:21] ivanfi has joined the channel [07:21] daglees has joined the channel [07:22] ablomen has joined the channel [07:23] Lemon_BE has joined the channel [07:23] superjudge has joined the channel [07:25] jj0hns0n has joined the channel [07:26] trewesta has joined the channel [07:26] davidbanham has joined the channel [07:26] tshpaper has joined the channel [07:27] Druide has joined the channel [07:28] lz: holy shit [07:28] djcoin has joined the channel [07:28] harthur has joined the channel [07:28] lz: i just found out that heroku cedar gives you access to a file system [07:29] stonebranch has joined the channel [07:29] flamboz has joined the channel [07:30] zmbmartin has joined the channel [07:30] jetienne has joined the channel [07:32] mynix has joined the channel [07:33] mynix has joined the channel [07:34] mynix has joined the channel [07:34] kurtzhong has joined the channel [07:35] Margle has joined the channel [07:36] jacter has joined the channel [07:36] guidocalvano has joined the channel [07:36] wbednarski has joined the channel [07:37] [AD]Turbo has joined the channel [07:37] [AD]Turbo: yo all [07:39] TomY has joined the channel [07:39] mehlah has joined the channel [07:40] topaxi has joined the channel [07:40] _kud has joined the channel [07:41] mytrile has joined the channel [07:41] test has joined the channel [07:45] shipit has joined the channel [07:46] sgimeno has joined the channel [07:46] johnwards has joined the channel [07:47] dexter_e has joined the channel [07:50] mynix has joined the channel [07:51] burningdog has joined the channel [07:54] absurd has joined the channel [07:54] mAritz has joined the channel [07:56] zmbmartin has joined the channel [07:57] kurtzhong has joined the channel [07:59] aaronmcadam has joined the channel [08:01] robi42 has joined the channel [08:01] mehlah has joined the channel [08:02] tlrobinson has joined the channel [08:05] joshgillies1 has joined the channel [08:09] mikl has joined the channel [08:09] sgimeno has joined the channel [08:10] Sebastien-L has joined the channel [08:11] stagas has joined the channel [08:12] daglees has joined the channel [08:12] isaqual has joined the channel [08:13] KaL_ has joined the channel [08:14] HardPhuck has joined the channel [08:15] vguerra has joined the channel [08:15] whitman has joined the channel [08:15] motill has joined the channel [08:16] KaL_: hello [08:16] kurtzhong_ has joined the channel [08:17] robhawkes has joined the channel [08:17] luke`_ has joined the channel [08:18] luke`__ has joined the channel [08:19] ryanrolds: Hello [08:19] luke`___ has joined the channel [08:19] shinuza has joined the channel [08:20] luke` has joined the channel [08:21] zmbmartin has joined the channel [08:21] Esteb has joined the channel [08:23] ixti has joined the channel [08:26] KaL_ has joined the channel [08:27] dscape has joined the channel [08:27] shedinja_ has joined the channel [08:27] kawaz_h has joined the channel [08:27] davve has joined the channel [08:28] metellus has joined the channel [08:28] Lemon_BE2 has joined the channel [08:28] thedjinn has joined the channel [08:28] sdboyer has joined the channel [08:28] sdboyer has joined the channel [08:28] luke` has joined the channel [08:29] neoesque has joined the channel [08:30] socialhack has joined the channel [08:31] konobi: SubStack: so what floats your boat about node-tap? [08:32] trewesta has joined the channel [08:33] shipit has joined the channel [08:34] Tigraine has joined the channel [08:34] Tigraine has joined the channel [08:34] Margle has joined the channel [08:35] SubStack: konobi: the api [08:36] konobi: the simplicity? the ability to stack/combine stuff? [08:36] SubStack: how test() is just a function [08:36] SubStack: instead of exports [08:37] mikedeboer has joined the channel [08:37] SubStack: and then t.end() to end a test [08:37] Tigraine has joined the channel [08:40] konobi: huh... isaacs split this all apart a while back it seems... ^_^ [08:40] Trisox has joined the channel [08:41] konobi: SubStack: built any modules atop of it at all? [08:41] SubStack: yep [08:41] SubStack: oh not on top [08:41] SubStack: not yet ;) [08:41] SubStack: I'm planning on making the testling headless runner use tap internally [08:42] SubStack: the interface is already pretty similar [08:42] SubStack: heavily inspired [08:42] Glenjamin: TAP is just an output format though, isnt it? [08:42] konobi: like Test::Simple vs Test::More vs Test::Most vs Test::Deep vs Test::Exception [08:44] SubStack: TAP is indeed just an output format but node-tap also contains a harness and nice api [08:45] konobi: Glenjamin: yup, though there's something about the implementation that is very DRY... which is highly important [08:45] ph^ has joined the channel [08:45] Glenjamin: i've looked at it briefly, seem to recall it being fairly tidy [08:46] Gaunt has joined the channel [08:46] Glenjamin: ah, decent syntax [08:46] konobi: in the perl implementation it all revolves around Test::Builder... so all the Test::Modules will use that in some shape form or fashion beneath [08:47] Glenjamin: it's not dissimilar from my own testing framework [08:47] Glenjamin: which is modelled on RSpec [08:47] konobi: TAP has been around for about 20 years or so... it's been well thrashed over ^_^ [08:48] Glenjamin: that's the protocol rather than the implementation though? [08:48] tlrobinson has joined the channel [08:48] konobi: no... perl 4 shipped with Test.pm that was the initial implementation [08:48] TomY has joined the channel [08:48] trewesta has joined the channel [08:48] vguerra has joined the channel [08:48] Glenjamin: ah, and the node version uses the same structure? [08:49] adrianmg has joined the channel [08:49] jetienne_ has joined the channel [08:49] konobi: yeah, it's based off TAP the format, but also looks at the perl/c/ruby/python implementations [08:50] Glenjamin: ah cool, i've never come across the ruby one [08:50] Glenjamin: only really seen testunit and rspec in use there [08:50] konobi: http://testanything.org/wiki/index.php/TAP_Producers [08:51] konobi: all of those could use TAP really [08:51] confoocious has joined the channel [08:51] confoocious has joined the channel [08:52] Glenjamin: I had a look, seems simple enough to do a TAP formatter [08:52] konobi: (hell there's even a version to use the test functions in postgres) [08:52] Glenjamin: I quite like the test harnesses which separate test context/setup from test execution [08:53] Glenjamin: since then its usually quite easy to have a bunch of tests which have 80% of the same setup and then differ at the last 20% of their code path [08:53] kurtzhong has joined the channel [08:53] joshgillies has joined the channel [08:54] adrianmg has left the channel [08:54] TheJH_phone has joined the channel [08:55] kulor-uk has joined the channel [08:56] eldios has joined the channel [08:56] jetienne_: hi [08:56] felixge has joined the channel [08:56] mikl has joined the channel [08:57] konobi: Glenjamin: yeah, i tend to use the perl test harness runners to execute javascript/c/php tests [08:58] konobi: Glenjamin: http://search.cpan.org/~andya/Test-Harness-3.23/bin/prove [08:59] Glenjamin: i see, because everything uses TAP, you can link them up over IO streams? [09:00] Tigraine has joined the channel [09:01] davidbanham has joined the channel [09:01] pvgrif has joined the channel [09:01] konobi: yup... just print and you're done [09:02] skyl has joined the channel [09:02] konobi: but now you have recursive directory support, color support, counts/totals/summary reports... ability to spit an HTML report out, etc. [09:03] konobi: just byt spitting out TAP ^_^ [09:03] matti has joined the channel [09:03] matti has joined the channel [09:03] xsyn has joined the channel [09:03] k1ttty has joined the channel [09:03] Glenjamin: is there not some information loss by going through TAP? [09:04] Glenjamin: The first example that jumps to mind is cucumber tests - but perhaps thats a special case [09:05] fread2281 has joined the channel [09:06] konobi: Glenjamin: it depends... normally you also spit out "diag" information which gives you more details on why a test failed [09:06] bergie has joined the channel [09:06] konobi: and depending on the test function you can make that extremely specific [09:07] tlrobinson has joined the channel [09:07] TheJH_phone has joined the channel [09:07] TheJH_phone has joined the channel [09:08] konobi: Glenjamin: https://metacpan.org/module/Test::LongString for example [09:08] Glenjamin: i see [09:08] bzinger has joined the channel [09:09] Glenjamin: that's not unlike what RSpec does, but obviously much more modular [09:09] konobi: better example... https://metacpan.org/module/Test::Differences [09:10] mehlah has joined the channel [09:11] konobi: Glenjamin: you can have a look at the source at... https://metacpan.org/source/OVID/Test-Differences-0.61/lib/Test/Differences.pm#L540-541 [09:12] konobi: so the output is pretty damn complex... but the actual test part is damn simple [09:13] Glenjamin: thats generally the way with a good test harness [09:13] boltR has joined the channel [09:13] Glenjamin: useful failures are the hardest to get right [09:14] Glenjamin: at the mo i'm spitting out test definition file:line, the contents of the failing line and all the exception info [09:15] jlaire has joined the channel [09:19] jacter has joined the channel [09:19] Nuck: Just read up on this Strata thing. I love the way they do file uploads [09:20] Nuck: I'm thinking I might try to copy it over onto Express [09:20] Nuck: :P [09:20] Nuck: Express++ [09:20] v8bot_: Nuck has given a beer to Express. Express now has 1 beers. [09:21] jomoho has joined the channel [09:21] stagas has joined the channel [09:25] irahgel has joined the channel [09:26] zmbmartin has joined the channel [09:27] chjj has joined the channel [09:27] mike5w3c has joined the channel [09:28] m4rcs: has anybody worked with fakedb? [09:29] luke` has joined the channel [09:29] rendar has joined the channel [09:30] Swizec has joined the channel [09:35] bojicas_ has joined the channel [09:38] lux_ has joined the channel [09:38] guidocalvano has joined the channel [09:39] Glenjamin: heh, every time someone links a module i haven't heard of, i seem to discover another test harness [09:39] simenbrekken: If I process a collection using a cursor.each will it read the modified documents while I'm processing? [09:41] kurtzhong_ has joined the channel [09:43] Nuck: Does anyone else feel cancerous right now? I know I do. [09:45] Daegalus: Nuck: we should obviously now put Fibonacci calls in all HTTP request handlers on all our projects [09:45] simenbrekken: I already had that [09:45] moritz- has joined the channel [09:45] Nuck: Agreed. We need a fibonacci middleware for express's [09:45] sfoster has joined the channel [09:46] fermion has joined the channel [09:46] Daegalus: Nuck: chop chop, we can make it like a joke app or something. [09:46] simenbrekken: app.use(express.fibonacci()) [09:47] gf3: it only serves the first, second, fifth, etc.. requests [09:47] Nuck: Daegalus: And it needs to be just as shitty an implementation too [09:47] gf3: heh [09:48] gf3: I guess it can serve the first request twice [09:48] Nuck: Just copy his code into a middleware. [09:48] Nuck: Better yet, make it in CoffeeScript just to troll harder. [09:48] Nuck: gf3: Lol call res.end twice and see what happens [09:48] Nuck: ;) [09:49] gf3: lol [09:50] Nuck: Daegalus: I would do it but I'm on my iPhone and going to sleep [09:50] Nuck: Be back in 3-4 hours :P [09:50] Daegalus: Nuck: then load up Cloud9, type some coffeescript [09:50] Daegalus: go go [09:50] Nuck: Cloud9 is shite on iOS [09:51] Daegalus: works great on my Android tablet xD [09:51] Nuck: ACTION tries anyway [09:52] Nuck: Daegalus: Tablet sure [09:52] Nuck: iPhone, not so much [09:52] Daegalus: ya, doesnt work too well on my WP7 phone, but i cant get past the dashboard on that [09:53] Nuck: Daegalus: It works on iPhone it's just slow and hard fo navigate [09:53] Daegalus: well ya, figured [09:54] Nuck: Oof and it crashes when creating a project [09:54] Nuck: :/ [09:54] Daegalus: eh, you can make it in 3-4 hours [09:54] Daegalus: go sleep i guess [09:54] Nuck: I'll do it in morning if nobody does [09:55] misterncw has joined the channel [09:55] Nuck: It's pretty easy. I just gotta wait for the entire Fibonacci sequence to be calculated before calling next. [09:55] Nuck: (and yes I know it's infinite) [09:55] Daegalus: oh im going to sleep too, sooo dont looka t me in doing it [09:56] Nuck: Daegalus: Haha night [09:58] liar has joined the channel [09:59] Tigraine_ has joined the channel [09:59] davidbanham has joined the channel [10:03] altamic has joined the channel [10:04] bogomips has joined the channel [10:05] robi42 has joined the channel [10:07] nforgerit has joined the channel [10:11] DrMcKay has joined the channel [10:14] joshgillies has joined the channel [10:15] Margle has joined the channel [10:15] Morkel has joined the channel [10:16] cjroebuck has joined the channel [10:16] stagas has joined the channel [10:17] kurtzhong_ has joined the channel [10:19] isaqual has joined the channel [10:21] Trisox[work] has joined the channel [10:24] gerard0 has joined the channel [10:28] kurtzhong_ has joined the channel [10:30] temp01 has joined the channel [10:35] mikl has joined the channel [10:36] stagas has joined the channel [10:36] _kud has joined the channel [10:39] oiiii has joined the channel [10:42] Wizek has joined the channel [10:42] towski has joined the channel [10:45] azeroth_ has joined the channel [10:46] hellp has joined the channel [10:47] bzinger has joined the channel [10:48] pvgrif has joined the channel [10:50] kulor-uk has joined the channel [10:50] Tigraine_ has joined the channel [10:53] da has joined the channel [10:53] simenbrekken: I need a really good issue tracker, any tips? [11:00] stepheneb has joined the channel [11:01] DennisRasmussen has joined the channel [11:03] RuslanPopov: simenbrekken, github.com has one [11:03] simenbrekken: RuslanPopov: I need mortals to be able to access it as well :) [11:03] fwg has joined the channel [11:03] jldbasa has joined the channel [11:03] test has joined the channel [11:04] raphdg has joined the channel [11:04] meso has joined the channel [11:05] fly-away has joined the channel [11:06] kurtzhong has joined the channel [11:09] NetRoY has joined the channel [11:11] kulor-uk has joined the channel [11:13] adambeynon has joined the channel [11:17] jbpros has joined the channel [11:17] matyr has joined the channel [11:18] kurtzhong_ has joined the channel [11:18] thalll has joined the channel [11:19] brianseeders has joined the channel [11:19] bnoordhuis has joined the channel [11:19] christkv has joined the channel [11:20] kurtzhong__ has joined the channel [11:20] Ginlock has joined the channel [11:21] Trisox has joined the channel [11:23] Jabbers has left the channel [11:23] k1ttty has joined the channel [11:24] christkv_ has joined the channel [11:25] rmzg has joined the channel [11:26] jbpros has joined the channel [11:26] luke` has joined the channel [11:28] vereteran has joined the channel [11:28] vereteran: hi [11:29] vereteran: i need some async way to communicate with mysql. atm i've found node-mysql, node.dbslayer.js and node-mysql-libmysqlclient. which one should i use? [11:29] vereteran: or is there anything betteR? [11:29] abraxas: node-mysql [11:29] abraxas: is pretty decent [11:30] abraxas: mind you, it is not really safe to do transactions [11:30] vereteran: abraxas, i [11:30] davidbanham has joined the channel [11:30] vereteran: 've got no transactions [11:30] pgherveou has joined the channel [11:30] abraxas: then i my advice is to use node-mysql [11:32] jacter1 has joined the channel [11:32] astropirate has joined the channel [11:33] kurtzhong has joined the channel [11:35] pgherveou: Hello guys I am trying to reorganize my app [11:35] pgherveou: is it possible to write dependency like that : [11:35] pgherveou: index.js [11:35] pgherveou: module.exports = { api1: require "api1.js", api2: require "api2.js"} [11:35] pgherveou: in api1.js [11:35] pgherveou: var api = require "./index.js" [11:35] pgherveou: api.api2.someMethods(...) [11:40] vereteran: abraxas, thank you. will use it [11:40] ptlo has joined the channel [11:40] replore has joined the channel [11:40] replore_ has joined the channel [11:41] CIA-48: node: 03Ben Noordhuis 07master * rf1ca485 10/ src/node_zlib.cc : zlib: fix assert message - http://git.io/5_Zypg [11:43] enmand_ has joined the channel [11:44] bojicas has joined the channel [11:44] errordeveloper has joined the channel [11:46] ako has joined the channel [11:46] neurodrone has joined the channel [11:49] mikl has joined the channel [11:52] amigojapan has joined the channel [11:56] dmkbot: joyent/node: 03tellnes: fix dns.resolveTxt - https://github.com/joyent/node/issues/1817 [11:58] meso has joined the channel [12:00] kurtzhong_ has joined the channel [12:01] ehedenst has joined the channel [12:02] _kud has joined the channel [12:02] McMAGIC--Copy has joined the channel [12:05] r04r has joined the channel [12:06] temp01 has joined the channel [12:07] treegr has joined the channel [12:07] bshumate has joined the channel [12:07] treegr has left the channel [12:07] Glenjamin: pgherveou: no, I dont think you can do that, but you can pass the root level into the required modules [12:08] mynix has joined the channel [12:08] jtsnow has joined the channel [12:14] socialhack has joined the channel [12:16] r04r has joined the channel [12:16] temp01 has joined the channel [12:17] ph^ has joined the channel [12:21] vereteran: is there any function able to merge two objects with rewriting keys? got my own, but it looks like i'm inventing a wheel [12:22] matyr has joined the channel [12:24] fumanchu182 has joined the channel [12:24] erichynds has joined the channel [12:26] herbySk has joined the channel [12:27] r04r has joined the channel [12:28] TheJH__phone has joined the channel [12:28] TheJH__phone has joined the channel [12:29] erichynds has joined the channel [12:29] liar has joined the channel [12:31] Trisox[work] has joined the channel [12:32] swick has joined the channel [12:33] amigojapan has joined the channel [12:33] jonbross has joined the channel [12:34] user1_ has joined the channel [12:35] user1_: when i use "npm install -d" it installs to ~/.npm . now when i try to run an example it says modules not found [12:36] user1_: i have even set NODE_PATH to ~/.npm/ [12:36] stepheneb has joined the channel [12:37] d0k has joined the channel [12:37] kurtzhong_ has joined the channel [12:39] TheJH has joined the channel [12:39] TheJH has joined the channel [12:39] metellus has joined the channel [12:39] user1_: no one? [12:40] SubStack: user1_: what npm version? [12:40] SubStack: also gist the output of `npm config list` [12:40] user1_: SubStack :1.0.30 [12:41] SubStack: same here, pretty up-to-date [12:42] slifty has joined the channel [12:42] user1_: SubStack : http://pastebin.ca/2086439 [12:42] burningdog has joined the channel [12:43] jetienne_ has joined the channel [12:43] user1_: i want all the modules to be installed to /usr/local/lib/node_modules/ and picked up from the same location. [12:44] user1_: is there no one who knows this? [12:45] flamboz has joined the channel [12:45] SubStack: usually the best thing to do is install modules into ./node_modules [12:45] SubStack: except for bin programs [12:45] TomY has joined the channel [12:45] TheJH_phone has joined the channel [12:46] kurtzhong_ has joined the channel [12:46] nail_ has joined the channel [12:47] Aphelion has joined the channel [12:47] user1_: SubStack that way . i will be installing modules for each folder for different projects. [12:48] kriszyp has joined the channel [12:49] eldhose has joined the channel [12:49] SubStack: user1_: yep [12:50] SubStack: user1_: but a big upside is that you don't have to worry about incompatible versions of libraries [12:50] SubStack: each module can just use the versions that it works with, not whatever happens to be the globally installed module [12:52] user1_: SubStack: this is quite an issue [12:53] kurtzhong_ has joined the channel [12:54] Glenjamin: user1_: why do you say that? [12:54] user1_: but i went to a directory and gave npm install -d . it installed a number of modules to ~/.npm . ok . now when i run node app.js from same directory it again complains modules not found [12:55] Glenjamin: there isn't a -d flag on install [12:55] rjack has joined the channel [12:56] bzinger has joined the channel [12:56] SubStack: user1_: when you npm install npm should put the modules into ./node_modules [12:56] user1_: Glenjamin: dependencies [12:56] metaverse has joined the channel [12:56] xetorthio has joined the channel [12:57] user1_: SubStack : preferGlobal : true [12:57] darinc has joined the channel [12:58] SubStack: well there's your problem [12:58] c4milo has joined the channel [12:58] kurtzhong_ has joined the channel [12:58] paul0 has joined the channel [13:00] user1_: but I still have NODE_PATH set [13:00] user1_: isnt its duty to look all over [13:01] postwait has joined the channel [13:02] DrMcKay has joined the channel [13:02] cmtt has joined the channel [13:03] user1_: well incompatibility with different versions and frequent necessity to download modules and so on will reduce nodejs popularity. [13:03] DrMcKay: user1_: but it ensures that project moves fast [13:04] DrMcKay: but I just showed up and I have no idea what are you guys talking about [13:04] rootslab has joined the channel [13:05] lazyshot has joined the channel [13:05] Glenjamin: user1_: potentially NODE_PATH doesn't expand ¬ [13:05] Glenjamin: ~ even [13:06] user1_: Glenjamin: well i changed it to /home/user/ [13:06] icebox has joined the channel [13:06] pifantastic has joined the channel [13:06] Glenjamin: what version of node? [13:07] user1_: anyways i am bothered about extreme incompatibility between modules that we have to download different versions everytime [13:07] user1_: node 0.4.12 [13:07] Glenjamin: what does "node -e 'require.paths'" say? [13:08] AaronMT has joined the channel [13:09] CrisO has joined the channel [13:11] eldhose_ has joined the channel [13:11] user1_: http://pastebin.ca/2086442 [13:12] user1_: but yes i got the issue. the problem is with incompatibilities. anyways thanks for help. will be back in few hours. [13:13] JasonJS has joined the channel [13:14] chase has joined the channel [13:15] zemanel has joined the channel [13:16] AAA_awright_ has joined the channel [13:16] wbw72 has joined the channel [13:17] rick_h_ has joined the channel [13:17] wbw72: any one with mongodb or mongoose experience? [13:19] djko has joined the channel [13:21] AphelionZ has joined the channel [13:21] aheckmann has joined the channel [13:21] eldhose_ has joined the channel [13:21] lackac has joined the channel [13:22] _kud has joined the channel [13:23] davidsklar has joined the channel [13:23] thomblake has joined the channel [13:23] thomblake has left the channel [13:24] ecin has joined the channel [13:24] pgherveou: Glenjamin: thks I ll try that [13:27] _kud has joined the channel [13:27] vipaca has joined the channel [13:27] vipaca has joined the channel [13:27] Wizek has joined the channel [13:28] mandric has joined the channel [13:29] rootslab has joined the channel [13:31] baudehlo has joined the channel [13:31] thalll has joined the channel [13:32] malletjo has joined the channel [13:33] eldhose_ has joined the channel [13:37] VeXii: is there any of the 0.5.x versions thats stabile? [13:37] jtsnow has joined the channel [13:41] DrMcKay: VeXii: no, versions v0.4.x are stable [13:41] eldhose has joined the channel [13:41] k1ttty has joined the channel [13:43] markwubben has joined the channel [13:45] issackelly_ has joined the channel [13:45] CarterL has joined the channel [13:46] AphelionZ has left the channel [13:46] AphelionZ has joined the channel [13:47] _jhs has joined the channel [13:47] JasonJS: Have there been any grumblings of when 0.6 is coming out? From some comments it seems like it's close but I've not found anything official [13:48] Cromulent has joined the channel [13:48] k1ttty has joined the channel [13:50] Nuck: Has anyone made that fibonacci middleware for express yet? [13:50] towski has joined the channel [13:50] jj0hns0n has joined the channel [13:50] neurodrone has joined the channel [13:51] cainus: any node-mongo-native users in here? I'm trying to figure out why my 'server' object (from the examples) is never connected... mongoose works just fine... [13:51] DrMcKay: Nuck: working on it ;) [13:51] Nuck: DrMcKay: I started one too [13:52] skyl has joined the channel [13:52] chase: can anyone recommend the best way to read in a json file? was using jsonreq but it appears to no longer be working for me now .. not really sure why [13:52] DrMcKay: chase: JSON.parse [13:52] Glenjamin: chase: over HTTP / filesystem? How big is the json? [13:53] Nuck: chase: require this: https://gist.github.com/1259145 [13:53] Nuck: And then require a .json [13:53] willwhite has joined the channel [13:54] chase: 946b [13:54] Nuck: chase: IS it local? [13:54] Nuck: Or network? [13:54] k1ttty has joined the channel [13:54] chase: well it lives under the same domain [13:54] chase: much different area though [13:54] chase: guess i could refer to it locally [13:54] Nuck: chase: Are you accessing via filesystem? [13:54] chase: thinking http is probably better though [13:55] Nuck: If so, require-ing via that is easiest [13:55] chase: guess I could read it in using FS is that you're getting at? [13:55] chase: or just straight up requiring it? [13:55] Nuck: chase: Yeah, that adds support for .json loading in versions before 0.5.x (it's now builtin) [13:55] justmoon has joined the channel [13:55] Nuck: That is, for the stable versions [13:56] chase: so using your functin in your gist would be appropriate? [13:57] r04r has joined the channel [13:57] Nuck: chase: For local filsystem, sure [13:57] Nuck: If it's networked or something, use HTTP [13:57] Nuck: And get the file [13:57] chase: gotcha [13:57] Nuck: Then JSON.parse it [13:57] AphelionZ has left the channel [13:57] Nuck: (on `end`) [13:58] chase: i think for simplicity sake, HTTP might be the way to go, although next time i will set up my directories more efficiently to make it work locally [13:58] chase: thank you [13:58] Nuck: I'm making a repo for the express-fibonacci now [13:59] aelien27 has joined the channel [13:59] Glenjamin: just make the fib calc use a callback style [13:59] Glenjamin: and nextTick for its recursion [13:59] Glenjamin: and it'll actually work [13:59] Nuck: nah, too much work [13:59] Nuck: I'm making it intentionally shitty [13:59] Nuck: I'm leaving his failed math, etc. [13:59] Glenjamin: therby demonstrating that CPU heavy computations can be split into units of work [14:00] Glenjamin: depends if he defines the first term as Fib_0 or Fib_1 [14:00] piscisaureus has joined the channel [14:00] Bergle_2 has joined the channel [14:01] Destos has joined the channel [14:01] ph^ has joined the channel [14:02] MooGoo: still seems like using nextTick would be much slower than direct recursion [14:02] r04r has joined the channel [14:02] random123 has joined the channel [14:02] DrMcKay: ugh, recursion? [14:02] Glenjamin: well yeah, but then you can add memoisation as well [14:02] Glenjamin: and it'd be faster [14:02] DrMcKay: recursion algorithm is shitty [14:02] Glenjamin: especially over multiple requests [14:03] DrMcKay: me and AvianFlu are preparing some response for this, don't worry :) [14:03] Glenjamin: is it a response of "here's how to implement a non-blocking fib server in node" ? [14:04] random123: Can anyone recommend a proxy that works on http 1.1/socket.io and allows you some way to identify (uri maybe) and route requests to the right port, cause I need to run like 4 different http servers on the same box nginx fms httpd node ? [14:04] DrMcKay: Glenjamin: something like that :) [14:04] malletjo has joined the channel [14:04] DrMcKay: Glenjamin: but more kickass [14:04] MooGoo: lol [14:04] MooGoo: kick ass huh [14:04] DrMcKay: *kick-ass [14:04] baudehlo: I think people need to just realise that the core premise of the article is accurate, but the Node way is simply "Don't do that". [14:04] joshkehn has joined the channel [14:05] SubStack: random123: http-proxy or perhaps cluster [14:05] Glenjamin: baudehlo: agreed, "don't block the loop" is the point, not "node is broken" [14:05] SubStack: random123: https://github.com/nodejitsu/node-http-proxy [14:05] Bergle_2: i think i found a fix for http://npmjs.org/doc/README.html#Installing-on-Windows-Experimental - the example code set path="%PATH%;%CD%" fails on my win7, but set path=%PATH%;%CD% is fine removing quotes. [14:06] baudehlo: The complex issue (as I see it) is that while you can farm CPU intensive calculations off to workers (by whatever means), sometimes you don't know how much CPU a calculation is going to take (the Halting problem), so you can't be 100% certain of doing the right thing. [14:06] MooGoo: seems simple to me, if you have code that needs to do really fast calculations, do it in a child process and probably in another language [14:06] Glenjamin: v8 is pretty fast [14:07] r04r has joined the channel [14:07] baudehlo: Yeah I don't think another language is really needed. [14:07] Glenjamin: maybe drop down, but I can't see any reason to use a different high level lang [14:07] Poetro has joined the channel [14:07] Poetro has joined the channel [14:07] MooGoo: who said high level [14:07] joshkehn: Glenjamin: Other then the obvious speed benefits? [14:08] TomY has joined the channel [14:08] markdaws has joined the channel [14:08] Glenjamin: joshkehn: what other high level languages is as fast as v8 javascript? [14:08] baudehlo: The only way you're going to get speed benefits is switching to something like C or C++ [14:08] joshkehn: Glenjamin: Java [14:08] baudehlo: or maybe LuaJit [14:08] joshkehn: C [14:08] chjj: v8 should have a startup message: "prepare ship for ludicrous speed" [14:08] xerox: Haskell [14:08] heavysixer has joined the channel [14:09] Glenjamin: Java maybe, C falls under "Drop down" [14:09] baudehlo: nobody likes Haskell. They just code in it because it makes them feel like a Man. [14:09] MooGoo: lol one negative article and everyone is up in arms [14:09] Glenjamin: haskell I don't know [14:09] joshkehn: Depends on how much of a “drop” you call it. [14:09] xerox: the language shootout is some indication [14:10] icebox has joined the channel [14:10] navaru has joined the channel [14:11] przemoc has joined the channel [14:11] Nuck: Somebody write me some Unit Tests for this [14:12] r04r has joined the channel [14:12] Nuck: https://github.com/NuckChorris/express-fibonacci [14:12] Glenjamin: xerox: except the language shootout is optimised for various implementation quirks of the languages [14:12] Nuck: In fact, quite honestly, I haven't even tested the thing [14:12] yhahn has joined the channel [14:12] MooGoo: wtf is the point of this [14:13] SubStack: haha [14:13] stash1 has joined the channel [14:13] brianc has joined the channel [14:14] baudehlo: Well personally I think it was good the article was written. It was way too "the sky is falling" but it did get people talking about the elephant in the room for Node's concurrency model. [14:14] BillyBreen has joined the channel [14:15] Nuck: MooGoo: Didn't you see the Node.js is Cancer article? [14:15] Nuck: ;3 [14:15] MooGoo: teehee [14:15] Nuck: It had to be done, making an express middleware [14:15] MooGoo: of course [14:15] MooGoo: it was the highlight of sunday [14:16] aconbere has joined the channel [14:16] MooGoo: clearly you should always have node calculating pi at least lest it get lazy and complacent [14:16] brianc has joined the channel [14:16] mpavel has joined the channel [14:16] MooGoo: node is lazy, always waiting till the last second to do stuff then going straight back to sleep [14:17] Nuck: MooGoo: Exactly why I built this middleware [14:17] jtsnow has joined the channel [14:17] MooGoo: make a Prime95 program in node [14:17] r04r has joined the channel [14:19] aelien27 has joined the channel [14:19] jedahan has joined the channel [14:20] spasquali has joined the channel [14:20] TomY has joined the channel [14:22] r04r has joined the channel [14:24] spasquali has left the channel [14:24] Nuck: Updated my readme [14:25] lz has joined the channel [14:25] darinc: Nuck: thanks for the awesome project. I plan on using this in all of my projects because as of right now, they are just too cancer free. [14:25] Nuck: darinc: ;3 [14:26] mpavel has left the channel [14:30] fumanchu182 has joined the channel [14:30] Nuck: Ugh trying to come up with a testing harness for this [14:30] wbednars_ has joined the channel [14:30] mpavel has joined the channel [14:31] navaru has left the channel [14:32] cgfuh has joined the channel [14:33] zmbmartin has joined the channel [14:35] berasa has joined the channel [14:36] Vennril has joined the channel [14:36] MooGoo: ah I remember how much hate was loaded onto Rails back when it was the thing of the internet [14:37] joshkehn: MooGoo: I still load hate onto Rails. [14:37] MooGoo: there's no need anymore [14:37] darinc has joined the channel [14:37] lz: rails is the antichrist [14:37] r04r has joined the channel [14:37] MooGoo: the hate won [14:38] chase: need some help with socket.io but i think its more of a general variable question [14:38] Nuck: MooGoo: And rightfully so [14:38] Nuck: Damn [14:38] joshkehn: chase: Go ahead. :) [14:38] Nuck: This just will not work :( [14:38] joshkehn: What are you working on Nuck? [14:38] chase: i want to fire a socket.emit on POST but I'm using express to listen for the POST [14:38] Nuck: joshkehn: https://github.com/NuckChorris/express-fibonacci [14:38] MooGoo: proving that nodejs is benign I think [14:38] chase: within the app.post function callback if i put socket.emit i get an undefined [14:38] Nuck: No, adding cancer to Node.js [14:38] chase: whats the best way around that [14:39] MooGoo: algorithms are cancer now [14:39] joshkehn: chase: So you have something frontend that kills the form post and emits to the socket? [14:39] socialhack has joined the channel [14:39] Nuck: I keep getting "RangeError: Maximum call stack size exceeded" :( [14:39] joshkehn: chase: Ah. I don't see why that wouldn't work. I mean it should work. :/ [14:39] MooGoo: lol [14:39] chase: yea well i have a backend script that when it updates, it fires over to node .. [14:39] joshkehn: MooGoo: Algorithms are the cure. [14:39] joshkehn: chase: Can you post any code? [14:40] chase: joshkehn: yea, one sec :) [14:40] jtrudeau has joined the channel [14:40] joshkehn: Nuck: That's funny. [14:40] Nuck: joshkehn: C: [14:40] joshthecoder has joined the channel [14:42] Nuck: BBL [14:42] chase: joshkehn: https://gist.github.com/1259240 [14:42] chase: line 32 [14:42] chase: ReferenceError: socket is not defined [14:42] chase: has to be a way around it I would think ... [14:42] joshkehn: chase: I'm going with “duh” here. ;) [14:43] chase: little to no sleep .. i know its something stupid [14:43] joshkehn: You need to tie a specific socket to a request somehow. [14:43] `3rdEden: +watch nuck!@ [14:43] chase: joshkehn: what do you think the best approach would be? [14:43] joshkehn: chase: But here's the thing, you won't have a socket open at that point. [14:43] joshkehn: [ [14:44] joshkehn: Unless the POST is ajax. [14:44] lukegalea has joined the channel [14:44] braddunbar has joined the channel [14:44] chase: blegh its not, just a straight POST from a PHP file [14:44] r04r has joined the channel [14:44] chase: I could probably make it a javascript AJAX call if that would fix it though [14:44] braddunbar: Can I step out of a function using "node debug ./script"? If so, how? [14:44] joshkehn: I would use socket.io to shuttle the information and not POST at all. [14:44] joshkehn: chase: It wouldn't immediately fix the problem. [14:45] joshkehn: Here's what happens: [14:45] guidocalvano: does anyone know if jquery ajax knows for sure that a message did not arrive if it fails? [14:45] joshkehn: 1. Load page [14:45] joshkehn: 2. Open socket.io connection [14:45] joshkehn: 3. POST [14:45] joshkehn: 4. Close socket.io connection [14:45] joshkehn: 5. Redirect and make POST request [14:45] joshkehn: 6. Get data [14:45] joshkehn: 7. Display new page [14:45] joshkehn: 8. Open socket [14:46] chase: joshkehn: hmm problem is I'm using PHP to manage all of my data .. so I ping a .php to update that JSON I call in. I would then like to have that file ping back to the node instance and update the JSON call [14:46] chase: can I contain my post declaration within the socket.io instantiation though? [14:46] dominictarr has joined the channel [14:46] thalll_ has joined the channel [14:47] lz: chase, what's the reason you need to talk to socket before post? [14:47] joshkehn: chase: Depends on if you leave the page for the post. [14:47] joshkehn: What are you trying to do? [14:47] darinc has joined the channel [14:48] chase: so basically I have a list of entries contained in a JSON file. I ping a PHP file to update that JSON, I am then telling that PHP file to ping the node instance and I want it to update the JSON that the socket uses to build out the entries? make sense ... ? [14:48] dylang has joined the channel [14:48] joshkehn: chase: Why are you using PHP to update the JSON file? [14:48] chase: long story .. haha [14:49] lz: chase [14:49] lz: you could do it all serverside too [14:49] ceej has joined the channel [14:49] chase: basically I had to adapt this whole program to work with NODE because I realized polling wasn't going to work [14:49] chase: this is my first go around the bend but I think I've figured out quite a bit so far [14:50] r04r has joined the channel [14:50] r04r has joined the channel [14:50] k1ttty has joined the channel [14:50] lz: chase, you could have the node app query the php file, parse the response from the php file, then reply to the web request [14:50] CIA-48: node: 03Christian Tellnes 07master * rd9c67ae 10/ src/cares_wrap.cc : dns: implement resolveTxt() - http://git.io/ReDp3g [14:50] CIA-48: node: 03Ben Noordhuis 07master * r976c6b0 10/ test/internet/test-dns.js : test: add TXT DNS record lookup test - http://git.io/cxrrQQ [14:52] chase: lz: yea but would taht allow my socket to be defined [14:52] chase: ? [14:52] dmsuperman has joined the channel [14:53] lz: chase, what do you mean by socket to be defined? [14:53] brianc has joined the channel [14:53] chase: lz: my current problem is everything works great, POST works fine, I want to emit data back to the socket connection when I receive a POST request [14:53] dmsuperman: I'm trying to use crypto to decrypt a string that I encrypted with perl's Crypt::CBC module, with randomiv. Can somebody point me in the right direction? I have crypto.createDecipheriv but I don't know how to extra the IV or tell it to use a random one [14:53] DrMcKay: bnoordhuis: I summon you! [14:54] bnoordhuis: DrMcKay: well, i'm here [14:54] DrMcKay: bnoordhuis: I know. I have one question about killing a child [14:55] khismetix has joined the channel [14:55] lz: chase, in that case you'll need to buffer the info if the post request is non-ajax, and send it out the next time the request is made [14:55] bnoordhuis: DrMcKay: that's a capital offense in most of the civilized world [14:55] DrMcKay: bnoordhuis: somehow, even with setsid true, when parent dies, child stays alive [14:55] DrMcKay: oh. [14:55] lz: if it's an ajax request, I think the socket would still be alive so it should be able to update with the info that way without leaving the page [14:55] DrMcKay: *process child, of course [14:55] bnoordhuis: DrMcKay: oh, that :) [14:56] bnoordhuis: DrMcKay: children staying alive is works as expected [14:56] chase: lz: ah gotcha, joshken was saying the same thing [14:56] chase: thanks guys [14:56] DrMcKay: bnoordhuis: so what should I do to kill them? [14:57] lz: chase, good luck! [14:57] mwhooker has joined the channel [14:57] bnoordhuis: DrMcKay: kill them by hand or send a SIGTERM / SIGKILL to the process group [14:57] robertfw has joined the channel [14:57] bnoordhuis: DrMcKay: the second option will kill you (the parent) too, btw [14:57] DrMcKay: bnoordhuis: aha, so calling child.exit isn't enough? [14:58] davidascher has joined the channel [14:58] MooGoo: child.kill(SIGKILL) [14:58] bnoordhuis: DrMcKay: you mean calling process.exit() in the child? [14:58] MooGoo: "SIGKILL" [14:59] fatjonny has joined the channel [14:59] DrMcKay: bnoordhuis: no, a process.exit in a parent process [14:59] r04r has joined the channel [14:59] DrMcKay: bnoordhuis: currently, I have a parent ("master") process, which spawns numerous subprocesses [14:59] DrMcKay: bnoordhuis: and this subprocesses can spawn children too [14:59] bnoordhuis: DrMcKay: there is no child_process.exit() [15:00] bnoordhuis: DrMcKay: what MooGoo said, child.kill(signal_name) [15:00] DrMcKay: bnoordhuis: OK, I will try that, thanks [15:00] MooGoo: SIGKILL always works I think [15:00] MooGoo: it's un catchable or whatever [15:00] DrMcKay: bnoordhuis: but still, in a case when a subprocess exits by itself, child stays behind [15:01] DrMcKay: and I'm not sure if can I list children of dead processes [15:01] bnoordhuis: DrMcKay: sorry, ping me in an hour - dinner's ready here [15:01] neurodrone has joined the channel [15:01] DrMcKay: bnoordhuis: sure :) [15:02] DrMcKay has joined the channel [15:03] IrishGringo2 has joined the channel [15:03] jaequery has joined the channel [15:04] wbednarski has joined the channel [15:04] bzinger has joined the channel [15:05] JKarsrud has joined the channel [15:05] wilmoore has joined the channel [15:06] k1ttty has joined the channel [15:06] alvaro_o has joined the channel [15:06] Glenjamin: is there anything like exec in node, that'll take over the current process? [15:07] softdrink has joined the channel [15:08] MooGoo: take over? [15:08] a_suenami has joined the channel [15:08] Glenjamin: yeah, equivalent to http://docs.python.org/library/os.html#os.execl [15:08] baudehlo: Glenjamin: nope :-( [15:09] Glenjamin: i was thinking about how "npm exec" could work [15:09] Glenjamin: but without a wrapper to http://pubs.opengroup.org/onlinepubs/009604499/functions/exec.html, it can't really [15:09] cjroebuck: hi - anyone using zombie.js here? [15:11] sonnym has joined the channel [15:11] dmsuperman: Anybody know how I might use node's crypto module to extract an IV generated from perl's Crypt::CBC module using -header => 'randomiv'? [15:12] dgathright has joined the channel [15:13] TheJH: DrMcKay, did you get openssl installed? [15:13] TheJH: DrMcKay, (on your android) [15:14] TheJH: DrMcKay, I can't install "openssl-devel" because of some missing dependency or so [15:14] DrMcKay: TheJH: I think I ran it with disable [15:14] softdrink: cjroebuck: i was using it at one point. [15:14] zastaph has joined the channel [15:14] TheJH: DrMcKay, socket.io needs crypto :( [15:15] slifty_corsair has joined the channel [15:15] jakehow has joined the channel [15:15] jacobolus has joined the channel [15:15] cjroebuck: softdrink: what are you using now, also were you using it to test a backbone app? [15:16] xsyn: If I'm using formidable to do a file upload [15:16] xsyn: how do I access the files data? [15:16] TheJH: DrMcKay, the weird thing is that krb5-libs is installed, but installing krb5-devel fails because krb5-libs is missing [15:17] xsyn: (I'm trying to save as an acttachement in couch) [15:17] MacDiva has joined the channel [15:17] baudehlo: dmsuperman: I suspect it's some combination of crypto.createCipheriv('des', key, iv) [15:18] DrMcKay: TheJH: weird... I'm not sure if did I even try to install openssl-devel... [15:18] r04r has joined the channel [15:18] softdrink: i've tried a bunch of stuff. i'm still looking for a good solution since i need to test the same code from the command line and in a few browsers. i'm leaning toward writing my own reporter for jasmine and using phantomjs for a few things [15:18] inpho has joined the channel [15:19] mike5w3c_ has joined the channel [15:19] softdrink: my model and collection code is shared between the client and server, just with different Backbone.sync methods [15:19] Cromulent has joined the channel [15:19] baudehlo: dmsuperman: the IV seems to be just the 8 bytes after RandomIV at the start of the input data. [15:20] colinclark has joined the channel [15:21] lz: softdrink, how do you like using backbone w/ node [15:21] hacksparrow has joined the channel [15:21] qbert65536 has joined the channel [15:21] softdrink: love it! but i may replace it with my own stuff, because i'm a masochistic developer that likes to reinvent the wheel ;) [15:22] xtianw has joined the channel [15:22] tbranyen: lol, i spent a good week or two getting the full backbone stack into node [15:22] softdrink: hehe [15:22] berasa has joined the channel [15:22] softdrink: backbone is my weapon of choice these days [15:23] joshthecoder has joined the channel [15:23] bLiNdRaGe has joined the channel [15:23] lz: I gotta start using it myself [15:23] lz: does it sync well w/ the server? [15:23] bLiNdRaGe: so i accidentlly installed node from yum, removed it and compiled/installed node.js from source, but when i run Node test.js i get: bash: /usr/sbin/node: No such file or directory [15:23] bLiNdRaGe: any tips? [15:24] lz: can you do realtime sync with sockets? [15:24] Nuck: haha yay and express-fibonacci is done ;3 [15:24] softdrink: its rest layer is very predictable [15:24] Glenjamin: bLiNdRaGe: try starting a new session [15:24] bLiNdRaGe: "which-node" shows /usr/local/bin/node [15:24] bLiNdRaGe: ah. i swear if that fixes it lol [15:24] softdrink: lz: not out of the box, but you can override the Backbone.sync method at any time to do whatever you want [15:24] bLiNdRaGe: you my friend are a genius [15:24] Glenjamin: bLiNdRaGe: sounds a bit like the shell interpeter cached the path or something [15:25] bLiNdRaGe: i bet you're right [15:25] Glenjamin: Nuck: public yet? [15:25] TheJH: DrMcKay, krb5-libs is installed, but not in the repo :/ [15:25] dmsuperman: baudehlo: How might I extract that? Could I just take the binary string and extract bytes 8-16? [15:25] Xeoncross has joined the channel [15:25] Nuck: Glenjamin: Yup, npm install express-fibonacci :P [15:25] Nuck: https://github.com/NuckChorris/express-fibonacci [15:25] bLiNdRaGe: anyone here in healthcare IT and know what HL7 is? If so i've got something interesting with node.js [15:25] baudehlo: dmsuperman: the perl library just uses a regexp. [15:26] baudehlo: my ($iv) = $$input_stream =~ /^RandomIV(.{8})/s; [15:26] robi42 has joined the channel [15:27] inph0 has joined the channel [15:27] sub_pop has joined the channel [15:27] dmsuperman: baudehlo: What does $$input_stream contain, a hex version? [15:27] baudehlo: no idea... I assume it's just the string that you're given? [15:27] dmsuperman: Hrm alright then [15:27] dmsuperman: Well how about this [15:27] baudehlo: did you console.log your string? [15:28] lz: softdrink, gonna give it a shot now hehe [15:28] dmsuperman: Here's the start of my crypt string: 'RandomIV\u0007�\u0003�x@ �,�\u0007y �\f,!\u0017�� �7��G:�\u0002jj�\u0010��-Cvߙ�\u000f7\'QCge?J-�6�뾬\u0012<Ɇ歉O\u0014��\rx�~e\u000e~dy���bIv�z�ԹΠ���\u0012\u0014�uT�\u0006�\u0000�˒�Y�=�Q�c�b8\u0002�b{S\u001e���A�[�`5�\u0014� [15:28] baudehlo: right. [15:28] dmsuperman: Alright [15:28] bLiNdRaGe: what's the diff between sys.puts and console.log? [15:28] Glenjamin: bLiNdRaGe: sys.puts is old and deprecated [15:28] baudehlo: so you do: var matches = input.match(/^RandomIV(.{8})/s); [15:29] baudehlo: and then your IV is matches[1] [15:29] TheJH: dmsuperman, congratulations, you just let a winow appear here that asked me whether I want to search for a font that can display what you pasted here :D [15:29] TheJH: *window [15:29] bLiNdRaGe: ah. What's the best source for documentation? I'm getting the hang of node.js but i'm too used to procedural programming so i'm lookking at reading a bit more into it [15:29] dmsuperman: That's unfortunate that your client asked you such a question for just displaying some utf data :( [15:29] Glenjamin: is that an OS thing or your IRC client? [15:29] TheJH: Glenjamin, I'm using xchat [15:29] TheJH: Glenjamin, probably a gnome thing, but I'm not sure [15:30] DrMcKay: yes, gnome thing [15:30] Glenjamin: i'm on gnome, didn't get anything :) [15:30] TheJH: also happens whenever I fire up a hex editor [15:30] Glenjamin: haha [15:30] TheJH: Glenjamin, gnome3? [15:30] Glenjamin: dunno, ubuntu classic desktop [15:30] Glenjamin: so probably not [15:31] enmand_ has joined the channel [15:32] tjholowaychuk has joined the channel [15:32] tjholowaychuk has joined the channel [15:33] Archen has joined the channel [15:34] vicapow has joined the channel [15:34] markdaws has joined the channel [15:34] bLiNdRaGe: did this article annoy anyone else: http://teddziuba.com/2011/10/node-js-is-cancer.html [15:35] Glenjamin: amused [15:35] ank has joined the channel [15:35] vicapow: anyone have any suggestions on the best way to authenticate users across multiple internal services? [15:35] Glenjamin: oauth probably [15:36] CoverSlide: excel spreadsheet [15:36] vicapow: Glenjamin: what I'd like is single sign on [15:36] vicapow: Glenjamin: someway to access session data across services [15:37] Glenjamin: thats what oauth does, is it not? [15:37] daglees has joined the channel [15:37] jzacsh has joined the channel [15:37] vicapow: Glenjamin: it is not [15:37] Glenjamin: ah [15:37] joshkehn: bLiNdRaGe: Not really. Ted's just being himself. [15:37] darinc has joined the channel [15:38] vicapow: what I'd like is to be able to make apps for my company in node js, haskell, php, whatever [15:38] vicapow: and allow our users to access each service on the same account [15:39] cyrilmengin has joined the channel [15:39] TheJH: DrMcKay, punched yum in the face, let's see whether stuff works now or I've broken it - recompiling node :) [15:39] TheJH: (with openssl) [15:39] levi: vicapow: You could always do LDAP. [15:39] DrMcKay: TheJH: :D [15:39] Glenjamin: vicapow: the idea is that signing in to one would automatically sign in to all the others? [15:39] vicapow: Glenjamin: that's correct [15:40] caolanm has joined the channel [15:40] pvgrif has joined the channel [15:41] orolo has joined the channel [15:41] jj0hns0n has joined the channel [15:42] levi: There are some single sign-on solutions for web services, but none of them are particularly simple. [15:42] Glenjamin: i guess you'd have to write an app which deals with login, reg, and keeps the cookie on its domain [15:43] Glenjamin: hrm, no [15:43] gregeh has joined the channel [15:43] vicapow: Glenjamin: that's what I'm doing right now... but i couldn't help but think there was a better way :( [15:43] Glenjamin: can't you use oauth but skip the user authorises app to use service step for internal stuff? [15:43] orolo: curious if anyone has seen Ted Dziuba's blog about node.js and if there is a response; i'll admit, it's a little over my head: http://teddziuba.com/2011/10/node-js-is-cancer.html [15:43] TheJH: orolo, huuuuge thread on the mailing list [15:43] lz: orolo, it's almost all flamebait [15:43] Glenjamin: orolo: short version is "don't block the loop you fool" [15:44] levi: Geez, someone mentions that every 30 minutes or so. [15:44] orolo: sorry. it's just so scathing; i'm a newb so i thought i'd check it out a little more. [15:44] TheJH: orolo, http://groups.google.com/group/nodejs/browse_thread/thread/fadc4efc3e4babe8 [15:44] orolo: thank you. [15:44] lz: props to the guy though, inciting hate is one of the easiest ways to get famous [15:44] CoverSlide: process.nextTick = problem solved [15:44] dominictarr has joined the channel [15:44] Glenjamin: CoverSlide: currently working on exactly that [15:45] vicapow: orolo: http://joshuakehn.com/2011/10/3/Diagnosis-No-Cancer.html [15:45] TheJH: "x-trolled:Hard"? seriously? I thought that was just a joke... [15:46] icebox has joined the channel [15:46] Aphelion has joined the channel [15:47] icebox: Sincerly I didn't understand the poit of the post "Node.js is Cancer"... [15:47] icebox: *point [15:47] tbranyen: Its a joke [15:47] joshkehn: icebox: It's just like saying PHP is cancer or Rails is caner. [15:47] joshkehn: cancer* [15:47] icebox: Joke? [15:48] CoverSlide: ACTION writes a new language called `cancer` [15:48] tbranyen: icebox: yes... are you ESL or something? [15:48] joshkehn: Low barrier to entry stuff will have a dumb people using it. [15:48] darinc has joined the channel [15:48] jsurfer has joined the channel [15:49] icebox: tbranyen: I know the meaning of the word "joke", but the tone was not for a joke [15:49] r04r has joined the channel [15:49] r04r has joined the channel [15:49] TheJH: icebox, look at his http headers... [15:49] CoverSlide: you can also say, abstracting away the event loop allows the programmer to concentrate on more important tasks [15:50] TheJH: btw, his troll post was really successful: http://teddziuba.com/munin/u235/u235/fw_packets-week.png [15:50] CoverSlide: yeah easiness can draw stupid people in [15:50] CoverSlide: holy shit [15:50] socialhack has joined the channel [15:50] Glenjamin: heh, fib 40 with nextTick is slooow without memoisation [15:51] DrMcKay: don't use recursive algorithm [15:51] DrMcKay: it is and will be slow [15:51] Glenjamin: DrMcKay: i've got to, otherwise i'll block [15:51] TheJH: use recursive algorithm with caching helper :D [15:51] Glenjamin: yes, about to add that [15:51] Glenjamin: oom from too many stacks otherwise :D [15:53] TheJH: I wonder why google didn't use V8 for Android apps instead of Java... [15:54] CoverSlide: i think they wanted something compiled [15:54] context: i like how customer support sends me a file to run, and it gives me the exact same error i say is wrong with the same file downloadable from the internet. [15:54] DrMcKay: JAVA IS ENTERPRISE-GRADE. [15:54] lz: java is faster than v8 [15:54] tjholowaychuk: android is sooo slow [15:55] tbranyen: well it can be fast with better hardware [15:55] Glenjamin: but is Java orders of magnitude faster than v8? [15:55] tbranyen: but then the phone dies in 4 hours [15:55] tjholowaychuk: yeah [15:55] tjholowaychuk: mine dies in like 2 hours [15:55] DrMcKay: it's lulzy how our phones went from simple circuits to full-blown CPUs with 2 cores [15:55] tjholowaychuk: or less [15:55] tjholowaychuk: i hate it so bad [15:55] tbranyen: same [15:55] softdrink: i seriously wanted to punch the last person that gave me "Well, it's enterprise" as an answer to a serious programming question. [15:55] moritz_ has joined the channel [15:56] McMAGIC--Copy has joined the channel [15:56] CoverSlide: they should've used ObjC [15:56] jocafa: ಠ_ಠ [15:56] lz: java can be magnitudes of order faster, yes [15:57] tbranyen: really depends on what you're doing [15:57] CoverSlide: except it never is [15:57] lz: true [15:57] tbranyen: java also has better type support [15:57] CoverSlide: when it's actually used [15:57] DrMcKay: WE SHOULD MAKE BENCHMARK. [15:57] lz: it's proven to be order of magnitudes faster in benchmark software [15:57] lz: there's already benchmarks out there [15:57] braddunbar has left the channel [15:58] tbranyen: lz: yeah maybe when they compare typed arrays to javascript normal arrays blissfully unaware that it has typed stuff too [15:58] DrMcKay: so, our benchmark should obviously calculate fibonacci [15:58] baudehlo: Android Java is also compiled to native code, not bytecode. [15:58] tbranyen: honestly i'd have to see the benchmarks before saying anything [15:58] jocafa: http://shootout.alioth.debian.org/u32/code-used-time-used-shapes.php [15:58] gxdssoft has joined the channel [15:58] CoverSlide: isn't it compiled to dalvik? [15:58] tbranyen: baudehlo: huh? i thought it was compiled to the dalvik bytecode [15:58] MooGoo: maybe once we start seeing cross platform node.js GUI apps, then you can compare it to java's "slowness" [15:58] darinc has joined the channel [15:58] tbranyen: you can write native android apps tho, i think the api is very poorly documented or something tho [15:58] baudehlo: tbranyen: yeah that. [15:59] CoverSlide: that's why you have x86 android [15:59] tbranyen: i never got into it [15:59] CoverSlide: you can use the jni [15:59] CoverSlide: to use native libraries [15:59] CoverSlide: not sure if your app can be native [15:59] Casan has joined the channel [16:00] astale has joined the channel [16:00] jchris has joined the channel [16:00] TooTallNate has joined the channel [16:00] guillermo has joined the channel [16:01] lz: tbranyen, http://shootout.alioth.debian.org/u64/which-programming-languages-are-fastest.php [16:01] jtsnow has joined the channel [16:01] ritch has joined the channel [16:02] Glenjamin: eugh [16:02] metellus has joined the channel [16:02] fread228_ has joined the channel [16:02] Glenjamin: invalid benchmark [16:02] DrMcKay: programming language? [16:02] Glenjamin: the shootout is horribly flawed [16:02] DrMcKay: I thought that programming language is just a formal definition of syntax, etc. [16:02] tbranyen: vs an implementation yea [16:02] tbranyen: like calling javascript slow when you run it on the jscript interpreter :-p [16:02] jetienne: lz: so ruby is 20 slower than go ): [16:03] jetienne: lz: funny page :) [16:04] lz: right.. i think his definition is off, what he really means is the runtime the language is running on [16:04] jocafa: http://attractivechaos.github.com/plb/ [16:04] DrMcKay: jocafa: that's better [16:04] jetienne: lz: and java is 3 time faster than node.js :)... way way off :) [16:04] CoverSlide: the whole page is a joke, somepeople think it's real [16:04] johnwards_ has joined the channel [16:04] Nuck: Requests per second: 21.15 [#/sec] (mean) [16:04] CoverSlide: it's a parody of all benchmarks [16:04] CoverSlide: haha fools [16:05] Glenjamin: for example, the Python ones are micro-optimised for the CPython implementation [16:05] Nuck: That's with fibonacci at 30 :P [16:05] Glenjamin: and thus are slow on others [16:05] jocafa: it's not really a parody, it's more like "hey here's some interesting data. it's not even remotely scientific though) [16:05] jocafa: " [16:05] Glenjamin: Nuck: Requests per second: 5342.54 [#/sec] (mean) [16:05] liar has joined the channel [16:05] Nuck: Glenjamin: That with ontick? [16:05] Glenjamin: with a proper implementation :) [16:06] Nuck: Glenjamin: Mine is the one he provided [16:06] CoverSlide: gist em up [16:06] Nuck: https://github.com/NuckChorris/express-fibonacci [16:07] Nuck: CoverSlide: In Express Middleware form ;) [16:07] jocafa: someone make a node-cancer repo. [16:08] DrMcKay: hmm... maybe SubStack can draw a node-cancer :D ? [16:08] mynyml has joined the channel [16:08] TheJH: Nuck, starred it :) [16:08] Nuck: :D [16:08] CoverSlide: haha [16:08] TheJH: SubStack, draw it :) [16:08] MooGoo: node-cancer, is that like node-game-of-life [16:09] Archen has joined the channel [16:09] DrMcKay: SubStack: pleeeeeaaaase :D [16:09] TheJH: SubStack, ping [16:09] Nuck: DOITDOITDOITDOIT [16:09] ksheurs has joined the channel [16:09] slifty has joined the channel [16:09] Nuck: ACTION imagines Ryan's head as a tumor [16:09] TheJH: Nuck, :D [16:09] DrMcKay: haha [16:09] lz: oh god [16:09] CoverSlide: IT IS NOT A TOOMAH! [16:10] lz: please don't make this the first node.js meme [16:10] lz: please pretty please [16:10] TheJH: endlessly-growing brain :D [16:10] qbert65536: TheJH, how did you find that link to TZ's web stats ? [16:10] DrMcKay: lz: colon is the first node meme [16:10] Nuck: CoverSlide: Thanks for that, Arnold. [16:10] TheJH: intelligence cancer :D [16:10] qbert65536: ACTION tips hat [16:10] Nuck: lol [16:10] Nuck: Fucking colon [16:11] TheJH: qbert65536, more->server stats on the right side [16:11] TheJH: s/stats/graphs/ [16:11] lz: node-cancer is a great name for a node based botnet [16:11] TheJH: lz, :D [16:11] ritch: In that node-cancer post, did the guy ever benchmark the same code on another server? [16:12] CoverSlide: haha [16:12] CoverSlide: that'd be awesome [16:12] Nuck: ritch: Doubtful [16:12] Nuck: Seriously, X-Trolled: Hard [16:12] mdz has joined the channel [16:12] TheJH: lz, I think isaacs already made a botnet-library or so [16:12] lz: well, then, LET GET STARTED BOYS [16:12] mdz: is there any way to get npm to check if dependencies from package.json are already installed, without actually doing anything? [16:13] jerrysv has joined the channel [16:13] mdz: I just want an exit code that tells me whether node_modules is up to date with respect to package.json [16:13] CoverSlide: yeah, require('package') [16:13] CoverSlide: if you don't get an error, you're good [16:13] TheJH: lz, "https://github.com/isaacs/sodn", "Sodn is a Self-Organizing Dnode Network, made of SOcial DNodes. I'm not sure yet what it can be used for, but it seemed like a neat idea." [16:14] TheJH: mdz, there's an open pull request for npm, but I've been too lazy to work on it [16:14] slaskis has joined the channel [16:14] Yuffster_work has joined the channel [16:14] CoverSlide: so in other words, hook.io [16:14] smathy has joined the channel [16:14] TheJH: mdz, https://github.com/isaacs/npm/pull/1279 - wanna complete it? :D [16:14] mdz: TheJH, ah, thanks. https://github.com/isaacs/npm/pull/1279 [16:14] liquidproof has joined the channel [16:14] isaacs has joined the channel [16:15] happyt has joined the channel [16:15] mdz: TheJH, I'll have a look later today when I have some time [16:15] te-brian has joined the channel [16:16] hakunin has joined the channel [16:16] TheJH: isaacs, does SODN do more than hookio? [16:16] isaacs: no, actually right now, it does much much less [16:17] DrMcKay: wow, we're less than 700 followers back :D [16:17] TheJH: isaacs, you read that "node is cancer" thing, so we thought about what "node-cancer" could be [16:17] DrMcKay: http://nodejs-vs-ror.nodejitsu.com/ [16:17] TheJH: isaacs, and someone said "it's a botnet" [16:17] langworthy has joined the channel [16:17] melcher has joined the channel [16:18] moritz_ has joined the channel [16:18] spcshpopr8r has joined the channel [16:19] isaacs: heh [16:20] jocafa: http://files.myopera.com/Cois/blog/ror.jpg [16:20] Glenjamin: CoverSlide: not as easy as nextTick with memoisation :( [16:21] lz: jocafa hey i take offrence to that [16:21] Glenjamin: CoverSlide: scratch that, it is - was using parallel instead of series [16:21] jocafa: ACTION ♥ lz [16:22] lz: how about a browser based botnet using sockets [16:22] abraxas_ has joined the channel [16:22] lz: anyone sitting on your page becomes a worker [16:22] CoverSlide: a browser based botnet? [16:22] CoverSlide: you mean facebook? :P [16:23] lz: yea, but to actually accomplish something [16:23] simenbrekken has joined the channel [16:23] lz: of importance [16:23] pizthewiz has joined the channel [16:23] lz: what if it crunched proteins and solved cancer? :) [16:23] CoverSlide: ha that would pwn [16:23] lz: OH the irony [16:23] JSManiacs has joined the channel [16:23] harthur has joined the channel [16:23] TheJH: lz, :D [16:23] CoverSlide: facebook just uses js from peoples' browsers [16:24] CoverSlide: and then reduce down to 1 server [16:24] DrMcKay: lets mine bitcoins like that [16:24] JSManiacs has left the channel [16:24] CoverSlide: hell yeah! [16:24] lz: drmckay didnt we have that discussion before... [16:24] jocafa: but you can't really connect browser-to-browser with websockets… can you? [16:25] lz: we concluded http://www.bitcoinplus.com/ was already doing it better than us [16:25] Archen has joined the channel [16:25] DrMcKay: lz: possibly [16:25] kulor-uk has joined the channel [16:25] louissmit has joined the channel [16:25] matyr has joined the channel [16:25] addisonj has joined the channel [16:25] lz: jocafa, no, don't think you can. you'd need a command/control server [16:25] gsmcwhirter has joined the channel [16:26] dshaw_ has joined the channel [16:26] lz: aka the web page [16:26] kevwil has joined the channel [16:26] Glenjamin: Nuck: https://github.com/glenjamin/node-fib [16:26] piscisaureus has joined the channel [16:26] DrMcKay: btw, I'm writing a in-browser repl for node, how cool is that? [16:26] ayaz has joined the channel [16:27] CoverSlide: pretty awesome [16:27] MooGoo: THE COOLEST THING EVER [16:27] MooGoo: you are king of cool [16:27] DrMcKay: also, I'm running out of xmonad workspaces :< [16:27] MooGoo: make moar [16:28] bLiNdRaGe: moar [16:28] mynix_ has joined the channel [16:28] wbednarski has joined the channel [16:28] TheJH: DrMcKay, create some on your phone and VNC into it :D [16:28] DrMcKay: MooGoo: where do I get my crown? [16:28] MooGoo: burger king [16:28] DrMcKay: TheJH: :D [16:28] DrMcKay: MooGoo: you sure? [16:28] TheJH: ACTION has a dnode-based webchat running on his phone now, and it works :) [16:29] DrMcKay: TheJH: :D [16:29] MooGoo: you wouldnt happened to have read or watched Game of Thrones? [16:29] kurtzhong has joined the channel [16:29] TheJH: I can access the chat from my browser over WLAN <3 [16:29] DrMcKay: MooGoo: no, I wanted, but I didn't have time to :( [16:29] felixhummel has joined the channel [16:29] MooGoo: there's a good scene about some dude getting a crown [16:29] CoverSlide: DrMcKay: like jsapp.us ? [16:30] MooGoo: you shud watch it.. [16:30] lz: crown fit for a king [16:30] MooGoo: its only 10 episodes [16:30] MooGoo: the nodejs slave masters will understand [16:30] DrMcKay: CoverSlide: shit. [16:30] DrMcKay: CoverSlide: no! it'll be a repl! [16:31] DrMcKay: a true repl! [16:31] DrMcKay: so that you'll be able to, you know. [16:31] DrMcKay: repl. and all. [16:31] MooGoo: sounds hackable [16:31] DrMcKay: MooGoo: making it secure isn't my concern ;) [16:32] devrim has joined the channel [16:32] CoverSlide: insecurity is a marketable feature [16:32] DrMcKay: MooGoo: I mean, it should be only for you [16:32] DrMcKay: just like you wouldn't let anyone access your terminal [16:33] pietern has joined the channel [16:33] lz: exec("rm -rf /") ? [16:33] MooGoo: I dunno, the web is a shady place, you cant even trust yourself [16:33] lz: don't run that. [16:33] TheJH: oooh, you can hack computers via firewire! you only need physical access! [16:33] perezd has joined the channel [16:33] TheJH: lz, if you say that, maybe I should [16:33] DrMcKay: TheJH: yeah, that's lulzy [16:34] DrMcKay: btw, I've decided to buy this MacBook [16:34] davidascher has joined the channel [16:34] TheJH: DrMcKay, u no linux? [16:34] lz: TheJH, bye bye :( [16:34] DrMcKay: TheJH: what would stop me from installing linux on it? [16:34] DrMcKay: TheJH: I just want to try OS X [16:34] MooGoo: only laptops worth getting are thinkpads [16:34] DrMcKay: and yes, I Linux [16:34] TheJH: DrMcKay, if that's possible, it's ok :D [16:34] lz: MooGoo emachines is the best [16:34] DrMcKay: TheJH: sure, EFI and all [16:35] TheJH: lz, huh, what? NOOOO!!!! [16:35] DrMcKay: TheJH: Fedora handles it just fine [16:35] MooGoo: oh yea and packerd bell [16:35] MooGoo: Tandy is the true best computer [16:35] DrMcKay: ENIAC wast the best [16:35] DrMcKay: *was [16:35] CoverSlide: peoplepc > * [16:35] MooGoo: eniac was cool [16:35] Aikar: hell my fellow cancer bretheren [16:35] EyePulp has joined the channel [16:36] CoverSlide: wait [16:36] MooGoo: you needed an EE degree to "program" it [16:36] CoverSlide: what's the name of that service [16:36] Glenjamin: macbooks are awesome [16:36] MooGoo: and it was base 10 [16:36] lz: hail aikar [16:36] Nuck: Aikar: ONE OF US [16:36] Nuck: ONE OF US [16:37] skyl has joined the channel [16:37] Frippe has joined the channel [16:38] robertfw has joined the channel [16:38] lz: so say we all [16:38] CoverSlide: so sez u [16:39] Glenjamin: anyway, for lulz: https://github.com/glenjamin/node-fib high performance fibonacci server [16:39] Glenjamin: i'm possibly cheating by caching cross-request - but it'd still be fast without [16:39] fatjonny has joined the channel [16:40] Aikar: lol [16:40] lz: could I get node devs to make me dinner if i said they can't cook? [16:40] Nuck: Glenjamin: Pretty sure nextTick doesn't actually spawn a new thread, so it's probably still not effective [16:41] lz: you guys can't cook [16:41] Nuck: A Worker would be better [16:41] Glenjamin: Nuck: see the ab output [16:41] Nuck: Glenjamin: See the caching ;) [16:41] neilk_ has joined the channel [16:41] Aikar: Nuck: but the point is using nextTick means you wont block the event loop [16:41] Aikar: so it doesnt matter [16:41] Aikar: it doesnt make use of multiple cores, but it wont block [16:41] Glenjamin: if i cached but didn't use nextTick, i could only do one at a time [16:41] Aikar: so workers would be FASTER, but wont help anymore with not blocking the loop [16:41] Nuck: Aikar: You still block the next one IIRC? [16:41] MooGoo: it wont block but its damn inefficent [16:42] irahgel has left the channel [16:42] Aikar: the trolls main point was that a long running computation would block the event loop [16:42] michaeldeol has joined the channel [16:42] Nuck: Last I checked, a single thread cannot do two things at once [16:42] CoverSlide: everyone knows this [16:42] Glenjamin: and my main point is that you can optimise long calculations within an event loop [16:42] TheJH: btw, you can chat on my phone at http://77.23.48.202 - however, there's no nicklist, just join and quit messages [16:42] MooGoo: it would yes [16:42] Aikar: that implementation by Glenjamin wont block the event loop as it splits up each step to naother loop [16:42] Nuck: And even with nextTick, you're still on the same thread [16:42] Nuck: Aikar: ah [16:43] sreeix has joined the channel [16:43] Nuck: So they all slow down under concurrency [16:43] Glenjamin: any long calculation can be split up using nextTick - the only tricky bit is deciding where to split [16:43] Me1000 has joined the channel [16:43] Aikar: all long running formulas can be split up to not block the event loop, and youll run at the speed of V8's effeciency + the little overhead of moving to the next tick of a loop. you gain effeciency with workers for multiple cores running multiple loops [16:44] Venom_X has joined the channel [16:44] Aikar: in node you should never need more processes than you have cores [16:44] bogomips2_ has joined the channel [16:44] Nuck: Aikar: Yeah, it means you can serve n requests at the same speed before slowing down [16:44] davida has joined the channel [16:44] Nuck: Where n is your number of cores [16:45] markdaws: Hi - how can I set a client side timeout value for a http request? [16:45] bLiNdRaGe: anyone know an example to read a TCP stream a byte at a time? [16:45] robhawkes has joined the channel [16:45] MooGoo: is node ever getting native Workers that spawn threads instead of processes? [16:45] Glenjamin: however doing it in a single process means the concurrent requests take advantage of same memoisation [16:45] Nuck: Aikar: Long calculations should be moved to workers because that allows concurrent calculation there [16:45] Nuck: MooGoo: Good question [16:45] MooGoo: it really should [16:45] stelleg has joined the channel [16:46] CoverSlide: ryah mentioned something similar at one point [16:46] Aikar: bLiNdRaGe: you cant read it off the stream 1 at a time, but if you store it to a buffer then iterate for (var i = 0; i < buffer.length; i++) { var x = buffer[i]; } [16:46] MooGoo: spawning child processes all the time to force non-blocking would seem anti-node [16:46] CoverSlide: not sure if it was on chat, mailing list, gh [16:46] Aikar: Nuck: i agree, i meant though that it was a 2 part problem [16:46] Glenjamin: why use threads over child processes? [16:46] Aikar: part 1) not blocking the EL [16:46] bLiNdRaGe: hmmm [16:46] Aikar: part 2) parallelizing it over multiple cores [16:47] lz: what happens if we put nextTick after ever command in an app? [16:47] lz: *every [16:47] Aikar: eveh multiple processes, you dont want to do the recursive version unless you intend to only use that process to calculate a single # at a time [16:47] MooGoo: child processes are just more bloated threads... [16:47] Aikar: lz: itll make your code to manage it rather nasty :P [16:47] Glenjamin: MooGoo: no shared memory space means no chance of deadlocks [16:47] MooGoo: and tied to the underlying OS [16:47] mdarnall has joined the channel [16:47] Nuck: Couldn't somebody do WebWorkers in a C module? [16:47] lz: aikar but will it increase efficiency [16:47] Aikar: if your thread doesnt access V8, and runs in a pure C++ module, there is no memory to 'share' [16:48] MooGoo: memory does not have to be shared [16:48] Aikar: lz: youll prolly lose effeciency at that point for unwinding the stack so much and storing the next tick handlers and closures [16:48] Glenjamin: so you'd want a model where the thread shares nothing with its parent? [16:48] DrMcKay: what's the convention for file names? longFile.js, long-file.js, longfile.js? [16:48] MooGoo: tho having shared memory between seperate node processes or threads would be incredibly useful as an option [16:48] Glenjamin: long-file.js is my preferred [16:48] TheFuzzball has joined the channel [16:49] DrMcKay: MooGoo: check out ipc branch [16:49] CoverSlide: I like [16:49] lz: hmmm [16:49] CoverSlide: long\ file.js [16:49] jocafa: longcat-file.js [16:49] MooGoo: hm [16:49] CoverSlide: :p [16:49] Glenjamin: haha [16:49] DrMcKay: :D [16:49] Nuck: MooGoo: IIRC there are plans for things like that in 0.6.x or something [16:49] Nuck: IDK [16:49] MooGoo: or something [16:49] Nuck: Something about builtin clustering or whatever [16:49] isaqual has joined the channel [16:50] Aikar: void calculateSomething(int* myInt) { int myLocalInt = *myInt; // do stuff with myLocalInt. then send a signal that calc is done. [16:50] StanlySoManly has joined the channel [16:50] khismetix has joined the channel [16:50] Glenjamin: anyway, if someone wants to try and beat my fib server with a threading approach, i'd be interested [16:50] c4milo has joined the channel [16:50] CoverSlide: ACTION beats it with a wooden spoon [16:50] jocafa: i just split everything up into CamelCaseClassName.js/spec.js/styl... [16:50] MooGoo: it depends on what's doing the threading [16:50] joshkehn: Glenjamin: I'll scrawl some Java code. [16:51] lz: exec('fib.c') [16:51] Venom_X has joined the channel [16:51] Glenjamin: a JVM version should be comparable [16:51] Kingdutch has joined the channel [16:51] MooGoo: the advantage of node is you get lower level control over what you want cpu time to be spent on [16:51] CoverSlide: but you need to run it on glassfish [16:51] CoverSlide: or else it won't be enterprisey [16:51] joshkehn: Why's that? [16:51] joshkehn: Ah. Lol. [16:52] joshkehn: Could just go for a Grails app. [16:52] DrMcKay: and do a CI with Hudson. [16:52] MooGoo: but using nextTick for every single iteration seems inefficent [16:52] DrMcKay: because how do you know it actually works? [16:52] MooGoo: should do like 100 loops or something then call nextTick [16:52] sfoster has joined the channel [16:52] Aikar: its very trivial to spawn a thread within your node process, and make that thread not access V8 at all. you can allocate a block of memory to pass to the thread for initialization. then start the thread, then the node thread never touches that memory again. the thread picks it up, reads it into local thread memory (or keeps using it, since node isnt going to touch that memory again), then clean up with done. when you calc your result, allocate new memory for the [16:52] Glenjamin: MooGoo: considered that, but decided this way would look cleaner [16:53] jocafa: just use OpenCL for everything [16:53] MooGoo: optimization is not often clean [16:53] Glenjamin: mm [16:53] Glenjamin: but i think this is a reasonable balance [16:53] MooGoo: thats the point that dude and others like him are making [16:53] MooGoo: with threads you just dont have to worry about it [16:54] Glenjamin: except you still will have to optimise threaded approaches [16:54] Glenjamin: and if you want to memoize then you'll have to lock [16:54] CoverSlide: right, because threads just work the way you want em [16:54] Glenjamin: and we all know locking is easy [16:54] MooGoo: but its a totally seperate concern from the algorithm itself [16:54] Aikar: with my approach above, you dont even need locking [16:54] Glenjamin: until you want control, and it isn't [16:54] ritch has left the channel [16:54] MooGoo: with node you have to solve both at the same time [16:55] Aikar: when node passes work work to a thread, give it a workload of memory that node never touches again. let the thread itself free the memory [16:55] MooGoo: if node had built in threading support, then the issue would be moot cause you'd have both options [16:55] Aikar: then when the thread is done, it does the same thing, allocate, pass and forget [16:55] Glenjamin: except it intentionally doesn't and thats a good thing [16:55] Glenjamin: you want threads, dont use node. [16:56] CoverSlide: nothing wrong with threads [16:56] MooGoo: clearly [16:56] Aikar: node cant have built in thread support until V8 fully supports isolation to run multiple instances in a single process [16:56] Glenjamin: and then there's no fragmentation of library implementations [16:56] lz: race conditions [16:56] CoverSlide: just as long as you use them wisely [16:56] lz: mutable data structures [16:56] MooGoo: but the idea that threads are fundamentally worse than event loops is just wrong [16:56] gr-eg has joined the channel [16:56] franksalim: i can't believe this discussion is happening. the troll has really won. [16:56] Aikar: running 4 V8 instances in a single node process would be more resource friendly than 4 V8 processes. youd think of it the same way as 4 processes, just 1 exe [16:57] Glenjamin: MooGoo: i'm not saying that as such, just that both have advantages and disadvantages - and offering both is worse than offering one imo [16:57] Aikar: exe being executable and not the windows extension :P [16:57] CoverSlide: Vengeance for Zul'jin! [16:57] lz: LOL [16:57] MooGoo: Glenjamin: but node already does offer both, and poorly at that, using child processes [16:57] Glenjamin: child processes are not threads [16:57] MooGoo: they are [16:58] Aikar: technically they are, just walled off memory :P [16:58] MooGoo: os bloated threads [16:58] franksalim: shared memory is a defining characteristic of threads [16:58] pgherveou has joined the channel [16:58] patcito has joined the channel [16:58] Aikar: you know how we have streamToChildProcess2.write("foo"); [16:58] MooGoo: well whatever terminology you want [16:58] skiz has joined the channel [16:58] Aikar: we could have streamToThread2.write("foo") [16:59] franksalim: terminology is important if you're having a ridiculous discussion retreading decades of computer science [16:59] Glenjamin: haha [16:59] Aikar: have entire V8 environments running under seperate threads of same process [16:59] MooGoo: decades eh [16:59] franksalim: decades [16:59] Glenjamin: anyway. threads are fine if used right, as are event loops [16:59] Aikar: which im sure v8 can optimize spawning the 2nd+ envs [16:59] MooGoo: they are theoretically the same [17:00] MooGoo: cpu is doing the same shit in the end for the most part [17:00] levi: In Linux, threads and processes are basically the same thing with different options enabled as far as the kernel is concerned. Although it's been a while since I looked, and they could have changed things. [17:00] eignerchris has joined the channel [17:01] CoverSlide: can't we all just agree [17:01] CoverSlide: that I am awesome? [17:01] MooGoo: on irc [17:01] MooGoo: what [17:01] MooGoo: no [17:01] MooGoo: never [17:01] CoverSlide: damn [17:01] Aikar: weird [17:01] lz: I'll agree if you give me a dollar [17:01] Aikar: just like lost connection to my server [17:01] MooGoo: weiiirrrrrddd [17:01] levi: A fork in Linux creates a new process where the shared memory pages are marked copy-on-write, IIRC. A thread is a new process that just shares the heap as-is. Both need to have their own stack memory. [17:02] Aikar: process = thread with a firewall [17:02] MooGoo: threads are pre-emptive multitasking handled by the OS [17:02] MooGoo: nodejs os cooperative multitasking handeled by the programmer [17:02] franksalim: very good [17:02] MooGoo: is [17:02] levi: Depends on how you define 'threads'. [17:02] digman543 has joined the channel [17:02] MooGoo: I like generalizing [17:04] zcopley has joined the channel [17:04] CoverSlide: you know who else liked generalizing? Hitler! [17:04] Nuck: KILL EVERYONE [17:05] Nuck: I JUST HATE EVERYONE IN GENERATE [17:05] Nuck: ACTION heils [17:05] lz: Hey [17:05] Nuck: :P [17:05] joshkehn: Godwin's law. [17:05] lz: hitler didn't hate everyone [17:05] Aikar: how does nodes FS threads signal back to node that the file is ready, with a 2way socket and write a msg indicating it? [17:05] lz: http://cdn3.iofferphoto.com/img/item/695/624/91/azgxp1.jpg [17:05] levi: A thread is a separately schedulable unit of execution that shares heap space with its peers but not stack space. Cooperative threads are rescheduld only when they yield, while preemptive threads are rescheduled at arbitrary points. [17:05] CoverSlide: woo! [17:05] Nuck: Kill ze Jews. Kill ze blacks. Kill ze Deutzche! [17:05] CoverSlide: dammit, godwin's law didn't work [17:05] joshkehn: Just seemed to wind Nuck up a bit. [17:05] Nuck: :P [17:05] Nuck: lol [17:06] creationix has joined the channel [17:06] Nuck: So, I'm starting with Haibu [17:06] Nuck: And I'm trying to find a way to pass environment variables [17:06] Nuck: Any ideas? [17:06] MooGoo: hitlers in ur kernel, killing ur child processes [17:06] creationix has left the channel [17:06] Aikar: Nuck: on cp.spawn its an option [17:06] aguynamedben has joined the channel [17:06] Nuck: MooGoo: Well, there was a discussion of child-killing earlier. [17:06] TomY has joined the channel [17:07] Aikar: cp.spawn(exec, [args], { env: { "foo" : "bar" } }); [17:07] MooGoo: we like to kill children here [17:07] Nuck: (and yes, they used that term) [17:07] MooGoo: they're always spawning [17:07] MooGoo: use protection [17:07] maletor has joined the channel [17:07] Nuck: Aikar: On Haibu though? [17:07] MooGoo: nodejs is quite fertile [17:07] Aikar: what is haibu? [17:08] Nuck: Aikar: https://github.com/nodejitsu/haibu [17:09] Aikar: no idea for that [17:09] Nuck: Any nodejitsu folks here? [17:09] Nuck: :/ [17:09] CoverSlide: #nodejitsu [17:09] adambeynon has joined the channel [17:10] localhost has joined the channel [17:10] adambeynon has joined the channel [17:10] lz: wow, I'm surprised haibu is open sourced [17:10] erickt has joined the channel [17:10] CoverSlide: haibu is pretty boss [17:10] Nuck: Seriously [17:11] Nuck: It looks boss as hell [17:11] Nuck: But I need to pass my environment variable to it [17:11] Nuck: ENVIR=staging/production/development [17:11] mpavel has left the channel [17:11] Nuck: NODE_ENV is too magical for me P [17:11] Nuck: *:P [17:12] Nuck: Basically, that environment variable tells my server what config to load [17:12] lz: process.env.* ? [17:12] inpho has joined the channel [17:12] N0va` has joined the channel [17:12] Nuck: lz: Ayup [17:12] tjholowaychuk: how is that magical [17:12] gregmore_ has joined the channel [17:12] tjholowaychuk: that's a great use-case for env vars :p [17:12] Aikar: Nuck: looks like they spawn apps with what ever is in app.env [17:12] dgathright has joined the channel [17:12] Aikar: https://github.com/nodejitsu/haibu/blob/master/lib/haibu/core/spawner.js#L87 [17:12] franciscallo has joined the channel [17:12] Nuck: Aikar: so I just shove env in the config? [17:12] Nuck: FUCK YES [17:12] Layke2 has joined the channel [17:13] Nuck: tjholowaychuk: I agree [17:13] Nuck: Hence why I use it [17:13] Aikar: yep [17:13] Nuck: But NODE_ENV seemed to act differently [17:13] Aikar: Nuck: but clone/use process.env [17:13] Aikar: so you can forward the processes env variables down [17:13] Nuck: Aikar: I'll probably just pass my two things, since this is over the net [17:13] Nuck: I don't wanna add things from my computer to hat [17:13] Nuck: *that [17:14] vipaca: qq: Does anyone know if the chunk in stream.on('data', function(chunk) { can be used as a reference or must be copied? [17:14] jsurfer has joined the channel [17:15] Wizek has joined the channel [17:15] vipaca: I have a need to accumulate chunks and I would rather hold references to these chunks then to copy them around [17:15] CoverSlide: all object assignment is by reference [17:16] CoverSlide: a Buffer is an object [17:16] vipaca: CoverSlide so it safe to store the reference to the chunk [17:16] Nuck: Haibu's docs have some interesting comments [17:16] vipaca: It will not be reused or recycled [17:16] CoverSlide: yes [17:16] Nuck: "Move this into carapace with shared data for this instance ... ALFRED!!!" [17:16] Nuck: ... ALFRED!!! [17:17] Nuck: lolwat [17:17] aguynamedben has joined the channel [17:17] CoverSlide: Alfred is a butler [17:17] Nuck: That he is [17:17] inph0 has joined the channel [17:17] Nuck: Still an odd comment haha [17:17] shinuza has joined the channel [17:18] d0k_ has joined the channel [17:19] aguynamedben has joined the channel [17:19] langworthy has joined the channel [17:20] mdarnall has joined the channel [17:20] [[zz]] has joined the channel [17:20] wilmoore has joined the channel [17:20] githogori has joined the channel [17:21] digman543 has joined the channel [17:24] vidi has joined the channel [17:24] digman543_ has joined the channel [17:26] perezd has joined the channel [17:27] shipit has joined the channel [17:29] kenperkins has joined the channel [17:30] AvianFlu has joined the channel [17:31] jtrudeau has joined the channel [17:31] yept has joined the channel [17:32] Nuck: Damn [17:33] CoverSlide: Shit [17:33] Nuck: Haibu can't use a repo that takes keys or what? [17:33] CoverSlide: Fuck [17:33] CoverSlide: Ass [17:33] CoverSlide: we are cursing! [17:33] DrMcKay: Nuck: huh? [17:33] Nuck: DrMcKay: I'm trying to get started with haibu [17:33] Nuck: So I want it to pull from my repo [17:33] socialhack has joined the channel [17:33] Nuck: (a gitolite) [17:33] Nuck: (on the same server) [17:34] DrMcKay: Nuck: they accept pull requests [17:34] Nuck: And I have cert-based auth on the server [17:34] Nuck: DrMcKay: haha but I don't know what I'm doing, I'm unfamiliar with the codebase [17:34] brion has joined the channel [17:34] brion has joined the channel [17:34] Nuck: It may very well have this feature already, etc. [17:36] alvincrespo has joined the channel [17:36] Venom_X has joined the channel [17:36] isaacs has joined the channel [17:37] Nuck: Is HN down? [17:38] pquerna has joined the channel [17:38] CoverSlide: http://www.downforeveryoneorjustme.com/http://news.ycombinator.com/ [17:38] ydef has joined the channel [17:38] DrMcKay: !up? news.ycombinator.com [17:38] dmkbot: DrMcKay, host may be down (error: connect ECONNREFUSED) [17:39] DrMcKay: Nuck: what man says ^ [17:39] Aikar: refused! [17:39] Nuck: rut roh [17:39] `3rdEden has joined the channel [17:39] TheJH: up here [17:39] TheJH: !up? news.ycombinator.com [17:39] dmkbot: TheJH, host up (status code: 200) [17:39] mraleph has joined the channel [17:39] vipaca: What's the best way to remove a key from a hash? [17:40] Aikar: delete hash[key]; [17:40] digman543 has joined the channel [17:40] TheJH: vipaca, "delete hash[key];" is THE way to do it [17:40] gaving has joined the channel [17:40] vipaca: thanks [17:41] Aikar: or you can invoke C++, read the memory and call free() and stuff on it too, but i dont recommend that :P [17:41] lynxnathan has joined the channel [17:41] Aikar: just take a bazooka and shoot your pc, its def gone then [17:41] Nuck: Holy shit [17:41] Nuck: http://blog.bitbucket.org/2011/10/03/bitbucket-now-rocks-git/ [17:42] Nuck: Bitbucket has git? [17:42] skyler_brungardt has joined the channel [17:42] lz: niiice [17:42] maeldur has joined the channel [17:42] Aikar: nice free private repos [17:42] Margle has joined the channel [17:42] TheJH: free public and private repos? uh, how do they make money? [17:43] Aikar: its atlassian... [17:43] Aikar: they make alot of money on their other products [17:43] Aikar: my company is an atlassian whore :X [17:43] bentruyman has joined the channel [17:43] Aikar: they make Jira, Confluence, FishEye, Bamboo [17:44] Aikar: ie - major integrated team software development suites [17:44] lynxnathan: Everytime a private repo borns, Richard Stallman drops a tear. #fact [17:44] Aikar: lynxnathan: not everything can be open source... lol [17:45] AvianFlu: it's true [17:45] AvianFlu: you can open source an awful lot [17:45] AvianFlu: but some things should just stay internal [17:45] lynxnathan: I know, its his tears, not mine! :P [17:45] Aikar: you open source libraries used to build your product, you dont oss your product itself [17:45] jerrysv: hm. hasn't the bitbucket lesson been learned already? [17:46] visnup has joined the channel [17:46] dmsuperman: I'm having trouble using crypto to decrypt a Crypt::CBC enccrypted string from perl, can somebody help me out? I can't seem to figure out how to extract the IV from the string [17:46] jesusabdullah has joined the channel [17:46] vidi has joined the channel [17:46] skyler_brungardt has joined the channel [17:47] alvincrespo: yeah its pretty crazy (the bitbucket thing) [17:47] kflorence has joined the channel [17:47] alvincrespo: i wonder what github will do [17:47] alvincrespo: if they choose to do anything [17:47] tylerstalder has joined the channel [17:48] tim_smart|away has joined the channel [17:48] Nuck: lol "It's misleading that some of thepapers on NoSQL databases use MySQL as the representative relational database, andthen point out the scalability or functional limitations of the database. Oracle'ssupporting ecosystem did not materialize instantaneously. Oracle has been developingdatabase-centric software for thirty years. Building any database is hard, to build one asgood as Oracle's takes a long, long time." [17:48] Nuck: Yeah, MySQL is so totally gold-standard [17:48] revolve has joined the channel [17:48] Nuck: Totally not the shittiest SQL server out there. [17:48] maeldur has joined the channel [17:49] jbpros has joined the channel [17:49] Lorentz has joined the channel [17:50] visnup has joined the channel [17:51] isaacs: Nuck: i wouldn't call mysql a gold standard. [17:51] isaacs: it's some kind of standard. [17:51] Nuck: isaacs: A standard for what not to do [17:51] isaacs: i mean,it's not the worset [17:51] Nuck: Well [17:51] isaacs: *worst [17:51] Nuck: isaacs: Worst popular DB [17:51] isaacs: but it's arguably not the best, either [17:51] bnoordhuis: the gold standard of where perseverance will get you [17:52] alvincrespo: which db's would you guys recommend? [17:52] orolo1 has joined the channel [17:52] brianc: postgres! [17:52] CoverSlide: eXist-DB! [17:52] xerox: var o = {}! [17:52] JasonJS: Completely depends on your use case [17:52] brianc: and redis [17:52] isaacs: alvincrespo: i've heard nothing but good things about postgres. [17:52] chrisdickinson: ACTION +1's postgres [17:53] isaacs: alvincrespo: redis is awesome for high-throughput and pub-sub type stuff. [17:53] isaacs: alvincrespo: i have had *really* good experiences with couchdb, once you wrap your brain around it's somewhat weird (in my opinion) api [17:53] brianc: yeah redis not so hot for primary storage...it's really a collection of atomic in memory data sets [17:53] enmand__ has joined the channel [17:53] brianc: you can sort of think of it as "all your globals are belong in redis" [17:53] Nuck: I use Mongo and Redis [17:54] JasonJS: alvincrespo: I like Redis for 'short-term' sessiony type stuff [17:54] mwhooker has joined the channel [17:54] jerrysv: i use mongo and postgres, and memcache for making sure things go fast [17:54] Nuck: Mongo for my long-term heavy stuff and Redis for low-latency fast shit [17:54] devrim1 has joined the channel [17:54] alonl has joined the channel [17:54] Nuck: I use Redis like some people use Memcached [17:54] mwhooker has left the channel [17:54] Sembiance: ACTION loves redis. [17:55] CoverSlide: Except Redis is designed to be used like how some people use Mongo [17:55] Sembiance: I also use mongo heh. different reasons to use them [17:55] jerrysv: ACTION looks forward to the seven databases in seven weeks book being released [17:55] jerrysv: so i can just point people to it and let them make their own decisions [17:55] CoverSlide: too many people mean memory store == cache [17:55] CoverSlide: s/mean/think/ [17:56] Sembiance: I just upgraded my production redis server from 2.2 to 2.4 RAM usage went from 11.70GB to 3.67GB: https://gist.github.com/1258172 [17:56] Nuck: CoverSlide: I use it as a cache for some data that wouldn't fit all in RAM [17:56] Sembiance: redis is just sexy as hwell [17:56] pquerna has joined the channel [17:56] Sembiance: err hell ;) [17:56] lynxnathan: can't you configure mongo to act like redis somehow? [17:56] Nuck: lolwat [17:56] aconbere has joined the channel [17:57] Nuck: lynxnathan: No, Redis is low-latency key-value [17:57] sunshadow has joined the channel [17:57] brianc: it's not just key-value [17:57] Nuck: Using Redis as a cache for my tag system resulted in a 4x increase [17:57] brianc: it's key -> dataset [17:57] brianc: key -> list, key -> set, key -> value, key -> hash [17:57] Nuck: brianc: All of which are values [17:57] CoverSlide: key -> sorted set [17:57] Nuck: value can be any type [17:57] xerox: Sembiance whoa [17:57] lynxnathan: I mean, mongo uses memory mapped files to do its stuff right? [17:57] Nuck: You associate it with "string" but it isn't [17:58] Nuck: lynxnathan: Some of it, yes [17:58] Nuck: But Redis is much faster still [17:58] lynxnathan: isn't there a simple way to keep stuff only in memory and don't map it to disk? [17:58] Nuck: lynxnathan: Redis does map to disc [17:58] CoverSlide: yeah, make a variable [17:58] Nuck: It's just two different architectures [17:58] Nuck: I use Redis because I need low-latency storage for commonly-used things [17:58] wink_: you could probably have mongo store its data on a ramdisk worst case ;> [17:58] brianc: lynxnathan: you can make redis never flush to disk [17:58] lynxnathan: can you do it with mongo too? [17:59] Nuck: Redis is great [17:59] lynxnathan: I mean, it would pretty nice to have a centralized way of doing both with the same package [17:59] CoverSlide: there's the aof, which is like sexiness incarnate [17:59] Renegade001 has joined the channel [17:59] lynxnathan: since they are used together quite a lot [17:59] Archen has joined the channel [18:01] Nuck: lynxnathan: They're two very different storage systems [18:01] Nuck: You can't really combine interfaces [18:02] TheJH: random thought: what would you think about a library for weak listeners? [18:02] CoverSlide: bizarre, bizarro, bizarro genius baby! [18:02] TheJH: e.g. listeners that vanish when they're not needed anymore [18:02] johnwards has joined the channel [18:03] Daegalus: Sooo, Nuck, express-fib? [18:03] thalll has joined the channel [18:03] lynxnathan: indeed, the thought came from this I read some time ago: http://www.mongodb.org/display/DOCS/Caching [18:03] Nuck: Daegalus: Done and released on my github [18:03] Nuck: I'd link but I'm not at my laptop [18:03] Nuck: I'm on my phone [18:03] Daegalus: and omfg, bitbucket has git support. /fffffffffffffffffffffffffffffffff [18:04] lynxnathan: if you could keep the memory mapped files, in memory alone, it "should" be somewhat comparable to redis (with cooler data structures), not sure if as fast [18:04] Nuck: Daegalus: they're really pushing the whole "free privTe" thing [18:04] Daegalus: Nuck: found it, full of cancerous win [18:04] TheJH: !npm search reed|solomon [18:04] jhbot: package reed: Redis + markdown blogging/website core [18:04] Aikar: looks like free is limited to 5 collabs [18:04] Daegalus: Nuck: yes, but i use free private all the time [18:04] Aikar: but still awesome [18:05] TheJH: no reed-solomon library yet... [18:05] alvincrespo: interesting stuff [18:05] alvincrespo: ive never used postgres [18:05] alvincrespo: but i have to look into it [18:05] Nuck: Daegalus: Haha I am still loyal to github for their sextastic ui [18:05] alvincrespo: im really liking mongodb [18:05] TheJH: is there a module wishlist somewhere for all people who want to do cool stuff or have cool ideas but no time to do it? [18:05] brianc: alvincrespo: postgres is relational, like mysql, ms-sql, oracle, sqlite, etc [18:05] Daegalus: Nuck: oh i love github UI, but i need private repos more. [18:06] CoverSlide: git hub has private repos [18:06] CoverSlide: you just need monies [18:06] Nuck: Daegalus: For my private repos I just keep it local [18:06] Nuck: And for my company I use gitolite [18:07] Nuck: Though i will set up a github organization when we have a final name [18:07] Daegalus: Nuck: eh, I do a lot of coding on multiple machines and i need to be able to push/pull anywhere. I am too lazy to set up my own server, and pefer to have a more professional host. Hence bitbucket/github [18:07] Nuck: Agh [18:07] Nuck: Ah [18:07] Nuck: Fucking iPhone autocorrect [18:08] Daegalus: Welll if bitbucket wanted they could get "gitbucket" and depending on what repo you pick, switch names and such [18:08] brianc: alvincrespo: you query it using SQL, it has transactions, foreign keys, indexes, all the RDBMS stuff [18:08] Aikar: GitHub FI would be awesome to have at work, but damn its got a hefy price tag vs our "free" internal hosting lol [18:08] alvincrespo: brianc: pretty cool [18:08] alvincrespo: ill check it out [18:08] Nuck: Aikar: Haha yeah not cheap [18:08] alvincrespo: thanks everyone for that [18:09] alvincrespo: ive never really used anything but mysql and sqllite [18:09] Nuck: I'll probably use a private organization repo once I've got money :P [18:09] alvincrespo: and only recently using mongodb [18:09] Country has joined the channel [18:09] shinuza has joined the channel [18:09] djcoin has joined the channel [18:09] alvincrespo: but from what i've heard here maybe extending my knowledge in those areas would be beneficial [18:09] Nuck: Postgres is like mysql but it doesn't suck ass [18:09] alvincrespo: haha [18:10] brianc: postgres 9 actually has a message bus feature added as well [18:10] brianc: LISTEN/NOTIFY [18:11] alvincrespo: thats cool [18:11] chrisdickinson: brianc: was there every a quorum reached on how to do transactions via node-pg? [18:11] chrisdickinson: (retain a single client / avoid the built in client pooling?) [18:11] brianc: chrisdickinson: yeah, client.pauseDrain(); /* do your 900 queries here */ client.resumeDrain(); [18:11] vicapow has joined the channel [18:12] chrisdickinson: brianc: cool. now to figure out how to add transactions to ormnomnom :) [18:12] chrislorenz has joined the channel [18:12] kuebk^ has joined the channel [18:13] vicapow: there's your problem... "Oracle has been developingdatabase-centric software for thirty years." [18:14] Nuck: haha [18:14] brianc: chrisdickinson: sweet. :) You'll still need to issue client.query('BEGIN TRANSACTION') and client.query('COMMIT'). You just use pause/resumeDrain to control the pooling behavior [18:14] Nuck: vicapow: Still in that world of 30 years ago [18:14] Nuck: Oracle — That one rich company that nobody gives a fuck about. [18:14] chrisdickinson: brianc: totally. i was kind of afraid i'd have to figure out a sort of "baton-passing" structure for transactions [18:14] hunterloftis has joined the channel [18:14] vicapow: Nuck: exactly. stop making databases that would be awesome 30 years ago [18:15] brianc: chrisdickinson: nope. the client is the baton [18:15] Nuck: vicapow: Wow, it's so revolutionary, it's way better than BerkeleyDB! [18:15] Nuck: :D [18:15] chrisdickinson: and, of course, i'm not sure if node-sqlite3 gives you back the queries client every time (since it's running a bunch of sqlite processes behind eio) [18:15] chrisdickinson: *s/queries client/same client/g [18:17] cgfuh has joined the channel [18:17] khismetix has joined the channel [18:17] airhorns has joined the channel [18:18] anveo has joined the channel [18:18] danmactough has joined the channel [18:19] ph^ has joined the channel [18:20] JSManiacs has joined the channel [18:21] rcaskey has joined the channel [18:21] rcaskey: howdy all, how can I find out what the src port on a newly created socket connection is? [18:21] tipsytopsy has joined the channel [18:21] mraleph: isaacs: I wish nodejs benchmarking taskforce really existed :-) [18:22] willwhite has joined the channel [18:23] bnoordhuis: rcaskey: conn.remoteAddress (not fully implemented on windows right now) [18:24] tipsytopsy: Hey guys... had a quick question.. I had installed nodejs v0.5.8-pre. Now i want to downgrade to stable release on Ubuntu 11.04. I'm doing a reinstall using "apt-get install nodejs nodejs-dev --reinstall -y" after grabbing the packages and running as root. [18:24] bnoordhuis: rcaskey: belay that remark, it was fixed last month [18:24] tipsytopsy: but for some reason, the /usr/local/bin/node executable is never updated by the reinstall. [18:24] tipsytopsy: can someone please advice how to downgrade manually? [18:24] jzacsh has joined the channel [18:25] jzacsh has joined the channel [18:25] bnoordhuis: tipsytopsy: the one in /usr/local you probably built yourself, debian / ubuntu packages never install anything there [18:25] bnoordhuis: so just delete it [18:26] __main__ has joined the channel [18:26] stisti has joined the channel [18:26] Aikar: which node | xargs sudo rm -rf then reinstall [18:26] tipsytopsy: wow! thanks bnoordhui... that worked!! [18:26] tipsytopsy: you're awesome... back to work :)... [18:26] tipsytopsy: have a great day! [18:27] smtlaissezfaire has joined the channel [18:28] madsleejensen has joined the channel [18:28] louissmit has joined the channel [18:28] efernie has joined the channel [18:28] tipsytopsy has left the channel [18:28] DrMcKay: Aikar: sudo rm -rf `which node` :P [18:28] deedubs: is the consensus that node.js is terrible for data processing based on its low ram limit? lack of threading? [18:28] MooGoo: low ram limit [18:29] MooGoo: it's not terrible but there are better things [18:29] deedubs: Yeah I've never had an issue, but I see this brought up everywhere [18:30] MooGoo: if you find you need something faster you can always call it from a child process [18:30] TheJH: deedubs, I think that was actually fixed a while ago in v8 [18:30] Aikar: the ram limit is rising [18:30] wbw72 has joined the channel [18:30] Aikar: the heap increases JUST landed in v8 recently [18:30] piscisaureus has joined the channel [18:31] tylerstalder has joined the channel [18:31] jj0hns0n has joined the channel [18:32] deedubs: yeah I saw that [18:32] deedubs: what was it increased to? from 1 gb to? [18:32] Aikar: no limit i believe? lol [18:32] deedubs: ah [18:32] Aikar: least on 64bit [18:32] TheJH: this sounds MIT-compatible, right? " This program may be freely modified and/or given to whoever wants it. [18:32] TheJH: A condition of such distribution is that the author's contribution be [18:32] TheJH: acknowledged by his name being left in the comments heading the program, [18:32] TheJH: however no responsibility is accepted for any financial or other loss which [18:32] brianc: are they changing the GC to a generational garbage collector? [18:32] TheJH: may result from some unforseen errors or malfunctioning of the program [18:32] TheJH: during use." [18:32] Aikar: 42bit is still limited [18:33] Aikar: brianc: there is apparently some major work on the GC in bleeding edge [18:33] bnoordhuis: there's also a practical upper limit [18:33] brianc: baller [18:33] bnoordhuis: the bigger the heap, the longer gc scans take [18:33] rcaskey: bnoordhuis, does it work in .4.12? [18:33] bnoordhuis: mraleph said something about a 5.5 gb heap taking just milliseconds [18:34] Aikar: hmm i dunno the deep internals, but why would you need to scan a heap, why wouldnt you register every allocation and iterate all allocations and free them as needed? [18:35] bnoordhuis: rcaskey: does what work? the new gc? no [18:35] rcaskey: no remoteAddress [18:35] mikl has joined the channel [18:35] bnoordhuis: rcaskey: remoteAddress works [18:35] CoverSlide: Node is a No Limit Souldjah! [18:36] markdaws: Hi - how can I set a client side timeout value for a http request? Is there an API call or do I have to do a manual setTimeout call and do a req.abort() myself after the timeout period? [18:36] pandeiro has joined the channel [18:36] Aikar: markdaws: what do you mean? make a request give up if n oresponse i nX ? [18:37] creationix has joined the channel [18:37] bnoordhuis: Aikar: because the gc needs to know if there are other objects referencing the object it wants to clean up [18:37] rcaskey: telnet_connection = net.createConnection(data['port'], data['host']) [18:37] rcaskey: console.log(telnet_connection.remoteAddress()) [18:37] rcaskey: <-- the connection works fine but it shows as undefined [18:37] creationix: does libuv work on arm? [18:37] Aikar: yes a setTimeout on request that does .end() [18:37] rcaskey: (sorry, ignore the () after remoteAddress, still doesnt work) [18:37] mraleph: bnoordhuis: it depends on what you are measuring. with incremental gc a single pause is being split into many-many much small pauses. [18:37] Wa has joined the channel [18:38] bnoordhuis: rcaskey: that console.log statement runs when the connection hasn't actually been established yet [18:38] markdaws: Aikar: yup, I want to make a request to a server, but be able to set the timeout value to kill the request if no response in X seconds [18:39] catshirt has joined the channel [18:39] Aikar: bnoordhuis: yeah but seems like the 'registered allocation' would store a count of how many things are touching it. and that each obj also has a list of stuff its referencing. so when "objects that reference me" count is 0, iterate all "objects i reference", decrement its count of refs, and then free the memory [18:39] parshap has joined the channel [18:39] jzacsh has joined the channel [18:39] jzacsh has joined the channel [18:39] catshirt: would someone be kind enough to school me on npm for a second?... is this an appropriate place to ask? [18:40] Aikar: catshirt: prolly the most appropriate place to ask yes [18:40] bnoordhuis: Aikar: you've just described reference counting, that's precisely what v8's gc doesn't do [18:40] siculars_ has joined the channel [18:40] catshirt: cool thanks aikar... can i declare local modules as dependencies in package.json? [18:40] CoverSlide: that's like ObjC-mode [18:40] bnoordhuis: or most other garbage collectors for that matter [18:41] catshirt: so package.json is relative to ./other_things/x/, where x is a module with it's own package.json [18:41] CoverSlide: [[NSNodeChildProcess alloc] init] [18:41] ben_alman_: does anyone know if it's possible in nodeunit to do something once all the tests have been run and the reports output? [18:41] CoverSlide: [process release] [18:42] creationix: bnoordhuis: any idea what might cause uv_accept to error out with "Resource temporarily unavailable" [18:42] creationix: I only see the error on my TouchPad (arm) [18:42] bnoordhuis: creationix: is it possible that EAGAIN != EWOULDBLOCK on your machine? [18:42] creationix: it's an http server and I'm trying to accept the client request [18:43] creationix: bnoordhuis: no idea, I guess I could whip up a c program to test [18:44] bnoordhuis: creationix: `egrep -r "(EAGAIN|EWOULDBLOCK)" /usr/include` should tell you [18:45] creationix: "#define EWOULDBLOCK EAGAIN" [18:45] creationix: looks same to me [18:45] creationix: I'm in an ubuntu chroot btw, so that's the debian header [18:45] bnoordhuis: creationix: ah okay [18:45] bnoordhuis: yeah, they're always the same on linux systems [18:46] bnoordhuis: from where are you calling uv_accept()? [18:46] bnoordhuis: it should only be called from the server's on_connection callback [18:46] creationix: right, the same code works fine on other machines [18:47] bnoordhuis: can you link me to it? [18:47] creationix: here is a reduced (somewhat testcase) https://github.com/creationix/luvit/blob/master/src/webserver.c#L71 [18:47] creationix: my actual case is being called through lua, but the error is the same in the standalone C version [18:47] jetienne has joined the channel [18:47] jetienne_ has joined the channel [18:48] shipit has joined the channel [18:48] ben_alman_: caolanm: ping [18:48] zeade has joined the channel [18:48] Aikar: what in the world [18:48] Aikar: replace V8 with LUA lol? [18:48] isaacs: catshirt: yes, you are in the appropriate place, and i can probably school you on npm. [18:48] CoverSlide: lua is hella sweer [18:49] creationix: Aikar: shh, don't tell mraleph ;) [18:49] isaacs: omg, i'm in stitches over this: https://github.com/glenjamin/node-fib [18:49] isaacs: so so hilarious [18:49] catshirt: isaacs... that is an attractive offer... :) [18:49] bnoordhuis: creationix: if you put a breakpoint on it, am i correct that handle->accepted_fd == -1? [18:49] catshirt: isaacs: basically, i have https://github.com/catshirt/node-bluebot/blob/master/package.json and https://github.com/catshirt/node-bluebot/blob/master/bot_modules/github/package.json ... could i register bot_modules/github as a module with the top level package.json? [18:50] darinc: hurray for node-fib, that's awesome! [18:50] bnoordhuis: creationix: make that server->accepted_fd [18:50] catshirt: this way package.json from top level installs deps for the modules in bot_modules as well [18:50] catshirt: dont make fun of my program :P [18:50] Morkel has joined the channel [18:50] creationix: bnoordhuis: I'm not sure how to breakpoint it, but I can put printf in wherever you want [18:51] isaacs: catshirt: i'm not sure i follow... [18:51] isaacs: catshirt: why not just have a "bot_modules" package, and have a bot_modules/github.js? [18:51] bnoordhuis: creationix: on line 74 -> if (r) { printf("fd=%d\n", server->accepted_fd); [18:51] isaacs: catshirt: if your'e asking if you can have a "/" character in the name to namespace them in a folder kinda thing, sorry, no, npm will not do that for you. [18:52] isaacs: catshirt: but you could name it "botmodules-github" and "botmodules-helloworld" or some such thing [18:52] towski has joined the channel [18:52] catshirt: isaacs: i guess basically i want each "bot module" to have its own package.json with its own dependencies [18:52] dreamdust has joined the channel [18:52] isaacs: catshirt: makes sense. [18:52] isaacs: catshirt: and you might not wantto install all of themeverywhere, right? [18:52] catshirt: isaacs: right, id like to just be able to run npm install in one place [18:52] isaacs: right [18:52] catshirt: instead of each subdir [18:52] creationix: bnoordhuis: yep, -1 [18:53] astropirate has joined the channel [18:53] isaacs: so, part of the reason why npm does not allow / in the name is to prevent stuff like org/npmjs/www/express/extensions/isaacs/compression/zlib/gzip.js [18:53] isaacs: catshirt: i am allergic to deep folder structures. [18:54] isaacs: catshirt: severely allergic. need to carry an epi-pen around with me whenever i have to deal with java or flash projects. [18:54] Draggor: isaacs: you are a good person for that [18:54] willwhite has joined the channel [18:54] catshirt: import epipen [18:54] isaacs: you *can* do this with node. but npm won't do it for you. [18:54] catshirt: com.epipen* [18:54] rcaskey: bnoordhuis, still seems to be undefined in the connect event [18:55] catshirt: yeah no, that makes sense... [18:55] isaacs: so, to prevent that, we just had to pick a number of levels for the namespace, and 1 seemed the simplest [18:55] bnoordhuis: creationix: okay, probably an accept() error [18:55] Tobbe: I set a value on "req" in my expressjs middleware, but then in my route functions the value (and key) is gone from the req object. What am I missing? [18:56] bnoordhuis: creationix: can you run it through `strace -e accept,accept4`? [18:56] isaacs: catshirt: so, can you just name them something like "botmodules-github" instead of "botmodules/github"? [18:56] creationix: bnoordhuis: "strace: invalid system call `accept4'" [18:56] CoverSlide: Tobbe: are you sure the request passes through your middleware before you are calling it? [18:57] isaacs: catshirt: you can still organize your git repo however you like, of course. [18:57] bnoordhuis: creationix: older kernel i take it? just `strace -e accept` then [18:57] catshirt: isaacs: you mean the name in package.json? [18:57] wadey has joined the channel [18:57] isaacs: catshirt: yeah [18:57] catshirt: yeah thats no problem [18:57] catshirt: and then i just declare botmodules-github as a dep in the root package.json or...? sorry, isuck [18:57] creationix: bnoordhuis: 2.6.35-palm-tenderloin, not too old, but possibly customized [18:57] isaacs: catshirt: of course, if you have more than one package in a git repo, then you can't do `npm install git://github.com/catshirt/bot_modules.git` [18:57] creationix: bnoordhuis: running with just accept doesn't output anything [18:58] isaacs: catshirt: yeah [18:58] isaacs: catshirt: the naming is 100% convention. [18:58] isaacs: so it can be whatever makes sense for your thing, as long as it doesn't collide and doesn't have any non-urlsafe chars or start with a dot or - or _, npm will allow it [18:58] creationix: bnoordhuis: here is an unfiltered strace https://gist.github.com/ce7d90adffd51e28ad4d [18:59] isaacs: (i think it also excludes :, iirc) [18:59] catshirt: isaacs: awesome.... gotchya [18:59] bnoordhuis: creationix: SYS_366(0x5, 0x7ee5e56c, 0x7ee5e534, 0x80800, 0) = -1 ENOSYS (Function not implemented) <- that's probably not good [19:00] bnoordhuis: let me check what syscall 366 is [19:00] creationix: yeah [19:00] jtrudeau has joined the channel [19:00] isaacs: catshirt: really gotta get https://github.com/isaacs/npm/issues/1400 i'm guessing that'll be relevant to your bluebot thingie [19:00] catshirt: isaacs: wait im sorry... but how do i tell package.json the dependency is local, not registered with npm? [19:01] tobmaster has joined the channel [19:01] catshirt: ah, nice issue [19:01] isaacs: catshirt: "dependencies": { "blah": "1.2.3" }, "bundledDependencies": [ "blah" ] [19:01] catshirt: ah, bundledDependencies, derp [19:01] creationix: bnoordhuis: fwiw, it's running a Qualcomm Snapdragon APQ8060 processor [19:01] isaacs: catshirt: then install it "somehow" (git submodule, copy and paste, npm link ../blah, whatever) [19:01] piscisaureus has joined the channel [19:02] catshirt: right yeah... awesome [19:02] bnoordhuis: creationix: rch/arm/include/asm/unistd.h:#define __NR_accept4 (__NR_SYSCALL_BASE+366) <- there's your problem [19:02] Tobbe: CoverSlide: yes, it was passing through my middleware, but thanks to your question I fixed my problem :) So thanks! [19:03] catshirt: isaacs: awesome ... got it ! thank u kindly sir [19:03] creationix: bnoordhuis: nice, want me to change something and see if it fixes it? [19:05] CarterL has joined the channel [19:05] motill has joined the channel [19:06] stagas has joined the channel [19:06] dmsuperman: Does anybody know any particular encryption schemes that are known to work in both node.js and perl? I'm using Crypt::CBC with randomiv but node.js has no capability to extract the IV and thus gives me garbage output [19:06] devrim has joined the channel [19:07] joshkehn: dmsuperman: Node has crypto which implements most if not all of OpenSSL [19:07] orolo has joined the channel [19:07] bnoordhuis: creationix: 1 sec please, i've a call [19:07] joshkehn: Are you looking for http://nodejs.org/docs/v0.5.8/api/crypto.html#crypto.createCipheriv [19:07] dmsuperman: Right, I'm looking for any particular encryption scheme which works in both perl and node [19:07] joshkehn: I don't know Perl. [19:07] dmsuperman: Crypt::CBC wraps openssl [19:07] whitman has joined the channel [19:07] dmsuperman: But we're using randomiv [19:07] joshkehn: I would assume that would work then. [19:08] dmsuperman: And node doesn't see mt obe able to extract the iv [19:08] joshkehn: Hmmm. [19:08] dmsuperman: In theory I would use .createDecipheriv() [19:08] orolo1 has joined the channel [19:08] joshkehn: Right [19:08] joshkehn: But it can't extract it. [19:08] xy__ has joined the channel [19:08] jbpros has joined the channel [19:08] joshkehn: Maybe you could write it. :p [19:08] dmsuperman: right, it expects it up front. So I tried just scanning the bytes out of the encrypted string [19:08] dmsuperman: But nothing I use seems to give me non-garbage results [19:08] devrim2 has joined the channel [19:09] descipher_ has joined the channel [19:09] dmsuperman: Theoretically it should just be the 8 bytes following 'RandomIV' at the start of the string [19:09] dmsuperman: And I can get those [19:09] dmsuperman: But I can't get the formats to play nicely or it's just a broken implementation in crypto [19:09] joshkehn: Might want to ping a more knowledgeable person then. [19:10] dmsuperman: Been trying to find one all day :P [19:11] dmsuperman: joshkehn: Maybe I'm just doing it incorrectly could I give you a base64 cipher text and see if you can get text from it? [19:11] baudehlo: I'll have a go if you like. [19:11] joshkehn: I'm a bit busy atm, looks like baudehlo is game. [19:12] dmsuperman: Cool baudehlo thanks :) [19:12] baudehlo: gist the perl code and the output. [19:12] nforgerit has joined the channel [19:12] baudehlo: or just gist the perl code. [19:12] CoverSlide: wow there's some weire yellow shit growing from under my nail [19:12] dmsuperman: MIME::Base64::encode($cipher->encrypt('hello world')) gives output: UmFuZG9tSVYhk4S78yFsqkb7N9LMykcezYy6R21PAVE= [19:13] dmsuperman: $cipher is a Crypt::CBC with cipher type Blowfish and cipher key "test" [19:13] baudehlo: can you just gist the code? [19:13] dmsuperman: gist? [19:13] tahu has joined the channel [19:13] tbranyen: ?g gist code [19:13] dmsuperman: Thought you meant the literal defintiion of gist [19:13] robertfw has joined the channel [19:13] dmsuperman: :P [19:13] tbranyen: .-< [19:13] dmsuperman: pastebin? [19:13] baudehlo: gist.github.com [19:13] chrisvtx has joined the channel [19:14] joshkehn: dmsuperman: gist is better then pastebin [19:14] dmsuperman: well whichever [19:14] taf2 has joined the channel [19:15] taf2: in node.js 0.5.x is there plans to have a kind of global error callback? [19:15] dmsuperman: baudehlo: https://gist.github.com/7e138f487769754dfba5 [19:15] taf2: thought i read about that? [19:15] rcaskey: http://paste.ubuntu.com/701889/ [19:15] rcaskey: <-- baudehlo should that callback work? [19:15] chrisvtx has left the channel [19:17] baudehlo: taf2: it already has process.on("UncaughtException") [19:17] taf2: thanks! [19:17] taf2: didn't know about that [19:18] reid has joined the channel [19:18] devrim has joined the channel [19:18] context: to whomever linked http://teddziuba.com/2011/10/node-js-is-cancer.html earlier today... who cares. his entire blog is nothing but 'why this and that suck. why people suck' [19:18] rcaskey: err i'm sorry, bnoordhuis [19:18] bnoordhuis: creationix: back - i suspect you have a kernel / glibc mismatch, what version of glibc is installed? [19:18] bnoordhuis: rcaskey: yes, looks like it should [19:18] creationix: bnoordhuis: that could be [19:19] creationix: my chroot has a newer glibc than the host userspace [19:19] creationix: but I'm running the code inside the chroot, that usually works [19:20] bnoordhuis: creationix: you can try overriding glibc's accept() wrapper with one that calls syscall 285 [19:20] creationix: bnoordhuis: if I try to run the binary outside the chroot, it complains about not being able to find GLIBC_2.10 or GLIBC_2.9 in /lib/libc.so.6 [19:21] creationix: bnoordhuis: where would that be? [19:22] joshthecoder has joined the channel [19:23] gxdssoft has joined the channel [19:24] bnoordhuis: creationix: oh, i just realized something [19:24] fumanchu182 has joined the channel [19:24] creationix: bnoordhuis: yeah, if I build outside the chroot, it runs fine [19:24] harthur has joined the channel [19:24] robi42 has joined the channel [19:25] bnoordhuis: right, so the problem is a mismatch [19:25] bnoordhuis: libuv has some smarts to detect if accept4() is available [19:25] creationix: It's never bit me before. I build node v0.4.x all the time [19:25] bnoordhuis: your kernel headers say it's there but the actual kernel says it isn't [19:26] bnoordhuis: you can work around it by #undef'ing SOCK_NONBLOCK and SOCK_CLOEXEC at the top of src/unix/core.c [19:26] guidocalvano has joined the channel [19:26] bnoordhuis: err, i mean #undef'ing HAVE_ACCEPT4 in src/unix/internal.h [19:26] bnoordhuis: the #ifdef check in core.c is long gone [19:28] creationix: bnoordhuis: isn't it already on line 37? [19:28] creationix: oh, I see, it's there later on too [19:29] dmsuperman: baudehlo: Does my gist link work? [19:30] JJMalina has joined the channel [19:30] baudehlo: yep [19:30] fread2281[afk] has joined the channel [19:31] dmsuperman: k [19:31] rcaskey: bnoordhuis, k, i'm just a failure then, cus it don't :P [19:31] creationix: bnoordhuis: thanks for the help. I can't think of anything you would change to prevent this. I assume you want to use accept4 when available and my headers do say I have it. [19:32] taf2: hey so i have this server i wrote, https://github.com/taf2/tiamat - I'd like to start to port it to node.js 0.5.x using child_process.fork - which basically means i don't need any C module… but I was wondering is there examples of how to detect either features or version for node-waf ? [19:32] bnoordhuis: rcaskey: does test/simple/test-net-remote-address-port.js work you? [19:32] Casan has joined the channel [19:32] bnoordhuis: creationix: yes, accept4() is too perfect not to use [19:33] creationix: bnoordhuis: so does node v0.4.x not use it? [19:33] mandric has joined the channel [19:33] ryanmcgrath has joined the channel [19:33] bnoordhuis: creationix: no, it's introduced in libuv (by yours truly) [19:33] creationix: that explains it [19:33] creationix: thanks [19:33] wilmoore_ has joined the channel [19:34] rabidewok has joined the channel [19:34] gregpascale has joined the channel [19:34] rcaskey: bnoordhuis, no such file [19:34] guidocalvano has joined the channel [19:34] bnoordhuis: rcaskey: it's part of the source tarball / git repo [19:34] creationix: bnoordhuis: yep, if I undef accept4 it works even building inside the chroot [19:35] eldios has joined the channel [19:35] rcaskey: bnoordhuis, not for .4.12 apparently [19:36] fread228_ has joined the channel [19:36] baudehlo: interestingly it sort of brings up an issue with crypto... [19:36] bnoordhuis: rcaskey: oh, seems i lied - remoteAddress wasn't introduced until 0.5.0 [19:36] rcaskey: how stable is the .5.x series now? [19:36] bnoordhuis: but it's also in the legacy back end so that's why i thought it came over from 0.4.x [19:37] TomY has joined the channel [19:37] baudehlo: the createCipheriv and createDecipheriv methods say they expect a string in the "binary" encoding... [19:37] wbw72 has joined the channel [19:37] bnoordhuis: rcaskey: stable-ish [19:37] baudehlo: so really they should expect Buffer objects. [19:37] bnoordhuis: we're working towards 0.6.0 now [19:37] baudehlo: guess I should file a bug [19:37] bnoordhuis: baudehlo: i think there's a bug report already [19:37] dmsuperman: baudehlo: I've tried passing Buffer objects as well as Buffer.toString('binary') [19:38] jhurliman has joined the channel [19:38] wbw72: evenin, any1 experience with mongoose/mongodb ? [19:38] baudehlo: dmsuperman *nod* [19:38] baudehlo: I'm getting garbage out. [19:38] gxdssoft has joined the channel [19:39] bnoordhuis: baudehlo: https://github.com/joyent/node/pull/1403 [19:39] dmsuperman: Damn :( [19:39] bnoordhuis: actually, i'd like to rip out string support from crypto altogether [19:39] bnoordhuis: it almost never does what you want [19:39] hunterloftis has joined the channel [19:40] hunterloftis: So - mkdir -p ... is there a lib with basic file manipulations like that provided, or should I drop in one of the various github gists floating around...? [19:40] kylefox has joined the channel [19:40] dmsuperman: baudehlo: Do you know of a method/scheme that works in both perl and node? [19:40] creationix: bnoordhuis: my libuv c webserver is getting 1919.21 requests per second on my TouchPad. The webserver was not the bottleneck, it about about 40% of one core [19:41] dmsuperman: It doesn't have to be bf-cbc [19:41] alnewkirk has joined the channel [19:41] baudehlo: dmsuperman: I only use HMACs between the two. [19:41] baudehlo: not actual encryption. [19:41] dmsuperman: right [19:41] dmsuperman: damn [19:41] baudehlo: lemme look a bit more at the perl code though [19:42] dmsuperman: sure [19:42] DennisRas has joined the channel [19:42] dmsuperman: for what it's worth the pear implementation of Crypt::CBC works interchangeably [19:42] bnoordhuis: creationix: hmm, so where's the bottleneck? the kernel? [19:42] dmsuperman: Without specifying any options related to randomiv or anything [19:42] dmsuperman: (pear PHP that is) [19:42] dmsuperman: We have perl and php talking [19:43] creationix: bnoordhuis: I can run a remote ab and the wifi (WPA2) becomes the bottleneck, with a local ab, it eats all the cpu [19:43] dmsuperman: baudehlo: Pear PHP's implementation: http://svn.php.net/viewvc/pear/packages/Crypt_CBC/trunk/CBC.php?view=markup [19:43] creationix: meaning ab eats all the cpu [19:43] inph0 has joined the channel [19:43] bnoordhuis: creationix: ah okay [19:44] creationix: the good news is that my lua version is just as fast as the pure c version [19:44] creationix: since there is a little cpu to spare there [19:44] creationix: and luajit seems pretty low overhead for this type of workload [19:44] Archen has joined the channel [19:44] baudehlo: dmsuperman: yeah I'm not gonna read any PHP in this lifetime, thanks :) [19:45] bnoordhuis: creationix: luajit's speed never ceases to amaze me [19:45] dmsuperman: Well that's pretty childish but whatever, I'm just trying to offer another example to demonstrate how other languages do it [19:45] fumblnoob has joined the channel [19:45] dmsuperman: :P [19:45] creationix: I can't build node v0.5.x because I only have python inside the chroot [19:45] creationix: hmm, well maybe I can do the same undef trick [19:46] wbednarski has joined the channel [19:47] baudehlo: dmsuperman: I think I see the issue (maybe)... in Crypt::CBC the key is md5'd. [19:48] Deputaats has joined the channel [19:48] _bat has joined the channel [19:48] Deputaats: Hi [19:49] Deputaats: If I want to call PHP script from Node.JS and results sent to user, what should I use? [19:49] joshkehn: Um... [19:49] bnoordhuis: Deputaats: want to call PHP script <- how? http request, child process? [19:49] joshkehn: Why not just send them from the PHP script? [19:49] _bat: Glenjamin nice! [19:49] astropirate: Deputaats, is the PHP running with Apache? [19:49] Deputaats: I found this: http://stackoverflow.com/questions/3171053/getting-php-from-node-js/3172895#3172895 [19:49] Aikar: Deputaats: invoke a child process pipe stdout to user [19:50] phluffy has joined the channel [19:50] phluffy has joined the channel [19:50] MooGoo: require('child_process').exec() [19:50] Deputaats: php with apache, yes [19:50] MooGoo: probably [19:50] MooGoo: uh [19:50] dmsuperman: baudehlo: hrm, strange. Does md5ing the pass in node work around that? [19:50] baudehlo: trying. [19:51] baudehlo: it's not as simple as that. [19:51] baudehlo: it expects a 56 byte key... [19:51] astropirate: Deputaats, http://nodejs.org/docs/v0.5.8/api/http.html#http.request [19:51] dmsuperman: I'm not the most knowledgeable cryptographer :P [19:51] CIA-48: libuv: 03Igor Zinkovsky 07ipc * r2d826fe 10/ (test/test-ipc.c test/test-spawn.c uv.gyp): make test-ipc accept the pending tcp server - http://git.io/TXuz2Q [19:51] Deputaats: joshken, I need to generate html table with all kind of data.. I could do all of that in Node but do not want to rewrite all the code to JS [19:51] baudehlo: me either [19:52] baudehlo: I'm flying by the seat of my pants. [19:52] Deputaats: astropirate, thanks [19:53] langworthy has joined the channel [19:53] MooGoo: how terribly inefficent [19:53] MooGoo: sounds like you should just stick with PHP [19:54] Nuck: That sounds like something you could do with an engine like HBS? [19:54] dmsuperman: baudehlo: Just to confirm though, you're extracting the IV by doing cryptBuffer.slice(8, 16) right? [19:54] dmsuperman: Or are you attempting something else [19:54] CoverSlide: if you're only using php for its templating abilities, you can use ejs [19:54] rabidewok has joined the channel [19:54] baudehlo: dmsuperman: well I'm using .copy, but yeah. [19:55] Nuck: Ugh [19:55] phluffy has joined the channel [19:55] baudehlo: dmsuperman: and using .slice(16) for what to decrypt. [19:55] Nuck: Git hooks are a pain in the ass [19:55] fread2281[afk] has joined the channel [19:55] dmsuperman: baudehlo: Ah, I wasn't removing the RandomIV........ string first [19:55] baudehlo: fuck the crypto interface is shit. [19:56] baudehlo: why the fuck is it using strings everywhere. [19:56] baudehlo: even getting an MD5/SHA1 gives you a string. [19:56] dmsuperman: heh [19:56] baudehlo: that's retarded. [19:56] fly-away has joined the channel [19:56] TheJH: !issue search crypto string [19:56] jhbot: found issues: 4, showing the first 3 [19:56] jhbot: Issue: https://github.com/joyent/node/issues/1393 : crypto functions should accept buffers as arguments [19:56] jhbot: Issue: https://github.com/joyent/node/issues/1395 : node_crypto: AES-256-cbc yields a partial result [19:56] jhbot: Issue: https://github.com/joyent/node/issues/1719 : SSL hanging due undrained error queue? [19:56] Deputaats: MooGoo, CoverSlide, I don't like the idea either.. But there are more than templating running.. [19:56] Nuck: Pretty sure crypto returns a buffer if you request a buffer [19:57] baudehlo: hash.digest() always returns a string. [19:57] TheJH: Nuck, I don't think so [19:57] MooGoo: Deputaats: is apache nesecary to run the script correctly? [19:57] Nuck: hmmm [19:57] cyrilmengin has joined the channel [19:57] MooGoo: and what exactly are you using node for anyway [19:57] Deputaats: I think so. It's Kohana framework underneath it [19:57] chilts: TheJH: pass this in (encoding='binary') [19:58] chilts: should work :) [19:58] TheJH: chilts, binary isn't buffer [19:58] chilts: hm, ok :) [19:59] CoverSlide: Deputaats: unless your app doesn't depend on any server variables or kohana environment, I'd just stick with your php implementation [19:59] CoverSlide: unless you want to restructure your entire architecture to be based on node [19:59] TheJH: chilts, binary is a super-deprecated encoding that gets applied when converting between buffers and strings if you tell node to do so [19:59] Deputaats: node for game - checkers. Players are playing and sometimes I need to update TOP20 player list which is generated by PHP. Probably I ould use plain ajhax for that.. [19:59] Deputaats: *ajax [20:00] MooGoo: probably [20:00] CoverSlide: yeah, just ajax [20:00] slifty has joined the channel [20:00] CoverSlide: no need to add another whole entire platform for such a simple task [20:01] Deputaats: Yeah, I'll use ajax ans EJS for templating purposes elsewhere staright in node. [20:01] rcaskey: will npm 1.0.30 work ok with .5.8? [20:01] Deputaats: Thanks :) [20:02] bLiNdRaGe: any ideas on tcp bytestream? I need to be able to recv a^\(fs)b^\c^\d, and send back an ack on each ^\ in realtime [20:02] mdarnall has joined the channel [20:02] baudehlo: is there any difference between String.slice and String.substr ? [20:02] CoverSlide: bLiNdRaGe: https://github.com/substack/node-binary [20:02] baudehlo: ah, just in the second param. [20:03] bnoordhuis: rcaskey: it should [20:03] dmsuperman: baudehlo: So how exactly do you pass the key and IV to createDecipheriv? do you just pass the buffer directly? [20:03] dmsuperman: Because I get an error [20:04] dmsuperman: I have to do .toString('binary') which documentation says is outdated [20:04] baudehlo: yep. [20:04] baudehlo: hence me bitching about the API. [20:04] dmsuperman: heh [20:04] rcaskey: npm install socket.io seems to just print a list of deps and not do anything [20:04] hellp has joined the channel [20:04] rcaskey: was working fine on .4.12 [20:04] isaacs: rcaskey: gist the output that you're seeing, please. [20:05] rcaskey: https://gist.github.com/1260086 [20:05] bingomanatee_ has joined the channel [20:06] rcaskey: bahh nm [20:06] rcaskey: i'm an idiot [20:06] isaacs: rcaskey: npm config set unicode false [20:06] isaacs: rcaskey: or get a terminal font that supports unicode line drawing chars [20:06] isaacs: rcaskey: i'm a huge fan of http://static.izs.me/fonts/CentSchBook-Mono/ [20:07] robi42 has joined the channel [20:07] CoverSlide: I like http://www.ms-studio.com/FontSales/anonymouspro.html [20:08] joshkehn: I like consolas. [20:08] stash1: http://www.levien.com/type/myfonts/inconsolata.html [20:09] MooGoo: ugh [20:09] MooGoo: I hate that font [20:09] baudehlo: dmsuperman: ok, I can get something working-ish with DES. [20:09] aho: courier new for life! :v [20:10] CoverSlide: It hates you roo [20:10] MooGoo: realized how much I hated it when I noticed JS fiddle was using it after I installed it [20:10] CoverSlide: s/r/t [20:10] bingomanatee_: Its not that new any more. [20:10] MooGoo: aho++ [20:10] v8bot_: MooGoo has given a beer to aho. aho now has 1 beers. [20:10] MooGoo: courier new is the font of forever [20:10] tilgovi has joined the channel [20:10] lz: bitstream vera mono [20:10] CoverSlide: does courier new have unicode? [20:10] MooGoo: barely [20:10] zipace has joined the channel [20:10] aho: yea, tried so many other fonts [20:10] MooGoo: it has line drawing characters [20:10] Yuffster_work has joined the channel [20:10] bingomanatee_: I'm old school - I like monaco. [20:10] aho: it's just not the same [20:11] jesusabdullah: I don't remember the name of this font [20:11] Nuck: OMG [20:11] Nuck: ACTION is happy [20:11] MooGoo: well I'm still using a teletype machine to log into ssh [20:11] jesusabdullah: oh, so [20:11] jesusabdullah: the pac man font? [20:11] Nuck: I can run Warcraft III under Wine :D [20:11] jesusabdullah: pffffffsht [20:12] Me1000 has joined the channel [20:12] dmsuperman: baudehlo: Interesting, but isn't DES the one everybody says is weak? [20:12] baudehlo: sure. But it's a start. [20:12] baudehlo: https://gist.github.com/1260101 [20:12] baudehlo: I have no idea why it's truncated though. [20:13] taf2: is this api in 0.5.x http://nodejs.org/docs/v0.5.8/api/child_processes.html#child_process.fork ? [20:13] dmsuperman: baudehlo: Add decipher.final()? [20:13] Nuck: taf2: "/v0.5.8/" [20:13] taf2: yeah… https://gist.github.com/1260103 [20:13] Nuck: So yes, I assume [20:13] baudehlo: dmsuperman: ah yeah that works. [20:14] taf2: node --version : 0.5.8 [20:14] taf2: see the console.log(cp) [20:14] dmsuperman: Yeah apparently most encryption methods only work on a number of bytes easily divisible by teh blocksize, then it pads the remaining data onto the end [20:14] baudehlo: dmsuperman: so the algorithm is obviously right... Just doesn't work with blowfish. [20:14] taf2: only shows exec, execFile, spawn [20:14] dmsuperman: So you have to use .final to get the extra padding [20:14] paulwe has joined the channel [20:14] JohnBeales has joined the channel [20:14] bnoordhuis: taf2: fork() hasn't been implemented in 0.5.x yet [20:15] taf2: ah crap :) [20:15] taf2: i see traces of it [20:15] dmsuperman: baudehlo: Wait so that test data you have is that a new string generated with a perl DES module? [20:15] bnoordhuis: only if you use --use-legacy [20:15] taf2: in "lib/child_process_legacy.js [20:15] heavysixer has joined the channel [20:15] mdz_ has joined the channel [20:15] taf2: aah [20:15] baudehlo: dmsuperman: yes the script is at the top [20:15] taf2: is --use-legacy a compile time option? [20:15] taf2: or runtime? [20:16] baudehlo: perl does make this stuff a fuck load easier :) [20:16] dmsuperman: ah [20:16] dmsuperman: indeed... :P [20:16] baudehlo: I just put it down to Node being new, and the APIs are often pretty low level interfaces. [20:16] baudehlo: especially crypto. [20:16] TheJH: taf2, I *think* it's run-time [20:16] grekko has joined the channel [20:17] taf2: TheJH: looks broken then… https://gist.github.com/1260103 see my last edit :( [20:17] versicolor has joined the channel [20:17] taf2: TypeError: Cannot call method 'unref' of undefined [20:17] baudehlo: dmsuperman: I'll try AES... [20:17] knifed has joined the channel [20:18] TheJH: I think I'll try to create crypto-box bindings [20:18] bnoordhuis: taf2: runtime but yes, it might be broken in master [20:18] taf2: in 0.5.8 too [20:18] skyl has joined the channel [20:19] jacobolus has joined the channel [20:19] bogomips2__ has joined the channel [20:19] baudehlo: nm, I give up :) [20:19] CoverSlide: quitter! [20:19] baudehlo: crypto is hard [20:20] dubenstein has joined the channel [20:20] dmsuperman: baudehlo: Alright well thanks for helping :P [20:20] igl has joined the channel [20:21] baudehlo: no problem. [20:21] baudehlo: the trick I think was the MD5'ing of the key. [20:21] dmsuperman: I'll play with that some more [20:22] baudehlo: *nod* [20:22] dmsuperman: baudehlo: Do you know if Crypt::CBC -cipher => 'Crypt::OpenSSL::AES' maps up to aes-256-cbc? [20:22] baudehlo: I suspect it might be funkiness with concatenating them. [20:24] JohnBeales: Is there a super lightweight web socket server? I *know* I'll have support in the browser, so I don't need all of the backups that Socket.io provides. [20:24] d0k_ has joined the channel [20:26] edenli has joined the channel [20:27] fireolive has left the channel [20:27] baudehlo: dmsuperman: no idea, sorry [20:27] baudehlo: AES seems to only encrypt fixed size blocks too. [20:28] fread2281[afk] has joined the channel [20:28] Cover|Lunch: maybe node-websocket-server [20:29] JohnBeales: I was looking at that - it seems to support an older version of the web socket protocol, [20:30] Archen has joined the channel [20:30] JohnBeales: I just found the mailing group for it though. I'll do some reading there. [20:30] cha0s has joined the channel [20:30] mbruce has joined the channel [20:31] qbert65536 has joined the channel [20:31] tahu has joined the channel [20:31] stagas: JohnBeales: there's also https://github.com/Worlize/WebSocket-Node/ [20:33] robhawkes has joined the channel [20:33] robertfw has joined the channel [20:34] hij1nx has joined the channel [20:34] Tobbe: Is there an RSS feed of the nodejs blog somewhere? [20:34] alonl has left the channel [20:34] ixti has joined the channel [20:35] darinc has left the channel [20:35] Cover|Lunch: Tobbe: http://blog.nodejs.org/feed/ [20:35] mikl has joined the channel [20:35] jesusabdullah: I'm giving anonymous pro a shot [20:35] Cover|Lunch: it's a simple wordpress site [20:35] jesusabdullah: feels.....bubbly. [20:35] Tobbe: Cover|Lunch: thanks [20:36] Cover|Lunch: woo! [20:36] Cover|Lunch: anonpro++ [20:36] v8bot_: Cover|Lunch has given a beer to anonpro. anonpro now has 1 beers. [20:36] jesusabdullah: v8> (function() { console.log("foo"); return "bar"; })() [20:36] v8bot_: jesusabdullah: CONSOLE: ["foo"], OUTPUT: "bar" [20:36] jesusabdullah: hmm [20:36] dmkbot: joyent/node: 03egorFiNE: reproducible crash with 0.5.7 in fs.c on OS X 10.7.2 - https://github.com/joyent/node/issues/1739 [20:36] jesusabdullah: I could get used to this font mebbs [20:36] bnoordhuis: https://github.com/freebsd/freebsd/commit/595d449 <- freebsd drops sysinstall! now we really now the end times are near! [20:36] JohnBeales: stagas: That seems to be what miksago is recommending, although there also seems to be a fork of node-websocket-server that supports draft-10 [20:36] Cover|Lunch: holy shitnick [20:36] jsurfer_ has joined the channel [20:36] jesusabdullah: Tell me about sysinstall, bnoordhuis [20:37] Cover|Lunch: if they switch to anaconda [20:37] Cover|Lunch: this world is doomed! [20:37] bnoordhuis: jesusabdullah: it's freebsd's "graphical" installer [20:37] jesusabdullah: "graphical" eh? [20:37] jesusabdullah: So what are they using now? [20:37] Cover|Lunch: as in [20:37] Cover|Lunch: ncurses [20:37] jesusabdullah: right [20:38] Cover|Lunch: holy shit, that's one big fat deletion list [20:38] hermanjunge has joined the channel [20:38] bnoordhuis: must feel good, to commit that one [20:38] topaxi has joined the channel [20:38] jesusabdullah: So what are they using now? [20:39] Aikar: bnoordhuis: do you happen to know how node handles the file system IO threads "signaling" node that the thread is done working and how it gives the results back to V8 land? [20:39] MikhX has joined the channel [20:39] bnoordhuis: jesusabdullah: you ask difficult questions [20:40] Cover|Lunch: 9.0 is very behind schedule [20:40] ryanmcgrath has joined the channel [20:40] jesusabdullah: One of my many superpowers [20:40] jesusabdullah: freebsd 9.0? [20:40] bnoordhuis: Aikar: libeio writes a byte to a pipe and that wakes up the main thread [20:40] jamesmadi has joined the channel [20:40] simenbrekken has joined the channel [20:40] bnoordhuis: Aikar: the other end of the pipe is monitored by the main thread [20:41] Cover|Lunch: Beginning with FreeBSD 9.0, BSDInstall will replace Sysinstall as the default FreeBSD installer.[2] <-- http://en.wikipedia.org/wiki/Sysinstall [20:42] Cover|Lunch: sysinstall was a pita [20:42] Aikar: bnoordhuis: figured it might use pipes [20:42] Cover|Lunch: ACTION lays some pipe into some child threads [20:42] bnoordhuis: Cover|Lunch: is bsdinstall much better? i don't think i know it [20:43] slifty has joined the channel [20:45] Cover|Lunch: dunno, tried it like once, several months ago [20:45] thinkt4nk has joined the channel [20:45] pvgrif has joined the channel [20:47] TheJH: for the coffeescript haters: coffeescript INTERPRETER at https://github.com/showell/CoffeeCoffee/blob/master/runtime.coffee [20:47] joshkehn: Doesn't stop me from hating the syntax. [20:47] TheJH: yes, interpreter, not compiler [20:47] progme has joined the channel [20:47] TheJH: just thought it could add more hate :D [20:48] dshaw_ has joined the channel [20:49] igl: time for a 'hitler and the downfall of coffeescript' vid [20:49] CrisO has left the channel [20:49] joshkehn: Hitler used CoffeeScript. [20:49] jetienne_: igl: url ? [20:49] jesusabdullah: I like the fall of agile hitler myself [20:50] igl: jetienne wish i had one ^^ [20:50] igl: the silverlight one was hilerious [20:50] guillermo has joined the channel [20:51] monokrome has joined the channel [20:51] mde has joined the channel [20:51] adnam has joined the channel [20:51] dshaw_1 has joined the channel [20:51] maeldur has joined the channel [20:51] pfiled has joined the channel [20:51] igl: what happend to cp.fork()? its in the 047 docs [20:51] er1c_ has joined the channel [20:51] PuffTheMagic has joined the channel [20:51] igl: couldnt find it in 4.7 and not in 4.8pre [20:51] brannig_an has joined the channel [20:51] Aikar: igl: you mean 0.5.7 ? [20:52] aguynamedben_ has joined the channel [20:52] dshaw_ has joined the channel [20:52] igl: ah ye [20:52] igl: (= [20:52] Aikar: that was added in 0.5 but then removed [20:52] Lingerance has joined the channel [20:52] Sidnicious has joined the channel [20:52] Aikar: because they wont satisfied with current imp [20:52] jesusabdullah: http://www.youtube.com/watch?v=l1wKO3rID9g There's mine igl [20:52] davidascher has joined the channel [20:52] _sorensen_ has joined the channel [20:53] fread228_ has joined the channel [20:54] Aikar: im seeing alot of disconnects on freenode too [20:54] MooGoo: hitler downfall parody videos aren't good unless they tie Stalin into the rant [20:54] Aikar: mt [20:54] Aikar: anyone else having network lag problems to random servers? [20:54] Aikar: my server is randomly lagging out and not receiving traffic. [20:55] smtlaissezfaire has joined the channel [20:55] Aikar: making my irc users drop [20:55] joshkehn: Um, no? [20:55] Aikar: notice alot of disconnects here too [20:55] TheJH: I can't concentrate on the subtitles in those hitler videos because I'm a native german speaker :( [20:55] TheJH: but I guess it sounds bad without audio [20:55] MooGoo: hm [20:56] TheJH: we need a text-to-speech with hitler voice [20:56] MooGoo: I've read that the english sub translation is not that good [20:56] tjholowaychuk has joined the channel [20:56] jesusabdullah: TheJH: Aww :( [20:56] jesusabdullah: What's he actually saying? [20:56] MooGoo: jews jews jews stalin jews [20:56] jesusabdullah: OH LIKE YOU KNOW [20:57] qbert65536: you guys are awesome [20:57] jetienne_ has joined the channel [20:57] Cover|Lunch: no you're awesome! [20:57] jesusabdullah: I try ;) I'm ill so I'm at a bit of a disadvantage [20:57] MooGoo: no....hitler is the true awesome [20:58] jesusabdullah: TheJH: TELL MEEEEE [20:58] bnoordhuis: people say a lot of bad things about hitler [20:58] jesusabdullah: Actually, what I really wonder is [20:58] bnoordhuis: but he was kind to animals and built a lot of roads [20:58] jesusabdullah: is that native or accented german? [20:59] Cover|Lunch: You know who said bad things about Hitler? Hitler! (Godwin's Law) [20:59] jesusabdullah: well shit, anybody can be kind to animals [20:59] MooGoo: http://www.adolfthegreat.com/ [20:59] MooGoo: great website [20:59] MooGoo: I think it runs on node [20:59] jesusabdullah: and everybody built lots of roads during the ww [20:59] jesusabdullah: er [20:59] jesusabdullah: wwii era [20:59] TheJH: jesusabdullah, "with the attack of , everything will be good again." - "well, umm, couldn't collect enough forces for an attack. he didn't attack." - "only x,y,z stay in the room. that was a command! his attack was a command! who is he to..." [20:59] jesusabdullah: TheJH: I see [20:59] TheJH: don't want to type all that stuff [20:59] jesusabdullah: Sure, sure [20:59] MooGoo: did he swear a lot? [20:59] jesusabdullah: TheJH: Was it accented? [20:59] MooGoo: cause if so us english speakers didnt get to read it [21:00] TheJH: typical hitler-accent, yes [21:00] jesusabdullah: There's a hitler-accent? I assumed he was just German and angry [21:00] MooGoo: austrian and angry [21:00] jesusabdullah: oh geez does this mean I think all germans sound like Austrians? [21:00] MooGoo: no hitler sounds like hitler [21:00] jesusabdullah: or that austrians sound like hitler? [21:00] perezd: afternoon folks [21:00] jesusabdullah: Your MOM sounds like hitler [21:00] MooGoo: they did back when he was alive [21:01] MooGoo: germans liked hitler too [21:01] jesusabdullah: gafternoon [21:01] TheJH: MooGoo, he doesn't really swear, just says they're losers [21:01] MooGoo: lol [21:01] MooGoo: my generals are a bunch of noobs [21:01] TheJH: jesusabdullah, yes, there's a hitler-accent :D [21:01] jesusabdullah: Crazy! [21:01] jesusabdullah: Then again I've never heard any actual german speakers sound like that [21:01] jesusabdullah: like, at all [21:01] bnoordhuis: can someone with a mac tell me what this prints? `gcc -dM -E - < /dev/null | grep unix`? [21:01] shinuza has joined the channel [21:02] qbert65536: < /dev/null ? no I don't think so [21:02] fread2281[afk] has joined the channel [21:02] slickplaid has joined the channel [21:03] lz: what was that online code editor called again? [21:03] bnoordhuis: qbert65536: it reads from /dev/null [21:03] kickingvegas has joined the channel [21:03] lz: that hooked into github [21:03] bnoordhuis: lz: cloud9 ide? [21:03] lz: bhoordhuis, boom, thanks [21:03] stash1: bnoordhuis: empty on i686-apple-darwin10-gcc-4.2.1 [21:04] bnoordhuis: stash1: thanks [21:04] bnoordhuis: so even apple doesn't feel os x is a unix... [21:06] neilk_ has joined the channel [21:06] Dreamer3__ has joined the channel [21:08] mAritz1 has joined the channel [21:08] jamesd_ has joined the channel [21:08] jbpros: hey guys -- I have segfaults with the "glob" package on travis CI. isaacs seemed to be willing to port it to a pure JS lib (https://github.com/isaacs/node-glob/issues/13#issuecomment-997765) but did that happen yet? [21:08] tomilaine has joined the channel [21:08] pfiled has joined the channel [21:08] isaacs: jbpros: nope, haven't done that yet [21:08] qbert65536 has joined the channel [21:08] isaacs: jbpros: i'd recommend using minimatch if it's suitable for your purposes [21:09] isaacs: jbpros: ie, if you just need to test a *string* against a glob, it's probably enough [21:09] fly-away has joined the channel [21:09] jbpros: isaacs: thanks -- I have basic needs, it should be just fine [21:09] isaacs: jbpros: of course, you'll have to roll your own fs.readdir etc [21:09] isaacs: whereas glob actually does all that for you [21:09] Renegade001 has joined the channel [21:10] markwubben has joined the channel [21:10] vguerra has joined the channel [21:10] joshgillies has joined the channel [21:10] creationix has left the channel [21:11] jbpros: isaacs: ok. don't you know anything that wraps minimatch and do that directory traversal, by any chance? :) [21:11] isaacs: jbpros: nope [21:11] fread2281[afk] has joined the channel [21:11] isaacs: jbpros: i think substack has a "findit" lib that does directory walking [21:12] jesusabdullah: I've used that library, it's handy [21:12] AphelionZ has joined the channel [21:12] isaacs: jbpros: the tricky thing is being able to *stop* walking down a large directory if you detect that it's definitely not going to match. [21:12] isaacs: jbpros: so, partial-matching is the next thing i might have to add to minimatch. [21:12] jbpros: oh yeah, I see [21:13] wilmoore has joined the channel [21:13] isaacs: jbpros: like, "foo/bar/baz/*" would partially-match "foo/bar/" but not "foo/bar/boo" [21:13] wink_ has joined the channel [21:13] zeade has joined the channel [21:14] micheil has joined the channel [21:15] jbpros: yep, I get it. do you have some plans for that? [21:15] eboyjr has joined the channel [21:16] felixge has joined the channel [21:16] felixge has joined the channel [21:16] isaacs: jbpros: i plan to do it :) [21:17] catshirt has joined the channel [21:17] jbpros: good for us :D [21:17] isaacs: jbpros: one easy way to support partials might just be to test against pattern + "/**" if testing against pattern fails, and it's a directory [21:17] TheJH: isaacs, btw, when will node-fuse work? would be really cool [21:17] isaacs: so it might not have to live in minimatch itself, which would be good, because that lib is really minimal and nice [21:17] isaacs: TheJH: no idea. [21:18] jbpros: isaacs: yup that should do the trick. do you use regexps? [21:18] TheJH: isaacs, :( [21:18] isaacs: jbpros: minimatch converts regular expressions into regexp objects. [21:18] isaacs: jbpros: so it should be pretty trivial to let node-glob support regexps as well as globs. [21:18] TheJH: isaacs, I was thinking about using javafs and then connecting node to java in case I need fuse sometime :P [21:18] isaacs: but, in that case, i think findit already does that. [21:19] isaacs: TheJH: ha [21:19] TheJH: isaacs, did I successfully make you move it up on your TODO list? :D [21:19] jbpros: isaacs: yeah then you could even add that /** logic into the initial regexp, if on a directory (to execute only one regexp) [21:19] jbpros: maybe I should try to do it :) [21:20] isaacs: jbpros: right, but, you wouldn't want to actually *return* that directory, only know whether or not you should bother reading it adn continuing with it [21:20] jbpros: you're right [21:20] overthemike has joined the channel [21:20] isaacs: jbpros: the goal of node-glob porting to minimatch would be to support the exact same config options, etc. [21:21] isaacs: jbpros: you should be able to swap out the implementation, and the only change would be that it's not compiled, and ** works by default, and it supports ! for negation, and # for comments [21:21] overthemike: anyone know if you can convert and array of dom elements to a nodeList? [21:21] isaacs: overthemike: maybe you should ask in ##javascript [21:21] shipit has joined the channel [21:21] overthemike: oh woops [21:21] isaacs: np :) [21:21] overthemike: ma bad [21:21] overthemike: :D [21:22] overthemike: closed the wrong tab [21:22] overthemike has joined the channel [21:22] chance- has joined the channel [21:22] overthemike has left the channel [21:23] chance-: is it possible/how do you have the context of a vows sequence revert back to the topic after an asynch callback? [21:25] heavysixer has joined the channel [21:26] rjack has joined the channel [21:26] jbpros: isaacs: that would be great! if findid is not sufficient for my needs, I'll have to write something anyway. [21:26] airhorns: anyone know if you can have npm assert a package's dependencies are met programatically/ [21:26] isaacs: kewl [21:27] dreamdust has joined the channel [21:27] isaacs: airhorns: no, but there's a pull req for a "checkdeps" function from thejk [21:27] airhorns: ie fail a command line task if the proper deps aren't present? [21:27] isaacs: *thejh [21:27] airhorns: isaacs cool, thanks [21:27] mike5w3c has joined the channel [21:28] markwubben has joined the channel [21:28] guidocalvano: is it possible to do: [21:28] guidocalvano: function Bla() {} [21:29] isaacs: .. function Bla() {} [21:29] guidocalvano: Bla.prototype.dibla = function() {...} ; [21:29] guidocalvano: exports = Bla [21:29] ixti has joined the channel [21:29] isaacs: guidocalvano: module.exports = Bla [21:29] isaacs: yes [21:29] guidocalvano: but I have to do module.exports? [21:30] guidocalvano: I can't do exports = Bla ? [21:30] isaacs: guidocalvano: nope. [21:30] shinuza has joined the channel [21:30] guidocalvano: thought so [21:30] isaacs: guidocalvano: because then all youv'e done is re-assigned the free var, not set anything that node knows about. [21:30] isaacs: guidocalvano: you have to do module.exports = Blah [21:30] isaacs: guidocalvano: exports === module.exports [21:30] isaacs: guidocalvano: but "module.exports" is what the module system actually returns [21:31] guidocalvano: k [21:31] Skipants has joined the channel [21:31] mikl has joined the channel [21:31] jbpros: isaacs: off to bed now -- thanks again for your help [21:31] isaacs: jbpros: np [21:32] Pilate has joined the channel [21:32] TheJH: >> 1 [21:32] TheJH: .. 1 [21:32] TheJH: v8> 1 [21:32] v8bot_: TheJH: 1 [21:32] bentruyman has joined the channel [21:33] seawise_ has joined the channel [21:34] malletjo has joined the channel [21:36] socialhack has joined the channel [21:36] matjaz_ has joined the channel [21:36] aelien27 has joined the channel [21:37] neilk_ has joined the channel [21:37] joshgillies has joined the channel [21:37] mandric has joined the channel [21:38] seawise has joined the channel [21:38] chance-: http://stackoverflow.com/questions/7640946/in-vows-js-how-do-you-revert-back-to-the-original-topic-after-going-through-an-as <- easier than asking here [21:40] fangel has joined the channel [21:41] tjholowaychuk has joined the channel [21:42] heavysixer_ has joined the channel [21:43] seawise has joined the channel [21:43] skm has joined the channel [21:45] trotter has joined the channel [21:46] jocafa: does anyone have a good commonjs amd shim that *doesn't* bother with the loading? [21:48] mandric has joined the channel [21:48] Cover|Lunch: that doesn't bother with the loading? [21:48] jesusabdullah: What do you mean by that? [21:48] MooGoo: function require() {} [21:48] jesusabdullah: You mean, an amd shim that's actually syncronous? [21:49] jocafa: a shim that's tiny and works with "built" dependencies [21:49] chrisdickinson: the sync part's pretty easy, in comparison [21:49] robi42 has joined the channel [21:49] CIA-48: libuv: 03Ryan Dahl 07ipc * r7de7ff3 10/ (src/unix/stream.c test/test-ipc.c): unix: handle passing kind of working - http://git.io/MR--Kg [21:49] jesusabdullah: There are syncronous loaders that do that [21:49] chrisdickinson: xhr.open('/script.js', false), if memory serves. [21:50] Wizek-other has joined the channel [21:50] jocafa: actually, nm… i think i'll just end up using curl. it's teeny. [21:51] ph^ has joined the channel [21:52] mikeycgto has joined the channel [21:52] indexzero has joined the channel [21:52] willwhite has joined the channel [21:54] chance- has joined the channel [21:55] neilk_ has joined the channel [21:55] Margle has joined the channel [21:56] chance- has left the channel [21:57] aelien27 has joined the channel [21:58] robi42 has joined the channel [22:00] DrMcKay_ has joined the channel [22:00] DrMcKay has joined the channel [22:01] kickingvegas has left the channel [22:02] bnoordhuis: so bitbucket now supports git eh? [22:02] mehlah has joined the channel [22:02] Archen has joined the channel [22:03] `3rdEden: yes, lets all migrate to bitbucket [22:03] DrMcKay: bnoordhuis: and so does google code [22:04] bnoordhuis: DrMcKay: true, but google code has a terrible UI [22:04] `3rdEden: so does bitbucket [22:04] bnoordhuis: hmm, i suppose beauty is in the eye of the beholder [22:04] bnoordhuis: but google code reminds me to much of the bad old sourceforge [22:05] `3rdEden: yeh sourceforge is really horrible [22:05] tjholowaychuk: bnoordhuis no i agree with you, google ui sucks [22:05] DrMcKay: yes [22:05] DrMcKay: it's the worst code-hosting ui ever [22:06] CoverSlide: CodePlex FTW!! [22:06] DrMcKay: hey, I've heard that mailing lists support git [22:06] DrMcKay: CoverSlide: haha [22:08] lamalex has joined the channel [22:08] lamalex: has anyone tried using npm on ubuntu? [22:09] isaacs: lamalex: i do [22:09] isaacs: lamalex: what'sup? [22:09] smtlaissezfaire has joined the channel [22:10] CoverSlide: exports PATH=$PATH:/usr/local/bin [22:10] erus` has joined the channel [22:10] erus`: does node.js cure or cause cancer now? [22:10] erus`: i cant keep up [22:10] AvianFlu: erus` it depends on which kind of cancer you're worried about [22:11] CoverSlide: it cures it from your body first, then it gives you a brand new form of cancer [22:11] lamalex: when i run npm install it just gives me an error message about missing package.json - http://paste.ubuntu.com/701956/ [22:11] lamalex: isaacs, ^ [22:11] AvianFlu: npm init? [22:11] AvianFlu: then add your deps? [22:11] artur_ has joined the channel [22:11] lamalex: ah ha.. i figured i could just do npm install express [22:11] Skyec has joined the channel [22:11] isaacs: lamalex: either you're using a *wildly* out of date npm version, or you have not shared the entire error message. [22:12] Murvin has joined the channel [22:12] isaacs: lamalex: if it's the first, please update. [22:12] lamalex: isaacs, i'm using npm 0.2.19-1 [22:12] isaacs: ircretary: inst lamalex for me, would you please? [22:12] ircretary: lamalex: `curl http://npmjs.org/install.sh | sh` (or, if there are permission issues, you can try: `curl http://npmjs.org/install.sh | sudo sh`) [22:12] CoverSlide: wow [22:12] isaacs: lamalex: yeah. [22:12] isaacs: lamalex: super crazy out of date. [22:12] isaacs: like, by a year [22:12] lamalex: stupid ubuntu.. [22:12] erus` has left the channel [22:12] isaacs: did you apt-get install npm!!??? [22:12] lamalex: yup [22:12] Murvin: is there any module I can use to send log to Syslog server? [22:12] isaacs: grrrrr [22:12] lamalex: on 11.10 [22:12] Murvin: udp [22:12] CoverSlide: ACTION smh [22:12] isaacs: (not mad at you, mad at debian) [22:13] lamalex: yah that's a pain in the butt that no one found this out sooner [22:13] isaacs: when will these cabal-based package systems learn that it's better to not have something than to have something that's out of date? [22:13] lamalex: you know, before final freeze [22:13] mandric has joined the channel [22:13] lamalex: in our defense (/me is a canonical employee) we are working on that problem.. [22:14] isaacs: lamalex: ok, well, apt-get uninstall that awfulness, and start again [22:14] lamalex: indeed [22:14] isaacs: lamalex: oh, ok, then i *am* growling at you ;P [22:14] CoverSlide: hahaha [22:14] lamalex: well i'm not a packager! so i'll pass that growling onto the desktop or server team or whoever [22:14] isaacs: like most package manager authors, i have very strong opinions about how such things should be done. [22:14] isaacs: i'm sure they've got lots of grr's for me, too [22:14] lamalex: so i should use that install.sh script? [22:15] te-brian has joined the channel [22:15] CoverSlide: it should just install a cronjob to the curl | sh method [22:15] isaacs: lamalex: yeah. download and read it, if you are wise enough to not just pipe to sh [22:15] tbranyen: isaacs: you're opinionated? NAHHHH [22:15] isaacs: :) [22:15] lamalex: ACTION is not wise enough [22:15] CoverSlide: and nothing else [22:15] Bonuspunkt has joined the channel [22:15] CoverSlide: so you're always up-to-date [22:16] isaacs: well, once you do it the first time, you can install a cron that does `npm update npm -g` every hour [22:17] CoverSlide: npm -g, npm for gangstas! [22:18] isaacs: CoverSlide: no, that's npm --gangsta [22:18] isaacs: (alias for --force) [22:18] taf2_ has joined the channel [22:18] tobmaster has joined the channel [22:19] chance- has joined the channel [22:19] raja has joined the channel [22:20] fread2281[afk] has joined the channel [22:20] daed has joined the channel [22:20] TooTallNate has joined the channel [22:21] skiz has joined the channel [22:23] AvianFlu: wow really? [22:25] SuMarDi has joined the channel [22:25] SuMarDi has joined the channel [22:25] chase has joined the channel [22:26] DrMcKay: AvianFlu: yeah :) [22:26] AvianFlu: that's almost as cool as `alias bitch,=sudo` [22:26] jocafa: ROFL [22:27] DrMcKay: AvianFlu: https://github.com/isaacs/npm/blob/master/lib/utils/config-defs.js#L263 [22:27] MooGoo: bitch bash [22:27] MooGoo: how I roll [22:27] jerrysv: avianflu: http://xkcd.com/149/ [22:28] AvianFlu: AHAHAHAHHAHAHAHA [22:28] Skipants has joined the channel [22:28] zackattack has joined the channel [22:30] metellus has joined the channel [22:30] jY has left the channel [22:31] hij1nx has joined the channel [22:31] ecin has joined the channel [22:31] nickadeemus2002 has joined the channel [22:32] mdarnall has joined the channel [22:34] thepatr1ck has joined the channel [22:34] DrMcKay has joined the channel [22:35] towski has joined the channel [22:35] sdwrage has joined the channel [22:35] bnoordhuis: http://www.infoworld.com/print/174559 <- "the nine circles of IT hell", node gets a shout out! [22:36] franksalim_ has joined the channel [22:36] AvianFlu: I think I've figured the haters out, actually [22:36] AvianFlu: using threads properly is hard, and the people who've bothered to learn it hate the idea of having noobs not need them [22:36] CoverSlide: I have hard somewhere that haters want to hate [22:36] AvianFlu: that too [22:36] liquidproof has joined the channel [22:37] saikat has joined the channel [22:38] TomY has joined the channel [22:38] jspiros has joined the channel [22:38] tim_smart has joined the channel [22:40] _kud has joined the channel [22:41] davidbanham has joined the channel [22:43] Bergle_1 has joined the channel [22:43] McMAGIC--Copy has joined the channel [22:44] tjholowaychuk has joined the channel [22:44] CoverSlide: u r likly 2 be eeten by a groo [22:45] kurtzhong has joined the channel [22:45] EhevuTov has joined the channel [22:46] AaronMT has joined the channel [22:46] jj0hns0n has joined the channel [22:46] kurtzhong_ has joined the channel [22:46] brianseeders has joined the channel [22:46] saikat has joined the channel [22:50] chance-: mmmmm [22:51] chance-: damnit vows, damnit [22:51] jerrysv: what's wrong with vows? [22:51] CoverSlide: don't go breakin' your vows, man [22:51] kurtzhong_ has joined the channel [22:51] chance-: heh [22:51] chance-: im just hung up on the workflow [22:52] chance-: async, that is [22:52] jerrysv: chance-: aha, would an example help? [22:52] chance-: yea [22:52] daed has joined the channel [22:53] chance-: jerrysv: i'm basically trying to make a call to an asynch method, have the callback hit the next test in the sequence, and then return back to the original "topic" [22:53] chance-: I *think* i have it [22:53] jerrysv: https://github.com/JerrySievert/bricks/blob/master/test/event-test.js#L11-14 [22:53] chance-: but it's blowing up on an error i returned because it's not caught [22:53] jerrysv: aha, pass undefined first if it's not an error state [22:54] tjholowaychuk: this.callback [22:54] jerrysv: the callback expects: err, data [22:54] tjholowaychuk: yum [22:54] kurtzhong__ has joined the channel [22:54] Pilate has joined the channel [22:54] jerrysv: tjholowaychuk: nobody said it was elegant, just that it's there :) [22:54] chance-: hmm [22:54] Jabbers has joined the channel [22:55] chance-: i'm actually returning an error (intentionally) [22:55] kurtzhong__ has joined the channel [22:55] chance-: and handle it the next test, but because the asynch call is now nested in my topic…. ugh [22:56] enmand_ has joined the channel [22:56] jp323 has joined the channel [22:57] jedahan has joined the channel [22:58] Sorella has joined the channel [22:58] kurtzhong has joined the channel [22:58] pvgrif has joined the channel [22:59] Murvin: is there a way to connect to remote syslog server? is it just like http.client? [22:59] b52 has joined the channel [23:01] kurtzhong has joined the channel [23:02] McMAGIC--Copy has joined the channel [23:03] bnoordhuis: Murvin: syslog is udp based, not tcp / http [23:03] bnoordhuis: there's at least one module out there that lets you talk to a syslog daemon [23:04] slifty has joined the channel [23:04] secoif has joined the channel [23:07] nayrb has joined the channel [23:08] sonnym has joined the channel [23:09] sirdancealot has joined the channel [23:09] b52 has joined the channel [23:10] digman543 has joined the channel [23:11] towski has joined the channel [23:12] erickt_ has joined the channel [23:12] PhilK has joined the channel [23:13] jj0hns0n has joined the channel [23:13] maeldur has joined the channel [23:14] kflorence has joined the channel [23:14] sonnym has joined the channel [23:15] monokrome has joined the channel [23:15] jesusabdullah has joined the channel [23:15] wilmoore has joined the channel [23:16] bwinton has joined the channel [23:17] Lorentz has joined the channel [23:17] slifty has joined the channel [23:18] tim_smart has joined the channel [23:18] skyler_brungardt has joined the channel [23:18] digman543 has joined the channel [23:18] Gregor has joined the channel [23:19] paul0 has joined the channel [23:19] pquerna has joined the channel [23:19] PPilate has joined the channel [23:19] jp323 has joined the channel [23:19] visnup has joined the channel [23:20] monokrome has joined the channel [23:20] artur_ has left the channel [23:21] sdwrage has joined the channel [23:21] b52 has joined the channel [23:22] navaru has joined the channel [23:23] navaru has left the channel [23:24] AphelionZ has joined the channel [23:25] fearphage has joined the channel [23:26] visnup has joined the channel [23:28] EyePulp: Here's a fun read (apologies if it's a re-post): http://teddziuba.com/2011/10/node-js-is-cancer.html [23:28] neurodrone has joined the channel [23:28] EyePulp: I wish he would say what he *really* thinks... [23:28] jerrysv: eyepulp: he's a troll [23:28] broofa has joined the channel [23:29] jerrysv: EyePulp: see also: https://twitter.com/#!/izs/status/120918088878264320 [23:29] infynyxx has joined the channel [23:29] kurtzhong_ has joined the channel [23:29] heavysixer has joined the channel [23:30] chance-: i wouldnt go as far as to say he's a troll [23:30] EyePulp: jerrysv: that's a little reductive -- he's a bit smarter than a simple troll [23:30] MikhX has joined the channel [23:30] jerrysv: chance-: have you read his other stuff? [23:30] chance-: yea, i parsed a bit of it [23:30] mikey_p: you can be smart and still write a total troll article [23:30] smtlaissezfaire has joined the channel [23:30] EyePulp: he's outspoken, and of strong opinion, but he's usually not ripping on stuff aimlessly. [23:30] jerrysv: doesn't matter the topic, his tone is very similar [23:31] mikey_p: no, he surely had a bad experience with node, or lost a job to someone doign a project in node [23:31] piscisaureus has joined the channel [23:31] mikey_p: or heard some client demand that node be used in an odd way, but he's still a troll [23:31] jerrysv: i don't rip on things aimlessly, that doesn't mean i'm not trolling when i do [23:31] chance-: i doubt that, from someone that has been in web dev for awhile [23:31] chance-: looking in on node.js is.. alien [23:32] FireFly has joined the channel [23:32] chance-: im fairly young but have still developed my way through the "javascript blows" years [23:32] chance-: I can only imagine older devs that truly hate js [23:33] tuhoojabotti: And younger ones who love it ♡ [23:33] dynacker: gay [23:33] jerrysv: ACTION is "older" and loves js [23:34] tjholowaychuk has joined the channel [23:34] dynacker: what is older [23:34] Bergle_1: me 2, i always liked js, just disliked the uneven browser landscape [23:34] dynacker: 50?????? [23:34] jerrysv: and was out to beer with someone even older than me that loved javascript (and was recreating wiki in coffeescript) [23:34] Bergle_1: ACTION > 40 [23:34] chance-: jerrysv: age isn't a precursor for hating js, i just think that if you developed through the hell of multi-browser compatibility, users with js disabled, devices without js [23:34] chance-: you could easily learn to hate js [23:35] chjj: lets all try to guess his age [23:35] jerrysv: chance-: i came to love it while building javascript enabled set-top boxes [23:35] jerrysv: product finders with serial access to specialized hardware, really [23:36] willwh: jerrysv: which STBs? [23:36] chance-: jerrysv: nice [23:36] willwh: jerrysv: I work for a streaming media company ;) [23:36] sub_pop has joined the channel [23:36] inph0 has joined the channel [23:36] Bergle_1: ahh i see someon allready reported the npm stuff with log nearly same as mine on win7 :) [23:36] c4milo1 has joined the channel [23:36] jerrysv: willwh: these were custom systems for best buy, virgin, pepboys, circuit city, and fry's [23:36] willwh: ah :) [23:36] willwh: rtmp/rtsp? [23:36] slifty has joined the channel [23:36] chance-: jerrysv: and i think more devs will come around to JS when they realize that they can develop an app in JS and have it on just about any platform there is [23:37] dynacker: how long is your neckbeard Bergle_1 [23:37] jlaire has joined the channel [23:37] willwh: jerrysv: can I bug you in pm? [23:37] chance-: win8 will likely help JS adoption a good bit [23:37] jerrysv: willwh: sure [23:37] EyePulp: we invite incompetence if we spend more time trying to discredit dzubia than consider the points he raises. Or not, I don't care. [23:37] chance-: js adoption as more than just a "web" language [23:37] chance-: rather [23:37] EyePulp: ACTION goes to get a soda [23:37] ted___: hey gus [23:37] Bergle_1: not sure i get the joke, but i iz clean shaven. [23:37] ted___: guys [23:37] ted___: nodejs is cancer [23:37] EyePulp: heh [23:38] ted___: because I couldn't get a f*ing fibonacci to work [23:38] bwinton has joined the channel [23:38] chance-: heh [23:38] chance-: it is tricky.. damn funky counting [23:41] daed has joined the channel [23:41] towski has joined the channel [23:42] Iszak has joined the channel [23:42] slifty has joined the channel [23:42] murz has joined the channel [23:43] Iszak: so what are some popular (small?) frameworks in node.js? preferably with middle ware. [23:43] alnewkirk has joined the channel [23:43] alvincrespo has joined the channel [23:43] chance-: …like express? [23:43] murz: http://expressjs.com [23:44] spcshpopr8r: I have a peculiar thing happening with a little express app: it's not crashing, just not returning data to the client, I've confirmed that I can resolve it by simply establishing an ssh connection to the machine as the user that started the `node app.js`; just doing that, magically, it resumes sending data to the client [23:44] Iszak: yeah I know about that thought there may be another player [23:44] chance-: there are a few [23:44] chance-: it's just the most popular web framework atm [23:44] jesusabdullah: Anybody in here work with jsdom much? [23:45] willwhite has joined the channel [23:45] spcshpopr8r: any pointers? I'm at a loss as to how to troubleshoot this [23:45] bnoordhuis: spcshpopr8r: vm hosting? [23:45] Iszak: been a while since I've touched Node.js, is Express basically the defacto? I'm building something that monitors Twitter and does some database stuff is Express suitable? [23:45] chance-: uhm [23:45] spcshpopr8r: bnoordhuis: no...my own (gentoo) box [23:45] willwh: Iszak: yup - tons of blog posts about doing that kind of thing with express [23:45] chance-: Iszak - what you just described wouldnt need express necessarily [23:46] bnoordhuis: spcshpopr8r: sorry, no idea in that case [23:46] Iszak: yeah I know [23:46] Iszak: just want consistency [23:46] spcshpopr8r: bnoordhuis: suppose it was a vm? [23:46] chance-: i mean if you are throwing it to a web front-end, sure [23:46] Iszak: Nah no real web front end [23:46] chance-: or any front end, i suppose [23:46] murz: I have a module foo.js that does some initialization before exporting. When I require("foo") after it was already required somewhere else - will the initialization script run again or will I just get whatever was exported the first time require("foo") was called? [23:47] murz: ie.. are modules singleton [23:47] bnoordhuis: spcshpopr8r: some poorly tuned vm hosting providers sometimes starve the vm from real cpu time if it's not been active for a while (for certain values of 'active') [23:47] jakehow has joined the channel [23:47] PhilK has joined the channel [23:48] Iszak: alright thanks guys [23:48] catshirt has joined the channel [23:48] matyr has joined the channel [23:49] Me1000 has joined the channel [23:50] Frippe has joined the channel [23:51] Isaiah has joined the channel [23:53] b52 has joined the channel [23:57] replore has joined the channel [23:57] replore_ has joined the channel [23:57] eventualbuddha has joined the channel [23:59] catb0t has joined the channel [23:59] enmand_ has joined the channel