[00:00] azeroth__ has joined the channel [00:02] rauchg_ has joined the channel [00:06] TroyMG has joined the channel [00:07] CIA-110: libuv: 03Henry Rawas 07master * ra4b05ab 10/ test/echo-server.c : optional IPv6 for echo-server - http://bit.ly/nvDWfL [00:08] mundanity has joined the channel [00:09] CIA-110: libuv: 03Ryan Dahl 07reorg * ra26f93d 10/ (342 files in 25 dirs): [00:09] CIA-110: libuv: Fixes #71. src/ and include/ directories [00:09] CIA-110: libuv: Does not update the MSVC files. - http://bit.ly/oriFFC [00:10] [[zz]] has joined the channel [00:13] puffpio has joined the channel [00:14] charlenopires has joined the channel [00:20] josephboyle1 has joined the channel [00:21] odyniec_ has joined the channel [00:21] joshholt_ has joined the channel [00:23] guidocalvano: hey guys [00:23] guidocalvano: im trying to build nodejs as a lib [00:24] guidocalvano: it want to link it to a graphics engine called ogre [00:24] devongovett has joined the channel [00:25] guidocalvano: so i've built it using [00:25] guidocalvano: .configure --dest-cpu=ia32 [00:25] guidocalvano: make staticlib [00:25] charlenopires_ has joined the channel [00:25] admc has joined the channel [00:25] guidocalvano: but the result is that I get a bug in the header of system library [00:26] sorensen: anyone here using no.de? [00:26] guidocalvano: * of a system... ary [00:26] sorensen: cant get my submodules to update [00:27] orospakr has joined the channel [00:27] mikey_p: sorensen: good luck with that, I had a very hard time trying to use it, and wasn't able to get it working [00:27] sorensen: bahh [00:27] sorensen: lol [00:28] sorensen: dont even know where to type in my `git submodule init` [00:28] bogomips has joined the channel [00:28] guidocalvano: http://pastebin.com/pDEZYLBq [00:29] bprsofteng has joined the channel [00:30] guidocalvano: i cant keep my eyes open much longer, have to sleep gn [00:30] benjaminRR has joined the channel [00:30] tonymilne has joined the channel [00:31] dnunes has joined the channel [00:32] captain_morgan has joined the channel [00:32] charlenopires has joined the channel [00:33] sounko has joined the channel [00:34] FireFly|n900 has joined the channel [00:34] mamund has joined the channel [00:34] fakewaffle has joined the channel [00:34] baoist has joined the channel [00:34] bbttxu has left the channel [00:35] fakewaffle: anyone know of a password blacklist? [00:35] MattJ has joined the channel [00:36] mikey_p: fakewaffle: /usr/share/dict/words ? [00:36] fakewaffle: mikey_p: oh wow thank you! [00:37] balaa has joined the channel [00:37] mAritz has joined the channel [00:37] mikey_p: well if a any word in the dictionary qualifies as a bad password (it should) [00:37] mikey_p: might also try to hunt down some of the lulzsec or gawker password dumps and do some analysis of those [00:38] sorensen: lol [00:38] fakewaffle: thought about that too lol [00:38] fakewaffle: i want to have a list to compare against that a user cannot use [00:39] charlenopires_ has joined the channel [00:39] mikey_p: if no one has done that, I may be tempted to try [00:40] mikey_p: might make a nice service to expose as an api, as long as people trust it [00:40] mikey_p: maybe let people hash their requests [00:41] AvianFlu_: is there a way to check if a random incoming string is in a non-Latin alphabet or not? [00:41] mikey_p: fakewaffle: http://blogs.wsj.com/digits/2010/12/13/the-top-50-gawker-media-passwords/ [00:41] nooretta has joined the channel [00:41] fakewaffle: thanks [00:41] benjaminRRR: rainbow table api service would be cool, but have to watch out for abuse. [00:41] mustakes_ has joined the channel [00:42] mustakes has joined the channel [00:43] mikey_p: benjaminRRR: what abuse would you be concerned about? [00:44] jgabbard has joined the channel [00:44] jgabbard: JS dev efficiency question [00:45] jgabbard: PHP has a command line switch "-l" that let's you parse the file without executing it [00:45] jgabbard: Is there an equivalent in node? [00:45] jgabbard: It would be great to check for syntax errors an saxe [00:46] jgabbard: *save [00:46] al3xnull has joined the channel [00:47] chjj: jgabbard: i dont think there is actually a command line argument, but you could use http://nodejs.org/docs/v0.5.0/api/vm.html#vm.createScript [00:48] jgabbard: Ah, sweet [00:48] simenbrekken has joined the channel [00:48] jgabbard: thx chjj that's perfect [00:48] chjj: yep [00:53] othiym23 has joined the channel [00:54] broofa: Is there a way to set a headers en masse on a http.ClientRequest object, or do you have to do setHeader() for each header-value pair? [00:54] ryantm has joined the channel [00:55] broofa: e.g. if I have a hash of header-value pairs, do I have to iterate thru it? [00:55] jbroman: broofa: http.request() accepts a "headers" option which is an object containing request headers. [00:56] broofa: jbroman *dorp* :) thx. [00:56] othiym23 has joined the channel [00:56] k1ttty has joined the channel [00:57] c4milo1 has joined the channel [00:59] kmwallio has joined the channel [01:01] ngs has joined the channel [01:02] jgabbard: chjj: the only downside to that approach is that it doesn't give you line numbers. [01:03] harth has joined the channel [01:03] jgabbard: Too bad there isn't a way to create script from a file and preserve line numbers on a parse failure [01:04] peter123 has joined the channel [01:04] MooGoo: hm? [01:04] peter123 has left the channel [01:05] atmos has joined the channel [01:05] jgabbard: MooGoo: I'm trying to leverage node to verify my js on sawe [01:05] jgabbard: *save [01:05] mjr_: jgabbard: you could always require the file [01:05] mjr_: Or just use something like JSHint [01:05] jgabbard: Hrm [01:05] salamon21 has joined the channel [01:05] jgabbard: But that will execute it [01:05] MooGoo: you can wrap a source file in (function() { ...code... }) and have node check that [01:05] mjr_: I use JSHint on save from TextMate, and it's a big win. [01:05] salamon21 has left the channel [01:06] jgabbard: mjr_: I have that going as a round-two [01:06] jgabbard: But I find it's too verbose when all I want to know is whether or not the file has a syntax error [01:06] chjj: uglifyjs can also alert you of parse errors if thats all you care about [01:06] jgabbard: ha [01:06] chjj: i think that gives line numbers [01:06] jgabbard: haven't heard of that one [01:07] bene has joined the channel [01:07] e6nian has joined the channel [01:07] chjj: https://github.com/mishoo/UglifyJS [01:07] MooGoo: but node does give line numbers for syntax errors [01:07] bene has left the channel [01:07] jgabbard: not via vm.createScript [01:07] chjj: apparently not for vm.createScripts [01:07] MooGoo: no not for that [01:08] MooGoo: you have to break out a child process, wrap the code in a function, then run it [01:08] MooGoo: and monitor stderr [01:08] chjj: right, he doesnt want to execute it though [01:08] jgabbard: Hrm... still though, I don't want to execute the code [01:08] MooGoo: it wont [01:08] MooGoo: since it's wrapped in a function [01:08] MooGoo: just dont call the function [01:08] jgabbard: Oh, interesting [01:08] chjj: oh i see what youre saying [01:08] chjj: yeah that could work [01:09] MooGoo: that's what I did for my bot [01:09] jgabbard: Wouldn't that require writing a temp file? [01:09] MooGoo: to hotload modules and not have it crash if I forget a { [01:09] MooGoo: no [01:10] MooGoo: actually, eval gives line numbers [01:10] MooGoo: that are accurate [01:10] MooGoo: https://github.com/m00g00/catbot/blob/master/syntaxcheck.js [01:10] MooGoo: that's what I use [01:11] MooGoo: the source file text is sent through stdin [01:11] jbroman: MooGoo: Potentially dangerous if you have mismatched braces. [01:11] jgabbard: catbot, lol [01:11] mundanity has joined the channel [01:11] MooGoo: ? [01:11] tayy has joined the channel [01:12] MooGoo: it's for code that would be run anyway [01:12] jgabbard: jbroman: that would just generate a parse error [01:12] jbroman: Well, my file could contain "}); do_something_else; (function() {" [01:12] jgabbard: ah, true [01:12] jbroman: Admittedly this doesn't really matter for trusted-ish code. [01:12] jbroman: I'm not sure whether the Function constructor is safer. [01:12] MooGoo: well [01:12] MooGoo: you could use new Function(code) [01:12] jbroman: It probably is. [01:12] jgabbard: ah, true [01:12] MooGoo: not sure if it gives line numbers [01:14] MooGoo: seems to [01:14] jesusabdullah: Anybody here live in Oakland and are willing to let me borrow their phone? [01:14] jgabbard: wtf [01:14] jesusabdullah: I want to transfer my tracfone account to a new phone [01:14] sorensen: lol [01:14] jesusabdullah: and [01:14] MooGoo: sure bro [01:14] jesusabdullah: they insist that I need a THIRD phone [01:15] jgabbard: lol [01:15] jesusabdullah: #f7u12 [01:15] jgabbard: He seems earnest and trustworthy to me [01:15] jesusabdullah: Yeah, I agree [01:15] jbroman: Ha, apparently the Function constructor allows arbitrary code evaluation in exactly the same way eval does (in the same I gave above). [01:15] jesusabdullah: heh [01:15] jesusabdullah: I guess none of the oak.js crew is here :P [01:16] bingomanatee has joined the channel [01:16] admc has joined the channel [01:16] jgabbard: jbroman: Hrm, interesting. new Function() is essentially a thin wrapper on eval [01:16] jgabbard: so, that sort of makes sense [01:16] jbroman: jgabbard: I knew that; I didn't think it was that thin. [01:16] bingomanatee: When I do var handle = fs.createReadStream(path, {bufferSize: 128 * 1024}); [01:16] bingomanatee: it doesn't seem to change the size of the chunk that is read. [01:16] jgabbard: Me either [01:17] greg has joined the channel [01:18] abraxas has joined the channel [01:18] shinuza has joined the channel [01:20] necrodearia has joined the channel [01:20] jgabbard: bingomanatee: I don't know the ins and outs of that library [01:21] jgabbard: but. I can ask some helpful questions [01:21] cafesofie has joined the channel [01:21] jgabbard: is the stearm you're reading large than the buffer size? [01:21] jgabbard: *larger [01:22] mike5w3c_ has joined the channel [01:23] PeterPeterPeter has joined the channel [01:23] pHcF has joined the channel [01:24] neoesque has joined the channel [01:25] dguttman has joined the channel [01:31] JasonSmith has joined the channel [01:31] jbroman: Yup, the implementation of the function constructor in v8natives.js is essentially "construct a string of the form (function(args) {\n body \n}) and pass it to the internal eval". [01:38] jgabbard: ha, nice [01:38] jerrysv has joined the channel [01:38] jgabbard: uglify is working perfectly [01:38] jgabbard: MooGoo++ [01:38] catb0t: MooGoo now has 1 beer [01:38] v8bot: jgabbard has given a beer to MooGoo. MooGoo now has 11 beers. [01:38] jgabbard: ha [01:38] broofa has joined the channel [01:39] MooGoo: yes [01:39] clifton has joined the channel [01:39] MooGoo: that means I have 12 beers [01:39] jgabbard: I'm just using it's parser/ast builder to make sure the code is good [01:39] MooGoo: vm functions should just give line numbers [01:39] MooGoo: it's v8's fault [01:40] antlong has joined the channel [01:40] jgabbard: yeah, it's a pretty weak engine [01:40] jgabbard: ... [01:40] MooGoo: vm is pretty misnamed really [01:40] Wizek has joined the channel [01:41] MooGoo: it might make one thing it actually evals the code in a seperate virtual machine [01:41] brianc has joined the channel [01:41] AddZero has joined the channel [01:43] pifantastic has joined the channel [01:43] nodesamurai has joined the channel [01:46] ditesh|cassini has joined the channel [01:46] chjj: MooGoo: pfft, who said it stood for virtual machine? maybe it stands for voodoo magic [01:46] Swimming_bird has joined the channel [01:46] nodesamurai: everything in javascript is voodoo magic! [01:47] chjj: this ^ [01:47] tk has joined the channel [01:47] nodesamurai: this.awesome = true [01:48] chjj: i think in particular, v8 probably uses voodoo magic for optimization [01:48] jtsnow has joined the channel [01:48] nodesamurai: clearly, 'crankshaft' is the name of an ancient witch doctor that only happens to line up with a modern engine part. [01:50] chjj: https://github.com/v8/v8/blob/master/src/ia32/full-codegen-ia32.cc [01:50] chjj: that is black magic ^ [01:50] brianc has joined the channel [01:50] Jakwac has joined the channel [01:50] xerox: what are all the __ chjj ? [01:51] chjj: its a macro [01:51] chjj: to use the inline assembly [01:51] chjj: theyre using [01:52] euforic has left the channel [01:52] xerox: o [01:52] chjj: wish i understood half of it ;p [01:53] xerox: that'd be 2000 lines of it [01:53] xerox: :D [01:53] jtsnow has joined the channel [01:53] AvianFlu: what, you can't just jump into a 3,000 line application and know what's going on? :-P [01:54] daigo has joined the channel [01:54] langworthy has joined the channel [01:56] ajsie: anyone here using jasmine? [01:57] sonnym has joined the channel [01:59] level09_ has joined the channel [02:00] level09_: writing async code is a bit tricky, have to keep writing everything in the callback [02:00] level09_: if I want to keep the sequence [02:01] JakeyChan has joined the channel [02:04] kmwallio has joined the channel [02:05] anatoo has joined the channel [02:06] mandric has joined the channel [02:06] mcluskydodallas has joined the channel [02:07] catshirt has joined the channel [02:08] JasonSmith has joined the channel [02:09] skohorn has joined the channel [02:09] zemanel has joined the channel [02:10] elijah|home has joined the channel [02:11] piscisaureus has joined the channel [02:13] rhdoenges has joined the channel [02:14] Sorella has joined the channel [02:15] infynyxx has joined the channel [02:18] jgabbard has left the channel [02:19] azeroth___ has joined the channel [02:21] mendel_ has joined the channel [02:24] Me1000 has joined the channel [02:26] ryantm has joined the channel [02:26] devongovett has joined the channel [02:28] Jakwac: level09_: I use to turn my monitors portrait style so I could see more code, now I keep them landscaped. [02:28] level09_: Jakwac: there must be some better ways to organize the code [02:31] bene has joined the channel [02:34] Kai`: Hi, I ran npm link in my dev folder but am unable to require the module in the repl. I am, however, able to require the absolute path /usr/local/lib/node_modules/testmod [02:34] Kai`: What step did I miss? [02:35] Kai`: Which itself is a symlink to my dev folder after running npm link [02:35] isaacs: Kai`: please read `npm help link` [02:35] isaacs: Kai`: that's what link does. [02:35] bronson has joined the channel [02:36] Kai`: k [02:38] apardo has joined the channel [02:39] namelessnotion__ has joined the channel [02:39] mikeal has joined the channel [02:41] Swimming_bird has joined the channel [02:41] Kai`: isaacs: thanks; I thought I would be able to require just the module name instead of the path, once it was listed as installed [02:45] bene has left the channel [02:46] Tobsn has joined the channel [02:46] seb_m has joined the channel [02:46] jesusabdullah: mikeal: ping [02:46] mikeal: heya [02:46] jesusabdullah: mikeal: You in Oakland? [02:46] jesusabdullah: I need to borrow a phone [02:46] mikeal: i am in oakland [02:46] mikeal: you need a phone? [02:47] Tobsn has joined the channel [02:47] mikeal: you have internet, how do you not have a phone :) [02:47] ajsie: how do I get the whole request data on node.js/express ? [02:47] jesusabdullah: mikeal: Indeed. I bought a new tracfone and APPARENTLY I need a THIRD phone to transfer the number. It's dumb. [02:47] mustakes has joined the channel [02:47] jesusabdullah: Also, I tried the internet stuff and, well, tracfone's site is broken [02:47] ajsie: app.post('/users', function(req, res){ // print out request "data" }); [02:48] chjj: well if i had a choice between the internet or a phone, i think id take the internet every time too ;) [02:48] jesusabdullah: God damn it mikeal! D:< [02:49] ajsie: anyone? [02:49] sub_pop has joined the channel [02:49] Brandonn has joined the channel [02:49] jesusabdullah: ajsie: console.log(req) ? [02:49] mekwall has joined the channel [02:49] jesusabdullah: I mean, shouldn't it all be there? [02:50] antlong has left the channel [02:50] vid_ has joined the channel [02:50] perlmonkey2 has joined the channel [02:51] skm has joined the channel [02:52] jhurliman has joined the channel [02:53] Wa has joined the channel [02:56] ajsie: jesusabdullah: yeah [02:56] ajsie: but sometimes the client sends chunk of data [02:57] ajsie: so i actually meant how do i get the whole request.body [02:57] ajsie: http://pastie.org/2175669 [02:57] ajsie: and i noticed that 'end' event is never fired .. anyone knows why? [02:57] level09_: how do I interact with php script using node ? [02:57] level09_: do I spawn php process [02:57] mapleman has joined the channel [02:57] level09_: or use web services protocol [02:58] ajsie: i think you have to communicate through HTTP [02:59] jerrysv: heya jesusabdullah [02:59] apardo has joined the channel [02:59] level09_: ajpiano: so you think web services is the answer [03:00] level09_: like rest or soap / xml rpc [03:00] level09_: or even json would be better [03:00] level09_: since node speaks json [03:00] level09_: for now I'll try to dump my node output into mongoose and read it with php [03:00] v0idless- has joined the channel [03:03] ajsie: level09_: if you don't need persistence for the data sent back and forth you won't need a db [03:03] ajsie: i think HTTP is the answer [03:03] ajsie: and its pretty simple doing this [03:03] level09_: how [03:03] ajsie: its far better than writing it to a file [03:04] ajsie: since with HTTP your php and node servers can be in different locations [03:04] level09_: I'm interacting with a php site based on drupal [03:04] ajsie: setup a http server with node.js [03:04] level09_: and I need to send complex objects from node [03:04] ajsie: which is pretty simple [03:04] level09_: aha [03:04] level09_: I got your point [03:04] ajsie: then you just fire http requests from php [03:04] level09_: so the php site will interact with the node server [03:05] ajsie: and node.js will send back whatever info php wants [03:05] level09_: so I use curl to get data [03:05] level09_: from express server for example [03:05] ajsie: if you want node.js to retrieve info from php you can do that aswell with php+apache [03:05] ajsie: yeah [03:05] level09_: good idea ! [03:06] level09_: thanks [03:06] level09_: will give that a try [03:06] level09_: better pass json strings through http and decode them in php [03:06] level09_: that would solve the whole thing [03:06] ajsie: yeah [03:07] ajsie: HTTP is the shit [03:07] level09_: indeed [03:07] ajsie: after websockets =) [03:07] level09_: did not have time to play with websockets .. socket.io killed it all [03:07] level09_: cant wait for a stable version though [03:07] ajsie: socket.io is using websockets beneath [03:08] level09_: i know, but I did not have to read into websocket api [03:08] level09_: socket.io simplified it all [03:08] ajsie: yeah [03:08] ajsie: same as using Ajax .. just use a library [03:08] ajsie: far better than knowing all the low level coding [03:08] level09_: exactly [03:09] level09_: jquery has changed my perspective about jquery [03:09] level09_: *javascript [03:09] ajsie: btw .. why are you using node.js? [03:09] amerine has joined the channel [03:09] level09_: distributed scrapping [03:09] ajsie: okay [03:09] level09_: and then want to add realtime features [03:09] ajsie: if jquery has changed your view you should use extjs =) [03:09] ajsie: it will change everything [03:09] level09_: I rewrote my scrapper from php to js [03:09] level09_: so much better now [03:10] x1337807x has joined the channel [03:10] level09_: did not have to the time to look into ext [03:10] ajsie: ok [03:10] ralphholzmann has joined the channel [03:11] level09_: will try to play with mobile apps soon [03:11] langworthy_ has joined the channel [03:11] level09_: ajsie: what do you use node.js for? [03:11] ajsie: everything [03:11] ajsie: :) [03:11] level09_: is there any rooms for obj-c ? or is it a closed lang ? [03:11] ajsie: what do you mean? [03:11] JakeyChan: node.js can do that ? http://artofthetrench.com/ [03:11] level09_: I'm IRC channels [03:12] sandstrom has joined the channel [03:12] sandstrom has joined the channel [03:12] ajsie: ah [03:12] ajsie: have no idea [03:12] level09_: that's flash [03:12] level09_: with node as backend? [03:12] mjijackson has joined the channel [03:12] AddZero has joined the channel [03:12] level09_: loading now .. [03:13] febits has joined the channel [03:13] ajsie: level09_: yeah [03:14] JakeyChan: level09: yes, with websocket [03:15] JakeyChan: level09: do you have idear ? [03:15] JakeyChan: can do with js or not ? [03:15] level09_: JakeyChan: about what [03:15] level09_: ajsie: that is cool [03:16] level09_: but a bit slow on my mac [03:16] level09_: flash sucks on chrome / mac [03:16] JakeyChan: level09: http://artofthetrench.com/ can do with javscript ? [03:17] level09_: I think it can be redesigned in html5/js [03:18] level09_: not sure if they're using some flash specific features [03:19] level09_: anyway, need to start reading on express [03:19] level09_: I guess I will use it as a json server for my php app [03:21] level09_: so you guys expect node to be Ruby/Python killer :D [03:21] jesusabdullah: I don't [03:22] amerine has joined the channel [03:22] jesusabdullah: I do think node will contribute to twisted and EventMachine becoming less popular [03:22] chjj: well, ruby and python are languages [03:22] jesusabdullah: indeed [03:22] chjj: node is a platform [03:22] chjj: which uses a particular language [03:24] jerrysv: chjj: 2 languages [03:24] jerrysv: 3 languages [03:24] tbranyen: well it uses 3 langauges :-p [03:24] tbranyen: blast [03:24] joshontheweb has joined the channel [03:24] jerrysv: ha. sorry. [03:25] chjj: 4 languages! lets keep going [03:25] tbranyen: only written in two tho [03:25] SoreGums has joined the channel [03:25] nickabusey has joined the channel [03:25] mikeal has joined the channel [03:26] level09_: 3 languages? [03:26] level09_: c++/js and what else/ [03:26] jerrysv: well, technically a lot more than 3 languages [03:26] jerrysv: if you count transpilers [03:26] tbranyen: https://github.com/joyent/node/graphs/languages [03:26] tbranyen: fwiw [03:26] jerrysv: level09_: on a technicality: c [03:26] yhahn has joined the channel [03:27] JasonSmith has joined the channel [03:27] level09_: is there a way to write some modules in c / c++ ? [03:27] chjj: well the goal of node is to be able to do stuff in js without having to compile anything i suppose [03:27] level09_: so far I was only using js [03:27] jerrysv: level09_: yes, as add-ons [03:28] level09_: not that I really want to :D [03:28] chjj: so i would disregard c++ as well as coffeescript by that philosophy [03:28] tmpvar has joined the channel [03:28] jerrysv: level09_: https://github.com/rbranson/node-ffi/wiki/Node-FFI-Tutorial [03:28] luke` has joined the channel [03:28] pyrotechnick has left the channel [03:29] AvianFlu has joined the channel [03:29] jerrysv: tbranyen: ask me about globals :) [03:29] level09_: nice [03:30] tbranyen: jerrysv: what up [03:30] level09_: ACTION still prefers js tho [03:31] tbranyen: if i didn't have to worry about thread safety and gc in c++ i'd <3 it long tim [03:31] jerrysv: tbranyen: just because node removes the whole problem [03:31] tbranyen: jerrysv: well not completely [03:32] sivy has joined the channel [03:32] tbranyen: if it isolated all globals per module then i'd consider it solved [03:32] jerrysv: ok, i guess i simplified that a little [03:32] tbranyen: however, i like how it doesn't [03:32] level09_: is node 0.4 considered stable? any high profile comapnies use it on production sites ? [03:33] tbranyen: level09_: github is [03:33] Mkop has joined the channel [03:33] tbranyen: i dunno if they are using 0.4 [03:33] tbranyen: but they are using node to handle downloads [03:33] level09_: for push notifications? [03:33] level09_: ah [03:33] kal_ has joined the channel [03:33] SoreGums: anyone here played with the hook.io framework? http://github.com/Marak/hook.io - what are you using it for/problem being solved? [03:34] chjj: i cant wait til node is ubiquitous just so people stop asking whos using it in production [03:34] level09_: ACTION was wondering the same thing [03:34] kriszyp has joined the channel [03:34] tbranyen: lol [03:34] jesusabdullah: It's still in development SoreGums, but from what I've seen it has a lot of promise [03:34] namelessnotion has joined the channel [03:35] level09_: hook.io description needs a bit of focusing to understand :D [03:35] boehm has joined the channel [03:36] SoreGums: as human i like to compare new stuff to stuff i understand and hoo.io looks like erlang, am i close? [03:36] SoreGums: hook.io* [03:36] Mkop: ACTION is excited about trying to conquer a totally new environment with a totally new programming paradigm.... :-) [03:37] Spion has joined the channel [03:37] jerrysv: soregums: so lolcode? [03:37] jerrysv: er [03:37] caiges has joined the channel [03:37] jerrysv: mkop: so lolcode? [03:38] jerrysv: bob: so lolcode? [03:38] jesusabdullah: SoreGums: I believe Marak is looking to erlang for inspiration, yes [03:38] jerrysv: v8: so lolcode ? [03:38] v8bot: jerrysv: SyntaxError: Unexpected identifier [03:38] Mkop: jerrysv: :-) [03:38] jesusabdullah: jerrysv: I did a homework assignment in lolcode once. [03:38] jesusabdullah: iirc the results were wrong [03:39] jerrysv: jesusabdullah: i meant to leave behind a lolcode interpreter in my last job's templating language, but ran out of time [03:39] jesusabdullah: hah! [03:39] SoreGums: jesusabdullah: sweet - I didn't really pick up erlang, found out about it via CouchDB. now that there is something in js that follows the erlang ideas this is pretty exciting :) [03:39] hippich has joined the channel [03:39] hippich has joined the channel [03:39] chjj: v8: []+1<<8|0x0f&0xff === 15 [03:39] v8bot: chjj: 256 [03:40] chjj: operator precedence why have you forsaken me [03:40] jerrysv: speaking of which, has anyone seen couchdb paired with v8? [03:40] chjj: couchdb can use v8? [03:40] JoshC1 has joined the channel [03:41] hij1nx has joined the channel [03:41] jerrysv: chjj: i dunno - was wondering if anyone had replaced spidermonk with v8 on couch [03:41] devaholic: Starting with v0.5.1 (next week) we will be releasing official node.exe builds. [03:41] devaholic: a quote [03:41] chjj: ! [03:41] Draggor: oooh [03:41] jerrysv: er, spidermonkey [03:41] chjj: node is going to be super popular now [03:41] devaholic: from Mr. Dahl [03:41] stash1 has joined the channel [03:42] devaholic: yea [03:42] tbranyen: chjj: well i hope it gets more popular, i go to bars and nobody wants to talk about node [03:42] tbranyen: i mean come on [03:43] jerrysv: tbranyen: funny, i experienced the opposite [03:43] tbranyen: urgh you have better bars [03:43] level09_: why are associative arrays not recommended in js? or are they? [03:43] tbranyen: i talk to random people about node and they tell me to leave them alone [03:43] tbranyen: level09_: because they don't exist [03:43] brettgoulder has joined the channel [03:43] gkatsev: tbranyen: no, objects are associate arrays [03:43] tbranyen: gkatsev: no they aren't [03:43] BulletBob has joined the channel [03:43] jesusabdullah: jerrysv: https://github.com/jesusabdullah/libtsl/blob/master/kvals.lol [03:43] gkatsev: tbranyen: they are. [03:43] tbranyen: associative arrays have a length and order [03:43] tbranyen: objects have neither [03:43] jerrysv: ha. had a team building exercise that ended at a pub, everyone was asking what we were programming in [03:44] jerrysv: jesusabdullah: nothing off of github is loading for me [03:44] chjj: ecma also doesnt require object properties to be enumerated in insertion order [03:44] jesusabdullah: jerrysv: D: That sucks! [03:44] chjj: so the properties might be out of order [03:44] level09_: tbranyen: how come, I can use myarr['something'] = value [03:44] gkatsev: tbranyen: actually, no, they don't. [03:44] chjj: depending on the engine [03:44] level09_: it seems to work [03:45] jesusabdullah: jerrysv: It's the lolcode I used to calculate conductivities from a guarded hot plate lab [03:45] chjj: v8 used to not go by insertion order, they do now [03:45] Mkop: I have to find a page somewhere that explains all these terms clearly and precisely. e.g. what is js, ecma, v8, node, etc [03:45] tbranyen: gkatsev: well even then, do you really feel comfortable calling an object with properties assigned to an associative array? [03:45] jerrysv: jesusabullah: which is actually something i wanted to see. so double sucks [03:45] tbranyen: gkatsev: you don't think an array should have a length? [03:45] aurynn has joined the channel [03:45] jerrysv: tbranyen: a judy array? [03:46] eee_c has joined the channel [03:46] jesusabdullah: jerrysv: Why can't you see githubs? [03:46] gkatsev: tbranyen: yes, an associate array is a misleading name. It is just a hash/map/dictionary. [03:46] jerrysv: jesusabdullah: no idea [03:46] jerrysv: on node-couch: https://github.com/mabels/nodeoncouch [03:46] tbranyen: gkatsev: also the whole for( whatever in object ) is reallly effed [03:46] jerrysv: as per jchris [03:46] gkatsev: tbranyen: perhaps. But an object IS an associate array. [03:47] jesusabdullah: jerrysv: http://www.pastie.org/2175802 (pasted) [03:47] sleek has joined the channel [03:47] jerrysv: jesusabdullah: ha. awesome [03:47] jesusabdullah: XD [03:49] e6nian: C [03:50] jesusabdullah: If only the results were correct :( [03:50] jesusabdullah: but that device was broken anyway [03:51] jesusabdullah: so who knows? [03:51] eddanger has joined the channel [03:51] apardo: Anyone know when the first book published about node.js ? [03:51] chbrown has joined the channel [03:51] gkatsev: it isn't out yet, I dont think [03:51] jesusabdullah: No idea, though I wouldn't buy a book just on "how2node" necessarily [03:52] Mkop: jesusabdullah: what did your professor say? [03:52] jesusabdullah: Mkop: "These results are incorrect" iirc [03:52] jesusabdullah: He didn't comment on the language choice [03:52] Mkop: what???? [03:52] jesusabdullah: though later, for another lab, he specified matlab [03:52] jesusabdullah: and when I used python I lost a lot of points [03:52] jesusabdullah: Yeah, the guy was totally straightfaced when it came to me trolling him [03:52] jesusabdullah: I did this all the time [03:52] apardo: jesusabdullah, i need a book about how on node [03:52] SubStack: books are silly [03:53] SubStack: apardo: you don't need books [03:53] Mkop: on a first assignment where language wasn't specified, I totally would have given 5 extra credit points for working lolcode [03:53] SubStack: internet is much faster [03:53] jesusabdullah: apardo: If you know how2javascript, then you can just look at the node documentation [03:53] Mkop: although I may have specified matlab for future assignments :-) [03:53] jesusabdullah: which is, last I checked, quite clear and concise [03:53] jesusabdullah: Mkop: That's because you're cooler than Old Man Bargar [03:54] Mkop: anyone who doesn't even comment on an assignment being turned in in lolcode doesn't deserve to have assignments turned in in lolcode [03:54] jesusabdullah: I think what I'd like to see is a book about interesting programming stuff that uses node because it's a good platform for that sort of thing [03:54] apardo: jesusabdullah, and if i need to understand how node works ? [03:55] Mkop: if I were mean, I would write "OMG WTF -5 KTHXBAI" [03:55] Mkop: actually, if I were _really_ mean, I would write "OMG WTF -50 KTHXBAI" [03:55] jesusabdullah: apardo: What do you need to understand, in particular, about how node works? [03:55] Mkop: there are some people who learn things better from books. I happen to not be one of them [03:56] apardo: jesusabdullah, i don't know yet [03:56] jesusabdullah: Hah! [03:56] SubStack: I am too critical for books [03:56] jesusabdullah: I like learning from books as well [03:56] jesusabdullah: I have a few of them! [03:56] jesusabdullah: I just didn't find books helpful for node [03:56] apardo: i like to learn from the masters [03:56] SubStack: books are just one person yammering on and on about how to do stuff [03:56] jerrysv: i read books. i found one in the garage the other day [03:56] SubStack: apardo: no such thing [03:56] jesusabdullah: I used mozilla's javascript webstuffs [03:56] unomi has joined the channel [03:57] Sorella has joined the channel [03:57] jesusabdullah: for learning js in general [03:57] jesusabdullah: node's docs for node-specific stuff [03:57] apardo: jesusabdullah, mozilla js docs are great [03:57] jesusabdullah: github, etc. to find sweet modules and libraries [03:57] SubStack: "the masters" routinely make asinine suggestions [03:57] jesusabdullah: and here to ask questions [03:57] tbranyen: javascript definitive guide is my bible [03:57] SubStack: see also: jslint [03:57] jesusabdullah: Oh, yeah, if you don't believe that, look no further than The Crock [03:57] jerrysv: http://legitimatesounding.com/javascript.jpg [03:58] jerrysv: tbranyen: my bible [03:58] jerrysv: beta edition [03:58] jerrysv: and still going [03:58] tbranyen: jerrysv: ha i have the 4th edition and its great [03:58] jerrysv: substack: jsHINT [03:58] tbranyen: jerrysv: i met david at jsconf, he's a cool dude [03:59] apardo: i have this books too [03:59] jerrysv: tbranyen: you were at jsconf? did you hit nodeconf too? [03:59] apardo: oka guys, thanks for all [03:59] tbranyen: jerrysv: no was too hung over [03:59] tbranyen: :( [03:59] jerrysv: tbranyen: coming for oscon? [03:59] chjj: jslintlint told me jslint was full of fail [03:59] jerrysv: ACTION is native pdx person [03:59] Mkop: jslintlint? [03:59] chjj: yes [04:00] tbranyen: jerrysv: i heard phonegap is having a party for that [04:00] Mkop: well, jslintlintlint told me jslintlint was full of fail [04:00] zeade has joined the channel [04:00] chjj: jslintlintlint is a bunch of bullshit then ;p [04:00] jerrysv: tbranyen: for being a native portlander? that is AWESOME [04:00] ceej has joined the channel [04:00] tbranyen: yeah dude [04:00] Mkop: chjj: true dat [04:00] tbranyen: not a bad deal [04:01] mjijackson: jslint is full of fail [04:01] jesusabdullah: jslintlint? [04:01] jerrysv: jshintlint? [04:01] jesusabdullah: jslinthintlint [04:02] Draggor: Ow my eyes [04:03] skm has joined the channel [04:03] chjj: what mjijackson said ^ [04:03] luke` has joined the channel [04:03] tbranyen: jslint is unreadable heh [04:03] tbranyen: then again most parsers probably are [04:03] chjj: its unreadable because the only things you read are "WTF your vars arent at the top of the scope" [04:05] jobim has joined the channel [04:06] jesusabdullah: v8: (function(s) { s = 'js'; for(;Math.floor(3*Math.random());s+=Math.floor(2*Math.random()) ? 'hint' : 'lint');return s;})() [04:06] v8bot: jesusabdullah: "jslint" [04:06] jesusabdullah: v8: (function(s) { s = 'js'; for(;Math.floor(3*Math.random());s+=Math.floor(2*Math.random()) ? 'hint' : 'lint');return s;})() [04:06] v8bot: jesusabdullah: "jslinthint" [04:06] jesusabdullah: hehe [04:06] jesusabdullah: 140bytes taught me some terrible for trickery [04:07] Aria has joined the channel [04:08] wormphlegm has joined the channel [04:10] cccaldas has joined the channel [04:11] Mkop: v8: (function(s) { s = 'js'; while(!Math.floor(3*Math.random()))s+=Math.floor(2*Math.random()) ? 'hint' : 'lint');return s;})() [04:11] v8bot: Mkop: SyntaxError: Unexpected token ) [04:11] Mkop: v8: (function(s) { s = 'js'; while(!Math.floor(3*Math.random())s+=Math.floor(2*Math.random()) ? 'hint' : 'lint');return s;})() [04:11] v8bot: Mkop: SyntaxError: Unexpected identifier [04:11] chjj: fail! [04:12] chjj: fail! [04:12] chjj: ;p [04:12] Mkop: in any case it is longer than jesusabdullah's [04:12] Mkop: len(while)>len(for) [04:12] SubStack: http://substack.net/images/burrito.png [04:13] jesusabdullah: Yeah, using for instead of while is a golf trick [04:13] jesusabdullah: but I actually like being able to have a bodyless for [04:13] jesusabdullah: it's kinda slick sometimes [04:13] SubStack: for https://github.com/substack/node-burrito [04:13] jesusabdullah: if not exactly "best practices" [04:13] jerrysv: bodyless for? [04:13] jesusabdullah: I actually *did* use a bodyless for once to make something *more* readable [04:13] jesusabdullah: Yeah, nothing in the {}'s [04:13] Mkop: it seems to me like the kinda slickness that makes your head spin. just like functional programming. [04:13] SubStack: I use those pretty often to do counts [04:13] jesusabdullah: ie, for(;condition) [04:13] jesusabdullah: er [04:14] jerrysv: oh, i only use that in gold [04:14] jerrysv: er golf [04:14] jesusabdullah: Yeah, I figured I would [04:14] jesusabdullah: but one time it actually made it better [04:14] Mkop: what is golf? [04:14] SubStack: v8: var xs = [ 4, 5, 6, -3, 6, 7 ]; for (var i = 0; xs[i] >= 0; i++); i [04:14] v8bot: SubStack: 3 [04:14] jesusabdullah: It's when you try to write a piece of functionality in as few characters as possible [04:15] SubStack: or using that as a takeWhile implementation: [04:15] SubStack: v8: var xs = [ 4, 5, 6, -3, 6, 7 ]; for (var i = 0; xs[i] >= 0; i++); xs.slice(0,i) [04:15] v8bot: SubStack: [4,5,6] [04:15] Mkop: explain to me why golf is a worthwhile endeavor, or how it trains your brain in a way you want it to be trained? [04:15] jesusabdullah: Why do people play chess, Mkop? [04:15] SubStack: Mkop: it's lulzy [04:15] Mkop: or is it just one of those things that fries your brain but you don't care because it's fun [04:15] random123 has joined the channel [04:16] mykul has joined the channel [04:16] SubStack: recreation, imagine! [04:16] Mkop: chess trains your brain in good ways [04:16] jesusabdullah: Why do people do crosswords? [04:16] tbranyen: to help take shits [04:16] Mkop: crosswords? because they're bored [04:16] brainproxy: never could/can get into chess, but I like Go [04:16] Mkop: tbranyen: :-) [04:17] Mkop: Go = Othello, right? [04:17] jesusabdullah: The point is, Mkop, it's just a fun little solitaire challenge [04:17] jerrysv: v8 for(var xs=[4,5,6,-3,6,7],i=0;xs[i]>-1;i++)i; [04:17] v8bot: jerrysv: v8 is no longer supported (except in PM). Try v8: or v8> [04:17] Mkop: if so, I'm the same [04:17] jerrysv: v8: for(var xs=[4,5,6,-3,6,7],i=0;xs[i]>-1;i++)i; [04:17] v8bot: jerrysv: 2 [04:17] jerrysv: v8: for(var xs=[4,5,6,-3,6,7],i=0;xs[i]>-1;i++)i+1; [04:17] v8bot: jerrysv: 3 [04:17] Nexxy: chess is a solitaire challenge? ;o [04:17] broofa has joined the channel [04:17] raidfive has joined the channel [04:18] jerrysv: v8: for(var xs=[4,5,6,6,-3,6,7],i=0;xs[i]>-1;i++)i+1; [04:18] v8bot: jerrysv: 4 [04:18] MrTopf has joined the channel [04:18] devaholic: i love chess [04:18] jesusabdullah: Nexxy: <--forever alone ;) [04:18] Nexxy: ME?! [04:18] Nexxy: or you? [04:18] devaholic: i have a pretty good lifetime record in chess ;) [04:18] jesusabdullah: No, that arrow is pointing PAST your nick! [04:19] SubStack: if it were the case that chess trains your brain in otherwise useful ways then we should be able to repurpose chess-playing algorithms for other domains [04:19] jesusabdullah: I was kidding anyway! I was speaking more of code golf than of chess when I said "solitaire" [04:19] SubStack: it's a fun game but I doubt it's applicable to anything else [04:19] jesusabdullah: SPEAKING OF [04:19] jesusabdullah: why do people play Solitaire? [04:19] jerrysv: i'm lost [04:19] jesusabdullah: sol.exe [04:19] Nexxy: jesusabdullah, you should ask my grandma [04:19] jesusabdullah: haha [04:19] Sorella has joined the channel [04:19] Nexxy: every time I go to see her she's playing klondike [04:19] jesusabdullah: I played the shit out of solitaire as a kid [04:20] jesusabdullah: My brother did too [04:20] jesusabdullah: he also got pretty good at minesweeper [04:20] raidfive has joined the channel [04:20] Nexxy: lol [04:20] jerrysv: nexxy: mine played solitaire on cards, but that was before windows [04:20] Mkop: SubStack: not true. it's not only a function of algorithms. chess trains you with patient, logical thought, for example. that's something which isn't extensible as an algorithm but is highly extensible on a personal level [04:20] jesusabdullah: It's funny how people can be so amused with the stock windows games [04:20] Nexxy: jerrysv, lol yeah I'm sure mine did too before we got her a PC [04:20] SubStack: Mkop: citation needed [04:20] Nexxy: there are plenty of aggressive chess players [04:20] jesusabdullah: I think chess is a good game, and a fun mental challenge, but it's really no more special than any other relatively difficult game [04:21] jesusabdullah: You could say the same of Starcraft [04:21] jesusabdullah: but very few people do [04:21] Mkop: Mkop, personal interview, Freenode/#Node.js, July 7, 2011. [04:21] Mkop: MLA formatting and all. [04:21] jesusabdullah: In fact, I suspect that Starcraft would be *more* useful [04:21] jesusabdullah: since, in the year 2020, Predator drones will be controlled with a repurposed mmo-rts interface [04:21] Mkop: just like middle school. you can write crap as long as you cite that some adult told you this crap in a personal interview [04:21] SubStack: hand-eye coordination training in addition to tactics [04:22] jesusabdullah: Our soldiers have uber micro [04:22] Nexxy: Mkop, but can you prove that you're an adult? ;o [04:22] jerrysv: wow. reminds me of a movie ... [04:22] Nexxy: ACTION is onto Mkop  [04:22] SubStack: also node > chess [04:22] chjj: this^ [04:22] Nexxy: node uber alles [04:22] jerrysv: substack: wtf? [04:22] Mkop: define adult.... [04:22] chjj: ! [04:22] Nexxy: do you make groaning noises when you get up or sit down? [04:23] jerrysv: both :/ [04:23] brainproxy: might it depend on where you're sitting down? [04:23] Nexxy: congratulations! you're an adult! [04:23] chjj: was about to ask that [04:23] Nexxy: brainproxy, tmi [04:23] Nexxy: let's not go there [04:23] ryah has joined the channel [04:24] chjj: perfectly legitimate question imo [04:24] chjj: ! [04:24] Nexxy: shhh, act busy [04:24] brainproxy: ryah: thanks for the execScript fix, really appreciate it [04:24] CIA-110: libuv: 03Paul Querna 07master * rdc1d55d 10/ uv-unix.c : If we are only writing or reading a single iovec, use the non-v versions of the calls, so we are hitting the exact same syscalls as non-uv, and it makes dtruss output easier to read. - http://bit.ly/qilWK6 [04:24] ryah: brainproxy: np! [04:24] brainproxy: it's working like a charm [04:24] jerrysv: on that note, i know tmpvar and mikeal are popping in at the end of the month, anyone else hitting oscon and want to meet up? [04:25] Mkop: no groaning noises. I guess that means I'm a child. [04:25] Mkop: does that mean I can skip work tomorrow? [04:25] ryah: im going to oscon [04:26] ryah: i think i'll only be there for the node day [04:26] ryah: but we should go out that night [04:26] chjj: Mkop: youre not a child, youre a fuckin narcotics agent, i knew it [04:26] jerrysv: ryah: trying to grab people for a beer at bailey's - i think you skipped bailey's at oscon [04:26] Mkop: what??? where in the world does that accusation come from?? [04:26] Mkop: but while we're at it, I have Ritalin for sale for cheap...... [04:26] Nexxy: wow chjj, language! [04:27] Nexxy: omfg lol [04:27] Nexxy: ACTION goes afk [04:27] chjj: sorry :( [04:27] alek_br has joined the channel [04:27] Mkop: LOL [04:27] Nexxy: chjj, as long as you know what you did was wrong! [04:28] jerrysv: ryah: gah, nodeconf. too many conferences [04:28] brainproxy: ryah: I'm going to be giving an intro to node talk in St. Louis on July 21; your talks are obviously good ref material, but do you recommend any online/recorded intro talks where you think the presenter did an especially good job? [04:28] brainproxy: iow, I'm looking for multiple sources of inspiration [04:28] ryah: brainproxy: um. i don't know [04:29] brainproxy: for giving the "Hello, Node" demo kind of thing [04:29] brainproxy: ryah: okay, np [04:29] jesusabdullah: Conferences?! [04:29] jerrysv: brainproxy: i liked the 100k part at nodeconf [04:29] jerrysv: jesusabdullah: oscon? [04:29] jerrysv: 10k? 1m? [04:29] jesusabdullah: Not me! [04:30] jesusabdullah: Someday perhaps, but not for a while [04:30] jerrysv: jesusabdullah: should have stayed here a month longer :) [04:30] jesusabdullah: Yeah, mebbs [04:30] jesusabdullah: but Indie Day in Oakland was awesome! [04:30] jesusabdullah: Everyone in the whole city was shooting fireworks [04:31] jesusabdullah: and this kid gave us an M-80 [04:31] jerrysv: jesusabdullah: no comment :) [04:32] jesusabdullah: hehe [04:32] jesusabdullah: s/no comment/SO badass/ [04:32] jesusabdullah: ftfy ^__^ [04:32] jerrysv: ha [04:32] jesusabdullah: I'll probably go back to portland one of these days for something or other [04:33] CIA-110: node: 03Joe Shaw 07master * r3dbb3cd 10/ src/node_net.cc : SendTo and SendMsg expect a buffer only, not a string; fix the error message. Closes #1239. - http://bit.ly/qbv1ir [04:33] Mkop: anyone have an idea for a newbie node.js project? [04:33] SubStack: Mkop: a live code coverage heat map [04:34] Nexxy: ... [04:34] Nexxy: derp [04:34] jerrysv: ooo, that would be neat [04:34] Mkop: should be right for a beginner, right? [04:34] chjj: well, make sure this project is age appropriate guys [04:34] zachwe has joined the channel [04:35] jerrysv: a logo interpreter, implemented in jison on the server-side, and drawn a client-side canvas [04:36] jerrysv: which reminds me, i brought home work. [04:37] mhauri has joined the channel [04:38] Prometheus: hrm [04:38] Prometheus: are there any noticeable differences in performance between .match and .exec? [04:38] Prometheus: (I'm guessing not, but hey..) [04:38] chjj: match is a proxy to exec underneath the surface [04:38] jesusabdullah: Mkop: Use dnode and node-irc to make a web-based irc client. [04:38] SubStack: Prometheus: why would that even matter? [04:38] Prometheus: chjj: so use exec? =) [04:39] jesusabdullah: Mkop: Bonus points if it looks and acts more or less like irssi [04:39] Prometheus: SubStack: it wouldn't, I'm just wondering :) [04:39] chjj: match behaves differently with the "g" flag though [04:39] chjj: they technically do different things [04:39] dgathright has joined the channel [04:39] chjj: but most of the time match will delegate to exec i think, you can look at how v8 implements it [04:39] Mkop: I assume that node plays nicely with sqlite or the like? [04:40] Prometheus: if the v8 code looks anything like what was linked here earlier [04:40] Prometheus: I'll just skip it and take your word for it [04:40] Prometheus: =P [04:40] chjj: no no no, im talking about the stuff thats actually written in js [04:40] Prometheus: ah [04:40] chjj: a lot of the methods are written in js [04:40] chjj: like match [04:40] chjj: all the prototype methods on the global constructors [04:40] chjj: a lot of it is in js [04:40] Prometheus: interesting [04:41] chjj: but you can see that .match delegates to .exec [04:41] chjj: another interesting thing that people dont seem to realize is [04:41] chjj: .slice and .substr are just proxies to .substring [04:41] jesusabdullah: I don't actually know what .exec does [04:41] jesusabdullah: I know what .match does [04:41] jesusabdullah: but, yeah [04:41] chjj: they have different behavior that is layered on of course [04:41] jesusabdullah: sure [04:42] chjj: but substring is technically the fastest [04:42] chjj: if you dont need the behavior of slice [04:42] jesusabdullah: Yeah, but when would you actually notice this speed increase? [04:42] x1337807x has joined the channel [04:42] jesusabdullah: and if you are, you might want to ask yourself wtf you're even doing [04:42] Aria: When you run it in a tight loop. Like in a parser. [04:42] jesusabdullah: tbhirlimo [04:43] chjj: im not saying you should, im just saying thats the way it is [04:43] jesusabdullah: Yeah, that's the only real case I can think of [04:43] chjj: thats the way it is in v8 at least [04:43] chjj: cant say for other js engines, but who cares about them [04:43] augustl has left the channel [04:43] pquerna: NT4. [04:45] tbranyen: spidernode [04:45] tbranyen: also i think substr is faster chjj [04:45] tbranyen: in v8 [04:45] chjj: nope [04:45] tbranyen: p sure it is [04:45] chjj: i thought so too, because everyone was using it [04:45] chjj: and then i wrote benchmarks and looked at v8's code [04:45] chjj: substring is faster [04:46] tbranyen: http://jsperf.com/slice-vs-substr/3 [04:46] tbranyen: looks like you're right [04:46] tbranyen: why even bother using substr i wonder [04:47] Skola has joined the channel [04:47] chjj: its non-standard technically [04:47] tbranyen: yea [04:48] tbranyen: probably predates slice or something [04:49] descipher_ has joined the channel [04:49] epopt37 has joined the channel [04:51] captain_morgan has joined the channel [04:52] CIA-110: node: 03avz 07master * rcc83455 10/ (ChangeLog src/platform_freebsd.cc): sysctl(CTL_HW, HW_PHYSMEM) always returns unsigned long. Will work fine for 32 and 64 bit systems. Closes #1233. - http://bit.ly/quBZ65 [04:53] gwark has joined the channel [04:53] skm has joined the channel [04:55] Mkop: am I the only one who finds it weird that http://www.nodebeginner.org/ is served via apache? [04:55] tbranyen: might be black humor [04:58] Swizec has joined the channel [04:59] ryah has joined the channel [05:00] CrabDude has joined the channel [05:00] baoist has joined the channel [05:03] jesusabdullah: Mkop: If it's a fully static page, then node might not be a good fit for it. [05:04] Mkop: jesusabdullah: then use lighttpd or nginx. why apache? [05:05] jesusabdullah: Why not? It works. [05:05] Dulak has joined the channel [05:06] Mkop: stop being so practical [05:06] Mkop: well, it's 1:00 am. nodebeginner will have to wait until another night [05:06] Mkop: good night y'all [05:06] Mkop: 'twas fun [05:10] superjudge has joined the channel [05:10] gwark has joined the channel [05:18] jakehow has joined the channel [05:18] tmpvar has joined the channel [05:19] Spion_ has joined the channel [05:19] mikedeboer has joined the channel [05:23] radiodario has joined the channel [05:25] SamuraiJack has joined the channel [05:26] temp02 has joined the channel [05:26] Plazma has left the channel [05:27] adrianmg has joined the channel [05:29] googol has joined the channel [05:31] JakeyChan has joined the channel [05:34] elijah has joined the channel [05:35] Xano has joined the channel [05:36] gwark has joined the channel [05:36] mikeal has joined the channel [05:37] adrianmg has joined the channel [05:38] confoocious has joined the channel [05:39] simenbrekken has joined the channel [05:39] CIA-110: libuv: 03Ben Noordhuis 07master * r2b2980e 10/ (eio/config_linux.h ev/config_linux.h): Detect availability of newish linux syscalls by kernel version. - http://bit.ly/nLfoMN [05:42] rchavik has joined the channel [05:42] rchavik has joined the channel [05:43] mandric has joined the channel [05:44] x1337807x has joined the channel [05:47] nodesamurai has joined the channel [05:48] eirikb has joined the channel [05:48] eirikb has left the channel [05:49] jhurliman has joined the channel [05:52] seivan has joined the channel [05:52] wookiehangover has joined the channel [05:52] gwark has joined the channel [05:53] bogomips2_ has joined the channel [05:54] v0idless- has joined the channel [05:59] stephank has joined the channel [06:03] brainproxy: isaacs: around? got time for a REPL mystery? [06:04] JakeyChan has joined the channel [06:05] cjm has joined the channel [06:06] bartt has joined the channel [06:07] SubStack: http://substack.net/posts/eed898 [06:08] syst3mw0rm has joined the channel [06:09] daigo has joined the channel [06:09] squeese has joined the channel [06:09] daigo_ has joined the channel [06:10] SubStack: posted to HN, upboats appreciated! http://news.ycombinator.com/newest [06:10] SubStack: also r/node [06:10] brainproxy: very slick, SubStack [06:12] Skola: upped [06:12] SubStack: \o/ [06:12] Skola: nice [06:13] SubStack: thanks hackers. thackers [06:13] fangel has joined the channel [06:13] Skola: hanks! [06:13] tuhoojabotti: :u [06:13] tuhoojabotti: I didn't really get it, but it seemed to uglify everything for sure. :D [06:14] Skola: heard about this on the nodeup cast [06:14] matwill has joined the channel [06:14] dai5_home has joined the channel [06:16] xNathanEx has joined the channel [06:17] jmoyers has joined the channel [06:19] haha has joined the channel [06:20] jacter has joined the channel [06:20] haha: any? [06:20] Skola: many [06:22] tuhoojabotti: pony [06:26] Skola: what mime type should I use for serving .js files? application/javascript or text/javascript? [06:27] nitram_macair has joined the channel [06:27] madari has joined the channel [06:28] sivy has joined the channel [06:28] guidocalvano has joined the channel [06:31] seawise has joined the channel [06:31] superjudge has joined the channel [06:32] steffan has joined the channel [06:32] `3rdEden has joined the channel [06:37] newy_ has joined the channel [06:37] shapeshed has joined the channel [06:37] newy_: watup all. [06:41] ckknight has joined the channel [06:42] langworthy has joined the channel [06:43] groom has joined the channel [06:45] seivan has joined the channel [06:47] ckknight has joined the channel [06:48] benjaminRRR has joined the channel [06:48] tayy has joined the channel [06:50] shinuza has joined the channel [06:50] skm has joined the channel [06:51] syst3mw0rm has joined the channel [06:56] kytibe has joined the channel [06:56] jacter has joined the channel [06:59] tuhoojabotti: newy_: Work. [07:01] benjaminRRR has joined the channel [07:02] meso has joined the channel [07:02] JKarsrud has joined the channel [07:02] mikl has joined the channel [07:02] mikl has joined the channel [07:07] Astro has joined the channel [07:08] admc has joined the channel [07:08] ivanfi has joined the channel [07:09] topaxi has joined the channel [07:09] neshaug has joined the channel [07:11] cosmincx has joined the channel [07:12] Sami_ZzZ has joined the channel [07:14] sandstrom has joined the channel [07:14] sandstrom has joined the channel [07:14] jacter has joined the channel [07:14] sub_pop has joined the channel [07:14] ryah: SubStack: upped! [07:15] Swizec has joined the channel [07:16] jonasen has joined the channel [07:16] jobim has joined the channel [07:16] SubStack: ^_^ [07:16] brettgoulder has joined the channel [07:16] ablomen has joined the channel [07:17] Prometheus: uppity up :) [07:17] djcoin has joined the channel [07:17] tdegrunt has joined the channel [07:18] tuhoojabotti: What's the AST? :D [07:19] Swizec: tuhaoojabotti you can represent languages as a tree of constructs [07:19] Swizec: that's what AST is [07:19] Swizec: though I can't remember the exact abbreviation to words translation right now [07:20] fangel: abstract syntax tree [07:21] tuhoojabotti: Ok [07:21] tuhoojabotti: tuhaooja indeed :D [07:21] tuhoojabotti: tabcomplete ftw [07:22] tuhoojabotti: Actually, I just googled it, but didn't look at the tab I opened yet. :D [07:22] unomi has joined the channel [07:22] catphive has joined the channel [07:23] seivan has joined the channel [07:24] Aiden_ has joined the channel [07:25] tuhoojabotti: I just don't see any use cases for that :D [07:25] devaholic: SubStack ++ [07:25] Skola: for what? [07:25] tuhoojabotti: Ah [07:26] tuhoojabotti: Last lines [07:26] devaholic: wheres the bot? :/ [07:26] Skola: ast's? :[] :[] [07:26] __doc__ has joined the channel [07:26] SubStack: devaholic: it doesn't recognize spaces before the ++ [07:26] SubStack: `v beers SubStack [07:26] v8bot: SubStack: SubStack has 41 beers. [07:27] Skola: `v beers Skola [07:27] v8bot: Skola: Skola has -1 beers. [07:27] Skola: WHATS DIS [07:27] SubStack: Skola++ [07:27] v8bot: SubStack has given a beer to Skola. Skola now has 0 beers. [07:27] catb0t: Skola now has 1 beer [07:27] SubStack: # all better [07:27] Skola: hurray [07:27] Skola: `v beers Skola [07:27] v8bot: Skola: Skola has 0 beers. [07:27] Skola: :[ [07:27] Skola: better than -1 though [07:27] tuhoojabotti: Skola++ [07:27] v8bot: Skola is getting too many beers. Don't let Skola get drunk! [07:27] catb0t: Skola now has 2 beers [07:28] tuhoojabotti: :P [07:28] tuhoojabotti: What is this catb0t ? [07:28] catb0t: What 's getting in the case of php at least [07:28] tuhoojabotti: :S [07:28] tuhoojabotti: Perhaps I should bring my spambot here too! [07:28] Skola: catb0t is Calvin's reincarnation? [07:28] catb0t: reincarnation Calvin's [07:28] Skola: hahahaha yes it is [07:28] gozala has joined the channel [07:28] tuhoojabotti: (And no, I'm not the spambot) [07:29] tuhoojabotti: No wait this is freenode, I can't [07:29] tuhoojabotti: IRCNet<3 :D [07:29] aliem has joined the channel [07:30] mike5w3c has joined the channel [07:31] JakeyChan has joined the channel [07:31] fille has joined the channel [07:31] fille: hello [07:33] tuhoojabotti: fille: Well, hello to you my dear fille! [07:33] fille: :D [07:33] tuhoojabotti: https://twitter.com/#!/GooglePlusTweet/status/88793732069072896 hoho [07:33] fille: how do i get into google+ [07:34] tuhoojabotti: oh [07:34] tuhoojabotti: unofficial [07:34] fille: its fake, the google [07:34] fille: :( [07:34] fille: tweet [07:34] Swizec: I think I might have the magical ability to invite [07:35] tuhoojabotti: fille: I know. [07:35] tuhoojabotti: I can share messages [07:35] tuhoojabotti: But it's not garanteed to work [07:36] amerine has joined the channel [07:37] fille: i can willl stay with facebook, [07:37] Swizec: I think I invited someone by adding them to a circle [07:37] fille: all google stuff is so messy [07:37] Swizec: as in, they weren't on google+ [07:37] Swizec: now they are [07:37] Swizec: and said I invited them [07:37] Swizec: but I didn't do anything … specific [07:37] fille: google is so complicated [07:37] [AD]Turbo has joined the channel [07:37] [AD]Turbo: hi there [07:38] tuhoojabotti: Swizec: Share a msg, or add them to circle [07:38] fille: dont get an overview with all the google stuff [07:38] fille: add me :D [07:38] Swizec: tuhoojabotti ok so that does the trick? [07:39] tuhoojabotti: Should do. [07:39] tuhoojabotti: But you can still get the "over capacity" msg [07:39] fille: :( [07:39] tuhoojabotti: But my friend got in anyhow by clicking random links. [07:39] tuhoojabotti: Throw me your emails so I can give it a shot :D [07:41] fille: filip.lagerlov@gmail.com [07:41] tuhoojabotti: lagerlov :D [07:41] _aron has joined the channel [07:41] tuhoojabotti: sent [07:42] Skola: ik@basdirks.eu incase you missed my pm :[] [07:42] RC1140 has joined the channel [07:42] fille: thanks ! [07:42] tuhoojabotti: Now thumbs up :P [07:42] tuhoojabotti: Skola: I didn't get any pm. [07:42] jbpros has joined the channel [07:42] adambeynon has joined the channel [07:42] Skola: lamecakez [07:42] fille: got it [07:42] seivan has joined the channel [07:43] fille: cant go futher then the comment [07:43] tuhoojabotti: Yeah [07:43] RC1140: hey all , anyone know how to delete a row with sequelize (for mysql) [07:43] muhqu has joined the channel [07:43] fille: i see your profile [07:43] tuhoojabotti: fille: o.O [07:43] tuhoojabotti: I know you do. [07:44] fille: :D [07:44] fille: minecraft fan? :D [07:44] tuhoojabotti: Why do you ask? [07:44] tuhoojabotti: :u [07:46] fille: im using your friend tecnic , click on everythin! [07:46] Skola: Allmighty tuhoojabotti did you send me? [07:46] tuhoojabotti: Ye [07:46] JoshC1 has joined the channel [07:46] tuhoojabotti: But it might require google account :P [07:46] Skola: hm I have a google account with that e-mail address [07:46] tuhoojabotti: Hmm [07:46] benjaminRRR has joined the channel [07:47] crohr_ has joined the channel [07:47] gozala has joined the channel [07:47] tuhoojabotti: Hmm [07:47] tuhoojabotti: :D [07:47] tuhoojabotti: Skola: Can you change the address you use as the primary address on your googleaccount? [07:47] tuhoojabotti: Perhaps I should change tuhoojabotti@gmail.com -> i@tuhoojabotti.com [07:47] tuhoojabotti: :D [07:47] Skola: I'm not sure :[ [07:47] gozala has joined the channel [07:47] Skola: I signed up with this one [07:48] tuhoojabotti: I'll go look [07:48] sgimeno has joined the channel [07:48] Yoric has joined the channel [07:49] mikedeboer has joined the channel [07:49] fille: i mean facebook is more likte private friends stuff, linkedin buisness , twitter is open, what is google+ [07:49] tuhoojabotti: fille: It's what you want it to be. :D [07:50] fille: but the google profile [07:50] fille: what is that [07:50] pigmej has joined the channel [07:50] tuhoojabotti: huh [07:50] Skola: it's not what I want it to be when people I know want to add me [07:50] tuhoojabotti: took ages to find the google account panel now :D [07:50] Skola: :[ [07:52] gozala has joined the channel [07:52] fille: sorry but skynet have already become aware [07:53] pickels has joined the channel [07:53] unlink has joined the channel [07:53] unlink has joined the channel [07:53] devaholic: fille: explain [07:53] tuhoojabotti: self-aware [07:53] MrTopf has joined the channel [07:54] radiodario has joined the channel [07:55] fille: http://www.wired.com/underwire/2011/04/skynet-becomes-self-aware/ [07:56] seawise_ has joined the channel [07:56] gozala1 has joined the channel [07:57] gozala has joined the channel [07:58] gozala has joined the channel [08:00] ryan[WIN] has joined the channel [08:01] hellp has joined the channel [08:02] adrianmg has left the channel [08:05] StephenFalken has joined the channel [08:06] mikl has joined the channel [08:06] mikl has joined the channel [08:08] mczerkawski has joined the channel [08:11] mange has joined the channel [08:12] markwubben has joined the channel [08:12] thalll has joined the channel [08:14] jborst has joined the channel [08:15] mange has joined the channel [08:16] kbni has joined the channel [08:18] fille: google love when i write negative stuff on my blogg [08:19] darshanshankar has joined the channel [08:19] tuhoojabotti: fille: Hatred is forbidden! [08:19] tuhoojabotti: I read the ToS :D [08:20] fille: i get like 20 % more readers [08:20] fille: but i dont have any loyal readers =( [08:20] tuhoojabotti: I don't see your blog [08:21] fille: its in swedish [08:21] tuhoojabotti: So? [08:21] fille: messed up my theme [08:21] fille: http://www.mindgamemedia.se/ [08:21] tuhoojabotti: Jag tycker om at jag kan inte läsa den [08:21] tuhoojabotti: ;D [08:21] tuhoojabotti: att* [08:22] fille: hahah [08:22] fille: är du svensk= [08:22] tuhoojabotti: No [08:22] tuhoojabotti: I wouldn't want to be either, but better internet connection there :U [08:22] fille: true true [08:22] tuhoojabotti: fille: I'm finnish, you know they force teach us swedish. :S [08:23] fille: i know. and the up north they are buring the swedish flag [08:23] tuhoojabotti: huh? [08:23] tuhoojabotti: fille: Also Google Translator does fair enough on swedish->english [08:23] tuhoojabotti: :D [08:23] fille: true true [08:23] fille: http://www.vasabladet.fi/story/?linkid=154898 [08:24] tuhoojabotti: ah haha [08:25] tuhoojabotti: Hockey championship [08:26] fille: the finish people went over to sweden and burned the swedish flag... [08:27] tuhoojabotti: Ye [08:27] tuhoojabotti: I didn't even watch the match :D [08:27] andree has joined the channel [08:27] tuhoojabotti: Crazy finns ;) [08:28] fille: s:D [08:29] mange has joined the channel [08:29] tuhoojabotti: fille: And yeah, I like Minecraft, in fact I'm running my own server. [08:30] fille: i saw that there is a node.js server [08:30] fille: for minecraft [08:30] fille: does it work? [08:30] tuhoojabotti: dunno lol [08:30] fille: https://github.com/nornagon/nodecraft [08:31] joshontheweb has joined the channel [08:31] tuhoojabotti: Waay ahead of you :D [08:31] fille: hahah [08:32] robhawkes has joined the channel [08:33] narayan82 has joined the channel [08:33] tdegrunt has joined the channel [08:34] adrianmg1 has joined the channel [08:35] fimgolfin has joined the channel [08:36] adrianmg1 has left the channel [08:42] skm has joined the channel [08:44] cjm has joined the channel [08:47] tayy has joined the channel [08:47] Squax has joined the channel [08:52] saurabhverma has joined the channel [08:52] TheJH has joined the channel [08:53] JakeyChan: hi, http://artofthetrench.com, If you do this project with HTML5 + js + nodejs how much should I pay for you ?? [08:53] micheil has joined the channel [08:53] herbySk has joined the channel [08:53] darshan-mobile has joined the channel [08:56] kulor-uk has joined the channel [08:57] gde33 has joined the channel [08:58] andyl has joined the channel [08:58] unomi has joined the channel [08:58] JakeyChan: hi? [08:58] tuhoojabotti: Hello. [08:58] JakeyChan: nobody can do ? [08:59] JakeyChan: http://artofthetrench.com, it is done with flash [09:01] joshontheweb has joined the channel [09:01] tuhoojabotti: It can be done [09:01] Evanlec has joined the channel [09:01] JakeyChan: so how much I should pay if some guy do it ?? [09:03] bzinger has joined the channel [09:04] tuhoojabotti: Over 9000~ [09:04] tuhoojabotti: JakeyChan: Idk. [09:04] JakeyChan: $9000 ? [09:04] tuhoojabotti: Is that your site? [09:04] JakeyChan: no :) [09:04] tuhoojabotti: Why don't you do it yourself? [09:04] markwubben has joined the channel [09:05] shinuza has joined the channel [09:05] JakeyChan: I want to do with other guy, some people can pay for it :) [09:05] JakeyChan: but I can not finish alone :D [09:08] _aron has joined the channel [09:08] jomoho has joined the channel [09:09] squeese has joined the channel [09:09] hybsch has joined the channel [09:09] gozala has joined the channel [09:10] _jhs has joined the channel [09:11] blup has joined the channel [09:11] azeroth____ has joined the channel [09:12] tbassetto has joined the channel [09:13] jvduf has joined the channel [09:15] level09_ has joined the channel [09:17] Jippi has joined the channel [09:20] joshontheweb has joined the channel [09:24] Squax has joined the channel [09:26] Vertice has joined the channel [09:27] Waha has joined the channel [09:28] Badababuba has joined the channel [09:30] seivan has joined the channel [09:31] cognominal has joined the channel [09:34] arnorhs has joined the channel [09:35] FireFly|n900 has joined the channel [09:35] d0k has joined the channel [09:39] Nexxy has joined the channel [09:47] mike5w3c has joined the channel [09:47] febits has joined the channel [09:52] MattJ has joined the channel [09:54] AAA_awright has joined the channel [09:56] dall has joined the channel [09:56] dall: hello friends :) [09:56] Nexxy: hi dall! [09:56] dall: HI Nexxy [09:56] yorick: hello [09:57] Nexxy: HI! [09:57] Nexxy: ;3 [09:57] narayan82 has joined the channel [09:57] dall: hello Yoric [09:57] dall: :D [09:57] dall: guys [09:57] Yoric: hi [09:57] dall: someone use node-mysql ? [09:57] yorick: dall: yorick* [09:57] yorick: I'm not him [09:59] dall: ops :) [09:59] dall: excuse me [09:59] kriszyp has joined the channel [10:00] yorick: dall: yes, it's confusing, blame him [10:00] dall: :) [10:00] dall: ok [10:00] dall: yorick, [10:01] dall: i'm tring to understand if i must to open one single connection when express starts or open/query/close for each request (as i was doing with php-mysql) [10:03] fly-away has joined the channel [10:05] thalll has joined the channel [10:08] yorick: dall: I'm not familiar with express, sorry [10:08] Twelve-60 has joined the channel [10:09] dall: yoav1, ok [10:09] dall: ahahaahh [10:09] dall: :) joking [10:09] dall: yorick, ok no problem [10:09] guidocalvano: hey people, I'm building a game and want to use node for scripting and communication. I want to link it to ogre3d. I'm on mac so i need an application bundle to start ogre. long story short it's probably easiest to link to node as a lib, so im building node as a lib. but... i need to compile it as ia32 architecture. And that gives me an error because I'm compiling for the wrong macosx target [10:09] guidocalvano: so how do i set a different macosx target when I build node? [10:10] guidocalvano: or does someone happen to have a libnode.a for mac in ia32 architecture lying around? [10:11] tayy has joined the channel [10:12] SubStack: cross compiling is hard >_< [10:12] guidocalvano: well im running node on my machine [10:12] guidocalvano: so it has to work [10:12] guidocalvano: that simple [10:13] guidocalvano: but its just not compiling... [10:13] guidocalvano: i can't run x86-64 programs [10:13] guidocalvano: i run a 32bit os [10:13] guidocalvano: and node runs fine [10:15] tahu has joined the channel [10:18] _aron has joined the channel [10:19] larsvegas has joined the channel [10:21] TheJH: stumbled upon a bug in node v0.4.9, could someone check whether it still exists on master? `node -e 'foo'` spits out some bytes of uninitialized memory or so. https://gist.github.com/4a3dec47915ce95bd25c [10:23] tayy has joined the channel [10:24] jonaslund has joined the channel [10:27] FireFly|n900 has joined the channel [10:28] FireyFly has joined the channel [10:32] blup has joined the channel [10:37] JakeyChan has joined the channel [10:44] ukd1_ has joined the channel [10:44] Badababuba has joined the channel [10:46] confoocious has joined the channel [10:47] andyl has joined the channel [10:52] sfoster has joined the channel [10:55] qhead has joined the channel [10:55] iFire has joined the channel [10:59] ukd1_b has joined the channel [10:59] slajax has joined the channel [11:00] Squax has joined the channel [11:00] qhead has left the channel [11:00] burg has joined the channel [11:00] burg: hello. how can i make a post http client request and also send some post data? [11:08] shinuza has joined the channel [11:09] skm has joined the channel [11:09] Emmanuel__ has joined the channel [11:10] mehlah has joined the channel [11:12] steffkes has joined the channel [11:14] sounko: hey really really dumb question [11:14] sounko: just setup a joyent smartmachine [11:14] hdon: burg, figure it out yet? [11:14] sounko: which doesn't allow root ssh [11:14] sounko: so when i login as my admin user, i need to sudo stuff [11:14] sounko: when running node as sudo it works fine [11:15] sounko: but when i run node app.js i get permission denied [11:15] sounko: which is only an issue when trying to use forever start app.js [11:15] hdon: sounko, i bet the very first EPERM you'll get is for trying to bind to a port < 1024 [11:15] burg: hdon, not really. what i am trying is not working (req.write('var=something');) [11:16] sounko: hdon: ah ok that probably makes sense [11:16] sounko: more dumb question, how do i just fix that :p [11:16] sounko: allow ports < 1024 [11:17] hdon: sounko, you won't want to do that globally, but you could have one user, called app or whatever (named after app.js or whatever you want) that could be able to do it [11:17] sounko: yeah i guess :( i mean for production that makes sense [11:17] sounko: but just for me messing around i wanted to do it globally [11:19] hdon: hmm [11:19] sounko: you're absolutely right forever works fine on > 1024 [11:19] sounko: :) [11:19] sounko: i just wanted a hack port 80 for the moment [11:20] hdon: sounko, what kernel do you get on your vm? [11:21] hdon: linux? [11:21] sounko: err i guess :p [11:21] sounko: it's a "smartOS" [11:21] sounko: i haven't even looked [11:22] hdon: sounko, try uname -a [11:22] sounko: SunOS [11:23] hdon: sounko, ah, good :) [11:23] hdon: sounko, http://www.ncftp.com/ncftpd/doc/misc/ephemeral_ports.html#Solaris [11:23] hdon: > Solaris also provides options to change the privileged port range (ports only processes running with superuser privileges can use). [11:24] sounko: you're the best :) [11:24] sounko: thanks so much [11:24] xerox: you can also use some standard httpd to route the requests [11:24] xerox: (or something even more basic) [11:25] sounko: i only got 256mb ram to play with :( i disabled everything i could [11:25] Shrink has joined the channel [11:25] hdon: xerox, heh i was thinking of suggesting something like netcat :D [11:26] hdon: xerox, but i like to find the best solution when i can so i have it in my head next time it comes up :) [11:26] hdon: sounko, here is the information you want http://blogs.oracle.com/tls/entry/solaris_10_non_root_user [11:27] xerox: :))) [11:27] pickels has joined the channel [11:27] sounko: thank you, thank you [11:27] hdon: xerox, i will probably have to use netcat to do this on linux, haha [11:27] hdon: i use solaris at work but linux on a server [11:30] sounko: hah forever automatically picked it up [11:30] sounko: it was running on 8080 [11:30] levi501d has joined the channel [11:30] sounko: and after making the change [11:30] sounko: and reuploading the script on port 80 [11:30] sounko: it all just happened by itself [11:30] sounko: (probably obvious, but still cool) [11:31] dall: nodoby use node-mysql ? [11:31] hdon: sounko, wat [11:31] eee_c has joined the channel [11:31] jbpros has joined the channel [11:35] Wizek has joined the channel [11:38] JoshC1 has joined the channel [11:39] Badababuba has joined the channel [11:39] pdelgallego has joined the channel [11:40] altamic has joined the channel [11:40] sounko: hdon: http://ipch.at/ [11:40] sounko: just ran up a demo nowjs [11:41] sounko: so that was on port 8080 [11:41] sounko: and i just sftp to re-upload the script that was running with forever [11:41] sounko: and since it was overwritten, it just started on port 80 [11:41] sounko: which is cool [11:42] wlkh has joined the channel [11:43] `3rdEden has joined the channel [11:44] hdon: sounko, *click* [11:45] hdon: sounko, some observations: i used name "hdon" for one message, then closed the window and opened a new one, then used "hdon" for name again, and now my name shows as null [11:45] sounko: hahah [11:45] hdon: sounko, also: because you don't have a
, pressing enter in the doesn't do anything [11:45] sounko: it's just the default example for nowjs [11:45] hdon: sounko, what's now.js? [11:45] sounko: i didn't write it [11:46] sounko: a module some guys in here are working on [11:46] sounko: same sort of thing as dnode [11:46] hdon: sounko, i don't know a lot about the node user community [11:46] hdon: ACTION googles dnode [11:46] hdon: ah, i see [11:46] sounko: neither, i'm just poking around [11:46] sounko: i want to put a web front-end on our enterprise software eventually [11:47] sounko: just redirect all I/O via websockets [11:47] hdon: sounko, sounds good :) [11:47] hdon: perfect app for node.js really [11:47] hdon: sounko, what kind of front-end(s) do you already have implemented? [11:47] sounko: yeah, i assume everyone will be doing [11:47] sounko: hahah don't ask [11:48] sounko: think cobol :p [11:48] hdon: sounko, if it's gtk+ there's another route you might take [11:48] hdon: ah.. [11:48] sounko: na man, we're fucked [11:48] sounko: it's actually called SynergyDE [11:48] hdon: so there will be no web GUI just an HTTP interface to some RPC? [11:48] sounko: basically yep [11:48] hdon: ACTION nods [11:49] sounko: replace the shitty old windowing api it currently has [11:49] hdon: we have one or two things like that [11:49] hdon: right now i am trying a data modeling / user interface experiment i have been thinking of for about a month [11:49] sfoster: I'm having issues w. stdin... [11:49] sounko: cool [11:49] sounko: my boss is working on data modelling [11:49] Squax: hey, anyone had the exception thrown using socket.io "(node) warning: possible EventEmitter memory leak detected. 11 listeners added. Use emitter.setMaxListeners() to increase limit" ? [11:49] hdon: about equal parts client-side and server-side work i think [11:50] hdon: sfoster, provide example, platform, node version, test case, etc. [11:50] hdon: sfoster, or.. just explain your problem first :P [11:50] sfoster: hdon: yup, coming up. [11:50] sfoster: I'm trying to get a wizard kind of stdin UI, and probably doing something horribly wrong: http://jsfiddle.net/sfoster/y3cGy/ [11:50] sfoster: node version: v0.5.0-pre [11:50] unlink has joined the channel [11:50] unlink has joined the channel [11:50] sfoster: osx leopard. [11:50] sfoster: snow leopard rather [11:51] matwill has joined the channel [11:51] sfoster: I want to accept multi-line input, so I instruct to type ^D. [11:51] `3rdEden: Squax fixed in master repo [11:51] `3rdEden: will land with next release [11:51] sfoster: that fires the end event.. but then my stdin stream is shut down, and I cant seem to re-open it? [11:51] stepheneb has joined the channel [11:51] `3rdEden: And it's not exception Squax, it's a warning [11:52] boehm has joined the channel [11:52] hdon: sfoster, that's correct. your tty driver (in your kernel) will close your process's stdin when you send EOF (^d) [11:52] Squax: thanks `3rdEden :D [11:52] hdon: sfoster, there's a way around it.. *thinks* [11:52] sfoster: hdon: how else should I signal (as a end-user) that I'm done entering text? [11:53] hdon: sfoster, well some programs have a special string to enter. sendmail ends multiline input when you enter only a line containing a "." [11:53] unomi has joined the channel [11:53] hdon: sfoster, but i am checking out alternatives.. [11:53] sfoster: so re-opening the stdin is not an option huh [11:54] hdon: sfoster, i think by default, no. i think node would have to make a syscall to turn that option off in the tty driver [11:54] hdon: sfoster, obviously many programs catch ^d without closing stdin [11:54] sfoster: maybe I should be looking at the tty module..I think there is one, right? [11:55] sfoster: ACTION grasps at straws [11:58] theCole_ has joined the channel [11:59] hdon: sfoster, what happens if you type space, ^d, enter? [11:59] vikstrous has joined the channel [11:59] hdon: sfoster, i think the tty driver will not close if ^d is not hit at the beginning of the line [12:00] hdon: sfoster, but even that is more keystrokes than .(enter) [12:00] andyl has joined the channel [12:00] sfoster: trying.. [12:01] sfoster: ^D doesn't trigger the on end, its just more data [12:01] sfoster: But yeah I could scan the input for some sequence like that [12:01] hdon: sfoster, well, i guess you could use that.. does eof show up as 0x0a? [12:03] rfay has joined the channel [12:03] Emmanuel__ has joined the channel [12:05] Arkkis has left the channel [12:05] _aron has joined the channel [12:05] broofa has joined the channel [12:07] hij1nx has joined the channel [12:11] fermion has joined the channel [12:11] WrErase has joined the channel [12:13] sfoster: hdon: ok, looks like I can do this by using the tty rawMode and watching for the ^D sequence myself. Lunch, and I'll give it a try. [12:13] sfoster: thanks for you help. [12:13] hdon: sfoster, awesome :) thanks for sharing the solution [12:14] sfoster: When it works works, I'll update the fiddle, or make a gist or something. [12:15] hdon: sfoster, lol, it's funny to see fiddle used for nodejs code. i heard ry is working on Node.js API for Spidermonkey, though. So it might not be too long before a Firefox add-on let's us Node.js inside jsfiddle :D [12:16] hdon: (actually i started working on my own impl, but around the same time i got busy with other stuff, and ry or someone got started taking a very different track toward a Spidermonkey impl) [12:16] kbni has joined the channel [12:16] odfw has joined the channel [12:18] Poetro_ has joined the channel [12:18] Poetro_ has joined the channel [12:18] jshaw has joined the channel [12:18] gozala has joined the channel [12:18] fermion has joined the channel [12:20] Renegade001 has joined the channel [12:20] daigo has joined the channel [12:21] pickels has joined the channel [12:22] kkaefer: how can I delete a directory synchronously? [12:22] kkaefer: (the directory may contain files) [12:23] hdon: kkaefer, by blocking for a long time :P [12:23] fumanchu182 has joined the channel [12:23] kkaefer: any serious ideas? [12:24] Badababuba1 has joined the channel [12:24] hdon: kkaefer, i'm pretty new to node. does node have a synchronous subprocess invocation API? like var helloWorld = process("echo hello world") // "hello world" [12:24] kkaefer: no it does not [12:25] maru_cc_ has joined the channel [12:25] Badababuba1 has joined the channel [12:26] eee_c has joined the channel [12:29] tbassetto has joined the channel [12:29] Badababuba1 has joined the channel [12:31] davidsklar has joined the channel [12:31] okuryu has joined the channel [12:32] narayan82 has joined the channel [12:32] Badababuba has joined the channel [12:32] rauchg has joined the channel [12:34] ditesh|cassini has joined the channel [12:36] Badababuba has joined the channel [12:36] n00b_ has joined the channel [12:37] sreeix has joined the channel [12:39] hdon: hey guys, can v8 not handle syntax like [].forEach ? [12:40] hdon: my program thinks in [].forEach, [] is undefined [12:40] incon: anyone got google+ invites? [12:40] hdon: my program thinks in [].forEach, [] is undefined [12:40] hdon: TypeError: Cannot call method 'forEach' of undefined [12:40] hdon: console.log([].forEach) [12:41] davve: incon: invites are closed [12:41] hij1nx has joined the channel [12:41] incon: davve :( [12:43] Pilate has joined the channel [12:44] hellp has joined the channel [12:44] Squax has joined the channel [12:44] jonasen has joined the channel [12:44] misza222 has joined the channel [12:45] tswicegood has joined the channel [12:46] jbroman: v8: console.log([].forEach) [12:46] v8bot: jbroman: function forEach() { [native cod… [12:47] Badababuba has joined the channel [12:48] ianward has joined the channel [12:48] _aron has joined the channel [12:49] jbroman: v8: [].forEach(function(x) { console.log(x); }); [12:49] v8bot: jbroman: undefined [12:49] brianseeders has joined the channel [12:49] jbroman: hdon: Seems fine. Paste your code somewhere? [12:49] hdon: jbroman, that was it. "console.log([].forEach)" [12:49] hdon: using 0.4.9 [12:49] hdon: the v8 source code is in the node.js source distributions right? [12:50] jbroman: hdon: This works for me in node v0.4.9. [12:50] jbroman: And v8bot gets it right as well. [12:50] jbroman: Yeah, the v8 source is bundled. [12:51] theCole has joined the channel [12:52] grekko has joined the channel [12:52] alim has joined the channel [12:53] theCole_ has joined the channel [12:55] Rollega has joined the channel [12:55] Rollega: hola [12:56] hdon: jbroman, wow, strange [12:56] bbrandon has joined the channel [12:56] hdon: jbroman, even stranger, it works in my repl [12:56] hdon: but: [12:56] mape: anyone remember the parallaxing story thingy on hackernews a couple of days ago? [12:56] hdon: jbroman, sorry i must have done something strange. don't know what mistake i must have made. [12:57] AaronMT has joined the channel [12:58] grekko has joined the channel [13:00] djerry has joined the channel [13:01] stagas_ has joined the channel [13:02] stagas: mape: http://hobolobo.net/ ? [13:03] mape: stagas: thanks! [13:06] [AD]Turbo: I have a string like this 'access_token=186711148052', what is the simplest way to parse the string at the right of access_token ? [13:06] hdon: can anyone recommend a good serializer that can handle circular references? [13:06] stagas: [AD]Turbo: string.split('=')[1] [13:06] hdon: i suppose i could write my own... maybe node has one built in somewhere? [13:06] ngs has joined the channel [13:07] mikl has joined the channel [13:07] ngs has joined the channel [13:08] edude03 has joined the channel [13:09] [AD]Turbo: stagas, many thanks! [13:09] Mrfloyd has joined the channel [13:11] figital has joined the channel [13:11] thomblake has joined the channel [13:12] hebz0rl has joined the channel [13:13] pen has joined the channel [13:14] unomi has joined the channel [13:14] ivanfi has left the channel [13:14] gustavowt has joined the channel [13:14] ngs has joined the channel [13:15] steffkes has joined the channel [13:15] perlmonkey2 has joined the channel [13:15] sreeix has joined the channel [13:16] avalanche123 has joined the channel [13:17] igl has joined the channel [13:18] aheckmann has joined the channel [13:19] sivy has joined the channel [13:19] mehtryx has joined the channel [13:20] hugeh has joined the channel [13:20] huang47_ has joined the channel [13:20] huang47_: how do I compose a http post body? [13:21] huang47_: I tried request.write('key=value') [13:21] huang47_: but unexpected_eos happened always [13:21] hugeh has left the channel [13:21] djerry has left the channel [13:22] al3xnull_ has joined the channel [13:22] adambeynon has joined the channel [13:22] sub_pop has joined the channel [13:26] marty___ has joined the channel [13:27] marty___: hello [13:29] gregoryigelmund has joined the channel [13:29] mehtryx: g'day. Anyone here able to help me (having a "thick" moment) trying to wrap my head around how to use nodeunit or any other unit testing with node.js [13:29] cbiscardi has joined the channel [13:29] jbroman: huang47_: Make sure you supply a valid Content-Type and Content-Length (you can used chunked transfer encoding instead of the latter if you prefer). [13:30] mehtryx: specifically….when they say export functions for testing…do they simply mean recreate it in a test_script.js with the syntax for testing or is there something that "exports" the appropriate pieces to test? [13:30] jbroman: In general, the querystring module is useful for URL encoding post body (as application/x-www-form-urlencoded, which is what HTML forms submit, is URL encoded). [13:30] mike5w3c has joined the channel [13:32] dguttman_ has joined the channel [13:32] robhawkes has joined the channel [13:32] mraleph has joined the channel [13:32] luke` has joined the channel [13:33] Corren has joined the channel [13:33] narayan82 has joined the channel [13:34] sub_pop has joined the channel [13:37] ryanfitz has joined the channel [13:38] brolin has joined the channel [13:38] huang47_: thanks a lot! [13:38] huang47_: it does work! [13:38] huang47_: I tried to setup headers w/ content type and content length [13:38] huang47_: it just works, thanks a lot :) [13:39] grekko has joined the channel [13:39] Charuru has joined the channel [13:40] smtlaissezfaire has joined the channel [13:40] Tidwell has joined the channel [13:41] hippich has joined the channel [13:41] hippich has joined the channel [13:42] ksheurs has joined the channel [13:44] Skola: for a 404 on a .css or .js etc, what do I set content-type to? [13:44] jborst has left the channel [13:45] jetienne has joined the channel [13:45] jbroman: Skola: Most browsers are smart enough that it doesn't matter (many HTTP servers server HTML on all 404s). [13:46] unomi has joined the channel [13:46] Skola: ok [13:46] Skola: and must there be something "in the response"? [13:46] bradleymeck has joined the channel [13:46] mehlah has joined the channel [13:46] Skola: I mean for html I serve an error.html [13:46] Skola: but do I res.write anything for css/js? [13:48] sounko has joined the channel [13:48] jbroman: Skola: I don't think it matters (many web servers serve a full HTML error page in that case as well). You could serve an empty body if you prefer. [13:48] Swimming_bird has joined the channel [13:48] yhahn has joined the channel [13:48] fille has joined the channel [13:49] fille: hello [13:49] Skola: thanks jbroman [13:49] fille: skola is school in swedish [13:49] fille: :D [13:50] Skola: ja and sko is shoe [13:50] scottschecter has joined the channel [13:51] fille: nod [13:51] Skola: blame some drunk finns for my nickname [13:51] fille: :D [13:51] Skola: in fact, blame everything on drunk finns [13:52] fille: yepp,next time they win the icehokey they may even take som land from sweden [13:52] seawise has joined the channel [13:52] fille: time for some node.js/express session [13:53] iori has joined the channel [13:53] kmiyashiro has joined the channel [13:54] dssd07 has joined the channel [13:54] dssd07: hi all [13:54] Determinist has joined the channel [13:54] dssd07: i would like to know if there is an easy and quick way to use a chat app in php [13:54] dssd07: i would also like group chat [13:55] bradleymeck: ask in a php group? [13:55] fille: :D [13:55] dssd07: well node.js in php [13:55] fille: just use socket.io [13:55] fille: and change port [13:58] meat_popsicle has joined the channel [13:58] skript has joined the channel [13:58] brianc has joined the channel [13:59] dssd07: how easy is it to have a node.js chat app running in something like php? [13:59] pHcF has joined the channel [14:00] systemfault_ has joined the channel [14:00] jbroman: dssd07: node.js and PHP are both server-side languages. You cannot run node.js "in" PHP. [14:00] temp01 has joined the channel [14:00] jbroman: dssd07: You could run them both in parallel, but there would probably not be much interaction between node and PHP. [14:01] mikl has joined the channel [14:01] mikl has joined the channel [14:01] fille: node.js is standalone [14:01] dssd07: but users would need to see the chat app as part of my web app (for eg like facebooks chat app) [14:02] mikeycgto has joined the channel [14:02] postwait has joined the channel [14:02] meat_popsicle: nodejs isn't a language [14:02] fille: but he can use the socket.io and implement the required javascript for connection [14:02] dexter_e has joined the channel [14:02] chjj: better solution is to just use node entirely [14:02] fille: inside a webserver? [14:02] chjj: ;) [14:02] fille: yepp :D [14:03] dssd07: so currently im using wamp [14:03] tswicegood has joined the channel [14:03] fille: for the love of god [14:03] Illusioneer has joined the channel [14:03] chjj: i get kind of annoyed by the "node as a side dish" projects =/ [14:03] sstreza has joined the channel [14:04] Emmanuel_ has joined the channel [14:04] Skola: to me it makes little sense, though there must be plenty of use-cases [14:04] dssd07: fille? [14:04] fille: yepp [14:04] fille: why cant u just use a db and make a timer in jquery [14:04] dssd07: what do you mean by use it inside a webserver ? [14:05] fille: no sorry my english is not that good [14:05] dssd07: ok can explain more about ur suggestion of using a db and making a timer in jqeury? [14:05] nibblebot has joined the channel [14:06] fille: yes u can fake everything [14:06] dssd07: how will that work? [14:06] fille: well set a javascript timer [14:06] Skola: Bond 007 you should try to mess around with node a bit [14:06] Skola: see what it can do etc [14:06] fille: :D [14:06] Skola: then it's easier to imagine how it might fit in your plan [14:06] willwhite has joined the channel [14:07] Skola: nodecloud.com nodejs.org nodetuts.com [14:07] p6 has joined the channel [14:07] systemfault has joined the channel [14:07] systemfault has joined the channel [14:07] dssd07: fille i dont understand much about the jquery timer thing (im new to jquery) . Would you know of a good link (tutorial ) to start from? [14:07] xandrews has joined the channel [14:08] fille: dssd07 google is your friend [14:08] Skola: no its not [14:08] Skola: I still have no invite for G+ [14:08] JJMalina has joined the channel [14:08] fille: welcome to the club :D, im still waiting for a diaspora invite [14:08] fille: http://socket.io/ [14:08] fille: checkit out [14:09] CoinOpeBoy has joined the channel [14:09] sub_pop has joined the channel [14:10] dssd07: fille, is that link for me? [14:10] fille: nod. [14:10] dssd07: ok [14:10] fille: its the real deal with node.js chat client [14:10] fille: and other sockets [14:10] dssd07: so u think this would be the fastest way to have chat in a small web app [14:10] dssd07: ? [14:11] noryb009 has joined the channel [14:11] fille: its very easy to make one if u know how to do it [14:11] fille: nothing is easy until you learnd it [14:12] fille: start with just node.js chat client [14:12] fille: then try to implement it in your other websites [14:12] overra has joined the channel [14:13] dssd07: "start with just node.js chat client" , what exactly do you mean by this? [14:13] Skola: nodetuts.com [14:13] Skola: go look [14:13] Skola: has some crap about chat server/client [14:13] trotter has joined the channel [14:13] fille: its not that hard .. [14:14] davemo has joined the channel [14:14] iori has joined the channel [14:14] Corren has joined the channel [14:15] socketio\test\83 has joined the channel [14:15] confoocious has joined the channel [14:15] confoocious has joined the channel [14:18] mikl has joined the channel [14:18] edude03 has joined the channel [14:18] mikl has joined the channel [14:18] fangel has joined the channel [14:18] Emmanuel_ has joined the channel [14:20] kriszyp has joined the channel [14:20] jslatts has joined the channel [14:22] mendel_ has joined the channel [14:24] tdegrunt has joined the channel [14:27] Guest44718 has joined the channel [14:27] Venom_X has joined the channel [14:27] mapleman has joined the channel [14:28] gustavowt has joined the channel [14:28] shinuza_ has joined the channel [14:29] gustavowt: AndyDawson, Its Work (my code, dont example) im something remove the websocket of my transports [14:29] pig has joined the channel [14:29] BillyBreen has joined the channel [14:30] AndyDawson: gustavowt: wrong channel :) [14:30] JoshC1 has joined the channel [14:30] AndyDawson: gustavowt: but since websockets are quite stable, that probably still indicates a problem in the application [14:31] AndyDawson: (just a guess) [14:31] bbttxu has joined the channel [14:31] sonnym has joined the channel [14:33] chrischris has left the channel [14:33] Yoric has joined the channel [14:34] red5 has joined the channel [14:34] red5: is there some way to uninstall node version from OS ? [14:35] jerrysv has joined the channel [14:36] asabil has joined the channel [14:36] mjijackson has joined the channel [14:38] nibblebot: red5: use your package manager or remove the files installed by make if you installed from source [14:38] jtsnow has joined the channel [14:38] red5: nibblebot: thx [14:40] Destos has joined the channel [14:40] colinclark has joined the channel [14:40] huang47_ has left the channel [14:40] sreeix has joined the channel [14:40] smtlaissezfaire has joined the channel [14:41] unomi has joined the channel [14:41] alex__ has joined the channel [14:42] houBin has joined the channel [14:43] cha0s has joined the channel [14:43] cha0s has joined the channel [14:46] infynyxx has joined the channel [14:46] MrTopf_ has joined the channel [14:46] infynyxx has left the channel [14:46] alim has joined the channel [14:47] bermi has joined the channel [14:47] eee_c has joined the channel [14:48] walkingeyerobot has joined the channel [14:48] dmcquay has joined the channel [14:49] eldios has joined the channel [14:49] eldios: hey guys [14:49] eldios: which would be the best way to parse HTML and convert it in plaintext in node? [14:49] tuhoojabotti: regexp! [14:49] tuhoojabotti: ACTION ducks! [14:49] eldios: AAAAARGH [14:49] eldios: :) [14:50] Xano has joined the channel [14:50] fille: whant to extract data from html? [14:50] tuhoojabotti: Use a html parser module :P [14:50] fille: use select-soup module [14:50] tayy has joined the channel [14:50] fille: for a crawler [14:50] wlkh has left the channel [14:50] eldios: not really [14:50] ryah has joined the channel [14:51] eldios: I simply want to strip every trace of HTML from it [14:51] eldios: and put it in simple plain text [14:51] gregoryigelmund has joined the channel [14:51] eldios: I'm trying with libxmljs [14:51] smtlaissezfaire has joined the channel [14:51] fille: aa okej use php strip_tags(string) [14:51] fille: :D [14:51] tuhoojabotti: eldios: HTML !== XML [14:51] eldios: HTML is a stricter XML [14:51] tuhoojabotti: What now? [14:52] eldios: and in fact libxml is an HTML parser [14:52] tuhoojabotti: eldios: I think you got that inverted.. [14:52] eldios: AHAHA [14:52] eldios: sure [14:52] eldios: :) [14:52] tuhoojabotti: XML -> XHTML -> HTML [14:52] eldios: yes yes [14:52] eldios: ofc [14:52] tuhoojabotti: :P [14:53] tuhoojabotti: I use beautifulsoup on python [14:53] pandeiro has joined the channel [14:53] eldios: and I have to also correct myself saying that "libxml is *also* an HTML parser" [14:53] tuhoojabotti: Yeah [14:53] tuhoojabotti: could be [14:53] fille: om good use soup-select for node.js [14:53] eldios: problem is I'm not very interested in all the tree stuff [14:53] tuhoojabotti: soup [14:53] CIA-110: libuv: 03Ryan Dahl 07master * rce8ff30 10/ (342 files in 25 dirs): [14:53] CIA-110: libuv: src/ and include/ directories [14:53] CIA-110: libuv: Helps #71 but does not update the MSVC files. - http://bit.ly/puA1Ei [14:53] CIA-110: libuv: 03Paul Querna 07reorg * rdc1d55d 10/ uv-unix.c : If we are only writing or reading a single iovec, use the non-v versions of the calls, so we are hitting the exact same syscalls as non-uv, and it makes dtruss output easier to read. - http://bit.ly/qilWK6 [14:53] CIA-110: libuv: 03Ben Noordhuis 07reorg * r2b2980e 10/ (eio/config_linux.h ev/config_linux.h): Detect availability of newish linux syscalls by kernel version. - http://bit.ly/nLfoMN [14:53] CIA-110: libuv: 03Ryan Dahl 07reorg * r39596a1 10/ (342 files in 25 dirs): Merge branch 'reorg' - http://bit.ly/nr0FA7 [14:53] eldios: fille, trying it [14:53] dall: guys nobody use MYSQL With node? [14:53] eldios: if I'm not back in 5 minutes that worked out :P [14:53] fille: i use [14:53] RORgasm has joined the channel [14:54] Emmanuel_ has joined the channel [14:54] fille: mysql [14:54] tuhoojabotti: fille: Me too :D [14:54] dall: fille, which node.js module do you use? [14:54] fille: its fucking awsome [14:54] fille: i use the felixge module [14:54] tuhoojabotti: Hmm [14:54] eldios: it's freaking OLD :P [14:54] fille: mysql [14:54] tuhoojabotti: dall: npm install mysql [14:54] tuhoojabotti: :D [14:54] eldios: (mysql) [14:54] replore has joined the channel [14:54] tuhoojabotti: eldios: I'm year older than PHP! :D [14:55] eldios: :) [14:55] fille: use mongodb instead then [14:55] tuhoojabotti: dall: https://github.com/felixge/node-mysql [14:55] tuhoojabotti: It's that one [14:55] dall: fille, instead of mysql ? [14:55] hecticjeff has joined the channel [14:55] dall: nooo...too redundance info [14:55] tuhoojabotti: Works ok for me. [14:56] eldios: felix.. is an hell of a dev [14:56] eldios: =9 [14:56] eldios: =) [14:56] Ramosa has joined the channel [14:56] dall: tuhoojabotti, if i use express...do you think is better to open a conenction for each request or have one persistent connection ? [14:56] fille: no just kiddint as tuhoojabotti said npm install mysql [14:56] ryah: hello world [14:56] fille: felixs module works really good [14:56] tuhoojabotti: dall: I dunno, I cache the calls :D [14:56] eldios: oh. hey there ryah =) [14:56] tuhoojabotti: ryah: Well hello there! [14:56] eldios: \o/ [14:56] tuhoojabotti: 4 minutes and I'm out! :D [14:56] hydrozen has joined the channel [14:56] fille: u been here all day? [14:57] eldios: my question first... how is it today? [14:57] tuhoojabotti: It's 18:00 soon and I work 10:00-18:00 [14:57] dall: tuhoojabotti, btw the module works well ? [14:57] tuhoojabotti: dall: It works for me. [14:57] eldios: ryah: my question first: how is it today? :P [14:57] Jalava_: dall: persistent connection pools are optimal for most cases [14:57] tuhoojabotti: 4minutes is a Korean band too. [14:57] dall: tuhoojabotti, i will use it...i really don't like mongodb design pattern [14:57] tuhoojabotti: hihi [14:57] fille: nice hours [14:57] ryah: eldios: good :) just landed a big reorg of libuv https://github.com/joyent/libuv/commit/ce8ff3031c36b069e1da42b0f3bf0373ca42f2a6 [14:58] tuhoojabotti: What is libuv? [14:58] Illusioneer has left the channel [14:58] eldios: libev for micro$oft [14:58] kmiyashiro has joined the channel [14:58] tuhoojabotti: what is libev? [14:58] eldios: windooze [14:58] tuhoojabotti: :D [14:58] eldios: LOL [14:58] eldios: what makes you happy when you use nodejs [14:58] fille: elite [14:58] dall: Jalava_, but i can only do one query for each connection...so persistent maybe should worst for a lot of queries [14:58] dall: no? [14:59] tuhoojabotti: ah [14:59] eldios: (the lib which let the event loop work, long story short) [14:59] tuhoojabotti: lib event [14:59] Emmanuel_ has joined the channel [14:59] eldios: yup [14:59] tuhoojabotti: that would have satisfied me. [14:59] dall: Jalava_, how to create a pool of connections ? [14:59] grekko has joined the channel [14:59] eldios: but we are generous and cover you with a plentyfull of useless funny answers first [14:59] eldios: =) [14:59] tuhoojabotti: I'm not familiar with all these abbreviations yet. [15:00] Jalava_: dall: well, by creating pool of connection and holding the status of each connection somewhere [15:00] tuhoojabotti: ryah: What is that? [15:00] ryah: tuhoojabotti: libuv? it's libev for windows [15:01] ryah: more or less :) [15:01] eldios: hey! I answered that first! :P [15:01] Jalava_: and then handling cases where you run out of connections, or connection is not released in timely manner [15:01] tuhoojabotti: No not that [15:01] tuhoojabotti: :D [15:01] tuhoojabotti: ryah: The link [15:01] eldios: and my answer was even more funny! [15:01] Sembiance has joined the channel [15:01] ryah: tuhoojabotti: so people can call in to the office hour line [15:01] dall: Jalava_, makes sense but....i only can execute one query with one connection....so how could know what "connection" is unload ? [15:02] Jalava_: dall: because you store the connection to request and when request is complete you release it in final middleware [15:02] jtsnow has joined the channel [15:02] Jalava_: or something like that [15:02] sub_pop has joined the channel [15:02] stepheneb has joined the channel [15:02] tuhoojabotti: ryah: So you answer questions once a week, like customer service? :P [15:02] ryah: tuhoojabotti: yep [15:02] dall: Jalava_, smart [15:02] davidascher has joined the channel [15:02] Jalava_: of course, you should manage your query routing during request also, so you don't do all queries at same time [15:02] tuhoojabotti: Thats enough questions from me [15:03] eldios: at least until there's 1M+ in here [15:03] dall: Jalava_, with middleware is nothing to do with express web framework like, do youmean other? [15:03] eldios: it could become quite a mess after that point [15:03] sbisbee_ has joined the channel [15:03] eldios: anyway we're safe as for now as the chan seems to be stabilized about 600 ppl [15:03] Jalava_: yeah, i'm talking about express style middleware that handles requesting the connection from pool and releasing it [15:04] eldios: (since a lot of months now, btw) [15:04] Mrfloyd has joined the channel [15:04] galaxywatcher has joined the channel [15:06] _sorensen_ has joined the channel [15:06] fille: http://pastebin.com/LNe7atcH [15:06] fille: this is not hte correct way to use mysql? [15:06] tswicegood has joined the channel [15:06] eee_c1 has joined the channel [15:07] gazumps has joined the channel [15:08] hybsch has joined the channel [15:08] noryb009 has left the channel [15:09] mandric has joined the channel [15:10] mAritz has joined the channel [15:11] mikl has joined the channel [15:11] mikl has joined the channel [15:12] mbrevoort has joined the channel [15:13] pifantastic has joined the channel [15:13] baudehlo has joined the channel [15:13] matwill has joined the channel [15:14] pjacobs has joined the channel [15:15] mwilliams_ has joined the channel [15:16] ryah: no one has bugs? :< [15:16] cjoudrey has joined the channel [15:16] mwilliams_ has left the channel [15:16] baudehlo: haven't tried 0.5. [15:16] baudehlo: I should give Haraka a blast on it. [15:18] superjudge has joined the channel [15:18] baudehlo: does it work with clang yet? Last time i tried it would compile but a lot of stuff broke. [15:19] ryah: a few months ago i got node to compile with clang [15:19] ryah: i don't use it day-to-day so it might have fell out of sync [15:19] softdrink has joined the channel [15:19] MrTopf has joined the channel [15:19] briznad has joined the channel [15:20] baudehlo: yeah, it also wasn't easy to get to compile - at least not as easy as CC=clang ./configure [15:20] bshumate has joined the channel [15:21] eldios: oh ryah.. another question (for real this time): I used to use inspect to actually see the code of a Function or the inner specs of an object (say to see which methods, attributes, etc). Now is not working anymore. Am I using it wrong or what? Do you have any suggestion? (I meainly use this in the REPL when the doc of a module is not enough) [15:21] eldios: s/meainly/mainly/ [15:21] ryah: CC=clang CXX=clang+ ./configure && make [15:22] tuhoojabotti: Is there a update script for node? [15:22] ryah: eldios: since when? [15:22] tuhoojabotti: I want update to be as easy as installing was :P [15:22] eldios: I suppose 0.4.8+ as it didn't work in 0.4.9 as I expected [15:22] softdrink: clone, configure, make, make install? [15:22] softdrink: hehe [15:22] eldios: but it could also be that I forgot how I used it and I'm using it wrong now [15:22] ryah: eldios: huh.. i'm not sure i follow - can you give me an example? [15:22] eldios: sure [15:23] ryah: tuhoojabotti: people use "nvm" for that [15:23] vipaca has joined the channel [15:23] vipaca has joined the channel [15:23] ryah: the "node version manager" [15:23] tuhoojabotti: I heard about that [15:24] baudehlo: ryah: I think for some reason that didn't work, but my memory may be hazy. Something about the deps not picking it up. [15:24] baudehlo: or the linker or something [15:25] baudehlo: I should try again instead of speculating :) [15:25] ryah: baudehlo: oh, could be [15:25] eldios: ok.. ryah no problem.. I just figured it out myself [15:25] eldios: I was using it wrong. When I want to inspect a function I use the toString() [15:26] eldios: eg: console.log(process.error.toString()) [15:26] eldios: thank you anyway ^_^ [15:26] tuhoojabotti: Hmm [15:27] tuhoojabotti: Does nvm install to the home folder? [15:27] thalll has joined the channel [15:27] eldios: look if it has a -g option [15:27] eldios: or similar [15:28] ryah: eldios: oh okay [15:28] ryah: cool! [15:28] tjholowaychuk has joined the channel [15:28] pickels has joined the channel [15:28] broofa has joined the channel [15:28] eldios: well glad I gave you an interesting hint :P [15:29] tuhoojabotti: Hmm [15:29] ryah: ACTION is trying to compile node with clang now [15:29] gregoryigelmund has joined the channel [15:30] tjholowaychuk: yay [15:30] tjholowaychuk: clang ftw [15:30] unlink has joined the channel [15:30] unlink has joined the channel [15:30] baudehlo: important since the next version of OSX deprecates gcc. [15:31] tjholowaychuk: does it? interesting [15:31] systemfault: About time imho. [15:31] softdrink: why are they going crazy with clang and llvm? is it for opencl? [15:31] systemfault: softdrink: Licensing. [15:31] ryah: because it's awesome [15:31] ryah: and they spent like 10 years making it :) [15:31] softdrink: true, it /is/ awesome... [15:31] systemfault: softdrink: Since GCC 4.3, GCC is GPL3 and Apple doesn't want it. [15:32] tjholowaychuk: i've been using clang as the main compiler for one of my projects and even just from using clang things are roughly 20% faster [15:32] tjholowaychuk: than gcc [15:32] systemfault: So they've been using a modified version of 4.2... and still do. [15:32] softdrink: good ol' poisonous gpl... [15:32] systemfault: Until clang is "ready" [15:32] systemfault: 4.2 is now prehistoric :/ [15:32] baudehlo: xcode4 uses clang by default. [15:32] CIA-110: libuv: 03Ryan Dahl 07master * r9518ab6 10/ (config-mingw.mk config-unix.mk): Allow user to specify CC env var (CC=clang make) - http://bit.ly/n0HCgV [15:32] jayfresh has joined the channel [15:32] baudehlo: hah. Woot. [15:33] softdrink: apple, plz to give me webgl in ios. now. *sigh* [15:33] systemfault: If the node.js codebase doesn't use some evil GCC-only stuff, it _should_ in theory compile on clang as is [15:34] tjholowaychuk: clang doesn't have first class labels does it? (via flag or something?) [15:34] systemfault: (As Apple created clang to be a drop-in replacement for GCC) [15:34] baudehlo: it does compile on clang - I think it was just problematic because it didn't compile all the deps with clang (or something). [15:34] tuhoojabotti: Where's the changelist for 0.5.0? :P [15:35] tuhoojabotti: oh [15:35] tuhoojabotti: hidden in plain sight [15:35] baudehlo: http://blog.nodejs.org/2011/07/06/node-v0-5-0-unstable/ [15:35] tuhoojabotti: That was for 0.4.9 [15:35] tuhoojabotti: baudehlo: Thanks [15:35] tuhoojabotti: ryah: Update the changelog on the mainsite :D [15:35] justicefries has joined the channel [15:35] Yoric has joined the channel [15:36] baudehlo: nah, I think the main site should keep just stable changes. [15:36] Kakamba has joined the channel [15:36] baudehlo: you don't want people downloading 0.5.0 unless they know what they are doing. [15:37] tuhoojabotti: I have 0.5.0 preview :P [15:37] AntelopeSalad has joined the channel [15:37] ryah: don't tell people but 0.5.0 actually isn't all that unstable [15:37] ryah: With the --use-uv option it is... but that's disabled by default [15:37] larsvegas1 has joined the channel [15:38] ryah: the idea is to have --use-uv turned on by default in the next few weeks [15:38] tuhoojabotti: :P [15:38] c4milo has joined the channel [15:38] Spion has joined the channel [15:38] mange has joined the channel [15:39] Kakamba has left the channel [15:39] Kakamba has joined the channel [15:39] Kakamba has left the channel [15:39] Kakamba has joined the channel [15:40] tjholowaychuk: woot http://blog.llvm.org/2010/01/address-of-label-and-indirect-branches.html [15:40] brettgoulder has joined the channel [15:40] tjholowaychuk: perfect [15:41] baudehlo: will uv be used on *nix too? [15:42] voodootikigod_ has joined the channel [15:42] nphase has joined the channel [15:42] nphase has joined the channel [15:43] ankush has joined the channel [15:43] m0s has joined the channel [15:44] jayfresh: howdy [15:44] tuhoojabotti: Hello [15:44] jayfresh: :) [15:44] Kakamba has left the channel [15:44] Kakamba has joined the channel [15:45] jerrysv has joined the channel [15:46] stephank has joined the channel [15:46] vipaca has joined the channel [15:46] vipaca has joined the channel [15:47] Yuffster_work has joined the channel [15:47] yozgrahame has joined the channel [15:48] bronson has joined the channel [15:50] Squax has joined the channel [15:50] softdrink: ACTION pets jsconsole.com [15:50] iori has joined the channel [15:52] davidascher has joined the channel [15:52] dgathright has joined the channel [15:54] ryah: baudehlo: yes libuv works on all platforms [15:54] ryah: baudehlo: like - on unix it's just a thin wrapper around libev - more or less [15:54] ryah: on windows it is its own event loop system [15:55] voodootikigod has joined the channel [15:55] ryah: For v0.5.1 next week we're going to distribute Windows binaries :) [15:55] jbpros has joined the channel [15:56] taf2: that's really exciting [15:56] caolanm has joined the channel [15:56] ccarella has joined the channel [15:57] eldios: CLANG is not GPL == not interesting [15:57] jj0hns0n has joined the channel [15:57] ryah: the windows port is still really crappy - but it does use IOCP for sockets now [15:58] softdrink: windows can die in a fire [15:58] ryah: the binaries are jsut to start getting into the routine of building them [15:58] Skola has joined the channel [15:58] eldios: softdrink, agree =) [15:59] taf2: cross platform is cool [15:59] squeese has joined the channel [15:59] xandrews has joined the channel [15:59] fille has joined the channel [15:59] stash1 has joined the channel [16:00] eldios: cross platform is cross [16:01] eldios: cool platform is cool [16:01] Kakamba has left the channel [16:01] eldios: =) [16:01] ryah: node is going to be very cross platform - this is a major win [16:01] ryah: we're going to have a whole new swath of users because of it [16:01] necrodearia has joined the channel [16:02] ryah: and new users = more, better modules [16:02] othiym23 has joined the channel [16:02] tjholowaychuk: we'll need some kind of npm ranking system or something [16:02] jerrysv: tj: tried that [16:02] ryah: isaacs is going to go on npm-rewrite duty in like 2 months [16:02] tjholowaychuk: that sort of thing was a little tough with large communities like drupal, trying to wade through the crap [16:02] ryah: once the windows stuff is stablized [16:03] baudehlo: I wonder if we'll need a libnode (dll or whatever) for windows so that someone can wrap it in a windows Service easily. [16:03] taf2: ACTION needs to rework https://github.com/taf2/tiamat to use child_process.fork instead of custom fork [16:03] baudehlo: as nobody is going to want an exe on Windows for a web server. [16:03] ryah: baudehlo: yeah, running it as a service is in the plans [16:03] tjholowaychuk: it would be kinda cool if npm had written reviews or something. "$ npm review express 'it sucks dont use it'" [16:04] ryah: but first we just need to get it running at all [16:04] robertfw has joined the channel [16:04] baudehlo: yes of course :) [16:04] baudehlo: tjholowaychuk: I'd like to see it running tests first :) [16:05] tjholowaychuk: meh [16:05] ryah: ah yes, and tests [16:05] ryah: isaacs has good ideas about tests [16:05] baudehlo: though then nodesters need to come up with some sort of standard for that. [16:06] jerrysv: baudehlo: even if there's just a harness command, and a somewhat standardized output, that should be enough [16:06] kartmetal has joined the channel [16:07] pifantastic has joined the channel [16:07] delian66 has joined the channel [16:08] baudehlo: jerrysv: the problem with that is you can't build something bigger on it (like the perl CPAN testers matrix stuff, which shows you what tests failed on what platforms). [16:08] CIA-110: libuv: 03Bert Belder 07master * r81bb15f 10/ (6 files in 3 dirs): Change msvc projects, more sanity in ares build config on windows - http://bit.ly/pUeLK0 [16:08] saschagehlich has joined the channel [16:08] captain_morgan has joined the channel [16:08] jerrysv: baudehlo: hence the somewhat standardized output -- not just a 1/0 on exit, but a json doc with results [16:08] tjholowaychuk: i think it's too early for that stuff [16:09] tjholowaychuk: like the let's compile on publish thing [16:09] jerrysv: though i guess it is difficult to get agreement on even the simplest things at times [16:09] tjholowaychuk: that was already super annoying [16:09] CIA-110: libuv: 03Bert Belder 07master * rcb07847 10/ src/ares/config-win32.h : Remove obsolete file - http://bit.ly/oA6FAr [16:09] jbpros has joined the channel [16:09] andree has joined the channel [16:09] m0s has joined the channel [16:10] baudehlo: like take a look at an example here: http://static.cpantesters.org/distro/X/XML-LibXML.html [16:10] baudehlo: module authors get to see what is failing on what platforms and what versions of perl. [16:10] baudehlo: (this is kinda why a test library of some sort should probably be in core) [16:11] tjholowaychuk: assert [16:11] tjholowaychuk: is all you need [16:11] _sorensen_ has joined the channel [16:11] TheJH has joined the channel [16:11] TheJH has joined the channel [16:12] Bj_o_rn has joined the channel [16:12] baudehlo: doesn't assert() stop on failure? [16:12] mikl has joined the channel [16:12] tjholowaychuk: it throws [16:12] tjholowaychuk: so what [16:13] tjholowaychuk: I prefer that it just dies [16:13] ralphholzmann: Heyo, running into inconsistent results when running this findOne query against a mongodb [16:13] ralphholzmann: http://pastebin.com/BXNLUvui [16:13] tjholowaychuk: and no test framework will ever work for all cases [16:13] ralphholzmann: i _sometimes_ get a doc, and sometimes get undefined [16:13] Bj_o_rn has left the channel [16:13] ralphholzmann: any glaring problems with that code? [16:13] creationix has joined the channel [16:13] caiges has joined the channel [16:13] tjholowaychuk: i changed expresso to exit on first failure as well [16:13] tjholowaychuk: because otherwise connections stay open blah blah [16:13] tjholowaychuk: and the thing just hangs [16:13] tjholowaychuk: which is even more useless [16:14] baudehlo: tjholowaychuk: yes but for something like say a date/time module, you don't want tests to just stop, especially if you're reading someone else's test report. [16:14] baudehlo: you want to know ALL the test failures, generally. [16:14] tjholowaychuk: sure [16:14] tjholowaychuk: im just saying it wont work [16:14] tjholowaychuk: well [16:14] xandrews has joined the channel [16:15] kartmetal: Is there an equivalent to py2exe in the node.js world? [16:15] tjholowaychuk: and often a single failure will trigger several more etc so it's often more or less irrelevant [16:15] tjholowaychuk: i just want to know if it breaks or not [16:15] systemfault: Hmm, you guy are using "assert" in code like you would do in a testing framework? [16:15] systemfault: I mean, in code, I expect assert to kill the program. [16:15] baudehlo: I'm not. [16:15] baudehlo: I am disagreeing with tj about it :) [16:16] baudehlo: I think with something like TAP and an equivalent of Test::Builder you can build a one-size-fits-all solution. [16:16] tjholowaychuk: not really [16:16] baudehlo: I've never found something I couldn't test with it. [16:17] tjholowaychuk: many of my test suites are extremely different, no test framework works for those [16:17] tjholowaychuk: and test frameworks generally [16:17] tjholowaychuk: suck [16:17] colinclark has joined the channel [16:17] thurmda_ has joined the channel [16:18] baudehlo: I think you just haven't tried hard enough :) [16:18] tjholowaychuk: they just dont fit all cases [16:19] baudehlo: I'll admit they don't do integration testing terribly well most of the time. They're better at unit testing. [16:19] tjholowaychuk: all you need IMO is an exit code, and some stderr that's it [16:19] tjholowaychuk: yeah [16:19] tjholowaychuk: i used expresso for jade and i totally regret it [16:19] tjholowaychuk: i should have used what i did for stylus [16:19] tjholowaychuk: and cluster's would never fit any of these test frameworks [16:20] tjholowaychuk: almost all of my projects lately use little custom things [16:21] baudehlo: I don't really see why they wouldnt fit a test framework. [16:21] industrial: Anyone have an example of how to split controller-y parts into a nicer directory structure (a la rails/frameworkx)? https://github.com/Industrial/node_site/commit/b9073f6a77ea9066bc26b2a56abf6f728f529d6a [16:21] industrial: ehm, with express that is. [16:22] amerine has joined the channel [16:23] industrial: not sure if the way I'm doing it is all that nice :p [16:23] jbpros has joined the channel [16:23] akshatj has joined the channel [16:24] eldios: tjholowaychuk, sorry.. one quick question from your HUGE expertize :) if you have an HTML string and you want to convert it to plain text (not interested in the metadata infos).. how would you do? [16:26] maushu has joined the channel [16:26] JaKWaC has joined the channel [16:27] kartmetal has left the channel [16:27] zeade has joined the channel [16:27] ankush: hi all.. [16:27] gf3: hay redis pros, let's say I have a bunch of objects keyed like tweet: [16:27] gf3: if I had a list of multiple s, can I query redis to return the corresponding tweet: instead of simply the ? [16:27] tjholowaychuk: eldios: im not aware of any node modules that will do that for you [16:27] liar has joined the channel [16:28] tjholowaychuk: eldios: a side from running jquery/jsdom etc. though im sure libxml has that sort of functionality [16:28] gf3: e.g.: thead:1 = 1 2 3 [16:28] gf3: I want to receive: tweet:1 tweet:2 tweet:3 [16:28] gf3: well, the values of tweet:1 etc... [16:28] Cleer has joined the channel [16:29] te-brian has joined the channel [16:29] eldios: tjholowaychuk, ok .. I'm on the right way then.. thank you [16:29] jbroman: gf3: MGET tweet:1 tweet:2 tweet:3 … is the best way I know of, but I am a Redis newbie. [16:30] jetienne has joined the channel [16:31] gf3: jbroman: right, but do you know if I can specify something like a list and a prefix? [16:32] altamic has joined the channel [16:32] altamic has joined the channel [16:33] voodootikigod has joined the channel [16:33] JKarsrud has joined the channel [16:33] joshholt_ has joined the channel [16:34] joshholt_ has left the channel [16:34] towski has joined the channel [16:35] ankush: I am trying to make a websocket server, but i cant understand how to push node.js server code to server. [16:36] japj has joined the channel [16:37] x1337807x has joined the channel [16:38] jtrudeau has joined the channel [16:38] TooTallNate has joined the channel [16:39] jbpros has joined the channel [16:39] fille: what node.js can be a stand alone server [16:40] creationix: ankush: it's slightly dated, but here is one way to deploy http://howtonode.org/deploying-node-with-spark [16:40] creationix: spark isn't needed and cluster is the new spark replacement [16:41] clifton has joined the channel [16:41] creationix: oh, and ignore the ivy stuff [16:42] hij1nx has joined the channel [16:42] fille has joined the channel [16:44] fille: im still using the w3schools... [16:44] zachwe has joined the channel [16:45] Corren has joined the channel [16:45] ryah: i can't figure out how to export env to subprocesses in waf [16:45] AntelopeSalad has joined the channel [16:45] creationix: ryah: that's 'cause waf is evil [16:46] eee_c has joined the channel [16:46] ankush: creationix, what I meant was I can't understand how to deploy a server code. See I have server's code , what should I do so that I can execute this code on server on which dont have root privlidges [16:46] creationix: ankush: what kind of server is it that you don't have root [16:47] creationix: ankush: node is just a normal process [16:47] japj: ankush: is node installed on the server? [16:47] jomoho2 has joined the channel [16:47] guidocalvano has joined the channel [16:47] thalll has joined the channel [16:48] ankush: no..node is not yet installed ... it is a shared hosting.. [16:48] langworthy has joined the channel [16:48] creationix: ankush: it may not be possible depending on how the shared hosting is set up [16:48] zachwe has left the channel [16:48] ekryski has joined the channel [16:48] creationix: ankush: you'll have to build node if it's not on there, the tools may be missing [16:49] creationix: ankush: also, most shared hosts don't allow long-running process [16:49] mjr_: gf3: you cannot, if they are indexed like that. MGET is effectively a list. [16:49] creationix: ankush: and you won't be able to listen on port 80 since it's shared by all the users and is already taken [16:49] ankush: creationix, alright, I get it, so is there any free websocket server ? [16:49] mjr_: gf3: You could also index them in a zset so you could do range queries, which is pretty handy for timeline things like that. [16:50] creationix: ankush: I know some shared hosts have partial support for node, but you'll have to check with them on the specifics [16:50] eventualbuddha_ has joined the channel [16:50] creationix: ankush: the problem is that websockets are new and don't play nice with the architecture that most shared hosts use [16:50] creationix: ankush: now vps hosting works great, but costs a little more [16:51] ankush: creationix, I am not exactly looking for a node.. i just want a websocket for a real time app. [16:51] materialdesigner has joined the channel [16:51] creationix: ankush: [16:51] gf3: mjr_: mhmm, I am thinking of using either a list or sorted-set, however I don't want to store the objects twice [16:51] meat_popsicle_ has joined the channel [16:51] creationix: ankush: right, but because of the nature of websockets, any server that supports them won't be a quick request-response type [16:51] gf3: mjr_: I was just hoping redis had a built-in command to translate a list of IDs to a list of objects [16:51] tuhoojabotti: ryah: I watched your talk :P [16:51] perezd has joined the channel [16:51] creationix: ankush: it's a long held persistent connection between the server and the browser [16:51] ryah: tuhoojabotti: cool :) [16:51] mjr_: gf3: it doens't, but it's super simple to transform a list of IDs into an MGET command [16:52] tuhoojabotti: ryah: You're a terrible typoer. ;) [16:52] ankush: creationix, hmm..yeah..Ive read some info over it, [16:52] tjholowaychuk: gf3 that's the joy of redis, it's just data structs that you stitch together [16:52] ryah: tuhoojabotti: it's hard to type in front of people [16:52] tuhoojabotti: Hehe [16:53] gf3: mjr_, tjholowaychuk: cool cool, thanks guys [16:53] tuhoojabotti: Typing when talking yeah [16:53] creationix: ryah: indeed, my "workshop" at velocityconf turned out to be an hour and a hald of live coding in front of roughly 3000 people [16:53] mjr_: gf3: client.mget(id_list.map(function (id) { return "tweet:" + id }), callback); [16:53] ryah: creationix: 3000? holy crap [16:53] creationix: ryah: and my laptop was not working so I had to borrow one last minute [16:53] `3rdEden has joined the channel [16:54] mjr_: Wow, 3000 is a ton [16:54] creationix: ryah: roughly, maybe as low as 2100, not sure [16:54] gf3: mjr_: heh, I just wrote almost exactly that [16:54] ankush: creationix, so , what should I do, any low cost option ? I wish to build a realtime app, it will not generate much traffic initially, i guess [16:54] creationix: ankush: I'd go for a cheap vps [16:54] mjr_: I've never been to Velocity. Large conferences like that seem like they be a big waste of time. Were they? [16:54] bene has joined the channel [16:54] creationix: the mainstream ones are $20/month [16:54] creationix: but I've heard of cheaper ones [16:54] bene has left the channel [16:55] creationix: ryah: can people buy no.de hosting yet? [16:55] ryah: no [16:55] mjr_: ankush: I've been very happy with these guys: http://chunkhost.com/ They are $19/mo, and have a free trial. [16:55] stash1 has joined the channel [16:55] creationix: yeah, for $20 a month there are several high-quality providers [16:55] creationix: they can handle modest traffic [16:55] mjr_: $19/mo gets you 512MB, which is pretty great. [16:56] tuhoojabotti: My hosting is 35€/y [16:56] creationix: I personally like linode [16:56] tuhoojabotti: :D [16:56] davidascher has joined the channel [16:56] blkcat: linode all the way. :D [16:56] meat_popsicle has joined the channel [16:56] creationix: chunkhost looks nice too [16:56] tmpvar has joined the channel [16:57] mjr_: I have like 5 different VPS instances, and I get the best performance from chunkhost. It probably depends on which physical machine you end up on, and who the other tenants are, so it's hard to compare. [16:57] Prometheus: intovps ;) [16:57] kulor-uk has joined the channel [16:57] mjr_: My linode instance is often really slow. [16:57] creationix: mjr_: I think I got lucky, my instance is really fast [16:58] creationix: mjr_: it's a gamble since the machines are shared [16:58] Prometheus: I find that linode is more often fast than not [16:58] Prometheus: got several clients on there on various servers [16:58] creationix: my slicehost was really slow [16:58] mjr_: I guess the best advice is to drop any account that seems slow, and then keep signing up for new ones until you get a fast one. [16:58] Prometheus: heh [16:58] creationix: mjr_: not a bad idea [16:58] kmiyashiro has joined the channel [16:58] Prometheus: or contact support and tell them that your instance is slow =P [16:58] mjr_: Hmm, my slicehost is slow too. [16:59] Prometheus: maybe they'll move you [16:59] saurabhverma has joined the channel [16:59] perlmonkey2 has joined the channel [16:59] jonaslund has joined the channel [16:59] softdrink: tjholowaychuk: is there a sexy way to do this in stylus? https://gist.github.com/1069978 [16:59] softdrink: does it need to be all on one line or what? [17:00] tjholowaychuk: yeah no multi-line stuff right now really, i need to figure out how to get around the ambiguity [17:00] tjholowaychuk: in some reasonable way [17:01] TheJH_ has joined the channel [17:01] tjholowaychuk: using nib will help with grads though [17:01] tjholowaychuk: the webkit syntax blows [17:01] slajax has joined the channel [17:01] softdrink: nib? [17:01] tjholowaychuk: https://github.com/visionmedia/nib [17:01] captain_morgan has joined the channel [17:01] blkcat: mjr_: i would recommend against slicehost, their price structure is awful [17:01] tjholowaychuk: https://github.com/visionmedia/nib/blob/master/test/gradients.styl [17:01] softdrink: tj, i can't keep up with all of your projects man. XD [17:02] _sorensen_: lol [17:02] _sorensen_: is there a demo page of nib? [17:02] ryah: mjr_ is a ruthless technology user :) [17:02] blkcat: they were probably the best vps a few years ago but they've fallen way behind the competition now. [17:02] tjholowaychuk: those gradients expand to the vendor specifics [17:02] tjholowaychuk: and node-canvas can generate a gradient image for you [17:02] tjholowaychuk: inlined [17:02] tjholowaychuk: as a data uri, looks smoother than the browsers [17:02] softdrink: nifty [17:02] mustakes has joined the channel [17:02] tjholowaychuk: though it has pretty much no docs :( [17:03] creationix: ryah: btw, my live demo at my "workshop" crashed a few times, probably just OSX being retarded [17:03] creationix: ryah: it was a websocket demo where people shared a drawing window [17:03] softdrink: i'll just wrap it in @css{} for now… it's just a stripey gradient for testing anyway [17:03] creationix: had maybe 200-300 users all over local wifi [17:03] ryah: why did it crash? [17:03] creationix: I know one of the reasons was the low ulimit [17:03] industrial: Having a little trouble with https://github.com/Industrial/node_site/blob/master/app.coffee . There's no app defined when I require https://github.com/Industrial/node_site/blob/master/app/users.coffee [17:04] creationix: but I think I raised that properly and it still crashed [17:04] guidocalvano has joined the channel [17:04] creationix: I was live coding so I didn't have much time to debug it [17:04] ankush: what about phpwebsocket? [17:04] creationix: ankush: that doesn't sounds like a good idea, I wonder how it works [17:04] creationix: ankush: php is traditionally used in the short request-response style architecture [17:04] Corren: any recommendations for job postings other than nodejs/stackoverflow/github [17:05] Prometheus: blkcat: blame rackspace for the fall of slicehost =P [17:05] ankush: see, my basic need is websocket, not node.js or socket.io.., so suggest me something [17:05] blkcat: Prometheus: indeed. :\ [17:05] industrial: How do I separate out the controller-y bits with express into separate files? [17:05] DTrejo has joined the channel [17:06] creationix: ankush: yeah, it looks like the phpwebsocker server is also a long-running process outside of apache [17:06] creationix: ankush: so no easier to deploy than node [17:06] creationix: ankush: and probably slower [17:06] perlmonkey2 has joined the channel [17:06] Prometheus: if your choice is between something glued together with php and node.js, it should be a fairly no brainer [17:07] ankush: Prometheus, no, i just need a server implementation for websockets [17:07] creationix: ankush: socket.io+nodejs is the easiest way in any language to deploy a websocket enabled server in any language [17:07] industrial: Why would my require fail on the app var? [17:07] industrial: I defined it before doing the loop and requiring the files [17:07] Prometheus: ankush: do you have preference as far as languages go? [17:07] Prometheus: like creationix said, socket.io+node.js is the easiest way to implement them :) [17:07] micheil: see node-websocket-server for just websocket server, it doesn't do any fall backs [17:07] joshthecoder has joined the channel [17:07] ekryski has joined the channel [17:08] Prometheus: (provided you have to support websocketty connection for non-conforming browsers) [17:08] xandrews has joined the channel [17:08] industrial: hello? [17:08] Robdor has joined the channel [17:08] creationix: ankush: the problem is that you need a internet connected machine that lets you run a long running custom server [17:08] Prometheus: if you just need websockets, then node-websocket-server :) [17:08] creationix: ankush: once you've met that requirement, then you can pick a language and platform [17:08] creationix: ankush: but without it, no language can implement a websocket server [17:09] creationix: ankush: and at that point, node is the easiest platform [17:09] ryah: industrial: can you restate your question - i don't think people really understood it [17:09] ankush: creationix, yes, so how should i check that? [17:10] Prometheus: ankush: do you have a server? [17:10] Prometheus: (whether vps, dedicated..) [17:10] industrial: I'm requiring a file which uses app.namespace and app.get, I get an error about app not existing in the file ./app/users.js, but I've defined the app even before looping and requiring every js file in ./app/. https://github.com/Industrial/node_site/blob/master/app.coffee line 65 [17:11] japj: argh.. why does github not have a mark duplicate bug feature? [17:11] ankush: Prometheus, no, I can always get a free hosting !!! [17:11] Prometheus: :/ [17:11] creationix: industrial: require doesn't set any magic variables [17:12] Prometheus: that explains the php I suppose [17:12] creationix: industrial: it's just an expression, you have to save the result somewhere [17:12] confoocious has joined the channel [17:12] ankush: Prometheus, yes.. you are right.. [17:12] ryah: industrial: yes - what creationix said [17:12] industrial: hm okay, i'd want it to just execute really [17:12] ryah: that should be okay for executing it [17:13] ryah: industrial: BTW you can link to individual lines in github like this: https://github.com/Industrial/node_site/blob/master/app.coffee#L65 [17:13] creationix: industrial: basically it loads the file and evals it inside a function wrapper with a little sugar to get at exported variables [17:13] tjholowaychuk: industrial require './app/' + filename [17:13] sweetd has joined the channel [17:13] tjholowaychuk: needs to change [17:13] Wizek_ has joined the channel [17:14] creationix: industrial: is your error being thrown by the code inside the js file? [17:14] creationix: I mean the js file you're requiring [17:14] ankush: Prometheus, so? do I have enough permissions to install node on a free host? [17:14] tjholowaychuk: he's not passing "app" into it [17:14] jmoyers: sounds like the common mistake coming from php [17:14] jmoyers: or c for that matter [17:14] tjholowaychuk: or grabbing it through the parent module etc [17:14] jmoyers: you need to export app, and then pass app around [17:14] Poetro__ has joined the channel [17:15] Prometheus: ankush: depends on the host, but probably not [17:15] Prometheus: unless you have access to the server over ssh [17:15] dshaw_ has joined the channel [17:15] Prometheus: typically that's not the case, though [17:15] creationix: ankush: dreamhost has articles on how to build custom servers, but it's not well supported and most shared hosts don't like it [17:16] Prometheus: ankush: you could get a free ec2 µ instance from amazon if you signed up for their free plan thing, I think it's still going, but.. [17:16] Prometheus: it's free for a year, and I'm not convinced on reliability of their machinery :) [17:17] Prometheus: and probably has limits on computational hours too, can't remember [17:17] industrial: creationix: yes, in the file I'm requiring [17:17] ankush: ill check tht, i had joyent virtual hosting once, i got it for free.. I had ssh acces to it.. [17:17] tjholowaychuk: industrial you have a few options. module.exports = function(app){ ... }; and require(path)(app) [17:17] vid_ has joined the channel [17:17] industrial: ah [17:17] creationix: industrial: ok, so the problem is that files you require don't have access to the closure scope of the file that requires them [17:17] adrianmg has joined the channel [17:17] jmoyers: ^ [17:17] tjholowaychuk: industrial: or export it in the parent and access it via module.parent or similar [17:17] tjholowaychuk: or have a global "app" [17:18] Prometheus: ankush: yeah, you'll need a machine w/ ssh, but presumably if that's all the server is doing it doesn't need to be very big "instance" :) [17:18] vid_ has joined the channel [17:19] jtrudeau has joined the channel [17:20] DTrejo has joined the channel [17:24] perlmonkey2 has joined the channel [17:25] creationix: ankush: indeed, my $20 linode runs a few small sites (no more than 10,000 hits a day) and it always nearly 100% idle. Though things get interesting when you have a few thousand connections at once via websockets [17:25] iFire has joined the channel [17:27] madsleejensen has joined the channel [17:27] softdrink: coffee-watcher + stylus = static site productivity :D [17:27] softdrink: ACTION sends tjholowaychuk some swedish fish [17:27] Bonuspunk: when will a node.exe be avialable for windows? is it on the roadmap? [17:27] tjholowaychuk: hahaha [17:28] tjholowaychuk: i use makefiles for static sites and watch --interval=1 [17:28] ryah: Bonuspunk: yes [17:28] tjholowaychuk: super basic [17:28] softdrink: … why the hell didn't i think of that? [17:28] tjholowaychuk: watching files is kinda overrated, it's always in development so you kinda might as well just do it with an interval [17:28] tjholowaychuk: and avoid all the other complicated cra [17:28] tjholowaychuk: p [17:29] japj: ryah: would it possible to make some usefull github issue labels to mark bugs with? i.e. platform related issues: freebsd, linux, mac, etc and 'internal module' related issues: https, streams, fs, etc? [17:29] softdrink: do you have a good *practical* makefile reference somewhere? [17:29] ryah: japj: sure [17:29] Bonuspunk: ryah at 0.5.* or at 0.6 ? [17:29] tjholowaychuk: softdrink not for static stuff nope [17:29] ryah: japj: are you able to add labels as a regular user? [17:30] dgathright has joined the channel [17:30] figital has joined the channel [17:30] ryah: Bonuspunk: 0.5.1 - which will be out next week - will be distributed with a windows binary in addition to the normal tar.gz package [17:30] Bonuspunk: yay [17:30] ryah: Bonuspunk: the windows port is still in a very basic state - but it will be enough to test it out [17:30] japj: ryah: nope, and I also can not label an issue, but I can do some issue analysis and send an email to the dev mailinglist ;) [17:31] ryah: we're still about 6-8 weeks away from having a real windows build [17:31] baudehlo: ryah: do you have a list of known stuff that doesn't work? [17:31] ryah: baudehlo: for windows? we have a list f things that do work :) [17:32] baudehlo: heh, shorter list? :) [17:32] embwab has joined the channel [17:32] newy has joined the channel [17:32] mjijackson has joined the channel [17:33] harth has joined the channel [17:33] Mrfloyd has joined the channel [17:33] louissmit has joined the channel [17:33] mjr_: Sure would be nice to get TLS errors like "certificate expired" back in the error callback or somehow. [17:34] ryah: mjr_: that should be possible... [17:34] mjr_: Right now, it just mysteriously closes the connection. [17:35] ryah: mjr_: open an issue with the desired API [17:35] mjr_: Will do. [17:35] vid_ has joined the channel [17:35] mjr_: We just ran into this, mere moments ago with an expired cert. [17:35] ryah: japj: i added some labels [17:35] Hamms has joined the channel [17:36] japj: ryah: I saw that already ;) [17:36] embwab: I can't seem to come up with a decent strategy to reuse private code across projects. [17:36] embwab: I have a folder full of code I want to use in two projects, but I can't publish it on npm (it's private) [17:36] nitram_macair has joined the channel [17:36] japj: ryah: I can do a quick scan for some of the issues, do you want me to mention the numbers here or should I post them to the mailinglist? [17:36] embwab: I don't have a tarball of it (at least, an automatic one). How the heck can I reuse the code across projects without having to manually npm link on every machine? [17:37] ryah: embwab: what i do is have ~/node_modules/private_stuff and ~/node_modules/project1 and ~/node_modules/project2 [17:37] ryah: embwab: in that way require('private_stuff') works [17:37] Wizek has joined the channel [17:37] embwab: ryah: how does that work if you deploy it? do you check them out to the same place? [17:37] ryah: japj: better to post them to the mailing list [17:37] ryah: japj: i tend to get distracted from irc [17:38] embwab: ryah: And that would get weird if you ever broke backwards compatibility in private_stuff, right? [17:38] japj: ryah: I can imagine that happening [17:38] ryah: japj: thanks BTW! this is very helpful [17:39] ryah: embwab: for deployment i would somehow copy private_stuff into project1/node_modules/private_stuff [17:39] ryah: and distribute the whole project1 folder [17:39] robhawkes has joined the channel [17:39] embwab: ryah: how would project1 specify which version of private_stuff it wanted? do you just never break backwards compatibility? [17:39] tdegrunt has joined the channel [17:40] grekko has joined the channel [17:40] ryah: embwab: hm - good question. i don't know... [17:40] ryah: maybe isaacs will have a good solution when he gets here. [17:41] JoshC1 has joined the channel [17:41] skohorn has joined the channel [17:45] skohorn_ has joined the channel [17:45] fangel has joined the channel [17:45] CIA-110: node: 03Ryan Dahl 07master * ra2f2aa9 10/ (186 files in 13 dirs): Upgrade libuv to 9518ab65949257384bf7e407d8502a6437fdda4b - http://bit.ly/o9r3l4 [17:46] jobim has joined the channel [17:46] adrianmg has joined the channel [17:46] bradleymeck_ has joined the channel [17:47] creationix: embwab: I know one solution is you have your own private npm repo [17:47] creationix: it's just couchdb and can replicate with the master repo [17:47] creationix: but that may be too much work [17:50] xandrews has joined the channel [17:51] embwab: creationix: yeah, sounds pretty complicated [17:51] meat_popsicle__ has joined the channel [17:51] embwab: it seems like with git+npm this should be a solved problem. But npm doesn't support git urls, and git submodules are totally lame [17:51] steffan has joined the channel [17:52] Robdor has joined the channel [17:52] bradleymeck_: wish there was a `hub` for npm ... [17:53] btipling: why is valid in node.js? [17:53] isaacs has joined the channel [17:53] embwab: bradleymeck_: not sure what you mean. github is really close, but not for private stuff [17:53] embwab: you can totally solve this problem with github's tarball urls, but they resolve to a 404 for private repos. gah! [17:54] isaacs: embwab: hey [17:54] admc has joined the channel [17:54] meat_popsicle has joined the channel [17:54] bradleymeck_: embwab the `hub` bash command, which helps integrate git with github [17:54] embwab: isaacs: hey Isaacs! Still haven't figured it out.. unfortunately... [17:54] langworthy has joined the channel [17:54] isaacs: embwab: what i usually do is check out all the code and then `npm link` it, or use submodules. [17:55] isaacs: embwab: those are not 100% seamless options, i realize. [17:55] isaacs: embwab: even if you use submodules, you may need to run `npm update` to grab missing deps [17:55] embwab: isaacs: with npm link - works great, but it's not that automatic (npm install on new machines) [17:55] isaacs: embwab: right [17:55] embwab: isaacs: yeah, and git submodules have their own warts (can't even switch branches anymore) [17:55] isaacs: embwab: once you get your machine set up, it's not terrible. [17:55] aah has joined the channel [17:55] newy_ has joined the channel [17:55] embwab: isaacs: i guess I just need to make clone/deploy a little more complicated [17:55] isaacs: embwab: but setting up a new machine is a little bit terrible. [17:56] embwab: isaacs: ok, I thought I must have had something wrong - npm install is so awesome and easy, i figured this would be too :) Thanks for your hard work [17:56] isaacs: embwab: the easiest way to be able to set your stuff up on any new machine is to set up your own repository [17:56] isaacs: *registry [17:56] Skola has joined the channel [17:56] Skola: anyone read Resig's upcoming book yet? any thoughts? [17:56] btipling: the one that's been in development for like 3 years? [17:56] Murvin has joined the channel [17:56] Skola: yes that one [17:56] isaacs: then you publish things into that registry, and the only "setup" you have to do is change the registry config [17:56] aah: anyone using node w/ beanstalk? running into EADDRNOTAVAIL issues, but FD use is well under max and temp port range is huge.. [17:56] isaacs: embwab: npm help registry [17:57] replore has joined the channel [17:57] isaacs: embwab: there's a bit of an up-front setup cost, but the maintenance is pretty easy after that. just do the couchdb continuous replication to always have the latest public stuff, and publsh your private stuff into your private reg [17:57] mjr_: ryah: filed this issue on the TLS thing: https://github.com/joyent/node/issues/1288 [18:00] embwab: isaacs: sounds fun. I may give it a try. couch is exciting :) [18:01] cwalston has joined the channel [18:02] ryah: mjr_: thanks [18:04] Mrfloyd has joined the channel [18:05] mikeal has joined the channel [18:05] jspiros has joined the channel [18:06] japj: mjr_: lol, I was wondering how the tls label got attached to a new issue, but I guess someone here did that already ;) [18:06] TechCel has joined the channel [18:07] dguttman has joined the channel [18:07] Murvin: bnoordhuis: here? [18:07] Murvin: is the node.js example gone from the github site? [18:08] japj: ryah: should https related issues be filed on 'tls' (and not 'http')? [18:08] ryah: japj: let's add an https label [18:09] ryah: done [18:09] broofa has joined the channel [18:10] eee_c1 has joined the channel [18:10] apardo has joined the channel [18:11] mikl has joined the channel [18:11] mikl has joined the channel [18:12] JoshC1 has joined the channel [18:12] narayan82 has joined the channel [18:12] jakehow has joined the channel [18:12] radiodario has joined the channel [18:13] tuhoojabotti: I started writing a game server on node :D [18:13] gxdssoft has joined the channel [18:14] emacsen has joined the channel [18:14] mahna has joined the channel [18:14] Murvin: core developers: are you able to reproduce the socket bug (issue #1176)? just worry that if this leak exist, it will be hard for me to launch the application which has to run long time and serving large volume of request. [18:14] grekko has joined the channel [18:15] temp01 has joined the channel [18:15] Murvin: core developers: quite worry about that leak. [18:16] mikl has joined the channel [18:16] mikl has joined the channel [18:16] springmeyer has joined the channel [18:16] AvianFlu has joined the channel [18:17] CrabDude has joined the channel [18:17] tuhoojabotti: Murvin: ryah is your "core developer" ;) [18:17] puffpio has joined the channel [18:17] taf2: restart your app a lot and run lots of your app :P [18:17] tuhoojabotti: Hmm [18:18] tuhoojabotti: I can't seem to be able to add node-waf to my environment var :P [18:18] tuhoojabotti: fail [18:18] Murvin: i know.. but I know he isn't the guy looking into that particular issue. [18:18] ryah: Murvin: which bug? [18:18] ryah: Murvin: https://github.com/joyent/node/pull/1178 ? [18:19] localhost has joined the channel [18:19] Murvin: ryah: github.com/joyent/node/issues/1176 [18:20] Murvin: ryah: I talked to bnoordhuis before and he told me there are two core guys looking into this issue. however, this is not straight forward to reproduce the problem. [18:21] Murvin: ryah: here is my sample: gist.github.com/1032413 [18:21] joshuaroesslein has joined the channel [18:21] ryah: Murvin: okay - give me a few minutes [18:22] alim has joined the channel [18:24] altamic has joined the channel [18:24] altamic has joined the channel [18:24] Murvin: ryah: sure.. I'm quite worry about that issue. because... if it causing node server crash, then... then I can't prove node.js to the company and my job is in real problem. :( [18:24] muhqu has joined the channel [18:26] tilgovi has joined the channel [18:26] tilgovi has joined the channel [18:26] Murvin: ryah: so there are two issues. please see my comment in gist.github.com/1032413 [18:26] ryah: Murvin: ok. hang in there. [18:27] robert_ has joined the channel [18:27] jerrysv: ryah: part time developer, part time counselor [18:27] galaxywatcher has joined the channel [18:27] pt_tr has joined the channel [18:28] Guest15254: how can i format a string using 8%x [18:28] Guest15254: v8: "hello".toString('8%x'); [18:28] v8bot: Guest15254: "hello" [18:28] Murvin: ryah: thanks [18:29] orospakr: Is there an equivalent to fs.readdir() that returns type and mode information as well? Doing a readdir() and then a stat for each item afterwards seems silly. [18:29] malkomalko has joined the channel [18:29] Guest15254: in PHP I would do sprintf [18:31] drudge has joined the channel [18:31] NHQ has joined the channel [18:31] Bonuspunk: Guest15254 what is the expected result? [18:32] mikey_p: http://stackoverflow.com/questions/610406/javascript-printf-string-format [18:32] NHQ: I'M A NODE DEVELOPER! [18:32] CIA-110: node: 03Ryan Dahl 07master * r8a9fded 10/ (158 files in 13 dirs): complete libuv upgrade. sorry - http://bit.ly/pxi7vN [18:33] NHQ: I'M LOOKING FOR ANOTHER NODE OR FRONT SIDE JAVASCRIPTER! [18:33] Murvin: NHQ: good . congrat. :D [18:33] NHQ: THX! [18:34] TooTallNate: NHQ: Y U NO TURN OFF CAPS LOCK!?! [18:34] NHQ: i love nodejs [18:34] Murvin: NHQ: node jster as pt contract? [18:34] mustakes_ has joined the channel [18:34] NHQ: its hard to get peoples attention that is why :^* [18:35] tshpaper has joined the channel [18:35] emacsen: NHQ, yes, now you have everyone's attention and they think you're an asshole [18:35] vid_ has joined the channel [18:35] adelgado: I love working with assholes! [18:35] justicefries_ has joined the channel [18:36] Murvin: i don't mind as long as assholes pay me $. [18:36] NHQ: btw @tootallnate i'm watching ur itunes thing, pretty neat [18:36] TooTallNate: NHQ: haha, cool. ya it's way better than firing up applescript child processes [18:37] Nuck has joined the channel [18:39] c4til7 has joined the channel [18:39] NHQ: @tootallnate is it within conceivability that it could listen on the itunes streaming port? Does itunes still stream to 3689? [18:41] TooTallNate: NHQ: hmm, I didnt even know iTunes did that! got a link explaining it? [18:42] DoNaLd`: npm ERR! Not compatible with your version of node/npm: express@2.4.2 [18:42] DoNaLd`: npm ERR! Required: {"node":">= 0.4.1 < 0.5.0"} [18:42] DoNaLd`: beee [18:42] NHQ: all the articles I found for it were old, about going into prferences and turning on "itunes music sharing", which you cant't do any more in 10.6 at least [18:43] ryah: npm should work with v0.5.0 [18:43] NHQ: but nonetheless http://support.apple.com/kb/ts1629 [18:43] c4til7: I'm fighting to get node _and_ cloud9 to install and work on CentOS. installed node in to /usr/lib/node/ by mod'ing the instructions (https://github.com/joyent/node/wiki/Installation) and cloud9 via npm. When I try to start cloud9 via bin/cloud9.sh, I'm off down the weird-error rabbit hole. [18:43] AvianFlu_ has joined the channel [18:43] c4til7: Any one willing to look @ the errors & make suggesitons? [18:44] supster has joined the channel [18:44] jsumners has joined the channel [18:44] sreeix has joined the channel [18:46] NHQ: sry i dont use cloud9 [18:48] c4til7: thanks NHQ. Anyone else? [18:48] unomi: c4til7: cloud9 generally prefers to use its own bundled nodejs executable [18:48] creationix has left the channel [18:48] unomi: it is possible it is incompatible with your environment [18:48] unomi: what happens when you do node bin/cloud9.js ? [18:48] c4til7: unomi: yes [18:49] c4til7: This is what I originally get: [18:49] c4til7: Linux 64 bit [18:49] c4til7: ../node_modules/cloud9/bin/cloud9.sh: line 13: support/node-builds-v4/node-linux64: Permission denied [18:49] c4til7: I add the exe bit to those guys and then I started getting this: [18:50] c4til7: Linux 64 bit [18:50] c4til7: support/node-builds-v4/node-linux64: error while loading shared libraries: libssl.so.0.9.8: cannot open shared object file: No such file or directory [18:51] c4til7: It turns out I had 0.9.8e so I symbolic linked back to the 'e' versions on libssl & libcrypt plus some ones with .hmac at the end of the file name [18:51] c4til7: then I ended up with : [18:51] jsumners: does anyone know how to solve this issue? https://github.com/isaacs/npm/issues/1127#issuecomment-1524863 [18:51] bartt has joined the channel [18:52] c4til7: http://webchat.freenode.net/?channels=node.js&uio=d4 [18:52] c4til7: Whoops. This: /lib64/libssl.so.0.9.8: no version information available (required by support/node-builds-v4/node-linux64) [18:52] Kingdutch has joined the channel [18:52] isaacs: jsumners: npm help config and npm help folders ARE documentation. [18:52] jsumners: isaacs, i'm trying to install npm [18:53] isaacs: jsumners: there's also http://nodejs.org/docs/v0.4.9/api/modules.html [18:53] aheckmann has joined the channel [18:53] isaacs: jsumners: the issue that you posted in the original report was that modules npm installs can't be found by require() [18:53] NHQ: <--- node developer + production + publishing upstart network seeks collabos for software medium development || we use #mongo #redis #express jonathon @ nationalheadquarters.org [18:53] muhqu_ has joined the channel [18:53] isaacs: jsumners: you said that npm is getting installed in ~/bin, ~/lib, etc. [18:53] isaacs: right? [18:53] jsumners: no, the issue i reported is the the install process kicked off by `make install` doesn't honor symlinks [18:54] jsumners: yes [18:54] isaacs: jsumners: yeah, that's by design. [18:54] isaacs: jsumners: what would you like it to do? [18:54] jsumners: wtf? [18:54] tayy has joined the channel [18:54] jsumners: i want to install it to ~/bin/nodejs/ [18:55] steffan has joined the channel [18:55] isaacs: jsumners: most of the time that there's a symlink from node's process.execPath to a place in the PATH, it's because the location of the binary itself is volatile. eg, /usr/local/Cellar/node/0.4.8/contents/bin/node [18:55] isaacs: so, npm builds its defaults based on the output of `which node` [18:55] isaacs: not the realpath [18:55] jsumners: that's the problem [18:55] isaacs: jsumners: ok, so you can do ./configure --prefix=~/bin/nodejs [18:55] yozgrahame has joined the channel [18:55] isaacs: jsumners: just like you did with node itslef. [18:56] isaacs: jsumners: or, you can just put `prefix = ~/bin/nodejs` in your ~/.npmrc file (which is all that ./configure does) [18:56] CIA-110: node: 03Ryan Dahl 07master * r6b78b6b 10/ wscript : [18:56] CIA-110: node: Export $CC and $CXX to uv and V8's build systems [18:56] CIA-110: node: Now you can compile with clang by doing [18:56] CIA-110: node: make distclean [18:56] CIA-110: node: CC=clang CXX=clang++ ./configure [18:56] CIA-110: node: make - http://bit.ly/na3ynS [18:56] isaacs: jsumners: you still won't be able to require() modules taht you install globally, though [18:56] taf2: does --prefix=~/ or better --prefix=$HOME/foo/bar so you get full path [18:56] toadflax has joined the channel [18:56] isaacs: taf2: the shell expands ~ in command line args. [18:56] isaacs: taf2: and npm expands it in path configs [18:56] jsumners: isaacs, that generates an error [18:57] carmony_ has joined the channel [18:57] gozala has joined the channel [18:57] isaacs: jsumners: which does? what error? (gist plz) [18:57] jsumners: it wants ~/etc/npmrc which doesn't exist [18:57] isaacs: jsumners: please gist exactly what you did and what the output was. [18:57] isaacs: jsumners: it doesn't have "wants" per se. only behaviors. [18:58] isaacs: ;) [18:59] mde has joined the channel [18:59] c4til7: unomi: I just pulled the git version and bin/cloud9.sh is happily going to town. (lesson: don't use npm for cloud9 I guess) [19:00] _carmony has joined the channel [19:04] colinclark has joined the channel [19:05] jsumners: isaacs, i'm doing this in a VM and it has decided that i don't need a clipboard that works. but it looks like the prefix worked as described [19:05] isaacs: ok [19:05] isaacs: jsumners: you know, there are a few command line gist tools :) [19:05] isaacs: jsumners: they're super handy [19:06] patcito has joined the channel [19:06] jsumners: i don't use git except for when i have to [19:06] jsumners: and only have a github account to keep track of some projects [19:08] gregoryigelmund has joined the channel [19:09] quackquack has joined the channel [19:09] jsumners: okay, so i had node installed to /usr/local/* earlier and decided that was bad. but npm (installed by `curl http://npmjs.org/install.sh | sh`) added packages that could be used globally. how do i replicate this with my user installed configuration? [19:10] tbassetto has joined the channel [19:10] isaacs: jsumners: what is it that you want to do? [19:10] jhurliman has joined the channel [19:10] isaacs: jsumners: that is, what does "could be used globally" mean? [19:10] jsumners: i just want to be able to `npm install foo` and then use 'foo' in random test scripts [19:10] wink_: any of you os x guys familiar with ipfw? im trying to set up a simple port forward, but im a little slow apparently :p [19:10] isaacs: jsumners: please do read `npm help folders` [19:13] telemachus has joined the channel [19:14] alessio_alex has joined the channel [19:14] bnoordhuis has joined the channel [19:15] japj has joined the channel [19:15] jsumners: holy hell, finally got it [19:15] jakehow has joined the channel [19:15] grekko has joined the channel [19:16] meat_popsicle___ has joined the channel [19:17] bogomips2__ has joined the channel [19:18] SamuraiJack has joined the channel [19:18] newy_ has joined the channel [19:18] Tobsn has joined the channel [19:18] japj: did libuv break on mingw? I get a make: cc: Command not found instead of it using gcc [19:19] Skola: oh man, why did I not try something like rs.writeHead (if error? then 404 else 200), 'Content-Type': rsType before.. :[] [19:20] Skola: sucha nublet [19:20] jmoyers: error != 404 [19:20] tjholowaychuk: js doesn't have expressions like that lol wtf [19:20] tjholowaychuk: ?: [19:20] Kingdutch has joined the channel [19:20] tjholowaychuk: oh, is that CS? [19:20] Skola: ja soz shoulda said, it's coffeescript [19:20] tjholowaychuk: :s [19:20] tjholowaychuk: looks so ugly [19:21] Skola: haha [19:21] tjholowaychuk: like vb script [19:21] FIQ has joined the channel [19:21] jmoyers: there are good things in coffeescript. the verbose ternary replacemnt is not one of them [19:21] Skola: what are the pitfalls [19:21] Skola: (readability aside) [19:22] jmoyers: nothing, its just ugly as fuck [19:22] bnoordhuis: japj: where/when exactly do you get that error? [19:22] jmoyers: :-) [19:22] mike5w3c_ has joined the channel [19:22] unlink has joined the channel [19:22] unlink has joined the channel [19:22] Skola: it's preferable to write 3 extra lines? [19:22] Skola: (genuinely curious) [19:23] jmoyers: test ? true : false [19:23] jmoyers: much simpler [19:23] JoshC1 has joined the channel [19:23] japj: bnoordhuis: seperate libuv clone and a make from mingw [19:23] jmoyers: some would argue less readable, i think its a beatiful shorthand myself [19:24] Skola: It's quite neat, just not used to it [19:24] tjholowaychuk: less readable if you are not a programmer maybe [19:24] japj: bnoordhuis: make results in "cc -Iinclude -g --std=gnu89 -D_WIN32_WINNT=0x0501 -Isrc/ares/config_win32 -c src/uv-win.c -o src/uv-win.o" [19:24] thalll has joined the channel [19:24] tjholowaychuk: if you want to cater to people who read books [19:24] Skola: but whatever makes my code more readable for other coders = good [19:24] darshanshankar has joined the channel [19:24] Skola: so if ? : is preferred, good to know [19:24] tjholowaychuk: verbose/more like english != readable [19:24] Skola: agreed, in most cases [19:25] tjholowaychuk: if foo is equal to bar if foo == bar [19:25] jmoyers: right [19:25] tjholowaychuk: ACTION puke [19:25] Skola: if foo is bar === if foo == bar [19:25] flippyhead has joined the channel [19:25] zomgbie has joined the channel [19:25] jmoyers: but one can get lost in a sea of overloaded operators, too [19:25] Skola: in CS [19:25] jmoyers: not in js [19:25] jmoyers: but other languages [19:25] tjholowaychuk: that's why operator overloading is really lame [19:25] jmoyers: c++ goes the complete opposite direction [19:26] bnoordhuis: piscisaureus: check japj's comment [19:26] jmoyers: well thats a narrow view, the c++ guys would say [19:26] japj: bnoordhuis: and node master also broke with a ..\src\cares_wrap.cc:27:22: fatal error: nameser.h: No such file or directory [19:27] japj: bnoordhuis: I think that one is due to an include path issue resulting from moving ares [19:27] japj: bnoordhuis: node tries to include a libuv/ares (private) include file it seems [19:27] bnoordhuis: japj: yes, that's correct [19:28] Skola: the nice (depending how you look at it) thing about CS is that normal operators are fine too [19:28] Skola: so it doesn't need to be so verbose [19:28] gregoryigelmund has joined the channel [19:28] tuhoojabotti: fffuuu [19:28] tuhoojabotti: the game server registration sends OK, but I'm not getting the udp response from it :D [19:29] tuhoojabotti: request* [19:29] japj: bnoordhuis: correct in "it is broken"? or correct in "that is due to the move"? ;) [19:29] tuhoojabotti: I do get request when I try to connect with the game client though [19:29] radiodario has joined the channel [19:29] pdelgallego has joined the channel [19:30] bnoordhuis: japj: correct as in depends on c-ares internals, not as in broken :) [19:30] espressive_ has joined the channel [19:34] guidocalvano has joined the channel [19:34] espressive_: Hey all [19:34] espressive_: Running sock.io over node and have somme questions [19:34] japj: bnoordhuis: moving deps/uv/src/ares/nameser.h to deps/uv/include/ reveals more include dependencies (like inet_net_pton.h), is it building correctly on whatever platform you are currently working on? [19:34] petrjanda has joined the channel [19:36] mustakes has joined the channel [19:36] slajax1 has joined the channel [19:36] techwraith has joined the channel [19:36] espressive_: Please have a look at the following: https://gist.github.com/1070345 [19:36] techwraith: tjholowaychuk: What version of redis does kue need? [19:36] espressive_: I run this file via node and it start up fine. [19:36] jameson has joined the channel [19:37] tjholowaychuk: techwraith anything around 2.x should be fine [19:37] espressive_: Now in an HTML page I have an include like the following [19:37] tjholowaychuk: techwraith i can't recall when zets etc were added so im not sure off hand [19:37] espressive_: [19:37] techwraith: I'm getting Error: ERR unknown command 'watch' [19:37] sfoster has joined the channel [19:37] tjholowaychuk: ah [19:37] tjholowaychuk: hmm [19:37] tjholowaychuk: not sure when that was added [19:38] techwraith: I'm on 2.0 [19:38] tjholowaychuk: 2.1.0 [19:38] tjholowaychuk: i'll add that to the readme [19:38] techwraith: Thanks man [19:38] japj: bnoordhuis: only 3 include files are related, nameser.h, inet_net_pton.h and inet_ntop.h moving them from deps/uv/src/ares/ to deps/uv/include/ solves the issue [19:39] japj: bnoordhuis: but that should probably happen in the libuv repository [19:41] davve: hmm im trying to write a bot with nodejs can someone tell me why this does not work? thanks [19:42] davve: http://pastebin.com/9WV30mny [19:42] temp02 has joined the channel [19:42] jmoyers: ... [19:43] jmoyers: what does "does not work" mean? [19:43] davve: opening a socket [19:43] jmoyers: how do you know its not open? [19:43] jmoyers: you haven't listed a callback there [19:43] jmoyers: connect is (port, host, callback) [19:43] davve: oh [19:44] bnoordhuis: japj: can't verify it, don't have mingw installed - can you open a libuv issue? [19:45] japj: bnoordhuis: sure [19:45] bnoordhuis: japj: i suppose i should install mingw in a vm sometime soon :-/ [19:45] japj: bnoordhuis: does it compile on linux? [19:45] japj: bnoordhuis: you could try crosscompiling with mingw ;) [19:46] bnoordhuis: japj: compiles, yes [19:46] DTrejo has joined the channel [19:47] mAritz has joined the channel [19:48] grekko has joined the channel [19:49] nibblebot: can i use $addToSet with mongoose? [19:50] patcito_ has joined the channel [19:50] springmeyer: hey bnoordhuis - I happen to just have tried installing node 0.5 on centos and hit the issue you just fixed in libuv [19:50] springmeyer: thanks :) [19:50] broofa has joined the channel [19:51] bnoordhuis: springmeyer: what issue was that? [19:51] charlenopires has joined the channel [19:51] springmeyer: https://github.com/joyent/libuv/commit/2b2980e86a46c3e62676c82c06600d09d6aaa18b [19:52] zz_telemachus has joined the channel [19:52] bnoordhuis: springmeyer: ah... that patch contains a bug, that it worked okay was accidental :-/ [19:52] bnoordhuis: kinda embarrassing [19:52] springmeyer: ha, okay, well compile worked at least ;) [19:54] djcoin has joined the channel [19:54] davve: does net.Socket have a incoming event or something to that effect? [19:55] guidocalvano has joined the channel [19:55] Hansy_ has joined the channel [19:56] japj: bnoordhuis: can you commit to the libuv repository (cause the shift fix is not in there yet)? [19:56] jmoyers: davve http://nodejs.org/docs/v0.4.9/api/net.html#event_data_ [19:56] pjacobs has joined the channel [19:56] bnoordhuis: japj: i can since today, i think [19:56] bnoordhuis: japj: btw, is mingw's gcc on your path? [19:57] japj: bnoordhuis: cause I think ryah implied that you could fix it yourself ;) [19:57] temp01 has joined the channel [19:57] japj: bnoordhuis: yes [19:57] pt_tr has joined the channel [19:57] davve: jmoyers: ty [19:57] softdrink has joined the channel [19:57] gxdssoft has joined the channel [19:57] Determinist has joined the channel [19:58] hassox has joined the channel [19:59] Determinist: ok, so what's up with this whole thing with HTTP clients not firing the 'end' event since 0.4.8? [19:59] Determinist: getting really tired of this crap [20:00] Badababuba1 has joined the channel [20:00] mikedeboer has joined the channel [20:02] sbisbee has joined the channel [20:02] puffpio has joined the channel [20:02] jtrally has joined the channel [20:03] jtrally has left the channel [20:03] indutny has left the channel [20:03] alessioalex has joined the channel [20:03] leahculver has joined the channel [20:03] indutny has joined the channel [20:03] alessioalex: does createServer have a callback by the way? [20:04] darshanshankar has joined the channel [20:05] japj: bnoordhuis: apparently the following commit broke mingw/gcc support in libuv https://github.com/joyent/libuv/commit/9518ab65949257384bf7e407d8502a6437fdda4b [20:05] dgathright_ has joined the channel [20:05] igl1 has joined the channel [20:06] grekko has joined the channel [20:07] CIA-110: libuv: 03Ben Noordhuis 07master * ra74f339 10/ (src/eio/config_linux.h src/ev/config_linux.h): Fix linux syscall detection. - http://bit.ly/oAARla [20:07] saurabhverma has joined the channel [20:08] creationix has joined the channel [20:08] wadey has joined the channel [20:08] creationix has left the channel [20:09] al3xnull has joined the channel [20:09] kunal has joined the channel [20:09] bnoordhuis: japj: what happens if you compile with `make CC=gcc`? [20:10] kunal: hey Guys.. I there anyway I can call a js function in a cpp module? Basically I want to read a file from S3 using knox and want that file contents in cpp module [20:10] alim has joined the channel [20:10] epopt37 has joined the channel [20:11] japj: bnoordhuis: then everything compiles ok, so the CC ?= $(PREFIX)gcc is not working in my make [20:11] japj: bnoordhuis: $ make -v GNU Make 3.81 [20:12] japj: bnoordhuis: from the year 2006 or so it seems [20:12] bnoordhuis: japj: yeah, same make i use [20:12] bnoordhuis: make isn't updated that often anymore [20:12] bnoordhuis: i think i know what the issue is [20:12] mikeal has joined the channel [20:12] techwraith: tjholowaychuk: Got the proper redis version runnning now. But I can't seem to create any jobs. I don't have any errors or anything, but when I go to the app via browser, I don't see any jobs. [20:13] tjholowaychuk: techwraith hmm that's odd.. [20:13] tjholowaychuk: any errors in the browser's console? [20:13] techwraith: tjholowaychuk: nope. [20:14] gartenstuhl has joined the channel [20:14] techwraith: tjholowaychuk: Do you have an example job creation/processing script that I can use to see if I have this thing working? [20:14] nibblebo_ has joined the channel [20:14] tjholowaychuk: there's some in the readme [20:14] tjholowaychuk: I probably shouldn't be using redis from source though [20:14] tjholowaychuk: but I'm not using anything special [20:14] tjholowaychuk: command-wise [20:15] techwraith: tjholowaychuk: This should work, right? https://gist.github.com/1070442 [20:15] Intel_iX has joined the channel [20:16] nibbleb__ has joined the channel [20:16] japj: kunal: if you really want to do something in cpp from node then you need to write an addon using the v8 api, but what do you need to do in cpp that can not be done in node? [20:16] Intel_iX: Is there any way to increase the size of the V8 heap, or make buffers use a larger non-v8 heap? [20:16] infynyxx has joined the channel [20:16] techwraith: tjholowaychuk: Then I just have another process running that starts the app server [20:16] tjholowaychuk: techwraith it might be the id [20:16] japj: bnoordhuis: the suspense is killing me.... what do you think it is? ;) [20:16] tjholowaychuk: clashing with job.id [20:16] techwraith: Ah [20:16] Intel_iX: I need to store a database in RAM/swap. [20:16] tjholowaychuk: that's my guess [20:17] tjholowaychuk: if that's the case I'll use ._id [20:17] bnoordhuis: japj: ?= assigns unless the variable is already set [20:17] techwraith: tjholowaychuk: Just did that, I still don't seem to be processing jobs [20:17] tjholowaychuk: hmm [20:17] tjholowaychuk: looks totally fine to me [20:18] kunal: japj, i m writing a binary file which has a specific format [20:18] jerrysv: intel_ix: safely? or alpha code? :) [20:18] kunal: japj, little endian [20:18] bnoordhuis: japj: and make considers a var set even if it's empty - so i suspect make auto-defines CC='cc' [20:18] Intel_iX: Not sure what you mean. [20:18] JoshC1 has joined the channel [20:18] Intel_iX: Hopefullly something that doesn't throw std::badalloc [20:18] ekryski has joined the channel [20:18] Murvin: is there any known issue of installing npm on ubuntu 10.10? [20:18] stepheneb_ has joined the channel [20:19] jerrysv: intel_ix: have you considered using something like memcache or redis for your storage? [20:19] japj: bnoordhuis: sigh [20:19] Murvin: my coworker try to "npm install express" but it doesn't install to the same /usr/local/lib/node/.npm directory.. it try install into /usr/local/node_modules but nothing get installed.. [20:19] bnoordhuis: japj: and the reason why it didn't break on linux is that /usr/bin/cc is a symlink to /usr/bin/gcc :) [20:19] alim_ has joined the channel [20:20] puffpio has joined the channel [20:20] harth has joined the channel [20:20] japj: bnoordhuis: I was suspecting something like that yes ;) [20:20] techwraith: tjholowaychuk: :( [20:20] Intel_iX: never heard of memcache, link? [20:20] Intel_iX: redis isn't quite what I need [20:20] jerrysv: intel_ix: http://memcached.org/ [20:21] red5 has joined the channel [20:21] tjholowaychuk: techwraith what's that gist again? I'll try it [20:21] tjholowaychuk: in a min [20:21] Intel_iX: Er no, that isn't what I need [20:21] techwraith: https://gist.github.com/1070442 [20:21] infynyxx has joined the channel [20:21] Murvin: Intel_iX: you should also look into APC cache. if you need caching across multiple servers, the approach of using memcache and apc are different. [20:21] Intel_iX: I need to store binary data in ram [20:21] red5: is there some example to create a web app using "express" ? [20:22] emacsen: red5, ltgtfy [20:22] kevwil has joined the channel [20:22] Murvin: red5: expressjs.com [20:22] red5: ? [20:22] jerrysv: intel_ix: if you're attempting to store binary data in ram, with fast access, unless you have some very special needs you're probably better off storing it externally [20:22] stepheneb__ has joined the channel [20:22] jerrysv: intel_ix: so i guess the real question is: what's the problem you are trying to solve? [20:23] Intel_iX: No, the program needs to work without any tcp connections at all. [20:23] tjholowaychuk: red5 the repo has a bunch of examples [20:23] Intel_iX: Which is the big problem. [20:23] jerrysv: no tcp connections at all? even to the local host? how about sqlite? [20:23] red5: Murvin: ok. do u know some text describing how to build a full application ? [20:23] Intel_iX: Not even localhost. [20:23] japj: kunal: couldn't you just stream the s3 data through node to disk while knox gets it? [20:23] Intel_iX: Also, it has to be random acesss binary data. [20:23] isaacs: Murvin: you and your coworker have different versions of npm, i'm guessing [20:24] Intel_iX: Would be a buffer... but they have horrible size limits. [20:24] jerrysv: intel_ix: and why are you doing this in node? [20:24] techwraith: tjholowaychuk: It should be ok to have these things in different processes, right? (the app server and the job server) [20:24] techwraith: tjholowaychuk: also, in case you missed it: https://gist.github.com/1070442 [20:24] Murvin: red5: depending on what you need. but you can go to github.com search for express. and you can see la lot of examples [20:24] tjholowaychuk: techwraith yeah definitely, it runs with cluster no problem for me [20:24] kkaefer: jerrysv: sqlite doesn't use networking [20:24] jerrysv: kkaefer: exactly why i suggested it [20:24] dans: whats a normal format for saving a chat to a database (persistence)? [20:24] emacsen has left the channel [20:24] kkaefer: jerrysv: oh sorry, didn't read the backlog [20:25] Aiden has joined the channel [20:25] Nexxy: dans, text. [20:25] Intel_iX: Because I'm trying to use event loops without being a c++ guru. [20:25] Nexxy: (utf8) [20:25] kunal: japj, thats what.. the writing part is done in cpp... [20:25] Intel_iX: Plus high level abstraction... [20:25] red5: tjholowaychuk, Murvin : thx guys [20:25] kunal: japj, first its a header of 16 bytes.. then its a file from s3 [20:26] jerrysv: intel_ix: if you're just looking for fast access to binary data, and plan to never use it in production, and are ok running alpha code, i can point you in a direction [20:26] dans: Nexxy, i want to timestamp each message and store which user said it [20:26] jerrysv: intel_ix: but i would never recommend it [20:26] Murvin: isaacs: ok.. mine is 0.3.18 and my coworker is 1.0.15 [20:26] isaacs: Murvin: there you go [20:26] isaacs: Murvin: get on the boat, man! [20:26] Intel_iX: Link? [20:26] Nexxy: dans, if you're using SQL just make some simple table w/ timestamp, userid, text, and target as columns [20:26] Murvin: isaacs: but mine is working... lol [20:26] jerrysv: intel_ix: https://github.com/JerrySievert/node-judy [20:26] guidocalvano has joined the channel [20:26] Murvin: isaacs: although older version.. hmm hmmm [20:26] isaacs: Murvin: yours is working differently. [20:27] isaacs: Murvin: you should upgrade. [20:27] isaacs: Murvin: your coworker should read `npm help folders` to learn where npm puts stuff. [20:27] Murvin: isaacs: when I upgrade, do I need to reinstall all packages? [20:27] japj: kunal: I think you can write binary data (the header) from node with buffers see also http://stackoverflow.com/questions/4824328/generating-and-writing-binary-data-to-stream-in-node-js [20:27] dans: Nexxy, i cant have a table for each chat room [20:27] isaacs: Murvin: yes. [20:27] Nexxy: dans, that's not what I'm suggesting [20:27] Murvin: isaacs: ok [20:28] isaacs: Murvin: npm can't know what you wanted to be global and what you wanted to be local, since npm 0.x put them all in the same place. [20:28] Murvin: oh [20:28] dans: Nexxy: doesn't sound like it would scale well, if i just store each chat message in one huge table [20:28] Nexxy: well you're using SQL [20:28] isaacs: Murvin: you CAN set the "clean=no" environment var to skip the cleanpu, but that's *really* not recommended. [20:28] fattytuna has joined the channel [20:28] Nexxy: so I figured scaling wasn't an issue [20:28] dans: Nexxy: im not using SQL, i'm open at the moment [20:28] dans: I was actually thinking of MongoDB [20:28] Murvin: isaacs: so, if I want it be global, i have to do npm install express -g? [20:28] jerrysv: nexxy: i resent that [20:29] sandstrom has joined the channel [20:29] sandstrom has joined the channel [20:29] Intel_iX has joined the channel [20:29] Murvin: isaacs: what does clean up do? [20:29] tjholowaychuk: dans maybe use capped redis lists or something [20:29] pjacobs has joined the channel [20:29] fangel has joined the channel [20:29] Nexxy: it seems like mongo would be a good fit for that [20:29] Intel_iX: No, that isn't binary access... [20:29] killfill: hi [20:29] Intel_iX: I'm NOT looking for a key value database, I want to know how to remove buffer size limits... [20:30] dans: thanks tjholowaychuk, i'll look in to that [20:30] traph has joined the channel [20:30] Intel_iX: I should be able to allocate a 5gb buffer, then have it page out part of the buffer. [20:30] aguynamedben has joined the channel [20:30] killfill: im reading this: http://nodejs.org/docs/v0.4.9/api/http.html#http.request it says "Node maintains several connections per server to make HTTP requests." how do i find how many are they, and how many am i using?.. [20:31] jerrysv: intel_ix: have you tried allocating the 5gb with a c++ add-on? [20:31] hellp has joined the channel [20:31] dans: Nexxy: At the moment my understanding is Mongo stores things like javascript objects/json [20:31] Intel_iX: Not aware of any and I don't have c++ skill so I can't make one. [20:31] japj: isaacs: currently npm can specify dependencies to other modules, have you thought about storing the (rpm/deb/brew) package names needed to compile certain addons? (which would be really usefull when starting a npm addon build server in order to know what packages need to be installed to actually compile a certain node addon) [20:31] killfill: im doing a little http-proxy and maybe it could matter?.. [20:31] radiodario has joined the channel [20:31] pt_tr has joined the channel [20:31] Robdor has left the channel [20:31] Nexxy: dans, bson, but yeah [20:31] jerrysv: intel_ix: i think that's going to be your solution. i pointed you to an example that allocates outside of javascript [20:32] isaacs: japj: yeah, there've been some conversations, but no fully-fleshed-out api. [20:32] indutny has left the channel [20:32] Nexxy: dans, you might find mongoose to be of use [20:32] isaacs: japj: email the npm mailing list. we should discuss it a bit, and i'd like to get more heads on it. [20:32] alim_ has joined the channel [20:32] dans: Does MongoDB order things like SQL with newest at the bottom, or is it unordered? [20:32] Intel_iX: Well, that's an associative array, not binary. Can't I just recompile with some variable changed or something? [20:32] isaacs: japj: the current state of the art is to have a preinstall script that checks for what it needs. [20:32] _joshholt has joined the channel [20:32] Intel_iX: like, #DEFINE HEAPSIZE 6000000 or w/e [20:33] gregoryigelmund has joined the channel [20:33] Intel_iX: Any way to do that? [20:33] japj: isaacs: I mailed a while ago ("How to deal with native C/C++ dependencies?") but I think it was not entirely clear what I meant since I didnt quite get anwsers in the direction I was looking for [20:34] isaacs: japj: i see. [20:34] dans: just seen MongDB does capped collections to with FIFO ordering: http://www.mongodb.org/display/DOCS/Capped+Collections [20:34] dans: too* [20:34] isaacs: japj: how would you express it succinctly in a package.json file? What would you like the behavior to be? pseudocode and spec proposals are easier to digest and provide feedback on. [20:34] isaacs: japj: even a bad first step is a first step :) [20:35] Murvin: isaacs: should i do : sudo npm install -g express ? [20:35] leahculver has joined the channel [20:35] leahculver has joined the channel [20:35] mraleph: Intel_iX: buffers don't use V8 heap. [20:35] yozgrahame has joined the channel [20:35] Murvin: isaacs: and the module is installed in my /home/myuser/node_modules (when I run npm root) is that correct? [20:35] japj: isaacs: well, I already "discovered" that package names are not consistent on all platforms [20:36] isaacs: Murvin: npm help folders [20:36] isaacs: Murvin: read that^ [20:37] kartmetal has joined the channel [20:37] mraleph: Intel_iX: you can't access continuous 5gb through a single external array (buffer) but you can create a sliding "view". [20:37] Intel_iX: mraleph, whatever it does, this still happens: > new Buffer(1000000000) \n terminate called after throwing an instance of 'std::bad_alloc' [20:37] sivy has joined the channel [20:37] japj: isaacs: so it's either specifying all the different package names for all the platforms (i.e. brew:sdl, sdl_mixer; .deb libsdl1.2-dev libsdlmixer1.2-dev ; rpm SDL-devel SDL_mixer-devel) , 'detection' of library/include files or some complete other mechanism [20:37] mraleph: Intel_iX: well that means malloc refused to give you that many memory :-) [20:38] isaacs: japj: yeah. sketch out some json [20:38] japj: isaacs: but I think for automated build you'll need to have the actual package information so you can build in chroot environments [20:38] Intel_iX: isn't that determined by the heap size when you compile it? [20:38] justicefries has joined the channel [20:38] Intel_iX: like, some compiler flag? [20:38] isaacs: japj: also, how does npm know which to use? that's an important sticky point [20:38] isaacs: . [20:38] Intel_iX: Or is that a malloc limit? [20:38] mraleph: Intel_iX: you'll probably have to write your own memory management layer via mmap to operate on such a big chunks of memory. [20:38] radiodario has joined the channel [20:39] kartmetal: Is there an easy way to say "Give me the next 10 bytes out of this Readable Stream", or would one need to potentially slice/combine incoming 'data' Buffers to do that? [20:39] SubStack: kartmetal: you can use lazy for that [20:39] mraleph: Intel_iX: I can be that OS refuses to give such a big continious chunk to your app. [20:39] japj: isaacs: well, can you detect the running platform from v8? another way would be to 'detect' rpm/dpkg/brew or something similar [20:39] SubStack: or actually binary for bytes [20:40] isaacs: japj: yeah [20:40] isaacs: japj: just pick something :) [20:40] isaacs: japj: email the list. we'll pick it apart :) [20:40] kartmetal: SubStack, this https://github.com/pkrumins/node-lazy ? [20:40] isaacs: beat it up, simmer it a little. [20:40] isaacs: it's not a trivial feature. [20:40] jerrysv: intel_ix: and just for the stupid question, your max memory size is unlimited? [20:40] unomi has joined the channel [20:40] SubStack: kartmetal: actually https://github.com/substack/node-binary [20:40] SubStack: for byte-level stuff [20:40] isaacs: japj: also, the trick is to make it easy enough that anyone will actually use it. [20:41] SubStack: kartmetal: binary(stream).buffer('x', 10).tap(function (vars) { console.log(vars.x) }) [20:41] kartmetal: oh nice. [20:41] Intel_iX: seems to be a memory limit though: > var a = []; var i = 100; while (i--) { a.push(new Buffer(100000000)); console.log(i); } \n 99 \n 98 \n 97 \n 96 \n 95 \n 94 \n terminate called after throwing an instance of 'std::bad_alloc' [20:41] Intel_iX: No, but the idea is that it pages. [20:41] SubStack: will print the first 10 bytes from stream no matter how the data buffers get broken up [20:41] Intel_iX: And uses a swapfile. [20:41] jerrysv: intel_ix: um. ulimit -a [20:42] Intel_iX: ulimit is for node, compile or what? [20:42] Intel_iX: compiler [20:42] jerrysv: intel_ix: process [20:42] japj: isaacs: true but it's also about (possible) root access needed to install packages (which is not what we want, but we could tell: if you want to use this package, please run " install " and try again) [20:42] meat_popsicle has joined the channel [20:42] jerrysv: intel_ix: type "ulimit -a" on the shell [20:42] kartmetal: Yup. that's exactly what I need. thanks SubStack! :) [20:43] japj: isaacs: I'll try to come up with something to discuss for the mailinglist in the weekend [20:43] grekko has joined the channel [20:43] tcurdt has joined the channel [20:43] Intel_iX: http://pastebin.com/ib8Km6A9 [20:43] Intel_iX: how to edit that? [20:43] isaacs: japj: kewl, thanks :) [20:43] Hansy_ has joined the channel [20:43] slaskis: When I do a lot of http requests (pulling/pushing in a lot from an API) I keep getting 'Error: EADDRINUSE, Address already in use', why is that? It stops if I use agent.maxSockets = 1...but I'd like some concurrency [20:44] Intel_iX: EADDRINUSE, port is in use [20:44] Intel_iX: Try another port [20:44] techwraith: tjholowaychuk: looks like I forgot .save() (chaining always kills me) [20:44] skohorn has joined the channel [20:44] tjholowaychuk: techwraith oh fuck haha i didnt notice that [20:44] tjholowaychuk: forgot you can set priority etc [20:44] tjholowaychuk: then sae [20:44] tjholowaychuk: save* [20:45] techwraith: tjholowaychuk Works like a charm now ;) [20:45] tjholowaychuk: woot [20:45] arzvi has joined the channel [20:45] arzvi: is the reduce fuinction available in node.js? am using version 4.1 [20:45] Intel_iX: maybe something like: socket.on 'error', (e) -> if e is 'Error: EADDRINUSE, Address already in use' then socket.listen ++port [20:46] tjholowaychuk: arzvi: that's v8 [20:46] tjholowaychuk: if you mean [].reduce [20:46] arzvi: yah [20:46] arzvi: var a=arguments.reduce(function(a,b){ return a+b;},0); [20:46] pjacobs has joined the channel [20:46] mraleph: arguments are not an array [20:46] tjholowaychuk: arguments isn't an array [20:47] tjholowaychuk: it's a wtfjs [20:47] mraleph: tjholowaychuk: \o/ [20:47] arzvi: ok it was yesterday that i got introduced to node.js [20:47] arzvi: so to do this what should i do in node.js? [20:47] slaskis: Intel_iX: but it's not the server but the client...i can't start more servers... [20:47] arzvi: just loop through the arguments [20:47] arzvi: ? [20:47] arzvi: is it an array? [20:47] tjholowaychuk: or [].slice.call(arguments).reduce [20:48] tjholowaychuk: (that converts it to an array) [20:48] arzvi: what is 'arguments'? [20:48] tjholowaychuk: the arguments object [20:48] mraleph: arguments is arguments object [20:48] tjholowaychuk: that you were just talking about [20:48] hybsch has joined the channel [20:48] jacobolus has joined the channel [20:49] arzvi: and each argument is a variable in arguments object? [20:49] tjholowaychuk: yea [20:49] Intel_iX: It's prolly trying to open on the same port but... [20:49] Intel_iX: I couldn't tell [20:50] tilgovi has joined the channel [20:50] tilgovi has joined the channel [20:50] arzvi: so can't i inherit array and arguments into a new class and use the reduce? [20:51] markwubben has joined the channel [20:52] charlenopires_ has joined the channel [20:52] brettgoulder has joined the channel [20:53] mange has joined the channel [20:53] arzvi: can someone please point me to the docuemtnation of 'arguments' object? [20:54] kristsk has joined the channel [20:54] robot_jesus has joined the channel [20:54] eee_c has joined the channel [20:54] jerrysv: arzvi: https://developer.mozilla.org/en/JavaScript/Reference/functions_and_function_scope/arguments [20:55] Intel_iX: you can do Array.prototype.slice.call (arguments) etc [20:55] jerrysv: arzvi: var args = Array.prototype.slice.call(arguments); [20:55] tjholowaychuk: showed him that already [20:55] jerrysv: arzvi: args.reduce(fn) [20:55] arzvi: thanks guys [20:55] radiodario has joined the channel [20:55] jerrysv: tjholowaychuk: i know, i was on a roll [20:55] tjholowaychuk: haha [20:55] Intel_iX: would ulimit not working be a cygwin issue? [20:56] jerrysv: intel_ix: oh, you're on windows. um. [20:56] arzvi: so v8 has arguments as array while node.js has it as oject [20:56] tjholowaychuk: node isn't a language [20:56] tjholowaychuk: it's just on top of v8, that's a regular v8 Arguments object [20:56] arzvi: gotcha [20:57] arzvi: i was just listening to Crockford on javascript [20:57] tjholowaychuk: node doesn't extend the language or anything like that [20:57] arzvi: and he pasted using arguments.reduce [20:57] alessio_alex: :P [20:57] arzvi: so wanted to try that [20:57] mustakes has joined the channel [20:58] arzvi: is that wrong even in v8? [20:58] kmiyashiro: does Array.prototype.slice.call(arguments) only work because slice returns an array? [20:58] tjholowaychuk: yeah [20:59] tjholowaychuk: v8 implements a slow case for array-ish type things [20:59] arzvi: i tried [].slice,call(arguments) -> works fine [20:59] tjholowaychuk: yeah [20:59] mraleph: Array.prototype.foo methods are intentionally specified to be generic so they could work on any object that quacks like Array (has length and can be indexed) [20:59] tjholowaychuk: same thing [21:00] charlenopires has joined the channel [21:00] mandric has joined the channel [21:00] tjholowaychuk: that's the way everything in js should be, can't stand typeof / instanceof blah blah [21:00] jerrysv: hm. wonder if arguments.foo = Array.prototype.foo would work. [21:00] mraleph: v8: (function () { return Array.prototype.reduce.call(arguments, function (a, b) { return a + b; }); })(1,2,3) [21:00] v8bot: mraleph: 6 [21:01] rfay has joined the channel [21:01] techwraith: tjholowaychuk: After playing around with the (gorgeous, by the way) interface, I think it would be awesome to have infinite scroll on there :) [21:01] tjholowaychuk: jerrysv yeah it will, it then becomes the receiver [21:01] tjholowaychuk: so that's fine [21:01] jerrysv: v8: (function() { arguments.reduce = Array.prototype.reduce; arguments.reduce(function(a,b) { return a + b; }); }) [21:01] v8bot: jerrysv: function () { arguments.reduce =… [21:02] tjholowaychuk: techwraith yeah man, I want to, the scrollbar styling fucks with scrollTop [21:02] jerrysv: v8: (function() { arguments.reduce = Array.prototype.reduce; arguments.reduce(function(a,b) { return a + b; }); })(); [21:02] v8bot: jerrysv: TypeError: Reduce of empty array with no initial value [21:02] techwraith: tjholowaychuk: Ah, I'm sure you'll figure it out ;) [21:02] tjholowaychuk: v8: (function(){ arguments.slice = [].slice; console.log(arguments.slice(2)) })(1,2,3,4,4) [21:02] v8bot: tjholowaychuk: [3,4,4] [21:02] kmiyashiro: techwraith: what interface? [21:02] techwraith: kmiyashiro: Kue [21:02] techwraith: https://github.com/LearnBoost/kue [21:02] tjholowaychuk: techwraith im going to implement it so that only the jobs within the window are polling [21:03] tjholowaychuk: so if you have like 50k jobs [21:03] tjholowaychuk: it's still fine [21:03] tjholowaychuk: but i need to figure out how to get browsers to not hate on the scrollbars [21:03] Intel_iX: v8: (function(){ arguments = [].slice.call(arguments); return arguments instanceof Array; })(324,234,2); [21:03] v8bot: Intel_iX: true [21:03] mustakes has joined the channel [21:03] Intel_iX: v8: (function(){ arguments = [].slice.call(arguments); return arguments; })(324,234,2); [21:03] v8bot: Intel_iX: [324,234,2] [21:03] techwraith: Awesome, 'cause I tweaked my test to add in 10k+ jobs in a couple of seconds, and the UI got a tiny bit sluggish :) [21:04] tjholowaychuk: haha [21:04] tjholowaychuk: when you get 10k jobs a second [21:04] tjholowaychuk: let me know [21:04] tjholowaychuk: but yeah ideally only those in view are polling [21:04] techwraith: tjholowaychuk: lol, hey, it was just a test [21:04] techwraith: tjholowaychuk: In production I don't anticipate more than 100 per minute [21:05] tjholowaychuk: yeah exactly [21:05] arzvi: cool [21:05] arzvi: never knew you guys have a v8 bot [21:05] davve: hey. can i write from console to my running node somehow? [21:05] colinclark_ has joined the channel [21:05] davve: i want to parse a string from interpreter. is it possible at all? [21:05] Murvin: isaacs: ahah thanks.. haven't update my npm for so long and it was working fine.. good to have the new one up & running now. :) thanks [21:05] techwraith: davve: process.stdin [21:05] davve: thx [21:06] techwraith: davve: http://nodejs.org/docs/v0.4.9/api/process.html#process.stdin [21:06] cbiscardi has joined the channel [21:06] arzvi: v8: (function () {arguments.reduce = Array.prototype.reduce; arguments.reduce(function(a,b) { return a+b;})})(1,2,3,4) [21:06] v8bot: arzvi: undefined [21:07] Intel_iX: v8: (function(){ arguments.__proto__ = [].__proto__; return arguments instanceof Array; })(324,234,2); [21:07] v8bot: Intel_iX: true [21:07] Intel_iX: v8: (function(){ arguments.__proto__ = [].__proto__; return [arguments.slice(1),arguments]; })(324,234,2); [21:07] v8bot: Intel_iX: [[234,2],[324,234,2]] [21:08] Intel_iX: v8: (function(){ arguments.__proto__ = [].__proto__; return [arguments.pop(),arguments]; })(324,234,2); [21:08] v8bot: Intel_iX: [2,[324,234]] [21:08] arzvi: v8: (function () {arguments.reduce = Array.prototype.reduce; arguments.reduce(function(a,b) { return a+b;});})(1,2,3,4) [21:08] v8bot: arzvi: undefined [21:09] Intel_iX: try using __proto__, it's better. [21:09] pquerna: Kami_: have you tried cast's tests with 0.5 --use-uv? [21:09] Intel_iX: You get everything that way. [21:10] arzvi: v8: (function () {arguments.__proto__ = Array.__proto__; arguments.reduce(function(a,b) { return a+b;});})(1,2,3,4) [21:10] v8bot: arzvi: TypeError: Object # has no method 'reduce' [21:10] Murvin: ryah: hi [21:10] arzvi: v8: (function () {arguments.__proto__.reduce = Array.__proto__.reduce; arguments.reduce(function(a,b) { return a+b;});})(1,2,3,4) [21:10] v8bot: arzvi: TypeError: Property 'reduce' of object # is not a function [21:10] ryah: Murvin: hi - i haven't had a chance yet. [21:10] arzvi: v8: (function () {arguments.reduce = Array.__proto__.reduce; arguments.reduce(function(a,b) { return a+b;});})(1,2,3,4) [21:10] v8bot: arzvi: TypeError: Property 'reduce' of object # is not a function [21:11] arzvi: (function () {arguments.reduce = Array.prototype.reduce; arguments.reduce(function(a,b) { return a + b; }); })(1,2,3,4); [21:11] onr has joined the channel [21:11] Murvin: ryah: ooh. yaa.. just want to check if my comment is clear enough. :) [21:11] arzvi: v8: (function () {arguments.reduce = Array.prototype.reduce; arguments.reduce(function(a,b) { return a + b; }); })(1,2,3,4); [21:11] v8bot: arzvi: undefined [21:12] Intel_iX: Array.prototype, or [].__proto__ [21:12] Intel_iX: not the other way around [21:12] mraleph: arzvi: your are missing return before arguments.reduce [21:12] mustakes has joined the channel [21:12] Intel_iX: eg [21:12] arzvi: v8: (function () {arguments.reduce = Array.prototype.reduce; return arguments.reduce(function(a,b) { return a + b; }); })(1,2,3,4); [21:12] v8bot: arzvi: 10 [21:12] Intel_iX: aguments.__proto__ = Array.prototype [21:12] arzvi: shit.. thanks a lot mraleph [21:13] radiodario has joined the channel [21:15] robhawkes has joined the channel [21:15] mjijackson: v8: (function () {return Array.prototype.slice.call(arguments).reduce(function(a, b) { return a +b; }); })(1,2,3,4); [21:15] v8bot: mjijackson: 10 [21:15] dmcquay has joined the channel [21:17] jerrysv: v8: (function() { arguments.reduce = Array.prototype.reduce; arguments.reduce(function(a,b) { return a + b; }); })(1,2,3); [21:18] v8bot: jerrysv: undefined [21:19] mustakes has joined the channel [21:20] gxdssoft has joined the channel [21:21] gazler has joined the channel [21:21] gazler: Just a quick one, does node.js have a build in inArray function? [21:21] erictj has joined the channel [21:22] DTrejo: gazler it does not, node is just plain v8 javascript [21:22] gkatsev: indexOf [21:22] DTrejo: (other than that) [21:22] slaskis: indexOf or some [21:22] DTrejo: err [21:22] gkatsev: but yes, that's v8, not node [21:22] levi501d has joined the channel [21:22] erictj has left the channel [21:22] gazler: Thanks, keep forgetting about that one, it's not supported in all browsers. Thanks. :) [21:22] erictj has joined the channel [21:22] robertfw has joined the channel [21:22] gazler: (When I am doing it client side that is) [21:23] DTrejo: indexOf isn't cross browser, hmm, didn't know that [21:23] mustakes has joined the channel [21:23] gkatsev: it is pretty much crossbrowser nodays [21:23] gkatsev: nowdays [21:23] gkatsev: it is supported in IE8+ [21:23] gkatsev: and all other browsers [21:24] gazler: Yeah, IE took a while to catch up. [21:24] erictj: How does one go about using conditional CSS calls within Jade? (