[00:00] markq: how well does one have to know javascript to create node/express apps? [00:00] dylang has joined the channel [00:00] pyrotechnick: markq: not much [00:00] pyrotechnick: have you checked out nodejs.org? [00:00] isaacs: mmalecki: yeah, this is a bug in node-tar [00:00] markq: I'm reading a javascript book but I've gotten to a point where I just want to jump into the node.js docs/api and start coding [00:00] isaacs: mmalecki: it's interpreting a link to . as a link to "", then later interpreting "" as having no link [00:01] pyrotechnick: markq: perfect. go for it. [00:01] markq: awesome [00:01] blup has joined the channel [00:01] blup_ has joined the channel [00:01] pyrotechnick: markq: do you have an idea for a first app? [00:01] markq: for the record I was reading this: http://eloquentjavascript.net/contents.html [00:01] markq: got to chapter 8 [00:02] CoverSlide: eloquent is good for learning the base language [00:02] markq: very nice javascript book [00:02] CoverSlide: http://docs.nodejitsu.com/ <-- this is a good resource for node-specific articles [00:02] pyrotechnick: markq: looks decent. you've got alot better introduction than 95% of javascripters, trust me [00:02] StanlySoManly1 has joined the channel [00:03] salva has left the channel [00:03] markq: do you recommend to read the node api docs to or just use it as a reference? [00:03] stagas has joined the channel [00:03] CoverSlide: use it as a reference [00:03] pyrotechnick: markq: don't try sit down and read them all unless that's "your thing" [00:04] pyrotechnick: but certainly if you start to use a module alot, read it all [00:04] pyrotechnick: and do code searches for particular methods to learn from other's usage [00:05] pyrotechnick: learning from others real mistakes and triumphs is better than any doc [00:06] r04r has joined the channel [00:06] joshwnj has joined the channel [00:06] markq: like google lines of code? [00:06] [[zz]] has joined the channel [00:07] replore has joined the channel [00:07] replore_ has joined the channel [00:08] markq: CoverSlide: pyrotechnick: thanks so much. I've honestly been reading nonstop for the past couple of days. nice to jump in now :) [00:08] pyrotechnick: markq: like http://www.google.com/codesearch [00:08] markq: whoa this is cool ^ [00:08] pyrotechnick: markq: if i can give you any advice it's to avoid analysis paralysis [00:09] jgallen23: markq: it's cool until it gets shut down [00:09] jgallen23: I think google is going to kill it soon [00:09] pyrotechnick: yeah google are retarded [00:09] pyrotechnick: they killed lists [00:09] pyrotechnick: *cries* [00:09] markq: :O oh noes [00:09] markq: holy crap I really wish I could mirror the whole codesearch [00:10] shree_ has joined the channel [00:10] pyrotechnick: do an empty search on github [00:10] pyrotechnick: it shows you advanced search stuff [00:10] pyrotechnick: that's also useful [00:10] jgallen23: what does everybody use here to keep node up in production? upstart/forever/nohup? [00:11] mikeal has joined the channel [00:11] tjfontaine: viagra [00:11] RobWC: I use forever. It has been pretty successful for me. [00:11] mmalecki: isaacs: I see. glad you found it :) [00:11] shree_: any thoughts on this ? http://stackoverflow.com/questions/6645796/node-js-performance-with-zeromq-vs-python-vs-java [00:12] jgallen23: RobWC: are you managing just one node process or multiple? I've run into issues with multiple processes [00:12] RobWC: just one [00:14] Wa has joined the channel [00:14] pyrotechnick: shree_: not too bad if you ask me [00:15] petrjanda has joined the channel [00:15] r04r has joined the channel [00:15] mmalecki: isaacs: hey, btw, this is awesome: https://github.com/isaacs/node-tar/blob/master/examples/extracter.js [00:15] neurodrone has joined the channel [00:16] isaacs: mmalecki: thanks :) [00:16] isaacs: jgallen23: we use SMF on smartos at joyent [00:16] sj has joined the channel [00:16] pyrotechnick: shree_: remember java - 1995, python - 1991, node - 2009 [00:17] rook2pawn has joined the channel [00:17] shree_: pyrotechnick: but I still unable to understand. I looked at few answers there but couldnt convience myself on this. I expect node.js to perform better here given that underlying zeromq lib is also completely async [00:17] pyrotechnick: did you read the comments and try the altered node sample? [00:18] McMAGIC--Copy has joined the channel [00:18] pyrotechnick: it comes down to ~1.5x the java/python [00:18] pyrotechnick: which is incredible if you ask me [00:18] jgallen23: isaacs: SMF? [00:18] pyrotechnick: shree_: if you look for people/articles/aliens winging about node being slow, you will find them [00:19] rook2pawn: how do you specify bleeding edge in package.json? [00:19] pyrotechnick: shree_: if you look for people/articles/aliens lying about ruby being fast, you will find them too [00:19] pyrotechnick: shree_: life is a fractal, the vast majority of possibilities exist somewhere in the universe, most of the ones we know of right here on earth [00:20] shree_: pyrotechnick: I did try by myself and found node to be slower. [00:20] pyrotechnick: rook2pawn: either omit the version altogether or use "*" [00:21] zanefactory has joined the channel [00:21] pyrotechnick: shree_: at the end of the day if you want the fastest platform ATM node is definitely not it for the majority of applications, that's just the nature of its architecture and will take alot of hard work to overcome [00:22] meso has joined the channel [00:23] pyrotechnick: ahh rook2pawn it looks like they changed it on me [00:23] pyrotechnick: this is the module npm uses for version strings [00:23] pyrotechnick: https://github.com/isaacs/node-semver [00:24] jamescarr has joined the channel [00:24] pyrotechnick: okay rook2pawn, it's not documented but * does work [00:24] pyrotechnick: apparently so does x [00:24] jamescarr: damn [00:25] shree_: pyrotechnick: I do agree with you but in this case I expect node to be faster when operations are mostly on network. [00:26] pyrotechnick: shree_: why [00:26] LeftWing has joined the channel [00:26] Hanspolo has joined the channel [00:27] boehm has joined the channel [00:28] shree_: Well with my limited knowledge of node. Node.js should outperform other blocking architectures in I/O intensive applications [00:30] teadict: shree_: that's the idea [00:30] teadict: it was built for that [00:30] beejeebus: https://plus.google.com/103939784105159993090/posts/Sh2Nxw8p3WB [00:30] pyrotechnick: beejeebus: fucking stupid ^ [00:30] pyrotechnick: read the comments [00:30] teadict: beejeebus: Malte says it's there since 03 [00:31] beejeebus: pyrotechnick: right, looking. i just got pinged about it in another forum [00:31] pyrotechnick: also look at http://en.wikipedia.org/wiki/Heap_spraying [00:32] mmalecki: teadict: because it fucking is >.< [00:32] teadict: then who cares [00:32] teadict: 2003, pft [00:32] mmalecki: there's some serious FUD around it. mostly by people who expect hashed lists to be perfect [00:32] pyrotechnick: you can tell that liam guy is a tool because of the amount of people he attacks [00:32] teadict: tools attack people [00:33] pyrotechnick: correct [00:33] beejeebus: pyrotechnick: thanks. i'm just a consumer of node.js, i don't hack on it, just making sure its on the radar/refuted [00:33] pyrotechnick: security/privacy is an illusion [00:33] christkv has joined the channel [00:34] euoia has joined the channel [00:34] jetheredge has joined the channel [00:34] mmalecki: what the actual fuck. https://github.com/douglascrockford/JSDev/blob/master/jsdev.c [00:34] shree_: pyrotechnick: Well with my limited knowledge of node. Node.js should outperform other blocking architectures in I/O intensive applications [00:34] mmalecki: I think that Crockford write a preprocessor. for JS. I hope I'm wrong. [00:34] mmalecki: someone tell me I'm wrong. [00:35] teadict: it says so right there [00:35] teadict: what would a preprocessor do to JS? [00:35] mmalecki: ACTION goes to cry silently [00:35] teadict: let php people like js lawl [00:36] stride: mmalecki: he's old, maybe he got confused and thought it's april 1st? [00:36] pyrotechnick: the sad thing about this is people will think it's mandatory because "the father of JSON" sanctioned it [00:36] pyrotechnick: FFS [00:36] bnoordhuis: sweet, i always miss my #ifdefs when i'm writing js [00:36] Dmitrijus: js preprocessor, awesome! :))))) [00:36] mmalecki: stride: that makes sense [00:36] zitchdog has joined the channel [00:36] beejeebus: http://groups.google.com/group/nodejs/msg/731d9be4d3931cea [00:36] eb4890 has joined the channel [00:36] teadict: what's wrong with having more stuff? [00:36] teadict: you don't have to use it [00:36] beejeebus: so i guess the answer is a) totally on the radar, b) fix will be in 0.6.7 [00:37] k1ttty has joined the channel [00:37] teadict: beejeebus: maybe it's already on 0.7.0 [00:37] pyrotechnick: teadict: read ^ [00:37] stride: teadict: people use it, I read code from other people [00:37] pyrotechnick: correct. [00:37] teadict: ah, good point [00:37] CoverSlide: either way, there are ways around that vulnerability [00:37] CoverSlide: i.e. limiting the length of query keys [00:38] CoverSlide: or having your own hash randomizy thingy [00:38] dnjaramba has joined the channel [00:38] CoverSlide: Proxies would be another way to do it too [00:40] sj: ms pushed out a hotfix [00:40] CoverSlide: besides the platforms specifically targetted in that article were tomcat and apache, where is where most of the anti-node fud comes from [00:40] sj: wonder what their strategy was [00:40] pyrotechnick: apache have ALOT to lose [00:40] teadict: nice nick [00:40] teadict: you own Freenode? [00:40] teadict: I want aa [00:41] shree_: can somebody please help me understand this http://stackoverflow.com/questions/6645796/node-js-performance-with-zeromq-vs-python-vs-java ? is it because node.js-zeromq binding is slow ? [00:41] CoverSlide: also, node doesn't parse querystrings automatically, so no, not all node.js servers are vulnerable, just the ones that use querystring or some other way to put querys into a simple hash [00:41] bemson has joined the channel [00:42] bemson: is "node" a reserved word in node.js? like the way require and export are? [00:42] pyrotechnick: no [00:42] bemson: pyrotechnick: thx! [00:42] cjm has joined the channel [00:43] CoverSlide: npm install node [00:43] pyrotechnick: he came, he questioned, he went [00:43] CoverSlide: yey!!! [00:43] CoverSlide: var node = require('node') [00:43] teadict: how can there be reserved words if everything is defined in its own closed scope? [00:43] stepheneb has joined the channel [00:43] pyrotechnick: http://en.wikipedia.org/wiki/Scope_(computer_science)#Lexical_scoping [00:44] CoverSlide: try this: `var class = 10;` [00:44] teadict: how is it called when you do the (function(){...})(); ? [00:44] CoverSlide: self-executing function [00:45] tbranyen: teadict: IIFE [00:45] teadict: tbranyen: wat [00:45] r1ngzer0 has joined the channel [00:46] CoverSlide: i like to call it a `funky` [00:46] mAritz has joined the channel [00:46] teadict: CoverSlide: but doesn't the closing of the () has a name? [00:46] CoverSlide: let's just make that the established word [00:46] tbranyen: teadict: http://lmgtfy.com/?q=IIFE [00:46] devdazed has joined the channel [00:46] teadict: nice, IIFE [00:46] teadict: sounds important too [00:46] teadict: but we'll call it a funky [00:46] teadict: yes [00:46] amigojapan has joined the channel [00:46] CoverSlide: if you have variable declarations in the funky, it is protected from manipulation by outside code [00:47] pyrotechnick: i think IIFE is a made up acronym [00:47] teadict: you can't touch that [00:47] CoverSlide: technically you can overwrite `Object` if you want [00:47] CoverSlide: which I recommend to every js beginner [00:48] benvie: immediately invoked function expression [00:48] teadict: yes, also do a rm -Rf / after every linux installation [00:48] CoverSlide: thank you google [00:48] benvie: which also doesn't require enclosing paranthesis [00:49] benvie: 1 && function(){console.log(hi)}() [00:49] benvie: !function(){console.log(hi)}() [00:49] tbranyen: only issue with that is it destroys return values [00:49] benvie: yeah parens are needed for the return [00:49] monkegjinni has joined the channel [00:49] CoverSlide: Sorella likes the form `void function(){}()` [00:49] teadict: okey, let's try Sequelize models... [00:50] context: simpliest smallest JS template language out ? [00:50] torvalamo: vapor.js? :P [00:51] Sorella: tbranyen, if you *care* about return values, it means that you're already inside an expression, and as such don't need the parens to force the function to parse as an expression anyways :3 [00:51] CoverSlide: i vote vapor.js [00:51] pyrotechnick: +1 [00:51] teadict: wat [00:51] context: haha [00:51] context: but serious :/ [00:51] torvalamo: what's a js template? [00:51] teadict: a type of monster [00:51] context: ... [00:51] pyrotechnick: context: that's not the kind of question you should be asking [00:52] context: pyrotechnick: ok? [00:52] tbranyen: Sorella: still a difference tho [00:52] pyrotechnick: "simple" is relative [00:52] pyrotechnick: for instance coffeescript interpolated strings are very simple [00:52] context: heh [00:52] pyrotechnick: but the mechanism is huge [00:52] torvalamo: i was away from programming for a year, but js template makes no sense to me [00:52] Sorella: tbranyen, "difference"? [00:52] Sorella: void function(){ }(); for statements; var x = function(){ }(); for expressions =/ [00:52] context: pyrotechnick: i said js + simple. so +coffee+tmpl_lib isnt simple what so ever [00:52] tbranyen: you need elaboration on that? [00:52] bingomanatee__: hey Pyro! [00:52] tbranyen: idgi [00:53] pyrotechnick: hey dave [00:53] pyrotechnick: how's noogle? [00:53] teadict: so, if I want to write shit in another file, wherever I am, I just assign a function to module.exports and then I can import it? that's a module? just that? [00:53] context: template + js i meant html templates. (sorry) [00:53] bingomanatee__: ah - I haven't touched that in a while. I should get back to that ... [00:53] pyrotechnick: teadict: yep [00:53] zeade has joined the channel [00:53] teadict: pyrotechnick: 'right.. [00:53] teadict: good, good.. [00:53] bingomanatee__: Knowing what I know a bout Node now it should be a lot easwier. [00:53] context: simple as in simple.... html template, variables, produce output [00:53] context: how fucking hard is it ? [00:53] CoverSlide: I like String.prototype.replace myself [00:54] pyrotechnick: yep ^ [00:54] jstonne has joined the channel [00:54] bingomanatee__: Knowing what I know a bout Node now it should be a lot easier. [00:55] pyrotechnick: bingomanatee__: i wanna scrape all the links out of the node log [00:55] pyrotechnick: can it do that? [00:55] bingomanatee__: Yep … or it could 2 versions ago ... [00:55] mmalecki: isaacs: you sure this should go here? https://github.com/isaacs/node-tar/blob/master/lib/extract.js#L35 I don't think you emit `entry` anywhere [00:56] bingomanatee__: with a little work, I mean. [00:56] al3xnull has joined the channel [00:56] bingomanatee__: Let me kick it around a bit\. [00:56] mikeal has joined the channel [00:57] pauls1 has joined the channel [00:57] mmalecki: isaacs: it'd be cool if this thing actually worked tho [00:58] cjm has joined the channel [00:59] baoist has joined the channel [00:59] isaacs: mmalecki: entry gets emitted by the Parse class. [00:59] isaacs: mmalecki: which Extract inherits from [00:59] mmalecki: isaacs: oh, ok. so it should be emitted for every file in a tarball? [00:59] isaacs: yeah [00:59] neoesque has joined the channel [00:59] isaacs: for every normal entry. [00:59] dubenstein has joined the channel [01:00] isaacs: ie, not for extended headers and such [01:00] isaacs: but, it might be emitted more than once for the same "file", since a file can be in a tarball multiple times [01:00] mmalecki: isaacs: awesome, that's what I need :). thanks and sorry for bothering you [01:00] isaacs: that's part of why it's called "entry" and not "file" [01:00] syoyo has joined the channel [01:04] mc has joined the channel [01:04] mikeal has joined the channel [01:05] jxson has joined the channel [01:05] alcuadrado has left the channel [01:06] a_suenami has joined the channel [01:06] devongovett has joined the channel [01:06] dubenstein has joined the channel [01:07] sarlalian has joined the channel [01:08] ryanfitz has joined the channel [01:09] tilgovi has joined the channel [01:09] tilgovi has joined the channel [01:09] zitchdog has joined the channel [01:10] pandeiro_ has joined the channel [01:15] kazupon has joined the channel [01:17] davidbanham has joined the channel [01:18] stepheneb has joined the channel [01:18] iRoj has joined the channel [01:19] tomlion has joined the channel [01:19] davidban_ has joined the channel [01:20] fzzzy has joined the channel [01:21] enmand has joined the channel [01:21] diogogmt has joined the channel [01:21] nicholasf has joined the channel [01:22] diogogmt has left the channel [01:25] clutchski1 has joined the channel [01:26] galaxywatcher has joined the channel [01:26] mikeric has joined the channel [01:27] clutchski1: hey all, anybody have a favorite db migration library that works with postgres? [01:27] jldbasa has joined the channel [01:28] pyrotechnick: is there an IRC channel for chrome/chromium/google? [01:28] pyrotechnick: #chromium [01:28] pyrotechnick: nice [01:29] perezd has joined the channel [01:30] shanez_ has joined the channel [01:30] rwaldron has joined the channel [01:31] andrewfff has joined the channel [01:32] fabioluciano has joined the channel [01:34] TN has joined the channel [01:35] CarterL has joined the channel [01:35] sarlalian has joined the channel [01:36] StanlySoManly has joined the channel [01:36] Shaunzie has joined the channel [01:38] jocafa has joined the channel [01:39] secoif: I seem to have opened a new net.socket, killed my app, and now can't connect on that port again. [01:39] secoif: Error: connect ECONNREFUSED [01:39] torvalamo: check open processes [01:39] secoif: :/ [01:39] secoif: tonymilne I checked ps aux | grep node to no avail [01:39] secoif: oops [01:39] secoif: torvalamo I checked ps aux | grep node to no avail [01:41] torvalamo: well something is keeping the port busy [01:41] torvalamo: if you kill it you should use ^C instead of ^Z [01:41] hostsamurai has joined the channel [01:41] c4milo has joined the channel [01:42] tomlion has joined the channel [01:42] torvalamo: sigkill instead of sigterm [01:42] torvalamo: or sumthen [01:42] secoif: torvalamo I definitely used ^C [01:42] torvalamo: weird [01:42] secoif: torvalamo also, netstat | grep *port number* gives me nothin' [01:43] secoif: yeah I thought it was weird [01:43] cjm has joined the channel [01:43] torvalamo: what if you pick a different port and kill that [01:43] secoif: I'll try it again on anothe rport [01:43] torvalamo: does that give you that same prob? [01:44] RLa has joined the channel [01:44] secoif: whoa [01:44] secoif: new port won't even start the app. [01:44] secoif: same issue [01:44] secoif: hmm [01:45] RobWC has joined the channel [01:46] secoif: torvalamo ahh it was my fault. nevermind. I was using the wrong file :/ thx [01:47] torvalamo: i didn't do nothin' [01:47] torvalamo: :P [01:47] torvalamo: but np [01:48] RobWC has left the channel [01:48] freewil has joined the channel [01:48] freewil has joined the channel [01:48] heavysixer has joined the channel [01:50] zemm has joined the channel [01:52] jxson has joined the channel [01:54] abraxas has joined the channel [01:54] MUILTR has joined the channel [01:55] scott_gonzalez has joined the channel [01:55] clutchski1 has joined the channel [01:56] aGHz has joined the channel [01:59] mike5w3c has joined the channel [02:03] secoif: There was some discussion in here yesterday about getting two nodejs processes to talk to each other, people were suggesting rabbitmq, zeromq, redis, hookio, socketio… what's wrong with simply using node's built-in sockets? [02:03] tommyvyo has joined the channel [02:03] secoif: seems the most lightweight way to go about it [02:04] pyrotechnick: secoif: for anything but a trivial signal you will end up rewriting a shitty version of one of those ^ [02:04] monokrome has joined the channel [02:04] RLa: but you would have to come up with communication protocol [02:05] pyrotechnick: that too ^ [02:05] torm3nt has joined the channel [02:05] RLa: i think i would rpc of some sort [02:05] pyrotechnick: using that logic you may as well write your server in machine code [02:05] scott_gonzalez: Does anyone know what would cause this crash report? https://gist.github.com/1563308 [02:05] RLa: there is json-rpc standard [02:05] CoverSlide: dnode is an awesome way to get 2 node processes talking [02:06] pyrotechnick: scott_gonzalez: sqlite3_bindings.node [02:06] kmiyashiro has joined the channel [02:06] CoverSlide: hook.io is built on dnode [02:06] fzzzy has joined the channel [02:06] tjholowaychuk has joined the channel [02:06] CoverSlide: sure you can write your own protocol if that floats your boat, but srlsly why do that we have 50 bajillion protocols just use one [02:07] teadict: stupid orm... [02:07] EriksLV has joined the channel [02:07] teadict: y u not sync [02:07] blueadept: uptime [02:07] blueadept: uptime 238 days [02:07] pyrotechnick: no* [02:07] pyrotechnick: no* [02:07] pyrotechnick: weird [02:08] RLa: hm, dnode looks fantastic, and can be also used from browser [02:08] jbpros has joined the channel [02:08] Cover|Away: I'm out [02:08] SubStack: also this: http://github.com/substack/upnode [02:09] SubStack: to keep the connection alive in an unreliable network [02:09] pyrotechnick: hey SubStack [02:09] Cover|Away: which is every network [02:09] Cover|Away: ok, gone [02:09] pyrotechnick: SubStack: do you have an alert on "dnode" or something? [02:09] blueadept: whatup substack, liked the node.js aesthetic post [02:10] SubStack: pyrotechnick: yes [02:10] pyrotechnick: that's badass [02:10] zitchdog has joined the channel [02:10] SubStack: AMONG OTHER THINGS [02:10] torvalamo: dnode dnode dnode [02:11] SubStack: secoif: pretty much when you go the regular socket route you end up with a giant msg = JSON.parse(line); switch (msg.type) { ... } [02:11] pyrotechnick: i think we should let him do it [02:11] torvalamo: in the old days people had alerts on "boobs" and "tits", now it's "dnode" and other things [02:11] pyrotechnick: you cannot see the light from outside of darkness [02:11] SubStack: it's also a lot of bookkeeping to handle asynchronous request/responses [02:12] pyrotechnick: it would also help him gain an appreciation for socket.io [02:12] SubStack: doing stateful operations with a rest api causes that too [02:12] anaio has joined the channel [02:12] Carmivore has joined the channel [02:13] jomoho2 has joined the channel [02:13] SubStack: once your rest api starts using tokens, stop [02:13] SubStack: or job IDs [02:13] SubStack: or polling [02:13] pyrotechnick: once your rest…stop [02:14] torvalamo: hammer time? [02:14] langworthy has joined the channel [02:14] pyrotechnick: urls are useless for referencing anything other than hierarchal structures [02:14] innoying_ has joined the channel [02:14] pyrotechnick: accessing file systems is where their usefulness starts and ends [02:15] secoif: SubStack can you give example on such bookkeeping [02:15] pyrotechnick: in the future everyone will realise this but for now we're in the dark ages alone [02:16] SubStack: secoif: imagine how you would design an api over a plain tcp socket for long-running jobs [02:16] secoif: SubStack ahh, yeah. jobids. gross. [02:17] joestein has joined the channel [02:17] secoif: SubStack is that what you mean? one job that that requires multiple back and forward communication? [02:18] TheIronWolf has joined the channel [02:18] SubStack: any sort of stateful interaction like that [02:18] SubStack: routing the messages is really painful [02:18] secoif: And the alternative is? I don't see how socketio solves that one [02:18] pyrotechnick: Marak: you are so incredibly insane [02:18] SubStack: dnode solves the routing problem [02:19] pyrotechnick: it's the kind of lack of sanity i adore though [02:19] joestein has joined the channel [02:19] SubStack: by making closures do all the work [02:19] secoif: SubStack as in you can pass the state with the event [02:19] secoif: ? [02:19] Shaunzie has joined the channel [02:20] jakehow has joined the channel [02:20] SubStack: you don't pass anything and the only thing that travels over the wire is a callback id [02:20] SubStack: you just write programs the usual way except you can call your methods remotely [02:21] SubStack: including passing callbacks to remotely-hosted methods [02:21] SubStack: and passing callbacks to the callbacks that were passed to you in your remotely hosted method [02:21] SubStack: and so on, recursively [02:22] torvalamo: yo dawg, i heard you like callbacks, so i put a callback in your callback so you can pass out while you debug [02:22] teadict: stupid ORM doesn't wanna query a remote machine [02:23] secoif: SubStack I think I'll need to give it a shot, I have this aversion, something about breaking encapsulation but perhaps I don't get it fully. [02:23] eephillip has joined the channel [02:23] lem0nbyte: or maybe remote machine doesn't want to be queried. [02:23] secoif: BBL trying dnode [02:23] wookiehangover has joined the channel [02:24] jgallen23: from inside a module, is there any way to get the directory of the file that referenced it? [02:24] jgallen23: I'm running the node file via upstart so process.cwd() is /, but I need /var/www/site/ [02:24] teadict: that violates the funk [02:25] andrewfff has joined the channel [02:25] torvalamo: the module can be referenced from many different places [02:25] torvalamo: so it wouldn't make sense to have that information in one place.. [02:25] euoia has joined the channel [02:26] sorensen: anyone know if you can do a pre('read') in mongoosejs? [02:26] secoif: sorensen I don't believe so. Perhaps you want to use a getter or virtuals. [02:26] sorensen: i'm trying to restrict read access on a schema level [02:27] sorensen: so getter/setter wouldnt help me much [02:27] sorensen: its the find() findById() methods i'm trying to restrict [02:27] torvalamo: jgallen23: you can get the module's directory with __dirname, and if you know your app structure you can work from there? [02:28] jgallen23: torvalamo: yeah, that's ugly, but it might be the only way to go. [02:28] wookiehangover has joined the channel [02:28] RLa: why not just use /var/www/site? [02:28] sorensen: __dirname is a pretty girl [02:28] torvalamo: yeah unless there's a way you can pass the information to the module [02:28] sorensen: thankyouverymuch [02:28] jgallen23: I might just pass in __dirname to the module [02:28] RLa: either hard-coded or configurable [02:29] torvalamo: /var/www/site is pretty hard coded i must say [02:29] torvalamo: i have my stuff in /home [02:29] torvalamo: but i'm weird [02:29] RLa: i'm actually doing same [02:30] torvalamo: also makes it easier to separate a running test server and a dev environment [02:30] RLa: helps to make machine more organized and when you need to install another instance of software it would not be possible with system-wide install [02:31] torvalamo: spot on [02:32] torvalamo: actually i don't even specify home, i just say ~ [02:32] torvalamo: saves so much trouble :p [02:32] jgallen23: so your sites are in your user's home folder? [02:32] torvalamo: yeah [02:32] nisc_ has joined the channel [02:33] joshkehn has joined the channel [02:33] torvalamo: easier to add/remove more instances etc [02:33] jgallen23: do you have a specific user for running the server or just the normal user? [02:33] joshkehn has left the channel [02:33] torvalamo: i have a separate user for each instance [02:33] torvalamo: since it has a copy of the app in each home dir [02:33] RLa: btw, any idea why debian squeeze does not use upstart? [02:34] nisc_ has left the channel [02:35] secoif: sorensen perhaps ask in #mongoosejs [02:36] CIA-109: node: 03Andreas Madsen 07master * r5f08c3c 10/ (11 files in 4 dirs): [02:36] CIA-109: node: cluster improvements: Worker class and isolate internal messages [02:36] CIA-109: node: Fixes #2388 - http://git.io/p_2KLA [02:37] powdahound has joined the channel [02:38] k1ttty has joined the channel [02:39] MatthewS has joined the channel [02:39] tilgovi has joined the channel [02:39] tilgovi has joined the channel [02:40] broofa has joined the channel [02:41] secoif: SubStack ok. I take back my aversion. dnode is my new god. wow. [02:43] dthompso99 has left the channel [02:44] sorensen: secoif: thanks, will do [02:44] sorensen: and agreed on the dnode, good stuff [02:45] pauls1 has joined the channel [02:46] agnat has joined the channel [02:47] sridatta has joined the channel [02:49] Shaunzie has joined the channel [02:51] Destos has joined the channel [02:55] willwhite has joined the channel [02:56] BillyBreen has joined the channel [02:56] clutchski1 has joined the channel [02:56] nicholasf has joined the channel [02:58] clutchski1 has joined the channel [03:00] koo3 has joined the channel [03:02] shinuza has joined the channel [03:04] mehlah has joined the channel [03:05] jgallen23: module.paths.push deprecated in 0.6 right? [03:05] Shaunzie: yah [03:06] Shaunzie: oh was that just require.paths.push [03:08] clutchski1 has joined the channel [03:09] fbartho has joined the channel [03:10] Vennril has joined the channel [03:10] nicholasf has joined the channel [03:11] skm has joined the channel [03:13] boltR has joined the channel [03:14] koo3 has joined the channel [03:15] zemm has joined the channel [03:15] dubenstein has joined the channel [03:16] bingomanatee has joined the channel [03:16] euoia has joined the channel [03:17] node-code has joined the channel [03:17] richardr has joined the channel [03:20] loucal has joined the channel [03:21] tuhoojabotti: hmm [03:22] tuhoojabotti: I can't English. :E [03:22] Dmitrijus: :D [03:22] tuhoojabotti: How to say like 'overwrites' but it doesn't write [03:22] tuhoojabotti: like --port overwrites config, but it doesn't overwrite it. :D [03:22] tuhoojabotti: overrides? [03:22] cmr: Yes [03:22] Dmitrijus: tuhoojabotti: yes [03:22] cmr: Overrides [03:22] tuhoojabotti: Ok. [03:22] tuhoojabotti: Thanks [03:23] tuhoojabotti: I put overrides first, but then I was like 'check google' -> 'to ride over or across' [03:23] tuhoojabotti: Hmm [03:23] stagas has joined the channel [03:23] tuhoojabotti: :D [03:24] c4milo has joined the channel [03:25] cloudsben has joined the channel [03:26] fbartho has joined the channel [03:26] secoif: SubStack do i need a proxy to talk via dnode to two different machines? [03:28] Xiphias3 has joined the channel [03:28] joshkehn has joined the channel [03:28] joshkehn has left the channel [03:29] secoif: SubStack I believe the answer is no. [03:29] SubStack: why would you need a proxy? [03:29] SubStack: just have one do .listen() and the other do .connect() [03:30] SubStack: doesn't even matter which side does what because it's a symmetric connection [03:31] skm has joined the channel [03:31] cjus34 has joined the channel [03:32] tuhoojabotti: SubStack: What's the best way to implement --help in optimist, atm I just use check :D [03:32] secoif: SubStack got it, just needed to read ".connect(…) Pass in a port, host, UNIX domain socket path, block, or options object" Thanks. [03:33] joshkehn has joined the channel [03:33] SubStack: tuhoojabotti: there's a .help() you can call [03:34] tuhoojabotti: true [03:34] SubStack: also showHelp() [03:34] SubStack: just var opt = optimist(...), argv = opt.argv; if (argv.help) opt.showHelp() [03:34] SubStack: or whatever [03:35] tuhoojabotti: SubStack: Sorry, I was just expecting a neat helper! [03:35] tuhoojabotti: ":D" [03:35] jacobolus has joined the channel [03:35] tuhoojabotti: But yeah, I'm lazy so I'll just use check [03:35] tuhoojabotti: .check(function (a) {return !a.h;}) :D [03:35] SubStack: that works! [03:35] davidbanham has joined the channel [03:35] tuhoojabotti: node server.js --no-help ftw [03:36] cloudsben has left the channel [03:40] irclogger_com has joined the channel [03:40] Shaunzie has joined the channel [03:41] dylang: http://dod.no.de -- new doodle or die beta. [03:41] meso has joined the channel [03:41] euoia has joined the channel [03:42] Shaunzie: dylang: nice! [03:43] tuhoojabotti: I can't draw. :E [03:43] tuhoojabotti: and the pen lags [03:43] smathy has joined the channel [03:43] vicapow has joined the channel [03:47] jstonne has joined the channel [03:48] brianseeders has joined the channel [03:49] fbartho has joined the channel [03:49] monteslu_ has joined the channel [03:51] mikeric has joined the channel [03:51] tonymilne has joined the channel [03:53] jetienne has joined the channel [03:54] kazupon has joined the channel [03:55] dr0id has joined the channel [03:57] dubenstein has joined the channel [03:57] postwait has joined the channel [03:59] redir_ has joined the channel [03:59] dgathright has joined the channel [04:02] dubenstein has joined the channel [04:05] ly- has joined the channel [04:10] mandric has joined the channel [04:10] zitchdog has joined the channel [04:11] redir__ has joined the channel [04:11] nicholasf has joined the channel [04:15] blueadept has joined the channel [04:18] stagas has joined the channel [04:21] replore has joined the channel [04:21] replore_ has joined the channel [04:22] fairwinds has joined the channel [04:22] dylang has joined the channel [04:22] _dc has joined the channel [04:24] janeUbuntu has joined the channel [04:28] SomeoneWeird: how to I use/compile https://github.com/bnoordhuis/node-curl ? [04:28] SomeoneWeird: *do [04:29] gavin_huang has joined the channel [04:30] p1d has joined the channel [04:31] tekky has joined the channel [04:31] Aria: run node-waf in the directory you check out to. [04:31] Aria: Looks like a lot of WIP though! [04:31] AAA_awright: FINALLY I was about ready to strangle someone... http://search.npmjs.org/#/rdf [04:32] Aria: Any reason you need curl, SomeoneWeird? [04:32] Aria: Woot! [04:32] AAA_awright: curl, why. Why. [04:32] SomeoneWeird: Aria, well, i need to call a web api [04:32] SomeoneWeird: figured its the easiest way todo it? [04:32] Aria: SomeoneWeird: ... And? [04:33] Aria: Heh. Node has a built in http client. [04:33] Aria: A really good one. [04:33] SomeoneWeird: trrueeee. [04:33] AAA_awright: try require('http') :p [04:33] SomeoneWeird: Can I POST stuff with custom headers etc.? [04:33] Aria: Yes. [04:33] SomeoneWeird: mm aight, thanks [04:33] context: haha [04:33] Aria: You get all the low-level access to the HTTP protocol you'd want. [04:34] context: did you try checking the docs ? [04:34] Aria: Node is NOT very far above the metal. [04:34] SomeoneWeird: yeah [04:34] Aria: Also, I remember seeing several things in the npm registry that try to wrap specific patterns of web API access -- you might check there for your specific task. [04:34] mehlah has joined the channel [04:34] jaitaiwan has joined the channel [04:34] context: holy crap. http even lets you mess with trailers. i didnt even know http requests had trailers [04:35] Aria: I know, right?! [04:35] SomeoneWeird: http://nodejs.org/docs/latest/api/http.html#http.request right? [04:35] context: OH. read only :/ [04:35] context: someoneweird: im GUESSING thats what you would use to make an http request [04:35] jgornick has joined the channel [04:35] Aria: context: response.addTrailers [04:36] context: :x! [04:36] Aria: SomeoneWeird: Yeah. That's the higher level wrapper. [04:36] willwhite has joined the channel [04:36] SomeoneWeird: alright thanks [04:37] Aria: (uses the agents by default, but mostly does what you'd expect. Do be aware that node's default agent pool is browser-like and won't make too many requests to a given remote at once) [04:37] SomeoneWeird: mm [04:37] Aria: (If you make a bunch of requests, they queue once you hit the limit, but connections get reused) [04:38] metapandava has joined the channel [04:38] sarlalian has joined the channel [04:39] ryah: the metal is pretty deep :) [04:39] ryanfitz has joined the channel [04:39] Aria: ACTION laughs. Okay, true. [04:40] Aria: But not so far from the network ring buffers. [04:40] OmidRaha has joined the channel [04:40] MatthewS has joined the channel [04:45] SomeoneWeird: If i compile a module on nix, should it work on windows? [04:45] Lingerance: Maybe. [04:46] SomeoneWeird: mm [04:46] SomeoneWeird: ok [04:46] context: no. [04:46] Lingerance: Most modules are made and tested on some *NIX variant. [04:46] context: errr... i read that wrong [04:48] blueadept has joined the channel [04:48] blueadept has joined the channel [04:48] stepheneb has joined the channel [04:55] clutchski1 has joined the channel [04:57] k1ttty has joined the channel [04:57] elliottcable has joined the channel [04:59] joestein has joined the channel [05:00] lwille has joined the channel [05:00] MatthewS has joined the channel [05:02] boehm has joined the channel [05:02] sreeix has joined the channel [05:04] devongovett has joined the channel [05:05] secoif: SomeoneWeird you can also use https://github.com/mikeal/request [05:05] ngoodman has left the channel [05:09] clutchski1 has joined the channel [05:09] janeUbuntu has joined the channel [05:10] AAA_awright: Who's antoniogarrote? [05:10] torvalamo: antonio garrote [05:11] torvalamo: i presume [05:11] SomeoneWeird: lol [05:11] torvalamo: he's a developer with a hipster twitter pic [05:11] slajax: Can anyone tell me what the heck I'm doing wrong with mongoosejs here: http://pastebin.com/pqy8C11k? [05:12] torvalamo: so he probably knows all the buzzwords and stuff [05:12] slajax: The console log returns undefined even though there are two ObjectIds to populate [05:12] slajax: ACTION smashes face against wall and prepares to eat foot [05:13] torvalamo: how can you eat with that face [05:13] slajax: straw. [05:13] torvalamo: so you're putting your foot in your mouth, but you need it fed through a straw... that's extremely metaphorical [05:14] torvalamo: in fact it may be too much [05:14] slajax: Call me ghandi. [05:14] slajax: Almost enlightening. [05:15] Shaunzie has joined the channel [05:17] torvalamo: so what happens if you print the error in your run callback [05:17] torvalamo: which is now ignored [05:19] slajax: that's what the straw is for probably [05:20] slajax: I was using the outer iterator in the inner loop [05:20] tytsim has joined the channel [05:20] slajax: i != j == ( me * fail ) [05:20] torvalamo: the straw that broke the camel's back was used to feed the developer his own foot due to a run in with a wall [05:20] slajax: oh dear god this rabbit hole is deep [05:21] slajax: time to meditate [05:23] pyrotechnick: LOL [05:25] raws0cketz_ has joined the channel [05:26] pizthewiz has joined the channel [05:26] nicholasf has joined the channel [05:27] cethap has joined the channel [05:27] cethap: probando chat [05:27] dinarcon has joined the channel [05:28] torvalamo: slajax: http://pastebin.com/LyMzj3pV that looks prettier to me [05:28] torvalamo: :P [05:28] torvalamo: oops, line 28 is supposed to be eng, not e [05:28] slajax: yeah saw that [05:29] slajax: i didn't think there was a Array.forEach in node [05:29] slajax: or is that mongoose? [05:29] torvalamo: it's js 1.6 [05:29] torvalamo: standard [05:29] slajax: fair enough [05:29] torvalamo: dunno if it's in node, it's in chrome, so... [05:30] benvie: there isn't in node [05:30] torvalamo: there is [05:30] torvalamo: Array.prototype.forEach is defined [05:31] slajax: sweet [05:31] slajax: loos like I got a lot of for loops to clean up [05:31] torvalamo: if it wasn't you should have made it, because it is teh pwn [05:31] slajax: agreed [05:32] raws0cketz_: https://bitly.com/zlOoO1 [05:32] slajax: i'm not afraid of some old school i++ [05:32] benvie: https://gist.github.com/1563865 [05:32] benvie: there you go [05:32] benvie: String and Array functions [05:32] kran has joined the channel [05:33] torvalamo: what's that for? [05:33] benvie: oh I thought you meant Array.forEach which is different from Array.prototype.forEach [05:33] slajax: I shortened it [05:33] benvie: Array.forEach([], function(){}) [05:33] HT has joined the channel [05:33] benvie: vs. [].forEach(function(){}) [05:33] slajax: for fear of someone yelling at me not to fuck wit the prototype [05:33] torvalamo: ah yeah [05:33] torvalamo: good point [05:33] DTrejo has joined the channel [05:34] benvie: Array.forEach is a function in Firefox [05:34] benvie: not in node [05:34] torvalamo: yeah i don't like those static functions [05:34] benvie: they have uses [05:34] benvie: multilineString.split('\n').forEach(String.trim) [05:35] benvie: example of the benefit of String.trim over String.prototype.trim [05:35] torvalamo: hm [05:36] benvie: or I guess you'd want to use .map(String.trim) there, but whatever [05:36] torvalamo: was gonna type that [05:36] torvalamo: took too long [05:36] kmiyashiro has joined the channel [05:36] benvie: anyway there's a lot of uses for it, in that it allows functional usages [05:36] benvie: where you're passing in the transformation as a function itself [05:36] benvie: instead of operating directly on data [05:37] jstonne has joined the channel [05:38] clutchski1 has joined the channel [05:38] kmurph79 has joined the channel [05:39] torvalamo: can't think of a scenario where you'd want to pass Array.forEach though [05:39] torvalamo: it's not an easy function to map to or anything [05:39] benvie: that one specifically since it doesn't return anything [05:40] benvie: functional usage generally takes in one thing and returns one thing [05:40] benvie: but just using that quick shim to parameterize all the Array/String prototype functions is useful, and brings it into paraity with what exists in Chrome and Firefox [05:40] stonebranch has joined the channel [05:41] torvalamo: yeah i agree it should be consistent [05:41] torvalamo: where possible [05:41] benvie: er actually I don't see it in Chrome [05:42] benvie: but it is part of JS 1.6 and is in Spidermonkey [05:42] torvalamo: Array.forEach or prototype= [05:42] benvie: Array.forEach [05:42] jxson has joined the channel [05:42] TheIronWolf has joined the channel [05:42] torvalamo: that's because the static one isn't standard [05:42] torvalamo: only the prototype one is [05:43] benvie: hmm I guess it's just a spidermonkey thing then [05:43] benvie: works in FF anyway and it should be standard because it's useful [05:43] torvalamo: i love the prototype version, but i can't think of a use for the static one [05:44] torvalamo: but i'm sure someone could come up with something [05:44] torvalamo: i'm calling it static but there's probably a better name for it [05:44] innoying has joined the channel [05:44] benvie: yeah there isn't any since forEach returns nothing and also has no side effects [05:45] benvie: but most of the rest of the string and array prototype functions do return something [05:45] benvie: maybe all of them except forEach [05:45] xSmurf has joined the channel [05:45] torvalamo: unshift, and push don't [05:45] torvalamo: do they? [05:45] benvie: i would call them prototypal functions [05:46] benvie: yeah they operate on `this` which would be paramterzied as [05:46] benvie: Array.push(myArray, "some item") [05:46] torvalamo: never mind they return the new array length [05:46] benvie: and yeah that [05:46] SomeoneWeird: is require() the same as php's include() ? [05:46] benvie: also there is the use of composing those functions [05:47] torvalamo: forEach can also operate on this [05:47] benvie: yeah [05:47] torvalamo: since this is passed as the third param in the callback [05:47] torvalamo: as well as each element obviously [05:47] benvie: Array.forEach(someArray, myCallback, thisBinding) [05:47] torvalamo: callback(element, index, array) [05:48] torvalamo: or element, index, someArray [05:48] benvie: logForEach = Array.forEach.bind(null, someArray, function(s){console.log(s)}) [05:49] benvie: will then always console.log everything in someArray [05:49] torvalamo: that's rape [05:49] benvie: so there's always uses [05:49] torvalamo: maybe the standard is trying to prevent broken code [05:49] torvalamo: just saying [05:50] torvalamo: :P [05:50] toddysm has joined the channel [05:50] benvie: whatever I do crazy stuff [05:51] dilvie has joined the channel [05:51] torvalamo: you know when you've been coding for two days, and you make one save that fucks up everything, and you didn't commit since last night? and the undo history doesn't go back till the time it last worked and you can't remember what you did [05:51] torvalamo: happened to me once [05:52] torvalamo: they call it flashbacks, but all i saw were callbacks [05:52] pyrotechnick: l2vcs [05:52] jjd has joined the channel [05:52] benvie: var applybind = Function.prototype.apply.bind.bind(Function.prototype.apply); [05:52] benvie: var pushall = applybind(Array.prototype.push); [05:52] benvie: var arr = []; pushall(arr, [5, 10, 20]); [05:52] pyrotechnick: v8: var applybind = Function.prototype.apply.bind.bind(Function.prototype.apply);var pushall = applybind(Array.prototype.push);var arr = []; pushall(arr, [5, 10, 20]); [05:53] astropirate has joined the channel [05:53] pyrotechnick: wheres that pesky bot gone [05:53] torvalamo: pesked off [05:53] benvie: it won't return the new val so you need to have it print `arr` [05:53] benvie: .. var applybind = Function.prototype.apply.bind.bind(Function.prototype.apply); var pushall = applybind(Array.prototype.push); var arr = []; pushall(arr, [5, 10, 20]); arr [05:53] catb0t: [ 5, 10, 20 ] [05:54] torvalamo: .. [].push([5 , 10, 20]) [05:54] catb0t: 1 [05:54] torvalamo: right [05:54] torvalamo: what did i miss [05:55] benvie: .. var arr = []; arr.push(5, 10, 20); arr [05:55] catb0t: [ 5, 10, 20 ] [05:55] benvie: .. var arr = []; arr.push([5, 10, 20]); arr [05:55] catb0t: [[ 5, 10, 20 ] ] [05:55] benvie: there [05:55] lorfds has joined the channel [05:55] torvalamo: that IS one pesky bot [05:55] torvalamo: you were right [05:55] sreeix has joined the channel [05:55] torvalamo: nvm [05:56] benvie: pushall allows passing an array where each item is pushed as an index in the other array [05:56] benvie: instead of a single index which is an array [05:56] AAA_awright: Where's bnoordhuis when you need him [05:56] AAA_awright: This CLA makes me want to strangle someone [05:56] torvalamo: if he's european he's probably sleeping [05:56] torvalamo: as it's 7 am here [05:56] benvie: [19:57] signing off [05:56] benvie: 4 hours ago [06:00] garrensmith has joined the channel [06:02] jimt has joined the channel [06:04] mraleph has joined the channel [06:08] rgl has joined the channel [06:09] agnat has joined the channel [06:09] ryah: AAA_awright: ? [06:09] zeade has joined the channel [06:09] stelcheck has joined the channel [06:10] tekky has joined the channel [06:10] AAA_awright: ryah: It took two months to get an SSL certificate patch accepted, actually a bit longer I think since webr3 actually wrote it a year ago iirc https://github.com/joyent/node/pull/1286 [06:10] jjd has left the channel [06:11] ryah: AAA_awright: sorry about that [06:11] Carmivore has joined the channel [06:11] ryah: we've been behind a lot the lsat few weeks [06:11] Edy has joined the channel [06:11] Edy has joined the channel [06:12] AAA_awright: It looks like it made it in a month ago, I just found out. [06:13] AAA_awright: But I'm thinking that needs to be fixed, I don't know of anything like this. The Linux kernel seems fine with just Signed-Off-By. [06:14] jjd has joined the channel [06:17] devongovett has joined the channel [06:20] ryah: AAA_awright: what do you mean? [06:20] marcello3d has joined the channel [06:22] r3dbr1ck has joined the channel [06:23] stagas has joined the channel [06:24] AAA_awright: ryah: I don't know of any other project that has such a policy, and I see it getting in the way. It's unnecessary legal FUD. [06:27] jxie has joined the channel [06:28] ryah: AAA_awright: many projects have a CLA - it's necessary to ensure that people understand the terms under which they are contributing [06:29] ryah: e.g. V8 [06:29] dnjaramba has joined the channel [06:29] CrawfordComeaux has joined the channel [06:30] ryah: it is an extra burdon - but it keep us free from the possibility that someone shows up at some point and says "i contributed code and now you owe me money" [06:31] r3dbr1ck has left the channel [06:31] ryah: the linux kernel doesn't need this because it's GPL - which is very strict [06:31] ryah: node's license is very open [06:31] ryah: it's more or less public domain [06:34] secoif: ryah perhaps you should mention something like that at the top of the CLA [06:34] AAA_awright: I'm not sure choice of license impacts that though [06:35] jxie has joined the channel [06:35] lem0nbyte: http://code.google.com/p/vita/wiki/CLA [06:35] tkaemming has joined the channel [06:35] r3dbr1ck has joined the channel [06:35] ryah: secoif: it has an explanation at the top [06:37] tprice has joined the channel [06:37] secoif: ryah I meant a tldr; version for AAA_awright [06:38] tprice: how do i change the default require path in node? [06:39] ryah: tprice: set NODE_PATH [06:39] janeUbuntu has joined the channel [06:41] markq: nodejitsu is awesome [06:41] nicholasf has joined the channel [06:41] secoif: tprice what are you changing it to do? [06:41] jesusabdullah: markq: Thanks for the kind words! [06:42] tprice: im using the runInThisContext and i want to require from the "path" of the context that im running [06:42] tprice: ryah: how would i add to NODE_PATH? [06:43] ryah: export NODE_PATH=$HOME/local/my_module_repo [06:44] tprice: looking at the node.js src file and NativeModule.require i dont see how it gets the path [06:44] tprice: ryah: that has to be done outside of node? [06:44] secoif: tprice, you could also wrap require in your own definition that prepends the 'path of your context' [06:44] ryah: tprice: yes [06:44] ryah: tprice: we don't like letting people modify their module path [06:44] ryah: tprice: we prefer people to keep modules local [06:44] AAA_awright: In a sane world, the understanding is by forming a derivative work, you're using the project's existing license. But if you need an explicit statement: [06:44] AAA_awright: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/SubmittingPatches;h=4468ce24427cb011e7991d8f1ae2560764b170b8;hb=HEAD#l297 That should be all one needs. There's nothing in there that would change just because you use a liberal license (or public domain, as I do... Oh dear SQLite uses Fossil, kill me now) [06:44] ryah: in a node_modules folder [06:45] benvie: you need to look into lib/module.js and extend Module to have a dynamic include path for that [06:45] secoif: tprice as in, redefine require in the context you supply to runInThisContext [06:45] benvie: if you're looking to change it using vm [06:45] tprice: secoif: yes [06:45] secoif: should be simple enough. [06:45] tprice: im making an app server with custom contexts for each app [06:45] benvie: https://github.com/Benvie/Context-Loader has some work related to that but doesn't explicitly work with node's module system [06:46] ryah: AAA_awright: yeah, having that would probably work [06:46] jaket has joined the channel [06:46] secoif: tprice why not boot up a new node process [06:46] rgl has joined the channel [06:46] benvie: The idea of loading a module in a specific V8 context that aren't completely seperate node instances has a lot of use and merit [06:46] benvie: and isn't possible using node's module system unaltered [06:47] jimt_ has joined the channel [06:47] tprice: secoif: im passing in built object the the module [06:47] tprice: im trying to replicate NativeModule but i dont think thats what i should be doing [06:47] benvie: nativemodule is a very basic loader to bootstrap node's Module module [06:48] benvie: which loads the rest [06:48] secoif: tprice you can pass data to the new process you fire up [06:48] r3dbr1ck has left the channel [06:48] secoif: tprice only thing is if you have a bunch of apps, running like that, if one crashes, they all crash [06:49] secoif: tprice sadfaces all round. [06:49] tprice: benvie: oh crap ive been looking at the wrong module [06:50] benvie: ha that'd do it [06:50] SomeoneWeird: message = message.split(' ')[1]; < will that work? or will i have todo message = message[1]; ? [06:50] tprice: secoif: i cant fork an app and pass in an express server [06:50] kiranryali has joined the channel [06:51] wedtm has joined the channel [06:51] tprice: want to have a layer between the server app and node [06:51] secoif: hm [06:52] ambroff_ has joined the channel [06:52] boltR has joined the channel [06:52] tprice: benviet yes thanks i should have been looking at module.js and not node.js [06:52] kiranryali has joined the channel [06:53] tonymilne has joined the channel [06:54] meso has joined the channel [06:54] Morkel has joined the channel [06:55] voidvector: What is preferred in node.js, the 'new' keyword? or Object.create? [06:55] benvie: they're different [06:55] benvie: Object.create creates an object with its __proto__ set to the passed in object [06:55] SubStack: write unit tests [06:55] tprice: so i can call something like var module = new Module.constructor(id, parent);? [06:55] SubStack: then nobody cares [06:56] benvie: but doesn't run the constructor on the result [06:56] _jzl has joined the channel [06:56] tuhoojabotti has joined the channel [06:56] benvie: require('module') gets you node's Module [06:56] benvie: but otherwise yeah [06:56] SubStack: and if you're writing a module for public consumption then just use regular functions [06:57] benvie: also you can't use the `new` keyword like that [06:57] benvie: you'd need to do var module = new (Module.constructor(id, parent)); [06:58] benvie: you'd need to do `var module = new (require('module').constructor(id, parent));` to put it together [06:58] ph^ has joined the channel [06:59] ccare has joined the channel [06:59] tprice: or var module = new (require('module').constructor)(id, parent); is it not all the same? [07:00] tprice: but i think im just going to replace the module.js with my own [07:00] benvie: it just needs to be wrapped in parenthesis if you're using the new keyword [07:00] benvie: so it operates on the result [07:00] benvie: or you can do this [07:02] benvie: function construct(ctor){ return new (ctor.bind.apply(ctor, Array.prototype.slice.call(arguments, 1))); } [07:02] meso has joined the channel [07:03] benvie: then you'd do construct(Module, a, b, c) [07:03] robm_ has joined the channel [07:05] tprice: lol i could so that [07:05] rgl_ has joined the channel [07:07] benvie: but yeah [07:07] SamuraiJack has joined the channel [07:07] benvie: I basically wrapped and then redid a number of node's modules for a thing when the difference between my needs and what was provided was big enough [07:07] benvie: so I see it as a perfectly viable option [07:11] Margle has joined the channel [07:11] rgl has joined the channel [07:12] kmurph79 has joined the channel [07:13] socketio\test\81 has joined the channel [07:13] dano_ has joined the channel [07:15] k1ttty has joined the channel [07:17] dilvie has joined the channel [07:19] GhostT has joined the channel [07:19] npa has joined the channel [07:20] dnjaramba has joined the channel [07:21] nicholasf has joined the channel [07:22] benvie: oops that was a bit off. `function construct(ctor){ return new (ctor.bind.apply(ctor, [null].concat([].slice.call(arguments, 1))); }` [07:22] benvie: .. function construct(ctor){ return new (ctor.bind.apply(ctor, [null].concat([].slice.call(arguments, 1))); } [07:22] catb0t: Exception: SyntaxError: Unexpected token ; [07:22] benvie: .. function construct(ctor){ return new (ctor.bind.apply(ctor, [null].concat([].slice.call(arguments, 1)))); } [07:22] catb0t: [07:22] benvie: .. function construct(ctor){ return new (ctor.bind.apply(ctor, [null].concat([].slice.call(arguments, 1)))); }; construct(Array, 5, 10, 20) [07:22] catb0t: [ 5, 10, 20 ] [07:23] chrisdickinson: .. function construct(ctor){ return new (ctor.bind.apply(ctor, [null].concat([].slice.call(arguments, 1)))); }; a = construct(Array, 5, 10, 20); a.constructor === Array [07:23] catb0t: true [07:24] chrisdickinson: okay, yeah. makes sense. was unaware that Function#bind worked with `new` so nicely. [07:24] benvie: it didn't until ES5 [07:25] benvie: but it was added since there's no other way to construct an object with variable arguments using `new` [07:25] benvie: without eval or something stupid like new ctor(a, b, c, d, e, f, g, h, i, j, k) [07:25] chrisdickinson: yeah [07:25] chrisdickinson: i always forget about that particular wart. [07:26] chrisdickinson: which is to say, it only pops up once every three to six months :\ [07:26] benvie: so a bound function, when using `new` is set to the newly constructed object [07:26] benvie: the thing that Object.create(ctor.prototype) would give [07:27] benvie: instead of like new Function.prototype which is useless [07:27] chrisdickinson: yeah, i remember looking the discussion around bind in es5shim re: being able to work nicely with new, but for it was during one of those off months where i wasn't trying to curry a function instantiation [07:28] benvie: it's not possible to emulate that specific bit of functionality so yeah that's one of those key disconnects with shims [07:28] benvie: stuff involving changes to keyword functionality are few and far between with Es5 [07:28] chrisdickinson: yep [07:29] erikzaadi has joined the channel [07:31] ryan_stevens has joined the channel [07:31] fangel has joined the channel [07:32] ppcano has joined the channel [07:35] neshaug has joined the channel [07:35] ryan_stevens has joined the channel [07:36] martin_sunset has joined the channel [07:37] michaelhartau has joined the channel [07:37] fangel has joined the channel [07:38] Shaunzie has joined the channel [07:39] GhostT has joined the channel [07:45] mikeal has joined the channel [07:48] dano_: weird question I cant kill the node.exe in my win7 cmd shell on my macbook pro. What is the key command to terminate node.exe? [07:48] markq: ctrl+c [07:49] markq: at least that's what it is in bash [07:49] dano_: yeah that isnt working [07:49] rendar has joined the channel [07:49] TheNumb has joined the channel [07:49] dnjaramba has joined the channel [07:49] ryan_stevens has joined the channel [07:49] markq: idk. never ran node on windows before [07:50] dano_: yeah this is a weird setup [07:50] markq: although I'm ssh'ing from win7 to my ubuntu vps box lol [07:50] littlebiged has joined the channel [07:51] jdickiton has joined the channel [07:51] `3rdEden has joined the channel [07:52] jdickiton has joined the channel [07:55] dgathright has joined the channel [07:56] jdickiton has joined the channel [07:56] meso has joined the channel [07:57] pors has joined the channel [07:59] clu3 has joined the channel [07:59] benvie: ctrl+shift+escape brings up task manager as a last result [07:59] benvie: resort [07:59] Shaunzie: learnboost = love …. [08:00] dano_: I just close the cmd as a last resort [08:00] jaket has joined the channel [08:01] dep has joined the channel [08:01] dano_: ah well that is better to just kill node.exe then...thank [08:01] dano_: ss [08:02] ph^ has joined the channel [08:03] p1d has joined the channel [08:03] mike5w3c has joined the channel [08:04] tdegrunt has joined the channel [08:05] hackband has joined the channel [08:05] Mattec has joined the channel [08:06] fangel has joined the channel [08:07] amigojapan has joined the channel [08:08] groom has joined the channel [08:08] dnjaramba has joined the channel [08:08] insin: ACTION wonders if Jade automatically calls toString methods [08:08] meso has joined the channel [08:09] braoru has joined the channel [08:09] groom has left the channel [08:09] raphdg has joined the channel [08:10] groom has joined the channel [08:12] Neil has joined the channel [08:12] Neil__ has joined the channel [08:13] michaelh_ has joined the channel [08:14] hipsters_ has joined the channel [08:17] secoif: TDD vs BDD style methods. I'm unit testing so the distinction between these two is minimal. Is one more 'right' than the other? [08:17] secoif: BDD just seems, wordier. [08:17] SubStack: neither [08:18] SubStack: and those aren't really comparable [08:18] SubStack: just write tests [08:18] SubStack: like, with programming and stuff [08:18] Dmitrijus: yep [08:18] SubStack: just plain old asserts works great or isaac's node-tap is swell [08:18] maxogden: but then how do i waste time at work? [08:19] joshwnj: is there a buzz word for that? ;) [08:19] secoif: I'm looking at http://chaijs.com/ [08:19] SubStack: maxogden: you'll just have to do that the old fashioned way of youtube videos and reddit [08:19] Dmitrijus: maxogden: by reading hacker news? :]] [08:19] Guest17375 has joined the channel [08:19] AD7six_ has joined the channel [08:19] maxogden: i would rather maintain a selenium grid cluster than read hacker news [08:20] Dmitrijus: or that [08:20] spolu has joined the channel [08:20] secoif: chaijs has two assertion styles. I'm indifferent about them so a decision is difficult. [08:20] secoif: SubStack you just use the built-in asserts [08:20] TimTimTim has joined the channel [08:20] secoif: ? [08:21] maxogden: substack is in the bathroom he will respond to your query momentarily [08:21] maxogden: correction he was just retrieving his drawing device [08:21] maxogden: #liveblogsubstack [08:21] joshwnj: maxogden: from the bathroom?? [08:21] maxogden: no no there was a correction [08:22] joshwnj: ahs [08:22] SubStack: secoif: I hate the first 2 styles on that page [08:23] whitman has joined the channel [08:24] SubStack: secoif: here is what node-tap tests look like: https://github.com/substack/node-stackedy/blob/master/test/calls.js [08:25] ppcano has joined the channel [08:25] petrjanda has joined the channel [08:26] catshirt has joined the channel [08:27] secoif: SubStack I've played with node-tap before, it's pretty similar to nodeunit, which is our primary testing tool. I was planning to move to mocha simply because nodeunit moves too slowly [08:27] secoif: mocha can also produce tap output [08:28] secoif: the reason I'm considering chai is simply for the isArray assertion [08:28] SubStack: I don't even care about tap output I just like the node-tap api [08:28] SubStack: secoif: have you checked out testling? [08:29] SubStack: it's pretty much node-tap but for browsers that we run for you [08:29] secoif: I haven't written browser code for 6 months [08:29] _Tristan has joined the channel [08:29] secoif: :D [08:30] secoif: SubStack I'm trying to get the frontend team to start testing though. Sproutcore devs. [08:31] secoif: SubStack if you had any insights on frontend testing, that'd be a sweet blog post. Specifically "what to test" [08:32] secoif: this is something we have endless arguments about [08:32] magnetik has joined the channel [08:32] scriptle has joined the channel [08:33] CIA-109: node: 03Andreas Madsen 07master * re2f1e50 10/ (3 files in 2 dirs): [08:33] CIA-109: node: typos [08:33] CIA-109: node: fixes #2465 - http://git.io/PyfyPg [08:34] scriptle: How do I set the MYSQL_CONFIG ..... before install db-mysql ... when I dont have a mysql_config in my system [08:34] scriptle: I use ubuntu server. and mysql-server is installed in my system. [08:34] jaitaiwan has joined the channel [08:35] _Tristan: Hi. I'm trying to serve a static file to a user but it won't work, in case you can't tell by the code I've never used node.js before: https://gist.github.com/1564270 [08:36] koo3 has joined the channel [08:37] Mustansir has joined the channel [08:37] DTrejo: _Tristan: I will look at it for you [08:37] secoif: _Tristan few tips, path module is your friend. You don't need to do all that .split stuff if you use path.basename, path.extname, etc [08:38] secoif: _Tristan http://nodejs.org/docs/v0.6.6/api/all.html#path [08:38] _Tristan: secoif: thank you [08:38] secoif: _Tristan it's also got path.exists [08:39] DTrejo: path.join also [08:39] secoif: secondly. you could probably just use express' static file server [08:39] DTrejo: it's good to get an idea of what's going on underneath [08:39] DTrejo: just for edification [08:39] secoif: DTrejo that's true. [08:40] secoif: _Tristan many people also use nginx for static file serving [08:40] _Tristan: I use nginx for static file serving, I'm just trying to learn stuff [08:40] secoif: awesome. [08:41] secoif: yeah I don't play with streams or pipes enough to help you unfortunately [08:41] insin has joined the channel [08:41] DTrejo: secoif: it's working for me [08:41] DTrejo: I will update that gist and show you my code [08:41] DTrejo: err [08:41] DTrejo: _Tristan: it is working for me, ^ [08:41] secoif: :D [08:42] ly- has joined the channel [08:42] _Tristan: without edits..? [08:42] mikeal has joined the channel [08:42] DTrejo: _Tristan: https://gist.github.com/1564297 [08:42] DTrejo: with edits [08:43] DTrejo: you can see the edits: https://gist.github.com/1564297/e7fe7aaa5f8bb641b7c30583321bab0d37dbfae6 [08:43] vol4ok_ has joined the channel [08:43] secoif: _Tristan I think the issue is that your pipe command is async, but you end the res before it's got a chance to complete [08:43] DTrejo: _Tristan: summary: comment out res.end() because pipe does that for you [08:43] cognominal has joined the channel [08:44] _Tristan: oh, I didn't know that. I wish gist had diff, that seems like an obvious feature [08:44] Shaunzie has joined the channel [08:44] DTrejo: _Tristan: I recommend 2 space soft tabs and minimal indentation via early returns :) makes life easier [08:44] joshontheweb has joined the channel [08:44] scriptle: How do I set the MYSQL_CONFIG ..... before install db-mysql ... when I dont have a mysql_config in my system [08:44] CIA-109: node: 03koichik 07v0.6 * rbaebd30 10/ lib/http.js : http: use `self` insted of `this` - http://git.io/SkeMQw [08:44] secoif: agree. [08:44] davetayls has joined the channel [08:45] DTrejo: the soft tabs advice is just to be doing the same thing at many people do in the node community, and the early returns and avoiding indentation is just for all programming [08:45] _Tristan: I hate soft tabs, they're never soft enough [08:45] Nuck: DTrejo: I prefer hard tabs simply because it's good when you've got 5 guys of different tab-width-preference ;) [08:45] kmurph79 has joined the channel [08:45] DTrejo: ^ _Tristan, yeah up to :) but also this article is great: stella.laurenzo.org/2011/03/bulletproof-node-js-coding/ I highly recommend you read it and especially try the named functions advice [08:45] secoif: _Tristan deep down, I think tabs are better, but I've succumbed to the two space thing [08:45] DTrejo: Nuck: yeah, it's a religious thing [08:46] Nuck: DTrejo: Very much so [08:46] davetayls has joined the channel [08:46] Nuck: DTrejo: I think 8-wide tabs are also religious [08:46] DTrejo: I kinda just like 2 spaces b/c that is what a lot of people use for node & JS [08:46] secoif: Nuck that's the browser's fauly [08:46] secoif: fault* [08:46] rgl has joined the channel [08:46] Nuck: Because, at the very least, it's ridiculous [08:46] Nuck: secoif: Hrm? No, I mean in vim, etc. [08:47] Nuck: All the command line editors use 8-wide tabs as default, I hear Linus Torvalds does as well [08:47] secoif: oh yeah, i'm talking about in gists. [08:47] Nuck: Something about "preventing nesting" or some shit [08:47] Nuck: IDFK [08:47] secoif: Nuck I used 8 space tabs for years, uni taught us to do it. [08:47] Nuck: secoif: haha [08:47] DTrejo: Nuck: it prevents nesting b/c 80 line columns prevent you from nesting to stupid dumbass levels ;) [08:47] Nuck: I've always been a 4-wide guy, until recently [08:47] Nuck: Now I'm 3-wide [08:48] DTrejo: ! [08:48] bergie has joined the channel [08:48] DTrejo: how odd! [08:48] secoif: oh get out [08:48] DTrejo: lol [08:48] secoif: Nuck 3? [08:48] secoif: really [08:48] Nuck: I blame Node for making me lower my indentations :P [08:48] Nuck: So many callbacks that 4-wide was getting unwieldy. And I cannot read 2-wide indented code [08:48] secoif: i have genuinely seen code indented to multiples of 3 before [08:48] DTrejo: next thing you know you'll be soft tabbing with just anyone you meet on the street [08:48] Nuck: It just doesn't look normal [08:48] DTrejo: Nuck ^ [08:49] secoif: hahaha [08:49] Nuck: However, I use hard-tabs, so the switch was as easy as changing the setting in my .sublime_settings file [08:49] Nuck: Though I had some issues with alignment, I moved that all to spaces [08:49] DTrejo: Nuck: I highly recommend named callbacks from the stella article, if you haven't already read it. works great at preventing callback indentation death [08:49] secoif: The thing i like about tabs is that you can configure your ide to whatever you wish [08:49] DTrejo: stella.laurenzo.org/2011/03/bulletproof-node-js-coding/ [08:50] insin: reStructuredText uses 3 by recommendation :) [08:50] secoif: mention tabs vs spaces = derail conversation immediately. [08:50] insin: lines up with its directives [08:51] DTrejo: guys, I like my open braces like this: if (condition) { [08:51] Nuck: secoif: Yep [08:51] DTrejo: let's talk about brace placement now [08:51] Nuck: DTrejo: Anything else is just dirty. [08:51] secoif: that bulletproof coding post would be more potent if the site design wasn't so ghastly [08:51] DTrejo: ;) [08:51] Nuck: ;) [08:51] secoif: ;) [08:52] DTrejo: night night everyone [08:52] DTrejo: sleep well [08:52] secoif: DTrejo night. [08:52] DTrejo: don't let the tabs and soft tabs bite [08:54] christkv has joined the channel [08:55] toddysm has joined the channel [08:56] magnetik_ has joined the channel [08:59] salva has joined the channel [09:00] jstonne has joined the channel [09:00] Nathan has joined the channel [09:01] aliem has joined the channel [09:01] Druide_ has joined the channel [09:02] uchuff has joined the channel [09:02] MikeW has joined the channel [09:03] jmmills has joined the channel [09:04] vvo has joined the channel [09:04] joshwnj has left the channel [09:04] hipsters_ has joined the channel [09:06] salva has joined the channel [09:06] Nuck: Guys [09:06] Nuck: Big decision. Redis or Mongo for my splash page's backend? [09:07] MerlinDMC has joined the channel [09:08] jbpros has joined the channel [09:08] Shaunzie has joined the channel [09:08] toddysm has joined the channel [09:08] CarterL has joined the channel [09:11] Margle has joined the channel [09:11] disappea_ has joined the channel [09:11] lperrin has joined the channel [09:12] markq: mongo [09:13] _Tristan: how can I parse POST data? [09:15] booyaa: sql server! [09:15] jgallen23 has joined the channel [09:15] nerdfiles1 has joined the channel [09:15] nerdfiles1 has left the channel [09:16] arcanis has joined the channel [09:16] markq: _Tristan: querystring [09:17] _Tristan: is POST data actually in the exact same format as GET data? [09:17] markq: should be [09:17] _Tristan: huh, I never knew that. Do I have to require querystring, or is it just there? [09:18] markq: you have to require it [09:18] markq: var querystring = require("querystring"); [09:19] _Tristan: thanks [09:19] markq: welcome [09:25] akter has joined the channel [09:27] cosmincx has joined the channel [09:28] hackband has joined the channel [09:29] booo has joined the channel [09:29] benvie has joined the channel [09:30] stonebranch has joined the channel [09:33] tahu has joined the channel [09:33] juske_ has left the channel [09:34] aaronmcadam has joined the channel [09:40] dnjaramba has joined the channel [09:40] jaitaiwan has joined the channel [09:40] __doc__ has joined the channel [09:44] sylvinus has joined the channel [09:45] Hanspolo has joined the channel [09:46] munro has joined the channel [09:46] rio{ has joined the channel [09:46] _Tristan has left the channel [09:47] jbpros has joined the channel [09:51] jgallen23 has joined the channel [09:52] Guest17375 has joined the channel [09:52] wmage has joined the channel [09:53] stagas has joined the channel [09:54] cesconix has joined the channel [09:55] shinuza has joined the channel [09:58] jimt_ has joined the channel [09:58] sproates has joined the channel [10:00] jaitaiwan has left the channel [10:00] maritz has joined the channel [10:00] Andyland has joined the channel [10:01] Andyland: Hi noders! [10:01] quijote has joined the channel [10:02] disappe__ has joined the channel [10:03] meso has joined the channel [10:03] break57382 has joined the channel [10:04] dan__ has joined the channel [10:04] gamera has joined the channel [10:05] chrisbuchholz has joined the channel [10:05] Guest574: hello? [10:06] lzskiss has joined the channel [10:06] maritz: hello! [10:06] gamera: moin moin! [10:06] dannyamey has joined the channel [10:06] dnjaramba has joined the channel [10:08] rio{{ has joined the channel [10:09] jgallen23 has joined the channel [10:09] christkv has joined the channel [10:10] ly- has joined the channel [10:12] braoru has joined the channel [10:13] ziro` has joined the channel [10:13] hz has joined the channel [10:14] Nss has joined the channel [10:17] vvo has joined the channel [10:18] mc_greeny has joined the channel [10:19] Shaunzie has joined the channel [10:19] thalll has joined the channel [10:21] bingomanatee: hey does anyone know how you can change the path for the saved session cookie in express? [10:24] robhawkes has joined the channel [10:24] Margle has joined the channel [10:24] admc has joined the channel [10:26] cjm has joined the channel [10:29] mikedeboer has joined the channel [10:30] markwubben has joined the channel [10:31] nodelog has joined the channel [10:32] tytsim has joined the channel [10:38] stagas has joined the channel [10:39] secoif has joined the channel [10:39] secoif has joined the channel [10:42] larsschenk has joined the channel [10:43] sproates: @bingomanatee I believe you can use the path property when calling express.session e.g. app.use(express.session({ path: "/" })); Session support in express comes from the Connect package: https://github.com/senchalabs/connect/blob/master/lib/middleware/cookieSession.js [10:43] bingomanatee: thx [10:43] blup has joined the channel [10:43] blup_ has joined the channel [10:44] sreeix has joined the channel [10:44] Hanspolo_ has joined the channel [10:44] larsschenk has left the channel [10:45] hackband has joined the channel [10:45] hellp has joined the channel [10:54] jaket has joined the channel [10:55] pyrotechnick has joined the channel [10:56] hz has joined the channel [10:56] mytrile has joined the channel [10:57] secoif has joined the channel [10:59] josh-k has joined the channel [10:59] tcurdt has joined the channel [11:00] djazz has joined the channel [11:03] eldios has joined the channel [11:06] EriksLV has joined the channel [11:09] wink_ has joined the channel [11:13] level09 has joined the channel [11:14] Margle has joined the channel [11:15] astropirate has joined the channel [11:15] bergie has joined the channel [11:16] astropirate: whos up for getting down fellow nodsters [11:17] stride: they see me noding, them hatin' - wait, what? [11:19] buttface has joined the channel [11:19] booyaa: anyone know of a markdown parser module that might achieve this? [11:19] booyaa: 11:17 < booyaa> tableAsObjectLiteral = md.table(0 [11:19] booyaa: arse not that [11:19] booyaa: https://gist.github.com/1564797 [11:22] qsobad has joined the channel [11:22] [[zz]] has joined the channel [11:25] ly- has joined the channel [11:27] versicolor has joined the channel [11:27] hipster__ has joined the channel [11:32] meso has joined the channel [11:34] mc_greeny has joined the channel [11:34] mehlah has joined the channel [11:36] pyrotechnick has left the channel [11:37] swestcott has joined the channel [11:40] teadict: http://damienkatz.net/2012/01/the_future_of_couchdb.html [11:40] lwille has joined the channel [11:40] mjr__ has joined the channel [11:40] kazupon has joined the channel [11:43] LeMike has joined the channel [11:44] butu5 has joined the channel [11:44] Shaunzie has joined the channel [11:44] criswell has joined the channel [11:45] klaustsen has joined the channel [11:48] pickels_ has joined the channel [11:50] christkv: @teadict: ballsy [11:50] satyr has joined the channel [11:52] herbySk has joined the channel [11:58] Mare13h has joined the channel [11:58] socketio\test\45 has joined the channel [11:58] stagas has joined the channel [11:59] otakutomo has joined the channel [12:01] Locke23rus has joined the channel [12:01] blup has joined the channel [12:05] Cromulent has joined the channel [12:06] neurodrone has joined the channel [12:07] craigm has joined the channel [12:08] stagas has joined the channel [12:09] monkegjinni has joined the channel [12:10] d0k has joined the channel [12:13] herbySk has joined the channel [12:13] dylang has joined the channel [12:14] shipit_ has joined the channel [12:15] CrisO has joined the channel [12:16] tytsim has joined the channel [12:16] CrisO has left the channel [12:17] Carmivore has joined the channel [12:18] TimTimTim has joined the channel [12:18] tytsim has joined the channel [12:19] nerdfiles has joined the channel [12:21] briancray has joined the channel [12:22] ixti has joined the channel [12:22] jbpros has joined the channel [12:24] bearnard has joined the channel [12:24] sreeix has joined the channel [12:26] swestcott has joined the channel [12:26] br3nt has joined the channel [12:28] br3nt: hi! [12:31] br3nt: am i able to ask questions about express on here? [12:31] alessioalex: sure, but #express does have its own channel [12:32] br3nt: hmmm i might go there then... [12:33] br3nt: just out of curiosity, is there any other popular web frameworks in use at the moment? [12:33] braoru has joined the channel [12:33] ly- has joined the channel [12:33] zilch has joined the channel [12:34] teadict: Crockford writes a preprocessor, 60 watchers over night [12:34] teadict: lawl [12:34] meso has joined the channel [12:36] mmalecki: mfw js preprocessor http://1.bp.blogspot.com/_mc_jSxXpP7U/TOLOjmEFzMI/AAAAAAAAAA0/PoDY4f-31do/s1600/what-the-fuck-cat.jpg [12:37] br3nt: alessio, i just realised that you commented on nondetutes about multipart-js being depricated... thats what my problem was about [12:39] meso has joined the channel [12:40] teadict: maybe alessio was preprocessing! http://dl.dropbox.com/u/3902181/hano.jpg [12:41] kyonsalt has joined the channel [12:44] SomeoneWeird: Anyone know why I'm getting "fatal error: node_events.h: No such file or directory" when trying to compile something [12:44] sreeix has joined the channel [12:45] postwait has joined the channel [12:46] JakeSays has joined the channel [12:46] SomeoneWeird: anyone? [12:46] lperrin has joined the channel [12:47] kulor-uk has joined the channel [12:48] scriptle has left the channel [12:48] mmalecki: SomeoneWeird: there's no node_events.h in 0.6 [12:49] SomeoneWeird: hrm [12:49] mmalecki: SomeoneWeird: so, bug author to use MakeCallback [12:49] SomeoneWeird: Not possible to compile it then? [12:49] SomeoneWeird: hm ok [12:49] zitchdog has joined the channel [12:52] SomeoneWeird: whats the best sqlite library then? [12:52] SomeoneWeird: https://github.com/grumdrig/node-sqlite was the one i was trying to compile. [12:52] plutoniix has joined the channel [12:52] ovaillancourt has joined the channel [12:55] cjm has joined the channel [12:55] davetayls has joined the channel [12:56] kyonsalt has joined the channel [12:56] CarterL has joined the channel [12:56] christkv_ has joined the channel [12:57] davetayls has joined the channel [12:57] SomeoneWeird: 2 of the sqlite libraries wont compile because of _events.h :| [12:58] stagas has joined the channel [12:59] jomoho has joined the channel [12:59] teadict: compile? [13:01] SomeoneWeird: ? node-waf configure build [13:01] SomeoneWeird: compile, build, whatever [13:01] ByteCrunch has joined the channel [13:01] teadict: I meant, why are you compiling when there's npm? [13:02] SomeoneWeird: theyre not on npm? [13:02] teadict: what's not? [13:02] teadict: npm search sqlite [13:03] stagas has joined the channel [13:05] mikedeboer has joined the channel [13:05] eboy: SubStack: I'm thinking of using optimist. If I wanted it to show an error for unsupported arguments, should I use the .check(fn) function? [13:06] SomeoneWeird: teadict, most of them are like a year old, or wont compile [13:06] SomeoneWeird: *over a year [13:06] teadict: a year? [13:07] SomeoneWeird: well [13:07] SomeoneWeird: i've tried one that compiled, but i couldnt get it working because the documentation was so shitty [13:07] bearnard has joined the channel [13:09] stagas has joined the channel [13:09] teadict: SomeoneWeird: this ORM has sqlite support: http://sequelizejs.com [13:09] SomeoneWeird: yeah i was just looking at that, no idea how to use it though, haha [13:10] teadict: you sure `npm install sqlite3` won't just do it? [13:10] skm has joined the channel [13:10] SomeoneWeird: wheres the docs for that though? [13:10] teadict: https://github.com/developmentseed/node-sqlite3 [13:10] SomeoneWeird: hmm [13:10] teadict: looks active to me [13:10] teadict: go with that [13:11] teadict: there's a API link [13:11] SomeoneWeird: i think thats the one i tried [13:11] SomeoneWeird: i couldnt even get a simple select working [13:11] SomeoneWeird: obviously i must be doing something wrong. [13:11] teadict: did you npm'ed it or compiled? [13:11] teadict: npm it [13:11] SomeoneWeird: doing' [13:12] bergie has joined the channel [13:12] teadict: be sure to have sqlite dev packages if you're on linux [13:12] SomeoneWeird: yeah i have' [13:12] SomeoneWeird: db.each("SELECT rowid AS id, info FROM lorem", function(err, row) { [13:12] SomeoneWeird: console.log(row.id + ": " + row.info); [13:12] SomeoneWeird: }); [13:12] SomeoneWeird: it doesnt say how to access row. >.< [13:12] SomeoneWeird: typeof() says 'object' [13:13] stride: console.log(require('util').inspect(row)); [13:13] teadict: https://github.com/developmentseed/node-sqlite3/wiki [13:14] SomeoneWeird: hrmm [13:14] avih_ has joined the channel [13:15] tvw has joined the channel [13:15] kulor-uk has joined the channel [13:15] scott_gonzalez has joined the channel [13:15] Treffynnon has joined the channel [13:16] martndemus has joined the channel [13:16] enmand has joined the channel [13:18] SomeoneWeird: wow, finally got it working >.< [13:18] SomeoneWeird: might've been that i compiled it? idno [13:18] skm has joined the channel [13:19] teadict: maybe [13:21] erichynds has joined the channel [13:21] herbySk has joined the channel [13:23] avih has joined the channel [13:23] davetayls has joined the channel [13:25] davetayls has joined the channel [13:25] neurodrone has joined the channel [13:26] drudge has joined the channel [13:28] _olouv_ has joined the channel [13:29] level09 has joined the channel [13:29] maritz has joined the channel [13:29] larsschenk has joined the channel [13:29] larsschenk1 has joined the channel [13:31] avih_ has joined the channel [13:31] raz has left the channel [13:31] larsschenk1 has left the channel [13:32] magnetik__ has joined the channel [13:35] vkareh has joined the channel [13:36] brianseeders has joined the channel [13:39] broofa has joined the channel [13:41] xetorthio has joined the channel [13:41] JdpB42 has joined the channel [13:43] fumanchu182 has joined the channel [13:43] JdpB42: easiest way to upgrade npm? [13:44] heavysixer has joined the channel [13:44] avih has joined the channel [13:46] hellp has joined the channel [13:47] jxie_ has joined the channel [13:48] Cromulent has joined the channel [13:48] bnoordhuis has joined the channel [13:49] cloudhead has joined the channel [13:50] cloudhead has left the channel [13:50] Poetro has joined the channel [13:50] jtrudeau has joined the channel [13:51] plutoniix has joined the channel [13:51] zaxx has joined the channel [13:52] eeemsi_: when will there be a new version of nodejs that is not vulnerable to that hashing attack shown on 28c3? or am i mistaken and nodejs is not vulnerable? [13:52] LeMike has joined the channel [13:52] meso has joined the channel [13:52] wood4 has joined the channel [13:53] fermion has joined the channel [13:53] baoist has joined the channel [13:54] Venom_X has joined the channel [13:54] Juan77 has joined the channel [13:55] eeemsi_: i am refering to this talk: http://www.youtube.com/watch?v=R2Cq3CLI6H8 [13:55] eeemsi_: 28c3: Effective Denial of Service attacks against web application platforms [13:55] LukeBrookhart has joined the channel [13:57] mike5w3c_ has joined the channel [13:58] npa has joined the channel [13:58] lmatteis: is there a free hosting provider i can use just to prototype my apps? [13:59] lmatteis: i dont like heroku because it requires some effort to setup... i wanna be able to deploy my code as it is, not add procfiles and shit [14:00] Wizek has joined the channel [14:01] Poetro has joined the channel [14:01] LukeBrookhart: @lmatteis, try Nodejitsu [14:02] sylvinus has joined the channel [14:03] tnlogy has joined the channel [14:04] AaronMT has joined the channel [14:04] Vertice has joined the channel [14:06] JdpB42: do you think replacing rails with node.js + one of the frameworks is a good diea? [14:06] JdpB42: idea* [14:06] aGHz has joined the channel [14:07] euoia has joined the channel [14:08] mytrile: lmatteis: Some effort to setup ? WTF [14:08] lmatteis: yeah it's not that easy [14:08] lmatteis: especially since i'm using github with it [14:08] lmatteis: like to deploy you need to setup its own git repo for heroku [14:09] lmatteis: LukeBrookhart: but it's not open signup [14:09] MerlinDMC: lmatteis, you could just add another remote for heroku [14:09] mytrile: like you're fucking lazy [14:09] LukeBrookhart: hop on #nodejitsu and talk to AvianFlu. He'll set you up [14:09] lmatteis: yes im lazy [14:10] martin_sunset has joined the channel [14:10] mytrile: Always having fun in this channel [14:10] MerlinDMC: lmatteis, no need to set up seperate repositories right? [14:11] davidsklar has joined the channel [14:11] lmatteis: what about the procfile shit [14:11] lmatteis: i just really dont wanna get into extra configuration [14:12] lmatteis: i have my app to think abt [14:12] mike5w3c_ has joined the channel [14:14] madhums has joined the channel [14:15] fson has joined the channel [14:15] mytrile: web: node web.js < This is extra configuration [14:15] mytrile: O'RLY [14:16] baoist_ has joined the channel [14:16] fermion has joined the channel [14:16] MerlinDMC: also the Procfile helps for local testing ... using foreman for example [14:17] MerlinDMC: I'm lazy myself ... but i think I'm ranked in some other league ^^ [14:17] barberdt has joined the channel [14:18] apa-: lmatteis: are you trolling? there's no easier way than heroku. [14:19] y_nk has joined the channel [14:19] y_nk: hello [14:19] mc_greeny has joined the channel [14:19] mike5w3c_ has joined the channel [14:20] mikedeboer has joined the channel [14:20] y_nk: i'm looking for some experienced "from scratch" node developers [14:20] MrNibbles has joined the channel [14:20] louissmit has joined the channel [14:20] y_nk: i'm trying to write a small prototyping tcp server [14:21] y_nk: i can actually "talk" with my clients with no problem, exchanging with a standard http/1.1 protocol [14:22] y_nk: however, i tried to load my requests with an android device [14:22] pauls1 has joined the channel [14:23] y_nk: and it looks like the first socket data listener works great. i can write on it, then end it to send the data into the socket [14:23] y_nk: but the second time, it looks like the socket connection is reused, and is no longer writable [14:23] colinclark has joined the channel [14:23] y_nk: does anyone experienced something like this before ? [14:23] k1ttty has joined the channel [14:24] TheJH has joined the channel [14:24] mike5w3c has joined the channel [14:24] skm has joined the channel [14:25] teadict: how the crap do you people organize the Controller part of the MVC pattern when on Express? [14:25] mike5w3c_ has joined the channel [14:26] zitchdog has joined the channel [14:26] CarlosC has joined the channel [14:26] Aikar: teadict: have some code that parses the input url and map it to a file system path and load that file? [14:26] Venom_X: what do you mean by "you people"? [14:26] booyaa: re: heroku - docs were seriously duff regarding nodejs [14:26] booyaa: i had to deploy using c9 and peek at the Procfile [14:26] teadict: Venom_X: lawl [14:26] teadict: Aikar: alright... [14:27] Aikar: teadict: prolly simplest (and most common in all languages) approach [14:27] mike5w3c__ has joined the channel [14:27] otakutomo has joined the channel [14:27] Wizek: cygwin [14:28] teadict: Aikar: care to paste a tiny example? I'd appreciate it [14:28] booyaa: ACTION shudders [14:28] Aikar: and if your worried about require()'ing during runtime, you could scan the directory on startup, and build routes that map to the paths [14:28] teadict: Aikar: that sounds advanced for now [14:29] Aikar: teadict: I dont have one for node.js no, I'm still working (when I get time...) on backend foundation stuff so havent really toyed with heavy use of express and routing yet [14:29] teadict: fair enough [14:29] Venom_X: https://github.com/visionmedia/express/tree/master/examples/route-separation [14:29] icebox has joined the channel [14:29] Venom_X: teadict: https://github.com/visionmedia/express/tree/master/examples/route-separation [14:30] teadict: oh great, Venom_X: thanks [14:30] teadict: forgot there were examples.. [14:30] baudehlo1 has joined the channel [14:30] bearnard has joined the channel [14:31] chrisvwebdev has joined the channel [14:31] tekky has joined the channel [14:32] enmand has joined the channel [14:33] mike5w3c has joined the channel [14:33] geoffeg has joined the channel [14:33] jimt has joined the channel [14:34] kraft has joined the channel [14:36] napperjabber has joined the channel [14:37] kmurph79 has joined the channel [14:38] carlyle has joined the channel [14:40] booo has joined the channel [14:40] teadict: oh okey.. so the routes are the controllers [14:41] teadict: that's straight forward enough.. do all you want, export the route [14:41] thomblake has joined the channel [14:41] rwaldron has joined the channel [14:41] teadict: awesome [14:41] vicapow has joined the channel [14:41] kyonsalt has joined the channel [14:41] thomblake has left the channel [14:45] mattrobenolt has joined the channel [14:45] liar has joined the channel [14:45] christkv_ has joined the channel [14:45] joshsmith has joined the channel [14:46] davemo has joined the channel [14:47] jstash has joined the channel [14:48] benvie: who was asking me about CoffeeScript in UltraREPL [14:48] jocafa has joined the channel [14:48] benvie: whoever that was, I added a CoffeeScript module [14:48] kraft_ has joined the channel [14:49] mike5w3c_ has joined the channel [14:50] Juan77 has joined the channel [14:50] mandric has joined the channel [14:53] Rushing has joined the channel [14:54] sj26 has joined the channel [14:55] sj26: Yo, so what's the dealio with half of dgram disappearing? [14:55] cesconix has joined the channel [14:56] sj26: There was great support for broadcast, multicast, ttl, etc., but it's all disappeared. [14:56] Lingerance: From 0.4 to 0.6? [14:57] sj26: I think so, yeah. Presuming it's libuv [14:57] Lingerance: The basic networking stuff moved to libuv, and Windows doesn't support that stuff as easily (paraphrasing here), and no-one wanted to put in the effort to make it work everywhere. [14:58] sj26: so it works nowhere? [14:58] sj26: :-( [14:58] saidinesh5: Ahh!! [14:58] bogomips has joined the channel [14:58] saidinesh5: the old cluster module was using process.binding and stuff [14:58] sj26: can I add the unix support back in? Or does it have to be on every platform? [15:00] negrete has joined the channel [15:00] deedubs has joined the channel [15:05] dshaw_ has joined the channel [15:06] niftydigits has joined the channel [15:07] niftydigits has left the channel [15:07] kei has joined the channel [15:08] russfrank: i remember finding a framework for writing collaborative software in node, anyone know of something like this? [15:09] vol4ok has joined the channel [15:09] frnkkpp has joined the channel [15:11] msch: is anyone using node-fibers in production? is it stable? [15:12] bartt has joined the channel [15:12] matthijs has joined the channel [15:13] brianc1 has joined the channel [15:13] josh-k has joined the channel [15:14] voodootikigod_ has joined the channel [15:14] geekbri has joined the channel [15:15] sj26: how is libuv development done -- inside the node repo or on libuv? when is it synced across? [15:16] thalll has joined the channel [15:16] mc_greeny has joined the channel [15:17] zitchdog: does anyone know of a JS framework similar to node, backbone, spine, knockout etc but which supports server-side rendering of the inital content? [15:17] Nopik has joined the channel [15:17] robotmay has joined the channel [15:18] Swimming_Bird has joined the channel [15:20] izepstan has joined the channel [15:22] frnkkpp has joined the channel [15:22] stefpb has joined the channel [15:23] stagas has joined the channel [15:24] vicapow has joined the channel [15:24] willwhite has joined the channel [15:25] cosmincx has joined the channel [15:26] euoia has joined the channel [15:27] c4milo has joined the channel [15:28] neurodrone has joined the channel [15:28] joestein has joined the channel [15:28] socketio\test\77 has joined the channel [15:29] socketio\test\31 has joined the channel [15:29] kevwil has joined the channel [15:30] jjd has left the channel [15:30] pizthewiz has joined the channel [15:30] mytrile has joined the channel [15:31] JustinCampbell has joined the channel [15:31] devdazed has joined the channel [15:32] mikedeboer has joined the channel [15:33] ritch has joined the channel [15:34] ritch has left the channel [15:34] alvaro_o has joined the channel [15:34] bkaney has joined the channel [15:34] sproates has joined the channel [15:36] joshkehn has joined the channel [15:36] joshkehn has left the channel [15:38] Margle has joined the channel [15:39] sylvinus has joined the channel [15:41] tmcw has joined the channel [15:41] sj26: libux actually does have setmembership [15:41] sj26: libuv, rather [15:41] sj26: it's just not exposed through dgram.js [15:42] aelien27 has joined the channel [15:43] sylvinus_ has joined the channel [15:43] esmevane has joined the channel [15:44] Hanspolo has joined the channel [15:44] jscheel has joined the channel [15:45] CIA-109: node: 03Ben Noordhuis 07v0.6 * r760928b 10/ README.md : docs: mention that python 2.6 or 2.7 is required - http://git.io/50NGVg [15:47] dylang has joined the channel [15:48] paera has joined the channel [15:48] dylang has joined the channel [15:48] isaacs has joined the channel [15:48] Cromulent has joined the channel [15:48] warz has joined the channel [15:48] warz has joined the channel [15:48] mc_greeny1 has joined the channel [15:48] hogbog has joined the channel [15:49] garrensmith: zitchdog: checkout Jade [15:49] N0va` has joined the channel [15:50] stdarg has joined the channel [15:50] adambeynon has joined the channel [15:50] wtfizzle has joined the channel [15:51] Aikar: teadict: one thing I did in PHP that may also inspire you: https://gist.github.com/1565806 [15:51] stisti has joined the channel [15:51] justmoon has joined the channel [15:52] azio has joined the channel [15:52] lwille has joined the channel [15:54] jgallen23 has joined the channel [15:54] cha0s has joined the channel [15:56] napperjabber has joined the channel [15:56] aheckmann has joined the channel [15:57] tytsim has joined the channel [15:57] k1ttty has joined the channel [15:57] CIA-109: node: 03Shigeki Ohtsu 07master * ra993d22 10/ tools/addon.gypi : build: set product_prefix to empty for Linux - http://git.io/Y9bKWw [15:57] CIA-109: node: 03Shigeki Ohtsu 07master * r55c2197 10/ common.gypi : [15:57] CIA-109: node: build: compile without -fvisibility=hidden [15:57] CIA-109: node: Fixes symbol lookup errors when loading an addon module on Linux. - http://git.io/j4VT6g [15:58] astralab has joined the channel [15:58] dilvie has joined the channel [15:58] fastest963 has joined the channel [15:59] bradleymeck has joined the channel [16:01] tilgovi has joined the channel [16:01] pickels_ has joined the channel [16:01] jergason has joined the channel [16:01] MrNibbles has joined the channel [16:02] Morkel has joined the channel [16:02] geoffeg: Is there an easy way to set a timeout for an event either via the code node.js libraries or an external module? [16:04] ceej has joined the channel [16:04] bradleymeck: geoffeg, time to listen in EE2 : https://github.com/hij1nx/EventEmitter2 [16:04] JdpB42: can node replace rails for server side js? [16:04] tmcw_ has joined the channel [16:04] Destos has joined the channel [16:04] bradleymeck: geoffeg, wait nm i misread [16:04] voodootikigod_ has joined the channel [16:05] zivester has joined the channel [16:05] booyaa: JdpB42: nodejs === ruby [16:05] booyaa: rails is a framework [16:06] gkatsev: nodejs is not ruby [16:06] booyaa: we're talking about level [16:07] bradleymeck: node is a programming environment for the javascript language, ruby is a language with a standard environment. Rails is a framework ontop of ruby, flatiron/express are frameworks on node [16:07] gkatsev: well, node is a framework for v8, ruby isn't. [16:07] booyaa: bradleymeck: eloquently put [16:07] sj26: we can't use unix sockets in node any more? wow, this is getting worse and worse [16:07] sj26: or, at least, unix_dgrams [16:07] bradleymeck: sj26, you can use unix sockets just not dgram [16:07] booyaa: sj26: we can't? what ver? [16:08] JdpB42: booyaa: i meant to say one of the many rails like frameworks for node [16:08] bradleymeck: sj26 not enough use for the pain of maintaining that [16:08] urlisse has joined the channel [16:08] gkatsev: JdpB42: but all things aside, you can use node to replace rails/ruby. [16:08] bradleymeck: sj26 luckily it is really easy to just grab them from a c++ module [16:09] Margle has joined the channel [16:09] sj26: bradleymeck: is there one available? [16:09] gkatsev: someone would probably write a module for those if it's needed [16:09] sj26: anything supporting multicast, too? [16:09] ccapndave has joined the channel [16:10] satyr has joined the channel [16:10] hellp has joined the channel [16:10] bradleymeck: sj26 there is an mdns module you could use to get multicast easily, but i don't know of a generic unix dgram module [16:10] mc_greeny has joined the channel [16:10] sj26: the mdns module is not great [16:11] voodootikigod__ has joined the channel [16:12] sj26: it doesn't do what I want, either, iirc [16:12] voodootikigod_ has joined the channel [16:12] sorensen__ has joined the channel [16:12] sj26: I want to publish mdns addresses [16:12] nerdfiles has left the channel [16:13] sj26: it only does service discovery et al [16:13] mAritz has joined the channel [16:13] ngl has joined the channel [16:14] ampasowa has joined the channel [16:14] willwhite has joined the channel [16:15] sj26: it uses dnssd so doesn't implement multicast itself [16:15] tuhoojabotti: snsd [16:15] tuhoojabotti: excuse me. [16:15] napperjabber_ has joined the channel [16:16] ngl: hi, all. I am trying to read from a pipe and just output to stdout. From the documentation I got the process.stdin.pipe left open, as far as I understand it (I code all ECMA, usually) but, now how do I pipe something to it? [16:16] jgallen23 has joined the channel [16:16] christkv_ has joined the channel [16:17] bnoordhuis: sj26: re unix datagram sockets, https://github.com/bnoordhuis/node-unix-dgram [16:17] bnoordhuis: doesn't implement multicast and broadcast but it should be enough to get you started [16:18] booyaa: ngl: you mean cat /dev/random | node app.js ? [16:18] gamera has joined the channel [16:19] sj26: bnoordhuis: great, thanks [16:19] booyaa: is mdns === bonjour or different implementations of zero config? [16:19] sj26: bnoordhuis: still feels silly to be reimplementing this way [16:19] sj26: mdns == bonjour [16:20] booyaa: sj26: ty [16:20] ngl: booyaa: ha, that may be what I'm looking for. Unfortunately I'm well versed in JS, but not in unix or server stuff (or everything node now provides) [16:21] MatthewS has joined the channel [16:21] jakehow has joined the channel [16:21] sorensen__ has joined the channel [16:22] booyaa: ngl: cool [16:22] Lautis has joined the channel [16:24] steveoh has joined the channel [16:25] miccolis has joined the channel [16:27] jgallen23 has joined the channel [16:27] voodootikigod_ has joined the channel [16:27] BillyBreen has joined the channel [16:27] stonebranch has joined the channel [16:27] blueadept has joined the channel [16:28] mc_greeny has joined the channel [16:28] napperjabber has joined the channel [16:29] ngl: yeah, that worked. thanks a bunch. [16:30] mAritz has joined the channel [16:30] postwait has joined the channel [16:32] JustinCampbell has joined the channel [16:32] iFire has joined the channel [16:32] iFire has joined the channel [16:32] tjholowaychuk has joined the channel [16:32] EyePulp has joined the channel [16:33] ben_alman has joined the channel [16:33] booyaa: ngl: ftw! [16:33] fangel has joined the channel [16:34] booyaa: ngl: have look at hookio if you want boost your pipage. [16:36] devongovett has joined the channel [16:36] kazupon has joined the channel [16:37] Emmanuel` has joined the channel [16:37] pickels_ has joined the channel [16:38] tomlion has joined the channel [16:38] mandric has joined the channel [16:39] stephank has joined the channel [16:39] cognominal has joined the channel [16:40] ly- has joined the channel [16:43] rauchg has joined the channel [16:44] kriszyp2 has joined the channel [16:44] malletjo has joined the channel [16:45] tdegrunt has joined the channel [16:46] carlyle has joined the channel [16:47] ngl: k [16:48] malletjo: can i use get_xpath_count and get_css_count with the webdriver ? (python). http://goo.gl/Dt9JN seems to come from "selenium". [16:49] Poetro has joined the channel [16:49] eb4890 has joined the channel [16:49] malletjo: sorry wrong channel :/ [16:49] ngl: booyaa: this is rad. I'm going to make an IRC client for fun. thanks! [16:51] davehamptonusa has joined the channel [16:51] caolanm has joined the channel [16:52] booyaa: ngl: if you go to the hookio wiki i think there's a walk through on how to do this [16:53] sj26: so to effectively use sockets I have to go grab the unnerfed version of the dgram and socket libraries from node 0.4 [16:53] davehamptonusa has left the channel [16:53] davehamptonusa has joined the channel [16:53] davehamptonusa has left the channel [16:53] booyaa: ngl: https://github.com/hookio/hook.io/wiki/Creating-a-basic-IRC-bot [16:54] sj26: because creating a socket in nodejs no longer means creating a socket [16:54] sj26: a new socket doesn't have an fd [16:54] sj26: the socket cannot be created without binding [16:54] wereHamster: does global still work in 0.6? I heard that support for the global namespace was supposed to be removed in 0.6 .. [16:55] cognominal_ has joined the channel [16:55] wereHamster: are there any plans to remove support of global in the future versions? [16:55] N0va has joined the channel [16:56] tbranyen: wereHamster: god i hope not [16:57] jj0hns0n has joined the channel [16:57] blueadept: is there any reason to use cookies when you have sessions? [16:58] wereHamster: blueadept: you need to store the session somewhere [16:58] wereHamster: that's what cookies are for [16:58] tmcw has joined the channel [16:58] blueadept: well right, but the cookie itself doesn't store the data [16:58] wereHamster: it does [16:58] blueadept: it stores a hash that the you then reference using some in memory persistance [16:58] Poetro has joined the channel [16:58] wereHamster: well, yes. [16:58] blueadept: i'm taling about putting data in the actual cookie [16:58] wereHamster: but without the cookie you don't know which data to load form the persistent store [16:59] wereHamster: ah, that depends on the session store [16:59] martin_sunset: blueadept: You are talking about cookie session stores [16:59] blueadept: right [16:59] blueadept: yeah [16:59] martin_sunset: blueadept: Looking for a working one myself [17:00] wereHamster: diy :) [17:00] jlank_ has joined the channel [17:00] martin_sunset: wereHamster: Yeah, well, I am still hoping ;) [17:00] martin_sunset: wereHamster: It is basically the last item on my todo list. [17:00] blueadept: i hope node.js takes over [17:00] blueadept: rails needs to be burried [17:01] blueadept: MODULES FOR THE WIN [17:01] martin_sunset: wereHamster: So either someone else does it first or I have to bite the bullet [17:01] wereHamster: martin_sunset: admit it, you're just lazy [17:01] broofa has joined the channel [17:01] Dmitrijus: blueadept: yes, my friend, yes [17:02] martin_sunset: wereHamster: Yeah, totally [17:02] trotter has joined the channel [17:02] robotmay_ has joined the channel [17:02] blueadept: currently working with a rails team, had to do something real quick so i just wipped up node.js, installed some email modules, web modules, and got a tiny little up in no time. something that if i had done in rails may have taken me a few days [17:02] wereHamster: blueadept: I can't find it right now, but there is a site which displays the nodejs watchers and rails watchers on github. Nodejs has taken over sometime late last year [17:02] catshirt has joined the channel [17:03] negrete: hello everyone, one question: is it possible to know what port an app is trying to open before actually running the app? [17:03] martin_sunset: That's mmalecki s site [17:03] bradleymeck: negrete ? trying to open [17:03] blueadept: wereHamster: yeah i caught that [17:03] wereHamster: ah, here: http://nodejs-vs-ror.nodejitsu.com/ [17:03] blueadept: yep [17:03] blueadept: the jitsu team [17:04] wereHamster: blueadept: I don't think nodejs is necessarily faster than rails when building new apps. [17:04] slajax_ has joined the channel [17:04] bradleymeck: negrete you can intercept the listen with something like haibu-carapace does but you can't know prior to running unless you explicitly code in a way that it is in a config or something [17:04] jaequery has joined the channel [17:05] ryanfitz has joined the channel [17:05] thordiesel has joined the channel [17:06] Cromulent has joined the channel [17:06] devdazed has joined the channel [17:07] bLiNdRaGe has joined the channel [17:07] negrete: bradleymeck: thank you! I wasn't aware of carapace, I'll give it a try, and yes, I'd like to know which port an app tries to listen at before actually running it [17:07] bLiNdRaGe: quick question, what's immeidately wrong with this? app.get('/blog/page',function(req,res) { res.redirect('/blog/page/1'); }); [17:08] bLiNdRaGe: it's not directing to page/1 [17:08] djazz has joined the channel [17:08] bradleymeck: negrete, you cannot before actually running if it is not specified in a config :-/ if it is just any program someone wrote you have to run it to see [17:09] deedubs: bLiNdRaGe: do you have something farther up the routes stack that is catching it? [17:09] slajax has joined the channel [17:10] bLiNdRaGe: not sure what exactly is going on. if i go to /blog/page , i get an error from my .jade file that something is undefined (as though it hit my app.get('/blog/page/:pagenum',function(req,res) { without actually having req.params.pagenum ) [17:10] bLiNdRaGe: /blog/page sends to /blog/page/1 which renders the jade with some stuff going on [17:10] djazz has joined the channel [17:10] herbySk has joined the channel [17:11] bLiNdRaGe: it's hitting the jade, so it looks like it is hitting the /blog/page/:pagenum with an undefined pagenum [17:11] bLiNdRaGe: let me see if i can do a null check [17:11] negrete: @bradleymeck, I was hoping there was a callback or something like that before actually opening the port :( [17:11] mara has joined the channel [17:11] tjholowaychuk: bLiNdRaGe that should be fine, I do that in this app in a few places [17:12] perezd has joined the channel [17:12] bLiNdRaGe: yea, i don't see anything immediately wrong, was hoping i missed something [17:12] bLiNdRaGe: let me do some more checks [17:12] bradleymeck: negrete nope, you have to monkey punch it (like carapace does) and from there you could stall for a bit, but it must be sync so no callback, in our case we emit an event and work with it there [17:13] sangcn has joined the channel [17:13] sridatta has joined the channel [17:13] EhevuTov has joined the channel [17:14] churp has joined the channel [17:15] fbartho has joined the channel [17:15] negrete: @bradleymeck, not nice! I'll try to find a workaround with SELinux... thanks anyway! [17:15] bLiNdRaGe: ohhh, it was something else c atchint it tj [17:15] bLiNdRaGe: '/blog/:id', i wasn't paying enough attention [17:15] AaronMT_ has joined the channel [17:15] tjholowaychuk: ah [17:15] bLiNdRaGe: guess i should change that to do express routes by regex [17:16] tjholowaychuk: or just move it down [17:16] tjholowaychuk: let precedence do its thing [17:16] AaronMT_ has joined the channel [17:16] bLiNdRaGe: even quicker [17:16] ryan_stevens has joined the channel [17:17] wtfizzle has joined the channel [17:19] churp_ has joined the channel [17:20] devdazed has joined the channel [17:21] mc_greeny has joined the channel [17:22] mattgifford has joined the channel [17:22] N0va` has joined the channel [17:23] ryanfitz_ has joined the channel [17:23] EvRide has joined the channel [17:23] Aikar: globals shouldnt be going away... I know something was mentioned about getting rid of some globals for isolate support, but that doesnt mean global vars will die. i think its just a default nature of node? plus you can hack it back in relatively easy [17:24] buu has joined the channel [17:24] Aikar: default nature of v8* [17:25] erozaxx has joined the channel [17:25] robm__ has joined the channel [17:26] cosmincx has joined the channel [17:27] Druide_ has joined the channel [17:27] euoia has joined the channel [17:27] ph^ has joined the channel [17:28] wilmoore has joined the channel [17:30] AndreasMadsen has joined the channel [17:32] eignerchris has joined the channel [17:32] smathy has joined the channel [17:32] slajax has joined the channel [17:33] pizthewiz has joined the channel [17:33] BrianE has joined the channel [17:34] shapeshed has joined the channel [17:34] NetRoY has joined the channel [17:34] davemo has joined the channel [17:34] ryanfitz_ has joined the channel [17:34] sharkbird has joined the channel [17:34] visudo has joined the channel [17:35] TheFuzzball has joined the channel [17:36] nerdfiles has joined the channel [17:36] eddietejeda has joined the channel [17:36] sharkbird has joined the channel [17:37] Edy has joined the channel [17:37] Edy has joined the channel [17:38] gregpascale has joined the channel [17:39] eddietejeda has joined the channel [17:39] Juan77 has joined the channel [17:39] napperjabber has joined the channel [17:40] eddietejeda has left the channel [17:40] slajax has joined the channel [17:42] izepstan has joined the channel [17:42] erosuxx has joined the channel [17:42] arnee has joined the channel [17:43] mAritz has joined the channel [17:45] fzzzy has joined the channel [17:46] isaacs: maxogden: that was weird. [17:46] mAritz1 has joined the channel [17:46] isaacs: maxogden: i just did cmd-R to reply, and then it disappeared. [17:46] isaacs: but i guess posted. [17:46] mikeric has joined the channel [17:48] slajax has joined the channel [17:48] eddietejeda has joined the channel [17:49] kenperkins has joined the channel [17:49] mikeal has joined the channel [17:50] arcanis has joined the channel [17:50] dilvie has joined the channel [17:51] slajax_ has joined the channel [17:51] adrianF has joined the channel [17:51] lazyshot has joined the channel [17:52] thordiesel has left the channel [17:52] mAritz has joined the channel [17:52] JdpB42: how can i upgrade npm? [17:53] JustinCampbell has joined the channel [17:53] tazrover has joined the channel [17:53] slajax has joined the channel [17:54] bnoordhuis: Aikar: globals in c++ land will go away, you can still have globals in js land [17:54] nakkor has joined the channel [17:55] mmalecki: that doesn't mean you should [17:55] sharkbird has joined the channel [17:56] dshaw_ has joined the channel [17:58] jlank has joined the channel [17:58] hipsters_ has joined the channel [17:59] mAritz has joined the channel [18:00] slajax has joined the channel [18:00] cryptix has joined the channel [18:02] dgathright has joined the channel [18:03] bLiNdRaGe has left the channel [18:05] robotmay has joined the channel [18:06] N0va` has joined the channel [18:07] TheJH: I think stackoverflow needs a JSON-Stream API, what do you think? http://meta.stackoverflow.com/questions/118028/provide-a-streaming-api-instead-of-forcing-api-users-to-poll [18:08] bradleymeck: TheJH i wish many more things had streaming apis, more efficient (besides ephemeral ports and heartbeats) but alas not much is ready for the smaller but steady strain of long lived connections [18:08] t0mmyvyo has joined the channel [18:10] christkv has joined the channel [18:10] christkv has joined the channel [18:10] gr-eg has joined the channel [18:11] te-brian has joined the channel [18:11] TheIronWolf has joined the channel [18:11] mc_greeny has joined the channel [18:12] patcito has joined the channel [18:12] voodootikigod__ has joined the channel [18:12] TheJH: bradleymeck, just in case, I commented: "In case your existing code isn't able to handle that so well, I'd offer building a stream server in node.js that can take all events, filter them and spit them out. :P" :D [18:13] TheJH: heh, that'd be cool :D [18:13] metapandava has joined the channel [18:15] mc_greeny has joined the channel [18:15] stonebranch has joined the channel [18:15] vol4ok has joined the channel [18:15] ritch has joined the channel [18:16] sylvinus has joined the channel [18:16] ritch has left the channel [18:16] jergason has joined the channel [18:16] boltR has joined the channel [18:17] arcanin has joined the channel [18:17] booyaa: damn jshint wants me to install it globally. i just want the module not the cli [18:17] booyaa: referring this github package https://github.com/jshint/node-jshint [18:18] lzskiss has joined the channel [18:18] voodootikigod_ has joined the channel [18:18] isaacs: booyaa: if you install jshint locally, that's fine. [18:18] isaacs: booyaa: it'll warn, but you can ignore that if you know what you want. [18:19] isaacs: booyaa: moduels that are *primarily* a cli app usually have that warning so that you don't install them then wonder why they don't work. [18:19] metapandava has joined the channel [18:19] StanlySoManly has joined the channel [18:20] TheFuzzball: Can anyone suggest a DBMS that I can use with Node only (e.g. sqlite3) that's cross-platform? [18:20] brianloveswords has joined the channel [18:20] Morkel has joined the channel [18:21] booyaa: isaacs: when i did npm install jshint, i didn't get anything in node_modules. [18:21] booyaa: mmm let me try this.. [18:22] martin_sunset has joined the channel [18:22] kevwil has joined the channel [18:22] `3rdEden has joined the channel [18:22] booyaa: nope... was hoping to do a -g install and then just a plain npm install to install the modules. [18:23] jerrysv has joined the channel [18:23] rcreasey has joined the channel [18:23] rcreasey: anyone around for a dumb npm question? [18:23] whitman has joined the channel [18:23] isaacs: hi [18:23] rcreasey: hi [18:24] rcreasey: so my work has some pretty stupid network policies [18:24] isaacs: booyaa: when you run `npm install jshint`, what's the output? [18:24] isaacs: rcreasey: that's a shame. [18:24] rcreasey: and as such i need to route all npm installs via a proxy [18:24] isaacs: k [18:24] isaacs: npm config set proxy https://username:password@proxy:808080 [18:24] isaacs: fill in with your details [18:24] rcreasey: aha [18:24] isaacs: note: at this time, you can't proxy https thorugh http [18:24] rcreasey: so the weird thing is [18:24] isaacs: so, if your proxy is http, you have to *also* do: npm config set registry http://registry.npmjs.org/ [18:25] rcreasey: (the error i'm getting is) [18:25] rcreasey: npm ERR! Error: failed to fetch from registry: soupselect/0.2.0 [18:25] isaacs: rcreasey: what version of npm is that? [18:25] N0va` has joined the channel [18:25] rcreasey: npm -v 1.1.0-beta-9 [18:25] isaacs: rcreasey: also, can you gist the whole output? [18:25] isaacs: k [18:25] isaacs: that's pretty new [18:25] rcreasey: yeah, sec. [18:26] rcreasey: https://gist.github.com/1566510 [18:27] mAritz has joined the channel [18:27] rcreasey: i know that this is a proxy issue [18:27] rcreasey: because when i go home (i'm on a laptop) and run the same command, it works fine [18:27] swestcott has joined the channel [18:27] isaacs: hmm... [18:28] eignerchris has joined the channel [18:28] isaacs: rcreasey: does `npm config get proxy` print out the right thing? note that it must have http:// or https:// in the front [18:28] rcreasey: no [18:28] joshsmith: man, I just ripped off the node logo like crazy [18:28] cjlicata has joined the channel [18:28] TooTallNate has joined the channel [18:29] rcreasey: but i've got all the proxy stuff setup in my OS's network settings [18:29] aheckmann has joined the channel [18:29] nakkor has joined the channel [18:30] _dc has joined the channel [18:30] rcreasey: I can get a 200 when i manually curl -I https://registry.npmjs.org/soupselect/0.2.0 [18:31] isaacs: rcreasey: ok, so, you need to have that. [18:31] isaacs: the issue is that npm doesn't know about your proxy setup. [18:31] isaacs: curl does. [18:31] rcreasey: ah [18:32] isaacs: rcreasey: i'm guessing that this will fail: npm cache add soupselect@0.2.0 [18:32] isaacs: with a bit less other noise [18:32] overthemike has joined the channel [18:33] rcreasey: yeah, that fails too [18:33] isaacs: great [18:33] rcreasey: and doing npm config set proxy also doesn't seem to help :/ [18:33] isaacs: so, npm config get proxy <-- anything printed there? [18:33] rcreasey: it was 'null' [18:33] overthemike has left the channel [18:33] isaacs: rcreasey: ok [18:33] nerdfiles has left the channel [18:33] isaacs: rcreasey: what is it now? [18:33] rcreasey: now it's the url of the proxy [18:33] isaacs: the full url with http://? [18:33] isaacs: also: is it http or https? [18:34] rcreasey: oh, derp [18:34] rcreasey: it's https [18:34] isaacs: awesome. [18:34] isaacs: encryption ftw :) [18:34] ampasowa has joined the channel [18:34] rcreasey: and yes, it's a valid url http://proxy:port/ [18:36] isaacs: ok [18:36] isaacs: does npm cache add soupselect@0.2.0 work now? [18:37] monokrom_ has joined the channel [18:37] rcreasey: nope :/ (gist updated with log output) [18:38] rcreasey: let me try one more thing [18:38] CoverSlide: wassup mofackos! [18:39] MatthewS has joined the channel [18:39] isaacs: rcreasey: hm. [18:39] rcreasey: https://gist.github.com/1566510 now has my proxy info [18:40] rcreasey: oh. [18:40] rcreasey: perhaps this is important, heh: [18:40] rcreasey: curling that npmjs registry url now gives {"error":"not_found","reason":"document not found"} [18:41] isaacs: orly. that's odd. [18:42] andrewfff has joined the channel [18:43] eb4890 has joined the channel [18:43] langworthy has joined the channel [18:43] gavin_hu_ has joined the channel [18:43] isaacs: i gotta go commute. i'll be back online in a bit. [18:44] robotmay has joined the channel [18:44] sarlalian has joined the channel [18:45] rcreasey: np; i'll be here [18:46] mAritz1 has joined the channel [18:46] sridatta has joined the channel [18:47] robotmay_ has joined the channel [18:48] izepstan has joined the channel [18:49] fatjonny has joined the channel [18:49] slickplaid: Is using a buffer object the best(tm) way to build a caching mechanism for a very heavy calculation function? Storing the result in a buffer, which is in an object with the key being a hash of the input? Then just `if(typeof cache[hash] !== 'undefined') return cache[hash];`, breaking the function before it starts its number crunching? [18:50] slickplaid: I remember back in 0.1.x, node had issues with moving string objects from v8's buffer to the node program's buffer quickly. Not sure if that's still the case. [18:50] arnee has joined the channel [18:51] zitchdog has joined the channel [18:52] salva has left the channel [18:52] CarterL has joined the channel [18:54] mehlah has joined the channel [18:56] zodiak has joined the channel [18:56] fbartho has joined the channel [18:57] xbradx has joined the channel [18:59] wingie: SubStack: is there a way to add a --contracts flag for browserify when compiling coffee script files? [19:00] xbradx has left the channel [19:00] joshontheweb has joined the channel [19:01] break57382 has joined the channel [19:02] magnetik_ has joined the channel [19:04] jarek has joined the channel [19:04] jarek has joined the channel [19:04] devongovett has joined the channel [19:05] jergason has joined the channel [19:05] EhevuTov: anyone using node.js as a high-availability daemon/service? I'm wanting to use it as a stream parser with as little downtime as possible [19:06] bnoordhuis: slickplaid: depends. doing a lot of buffer-to-string conversions and vice versa is expensive [19:06] martin_sunset: EhevuTov: Check out hook.io [19:06] Edy: EhevuTov: pizza ordering service ;) [19:06] CoverSlide: ++ hook.io [19:06] bnoordhuis: slickplaid: what i mean is, if your app uses strings, cache data as strings [19:07] davidwalsh has joined the channel [19:08] EhevuTov: my use case is for a telco company that is wanting to parse it's SIP stream [19:08] Cromulent has joined the channel [19:09] tjfontaine: for logging or decision making? [19:09] EhevuTov: martin_sunset, thanks, I guess I need to research/focus on it's use of 'forever' [19:09] davidwalsh has joined the channel [19:10] jarek__ has joined the channel [19:10] slickplaid: bnoordhuis: I'd be caching a json object response of the function. So if the input hasn't changed, just use the previous result of the input instead of running through the computationally expensive function to crunch the numbers again. [19:10] EhevuTov: tjfontaine, for both, actually. It will not only be using filters (to block certain protocols, addresses) but also to log for querying [19:11] tjfontaine: EhevuTov: but does the decision making need to be realtime as the call is coming in or would it suffice expostfacto? [19:11] EhevuTov: I "heard" node.js programs sometimes die (I guess it's is/was a V8 issue?) [19:11] martin_sunset: EhevuTov: Forever is a lib that keeps it alive. The unteresting part about hook.io is that it is a distributed event processor, modeled a bit after akka and erlang. It is exactly what you need [19:11] bradleymeck has joined the channel [19:12] EhevuTov: tjfontaine, it needs to be realtime. It will be fanned out to other node.js nodes, probably with something like zeromq [19:12] GrizzLyCRO1 has joined the channel [19:12] EhevuTov: martin_sunset, oh that sounds interesting. Now, to keep it alive, do you mean it revives it if it dies, or does it do something to always allow the stream socket to be open and readable? [19:12] barberdt has joined the channel [19:14] EhevuTov: I guess the only thing I can think of and have experience with is 'cluster', which connects to a socket and distributes to the node cluster and revives a node if it dies. But, I'm worried about the actual cluster dying [19:14] martin_sunset: EhevuTov: It revives. There is a lot of docs online, you might want to look into it. [19:15] wingie: what would case a node.js server to die? error? [19:15] jergason has joined the channel [19:15] slickplaid: throw an error [19:15] martin_sunset: Or turn the machine off [19:15] CoverSlide: yeah uncaught errors will kill a process [19:16] wingie: if it's a bug error, why would you want it to be run again with forever? [19:16] EhevuTov: wingie, it's just hearsay but I heard it was an issue with V8 [19:16] tjfontaine: everything dies [19:16] EhevuTov: lol [19:16] martin_sunset: Wingie not all errors are bugs, sometimes it's bad data [19:16] CoverSlide: not everthing truly lives [19:17] martin_sunset: Or a connection that drops [19:17] larsschenk has joined the channel [19:17] wingie: martin_sunset: but you have to have some mechanism to fix it so it won't die again [19:17] mandric has joined the channel [19:17] wingie: should the errors be sent to a remote log? [19:18] wingie: then you fix it .. meanwhile the users can visit your site (and you hope they won't trigger the same error again) [19:18] break57382 has joined the channel [19:18] martin_sunset: Wingie I am talking more about background tasks here, the end user should never see a bug because of bad data [19:19] zodiak: hey guys, anyone running node on heroku here ? I am noticing an order of magnitude difference between heroku and aws :( [19:19] EhevuTov: tjfontaine, martin_sunset, thank you for your help and input. I'll do some research. I'll probably end up writing a prototype and look for mem leaks somehow. still unsure how to do that stuff in node.js [19:19] wingie: perhaps this will help some what with bad data [19:19] wingie: http://disnetdev.com/contracts.coffee/#basics [19:19] wingie: if you are using coffeescript that is [19:20] Margle has joined the channel [19:20] nicholasf has joined the channel [19:21] martin_sunset: Wingie nice, didn't know that there is contracts support for cs. Thx, [19:21] AndreasMadsen has joined the channel [19:21] wingie: martin_sunset: it looks like a nice one, with a live interactive demo [19:22] wingie: use it on firefox (the only browser with proxy support atm) [19:22] wingie: but in production you don't use --contract flag for your other browsers [19:22] ampasowa has joined the channel [19:22] wingie: i just have problem to get it working with browserify [19:23] CIA-109: node: 03isaacs 07v0.6 * r78dbb4b 10/ (204 files in 15 dirs): npm@1.1.0-beta-10 - http://git.io/qoclzg [19:23] isaacs has joined the channel [19:24] davetayls has joined the channel [19:24] larsschenk has left the channel [19:25] davetayls has joined the channel [19:26] ampasowa has joined the channel [19:26] mmalecki: isaacs: hey. what should I expect if I try to extract invalid tar archive with node-tar? [19:26] isaacs: mmalecki: fire and pain? [19:26] isaacs: i dunno. [19:26] isaacs: it'll probably just emit an error event. [19:26] lperrin has joined the channel [19:26] ampasowa has left the channel [19:27] mmalecki: isaacs: well, it doesn't :) [19:27] Aikar: anyone here work for sprint? :( [19:27] mmalecki: actually, it might be a bug [19:27] arnee has joined the channel [19:27] mmalecki: isaacs: getting this https://gist.github.com/5e9a702b2ddba694f368, want a copy of the archive? [19:27] jbpros has joined the channel [19:29] qsobad has left the channel [19:29] qsobad has joined the channel [19:29] EhevuTov: Aikar, why? [19:29] loucal has joined the channel [19:29] jarek__ has joined the channel [19:30] springmeyer has joined the channel [19:30] cballou has joined the channel [19:31] mmalecki: isaacs: also, https://github.com/nodejitsu/haibu/commit/7ba42daae3b303290c9f1d8303a0a785824c984a :) [19:33] CoverSlide: woo! node-tar mothafucka! [19:33] mmalecki: CoverSlide: hell yeah! [19:34] mmalecki: also, dat branch name https://github.com/nodejitsu/haibu/tree/non-ghetto-tar [19:34] CoverSlide: haha sweet [19:37] maushu has joined the channel [19:37] kmurph79 has joined the channel [19:37] isaacs: mmalecki: can i get the tarpball? [19:38] garrensmith has joined the channel [19:39] shapeshed has joined the channel [19:39] mmalecki: isaacs: actually, it's a tar.gz, should I ungzip it or is it fine? [19:39] quijote has joined the channel [19:39] isaacs: i can unzip [19:39] isaacs: i've got the tools for that ;) [19:39] teadict: dude.. [19:40] mmalecki: oh, good to know you're not on Windows :) [19:40] isaacs: hahah [19:40] teadict: :P [19:40] Aikar: EhevuTov: cause my phone is dying and i need to upgrade a few months early, need someone to pull strings! [19:40] chrisvwebdev has left the channel [19:41] skm has joined the channel [19:41] isaacs: mmalecki: it looks like it doesn't have a "size" propery [19:41] isaacs: which should be completely impossible. [19:41] jarek has joined the channel [19:42] jarek has joined the channel [19:42] mmalecki: isaacs: http://178.42.126.181:8080/archive.tgz [19:42] isaacs: means that either the header didn't parse, or something else is wrong [19:42] isaacs: mmalecki: this thing is really bad: $ gunzip archive.tgz [19:42] isaacs: gzip: archive.tgz: invalid compressed data--crc error [19:42] isaacs: gzip: archive.tgz: invalid compressed data--length error [19:43] N0va` has joined the channel [19:43] mmalecki: isaacs: yes. but I think it shouldn't die with uncaughtException [19:44] idefine has joined the channel [19:44] mmalecki: isaacs: just my opinion tho [19:45] TheJH: isaacs, wrap the contents of your write function in a huge try/catch :P [19:45] isaacs: TheJH: nah, no need for that [19:45] TheJH: ACTION remembers a rant/overly honest statement of opinion by isaacs on try/catch on the ML [19:45] isaacs: TheJH: i can just add more checking, and emit an error event here. [19:45] mmalecki: define process.on('uncaughtException') [19:45] jarek__ has joined the channel [19:45] TheJH: mmalecki, :D [19:46] isaacs: mmalecki: that's like try/catch for the whole process!! [19:46] Morkel has joined the channel [19:46] mmalecki: isaacs: that's even better! [19:46] mmalecki: nothing can crash it! [19:46] TheJH: hehe [19:46] CoverSlide: yeah that's what we do/win 19 [19:46] CoverSlide: oops [19:49] sechrist has joined the channel [19:49] mikeric has joined the channel [19:51] markwubben has joined the channel [19:52] mytrile has joined the channel [19:53] mytrile has joined the channel [19:53] HardPhuck: guys, how would I merge this to arrays http://jsfiddle.net/kRuKU/ [19:54] HardPhuck: I want to keep the one with all dates and append counts into proper dates [19:54] mraleph has joined the channel [19:55] davetayls has joined the channel [19:57] HardPhuck: Don't want to nest for loops [19:57] HardPhuck: just trying to check if there's another way [19:58] aaronmcadam has joined the channel [19:58] torvalamo: what exactly are you trying to do? [19:59] torvalamo: is it aggregation and grouping? [19:59] torvalamo: where are the numbers coming from? [19:59] mAritz has joined the channel [19:59] torvalamo: the counts [19:59] HardPhuck: database [20:00] HardPhuck: I'm trying to make a table [20:00] jacobolus has joined the channel [20:00] HardPhuck: with last 10 days [20:00] HardPhuck: as X axis [20:00] torvalamo: is the first one input and the second is output? or what? [20:00] torvalamo: output/the table [20:00] HardPhuck: hangon, let me expand :) [20:02] bkaney has joined the channel [20:02] Destos has joined the channel [20:03] mc_greeny has joined the channel [20:03] CIA-109: node: 03Mikael Bourges-Sevenier 07master * r5b05429 10/ (3 files in 2 dirs): [20:03] CIA-109: node: typed arrays: add Buffer -> TypedArray constructor [20:03] CIA-109: node: - create a typed array from a node::Buffer object [20:03] CIA-109: node: - update TypedArray::set() to spec [20:03] CIA-109: node: - add TypedArray::get() method - http://git.io/8PgZUw [20:03] EhevuTov_ has joined the channel [20:03] HardPhuck: http://jsfiddle.net/kRuKU/2/ [20:04] torvalamo: oh right [20:04] HardPhuck: I have the first and second array and I want to produce the third [20:04] mikeric has joined the channel [20:05] HardPhuck: I'm checking whether there is a better way than nested loops [20:05] skm has joined the channel [20:05] davetayls has joined the channel [20:06] teadict: mmm, Sequelize looks really good [20:06] booo has joined the channel [20:06] teadict: is someone using it? (MySQL/Postgre) [20:06] grekko has joined the channel [20:06] CoverSlide: awesome, typed arrays mothafucka! [20:06] teadict: wat [20:07] davetayls has joined the channel [20:07] torvalamo: HardPhuck: can't you just do a fetch where id > today-10 or something? [20:07] HardPhuck: no because the database is quite different [20:08] torvalamo: is the second array sorted? [20:08] torvalamo: the one with the counts [20:08] sh1mmer has joined the channel [20:08] HardPhuck: yes, both are [20:08] torvalamo: so you can do it backwards [20:08] torvalamo: get the last 10 entries [20:08] bradleymeck: http://appsumo.com/~pfN2 <- appsumo giving away a lifetime paid github [20:10] jerrysv: bradleymeck: but the daily spam, is it worth it? [20:10] patcito has joined the channel [20:10] Aikar: jerrysv: filters... [20:11] jerrysv: touche [20:11] Aikar: i put filters on my spam box [20:11] Aikar: gmail already does a good job at never sending spam to my inboxs [20:11] torvalamo: HardPhuck: result = array2.splice(-10).map(function(e){return {date: e._id, count: e.value.count}}) [20:11] Aikar: so i just filter my spambox [20:12] torvalamo: if there are less than 10 it returns less than 10, but that's only a problem for 10 days [20:12] torvalamo: :p [20:13] TheIronWolf has joined the channel [20:13] reid has joined the channel [20:13] masclic has joined the channel [20:14] masclic: hi [20:14] masclic: am am from spain [20:14] markq: do I have to recompile if I want to update node? [20:15] HardPhuck: torvalamo: thanx [20:15] markq: or is there a better way to update from git [20:15] snearch has joined the channel [20:15] markq: not very used to git yet [20:15] bradleymeck: appsumo on rare occasion has something i want to do [20:15] andrew12: you always have to recompile [20:15] andrew12: well almost always. [20:15] vvo has joined the channel [20:15] markq: so I can just recompile on top of the previous node [20:16] andrew12: yeah [20:16] markq: cool thanks [20:16] masclic: ¿Node kill the php-django-rails alternatives? [20:17] masclic: for noob is better no study this technologys and go directly to node for make cms basics? [20:17] andrew12: what? [20:18] masclic: i am new in programing and [20:18] masclic: dude about comming for django, php or node [20:18] masclic: for server side pages [20:18] torvalamo: HardPhuck: note that it removes the elements from the original array [20:18] HardPhuck: yes,noticed :) [20:19] Heisenmink has joined the channel [20:19] torvalamo: so you can just overwrite the original variable instead of making a new one [20:19] torvalamo: cleaner code! [20:19] torvalamo: :P [20:19] kevwil has joined the channel [20:20] markq: i wish I could speed up compilation [20:20] markq: to like seconds [20:20] torvalamo: you can, but you need to sacrifice a child [20:20] markq: what do you mean? [20:20] markq: how [20:21] andrew12: well you aren't doing make clean every time right? [20:21] markq: I was thinking of running 2 parallel jobs but i forgot that option before running make [20:21] andrew12: it only should recompile the changed parts [20:21] markq: I'm not oing make clean [20:21] markq: just ./configure && make && make install [20:21] KBM has joined the channel [20:21] andrew12: you should just be able to do make && make install again. [20:21] andrew12: ./configure actually cleans everything iirc [20:22] andrew12: so unless something to do with ./configure changed you should be fine. [20:22] markq: wait so ./configure = make clean? [20:22] markq: oh ok [20:22] markq: yea I didn't change anything [20:22] andrew12: i'm talking about code changes [20:22] markq: so technically this compile should be shorter than te last [20:22] andrew12: i've never actually had to compile node myself, so i'm not sure if that'll even help [20:22] andrew12: yeah [20:23] markq: and are we still checking out v0.6.6? [20:23] sarlalian: andrew12: even if ./configure doesn't, most programs have a make distclean or a make clean option too [20:23] andrew12: sarlalian: yeah [20:23] sarlalian: coming into the conversation late, and not reading the history ftw :P [20:23] markq: wow it did finish much earlier [20:24] markq: excellent [20:24] andrew12: yay i helped someone [20:24] torvalamo: do you feel dirty? [20:24] markq: andrew12: thanks! [20:24] andrew12: lol [20:24] markq: and all [20:24] markq: lol haha [20:25] markq: honestly I wish I could switch over to linux on my desktop but just don't have the courage to switch from windows lol [20:25] torvalamo: are you a gamer? [20:25] markq: linux on a box over ssh is better [20:25] markq: no...just used to windows [20:25] markq: i'm on win7 x64 [20:26] SubStack: wingie: just write a custom handler for .coffee files [20:26] markq: but everything web development is on my linux box [20:26] moogoo: that's what virtualbox is for [20:26] markq: yep [20:27] andrew12: ACTION is a mac user, have windows in bootcamp for gaming [20:27] hunterloftis has joined the channel [20:28] torvalamo: i have a w7 64, a fedora laptop and a mac g4. i can test for any bugs! except win 32.. but who uses win 32... *cough* [20:28] mmalecki: torvalamo: well, who uses mac g4? [20:28] torvalamo: i do [20:28] torvalamo: :p [20:28] markq: lol [20:28] torvalamo: nah [20:28] torvalamo: it's one i got ages ago.. it's just here.. and i use it for surfing when i'm in bed.. it's like a slow and oversized ipad [20:29] hunterloftis: isaacs: specifying 0.6 in "engines" in package.json - what does that do? was hoping to show a warning on 'npm install' if the node version is incompatible. [20:29] blup has joined the channel [20:29] mgolawala has joined the channel [20:30] torvalamo: i would install linux on it, but i need a cd burner on a mac to make a boot img.. for some reason it won't work if i burn on an x86 [20:30] torvalamo: and the g4 didn't come with a burner [20:30] moogoo: did it come with a usb port [20:30] torvalamo: yes but will it boot? [20:31] moogoo: probably [20:31] moogoo: how old is this thing [20:31] torvalamo: hm [20:31] torvalamo: it's a g4 [20:31] torvalamo: macbbook [20:31] moogoo: is that a PowerPC [20:31] torvalamo: yeees [20:31] moogoo: sounds fun [20:31] torvalamo: sorry about typing, i use synergy and it's lagging [20:31] josephmoniz has joined the channel [20:32] skm has joined the channel [20:32] torvalamo: 1 keyboard and mouse, 3 computers! [20:32] moogoo: I got some hedious blue G3 tower hanging out in the garrage [20:32] torvalamo: lol [20:32] torvalamo: now that is old [20:32] moogoo: can't believe people thought cheap translucent plastic was stylish [20:32] torvalamo: that's from before jobs, wasn't it? [20:33] EhevuTov__ has joined the channel [20:33] moogoo: dont think...thought it started with the first iMacs [20:33] moogoo: well maybe I'm wrong about the G# [20:33] Heisenmink has joined the channel [20:34] shinuza has joined the channel [20:34] moogoo: http://en.wikipedia.org/wiki/Power_Macintosh_G3_(Blue_%26_White) [20:34] moogoo: ahh [20:34] moogoo: not crazy [20:34] torvalamo: g3 is from the last millennium! [20:34] moogoo: 400mhz of power [20:35] torvalamo: linux would probably run smooth on it [20:36] torvalamo: that's what's hilarious [20:36] moogoo: but would node [20:36] torvalamo: probably [20:36] moogoo: actully does v8 even support PPC [20:36] tbranyen: moogoo: god not [20:36] tbranyen: no* [20:36] tbranyen: otherwise it'd run on my ps3 [20:36] jbpros has joined the channel [20:37] moogoo: lol [20:37] _dc has joined the channel [20:37] torvalamo: yeah of course, that's the most natural thing in the world to associate with that [20:37] torvalamo: :P [20:38] Swizec_ has joined the channel [20:38] moogoo: is the ps3 main cpu even that much better than the trust G3 cpu [20:38] moogoo: trusty [20:38] eddietejeda has joined the channel [20:38] torvalamo: it's probably recycled g3s [20:38] moogoo: not sure how you could even use all those cells with nodes single-threaded nature [20:39] dwhittle has joined the channel [20:39] jhooks has joined the channel [20:39] torvalamo: multiple instances [20:39] moogoo: woohoo [20:39] Dulak has joined the channel [20:41] moogoo: try compiling node for my 386 dx 40 [20:41] moogoo: I bet it'd work [20:42] torvalamo: there's a chrome for 386 [20:42] andrew12: moogoo: clusters [20:42] torvalamo: or it compiles at least [20:42] andrew12: re: < moogoo> not sure how you could even use all those cells with nodes single-threaded nature [20:42] moogoo: I'm still happily living in .4 land so I dunno about any of that stuff [20:43] andrew12: lame [20:43] moogoo: more like lazilly [20:43] andrew12: it's not that hard to switch :p [20:43] andrew12: at least i wouldn't think so. i haven't had to, i started with 0.6.6 :P [20:43] torvalamo: it's not hard to run a marathon either... if you take your time [20:44] moogoo: well last time I checked like 3 months ago 2 of my favorite modules didnt work with >=.5 [20:44] dscape: ACTION isaacs: any idea on this? https://gist.github.com/a73892424968d751189c [20:44] torvalamo: which are? [20:44] moogoo: node-sqlite3..I think is what it is called [20:44] moogoo: and libxmljs [20:44] moogoo: or [20:45] moogoo: yar [20:45] CIA-109: node: 03Emerson Macedo 07master * raa67b1f 10/ (4 files in 3 dirs): fs: add appendFile() and appendFileSync() functions - http://git.io/DI1JEg [20:45] piscisaureus_ has joined the channel [20:46] moogoo: my interest in waste-of-time programming has decreased recently...so I'm of a if it's not broke don't fix it mindset for awhile [20:46] torvalamo has left the channel [20:46] andrew12: updating != fix it [20:46] TheFuzzball: I'm trying to build nodejs 0.6.6 on XP and when I run vcbuild.bat release I get "File "tools\gyp_node", line 20" and the batch script quits. [20:47] moogoo: but it usually does [20:47] torvalamo has joined the channel [20:47] TheFuzzball: I have python and Visual Studio, what am I missing? [20:47] andrew12: why do you need to compile it? [20:47] bnoordhuis: TheFuzzball: is that all it says? [20:47] rachet: TheFuzzball: a brain. [20:47] rachet: ACTION is a jerk [20:47] andrew12: lol [20:47] slickplaid: rachet++ [20:47] catb0t: rachet now has 1 beer [20:47] moogoo: .insult rachet [20:47] catb0t: rachet yanmorin. [20:47] moogoo: yea.. [20:47] slickplaid: good one catb0t [20:47] catb0t: good , hell no, O [20:48] moogoo: told u [20:48] slickplaid: ACTION slaps catb0t around with a rather small trouser trout [20:48] catb0t: trouser ACTION [20:48] TheFuzzball: andrew12 I need to compile it so that I can compile node-sqlite3. [20:48] rachet: being a jerk is easier than being nice [20:48] torvalamo: self respect [20:48] andrew12: TheFuzzball: is there any more output than that? [20:48] slickplaid: you've gotta learn to laugh at yourself and then plot how to burn the guy's house down after you stop crying [20:49] teadict: wat [20:49] TheFuzzball: andrew12 http://pastebin.com/ALuWyaTq [20:49] rachet: slickplaid: why wait so long? [20:50] moogoo: irc is a wretched hive of scum and villainy [20:50] rachet: irc ain't no mos eisly [20:50] torvalamo: irc will be re-born when sopa shuts down facebook and twitter [20:50] torvalamo: mark my words! [20:50] andrew12: TheFuzzball: what version of python? [20:50] mmalecki: they'll shut down irc [20:50] moogoo: sopa's gonna do that? well I'm onboard now [20:50] mmalecki: because, you can, like, speak here! [20:50] TheFuzzball: andrew12 3.2 [20:50] andrew12: that's why [20:51] mmalecki: it's *dangerous* [20:51] andrew12: get something under 3 [20:51] torvalamo: all you need is a foreign domain name [20:51] TheFuzzball: andrew12 Too recent? [20:51] andrew12: python 3000 sucks [20:51] TheFuzzball: It said > 2, I figured the latest version would work :) [20:51] moogoo: packet radio to the rescue [20:51] mgolawala: carrier pigeons to the rescue [20:51] andrew12: the probelm with that line is that they made it so you have to do print(blarg) in python 3 instead of print blarg [20:51] moogoo: freedom at 300 baud/s [20:51] slickplaid: route dns through irc, win? [20:51] torvalamo: ham radio [20:52] pt_tr has joined the channel [20:52] torvalamo: easy to block, though [20:52] TheFuzzball: andrew12 I don't know python, but that's a bit of a huge change. Why wouldn't they keep compatibility? [20:52] torvalamo: hm, internet through ham radio [20:52] torvalamo: now there's a thought [20:52] andrew12: TheFuzzball: because they're insabe [20:52] andrew12: insane [20:52] moogoo: government would have to setup a national radio jamming service [20:52] mgolawala: carrier pigeons are more reliable. [20:53] moogoo: spark gaps ftw [20:53] TheFuzzball: andrew12 Oki doki, thanks for that :) [20:53] mgolawala: the latency on the packets would suck though [20:53] shinuza has joined the channel [20:53] andrew12: TheFuzzball: that's why it it's referred to as python 3000 :P [20:53] torvalamo: but carrier pigeons are edable.. which means the packet quality will degrade over time [20:53] TheFuzzball: hehe [20:53] torvalamo: edible [20:53] andrew12: they wanted it to be more like C or something, which is a step backwards in my opinion [20:53] moogoo: meh...copper is delicious [20:53] mgolawala: mmm.. those are some tasty packets [20:53] moogoo: try it sometime [20:54] slickplaid: can you pass a cookie to the client in an ajax request? [20:54] andrew12: 2.x is still being developed at the same time as 3.x [20:54] Bonuspunk: slickplaid afaik yes [20:54] TheFuzzball: So 3 is basically a fork. [20:54] moogoo: 3 is the futar [20:54] mgolawala: AFAIK pyramid and django are both furiously working to move to 3.x [20:54] torvalamo: i liked python 3 better than 2, but then again I started with 3... so [20:54] moogoo: but people dont like change and neither does software [20:54] mgolawala: those are some of the bigger projects [20:55] torvalamo: python 3 is just less patchwork, more uniform [20:55] bradleymeck: i can tell you moving from node 0.4 to 0.6 for non-trivial apps is painful so i can only imaging python 3 from 2 [20:55] barberdt has joined the channel [20:55] bradleymeck: imagine* [20:55] moogoo: .4 forever [20:55] bradleymeck: .4 until .6 has more patches [20:56] torvalamo: the module developers who still havent ported from python 2 to 3 are refusing out of spite [20:56] torvalamo: there is no other explanation [20:57] jhooks: here is a good breakdown of Python 3 as it stands http://lucumr.pocoo.org/2011/12/7/thoughts-on-python3/ [20:57] TheFuzzball: I started with .6 :) [20:57] slickplaid: lazy developers are lazy [20:57] TheFuzzball: redundant sentences are redundant. [20:57] mgolawala: the dark side of open source -- Project user: "Could you port your project to 3.x?" Project owner: "I'm busy. If you need it, send me a pull request or a patch." [20:58] mgolawala: I suppose thats more like the dark lining in the silver cloud [20:59] stride: mgolawala: "we discontinued this project 2 years ago, so.. no" with opensource you at least have the chance to see what they did two years ago :) [20:59] moogoo: believe it or not...some developers have better things to do [20:59] joeytwiddle has joined the channel [21:00] torvalamo: everyone's busy [21:00] torvalamo: but nobody's really busy [21:00] moogoo: irc is hard work [21:00] torvalamo: they just cba [21:00] tkaemming has joined the channel [21:00] slickplaid: irc is serious bidness [21:00] Dulak: How is that a bad thing? 'Do this work for free.' 'no, here is the source, you do it and I'll be happy to add it' 'omg you dick!' [21:00] torvalamo: lol [21:01] SubStack: I have projects on github that I haven't touched in a year that are humming away just fine in production [21:01] gsmcwhirter has joined the channel [21:01] gmcerveny has joined the channel [21:01] mmalecki: SubStack: good for you [21:01] torvalamo: problem is with python (and sometimes node) modules, it sometimes contains C, which I am not good at [21:01] SubStack: I'm still on 0.4 too [21:01] torvalamo: at all [21:01] mmalecki: SubStack: that totally explains it [21:02] gmcerveny: So I made my first node thing: https://github.com/gmcerveny/jsonbin [21:02] Dulak: torvalamo: on the python side just go to pypy and do everything in python, it's almost as fast as the C, but it's python. And it just keeps getting faster with every release. [21:02] gmcerveny: Now I want to serve some static files, it seems that fs.readfile() is not the right way [21:03] SubStack: the awesome thing about how npm versions and node_modules work is that once something works you don't have to fuck with it as the rest of the system evolves [21:03] gmcerveny: oop brb [21:03] SubStack: incrementalism! [21:03] torvalamo: Dulak: i don't use python anymore though, it was just an example [21:03] torvalamo: from previous experience [21:04] torvalamo: doesn't fix the node modules with C problems [21:05] mgolawala: Dulak : Not a bad thing. I'm just mentioning the flip side of OSS. One the one hand, having access to the source if you need it is awesome. On the other hand, if you need something changed, you have no leverage (i.e. you aren't paying for it so you can't call someone up) to have something fixed/updated in a timely manner, so you may have to do it yourself. Time = money. Specifically, In those cases you are just trading one for the other. [21:05] moogoo: I miss the days of frustration trying to get php4 and php5 to live together in peace [21:05] torvalamo: oh php [21:05] torvalamo: now that's even longer since i touched [21:05] mgolawala: Having a disadvantage does not make something a bad thing. You have to look at the advantages too. :) [21:06] moogoo: lucky u torvalamo [21:06] SubStack: mgolawala: you can always do a bounty for a feature [21:06] Dulak: mgolawala: But expecting free work, and saying the fact that you can't get free work is a bad thing is a misnomer. You can always pay a dev (like me) to do the changes you need to the code. With proprietary you could not do that, because the source is closed. [21:06] torvalamo: i applied for a php job once, the interviewers were robots... and quite thick [21:07] torvalamo: well, either thick or full of themselves [21:07] torvalamo: hubris would be the worrd [21:07] moogoo: I try to avoid giving anti PHP rants during srs job interviews [21:07] mgolawala: I do see a lot of PHP devs get all defensive about their language [21:07] torvalamo: "php can do anything" [21:07] torvalamo: - fuck off [21:08] mgolawala: lol [21:08] torvalamo: "no really" [21:08] Wizek-other has joined the channel [21:08] torvalamo: - no really, fuck off [21:08] moogoo: it's true tho....any programmer that actully likes PHP isn't a good programmer [21:08] stdarg: I like PHP [21:08] mgolawala: lol. that might be going a bit far though. [21:08] slickplaid: I FUCKING LOVE PHP^H^H^H^H^H^H^H^H^H^H^H^H^Hphp sucks! [21:09] torvalamo: one dude i know who did php stuff said he wrote a virtual desktop in php [21:09] torvalamo: now [21:09] briancra_ has joined the channel [21:09] torvalamo: i don't know where to begin [21:09] mgolawala: I've met good programmers that like PHP. But you just accept the flaws in the language and move on. [21:09] moogoo: well that's impressive actully [21:09] mgolawala: Like Javascript. [21:09] mgolawala: You accept that some things are hideous.. [21:09] torvalamo: moogoo: impressive or pointless? [21:09] slickplaid: javascript has no flaws! wait...nm [21:09] mgolawala: but focus on the prettier pieces [21:09] moogoo: pointless is a virtue in programming [21:09] torvalamo: then php is a virtue [21:10] torvalamo: your logic is flawed [21:10] moogoo: php isn't pointless [21:10] mgolawala: VB is pointless [21:10] moogoo: it's terriblness is key to its success [21:10] torvalamo: it doesn't solve a problem that can't be solved through other means [21:10] igl1 has joined the channel [21:10] torvalamo: and better means [21:10] mgolawala: PHP is something else [21:10] torvalamo: might i add [21:10] mundanity has joined the channel [21:10] stdarg: PHP, like any language, has strengths and weakness. Your hyperbole is annoying. [21:11] stride: JS is pointless. wait, wrong channel [21:11] xeodox has joined the channel [21:11] moogoo: mostly weaknesses [21:11] stride: stdarg++ [21:11] catb0t: stdarg now has 1 beer [21:11] Dulak: It's only the young and inexperienced that will bicker about languages. Older experienced devs just work around whatever warts they encounter and deliver code, while the others are busy arguing in blog comments, your senior dev is delivering a product. [21:11] mgolawala: heh. It's like the flawed languages are the ones that end up becoming most popular. C++, Javascript, PHP [21:11] xeodox: In Express, when I do app.delete()…how do I get the body data? req.body doesn't work. [21:11] moogoo: js only became popular cause it had a monopolly on the browser [21:11] torvalamo: without exaggeration, php is a thrash can of programming conventions, most of which have been shredded before they got there [21:12] moogoo: PHP however is the ultimate example of Worse Is Better [21:12] mmalecki: torvalamo++ [21:12] _dc has joined the channel [21:12] mmalecki: catb0t: y u retarded? [21:12] catb0t: retarded btw, my whole issue was the first , second, rgument is y [21:12] slickplaid: diiid you enable the bodyParser? [21:12] cognominal___ has joined the channel [21:12] mgolawala: All languages/frameworks/software have gremlins. It goes with the territory [21:12] markq: so what is the ultimate programming lang then [21:12] uchuff has joined the channel [21:12] mmalecki: catb0t: yeah, I guess so [21:12] slickplaid: xeodox: ^^ [21:12] catb0t: guess you could manually yeah [21:12] mgolawala: learn where they are, and avoid the gremlins and you will be happy [21:12] markq: python? [21:12] mgolawala: some have more gremlins than others [21:12] masclic has joined the channel [21:12] mmalecki: catb0t: I don't want to do it manually. I want to script it. [21:12] catb0t: manually read the template files and run mustache [21:12] xeodox: slickplaid: yes i did [21:12] mgolawala: but as long as you stay away from them, you will be happy [21:12] xeodox: slickplaid: req.body works on POST and PUT [21:12] mmalecki: catb0t: I use Plates. [21:13] catb0t: Plates to keep expensive requests minimal use [21:13] mmalecki: catb0t: you're actually right [21:13] catb0t: actually playing a game in a view, will the process with an object that is an implementation detail now so lly, that you're [21:13] moogoo: catb0t php [21:13] catb0t: php of javascript server side [21:13] magnetik__ has joined the channel [21:13] cyborg has joined the channel [21:13] moogoo: catb0t php [21:13] catb0t: php still executes faster [21:13] moogoo: no u didnt [21:13] Dulak: markq: there is no ultimate, languages are tools, you use the right one for the job. Just like physical tools, you use the hammer on nails, the screwdriver on screws, etc. [21:13] moogoo: C is clearly the ultimate language [21:14] torvalamo: catb0t: truly you are a master of trollbots [21:14] catb0t: trollbots master [21:14] slickplaid: ASM > * [21:14] Juan77 has joined the channel [21:14] mgolawala: C and C# are both beautiful languages. [21:14] mgolawala: but maybe I'm biased because I know those well and have learned to work around the gremlins to the point where I don't notice them [21:15] masclic: node.js is a complementary technology for Django-PHP-Rails-JSP (cms-portals internet) or it can are the unique technology of the site?? [21:15] nerdfiles1 has joined the channel [21:16] cyborg: masclic either [21:16] moogoo: node.js is an I/O framework using js [21:16] AAA_awright: masclic: It's more like... Well, asynchronous I/O [21:16] mgolawala: right now its complimentary, but in the future it could be a replacement [21:16] Juan77_ has joined the channel [21:16] devongovett has joined the channel [21:16] masclic: mm i see [21:17] markq: i don't really understand how node.js introduced callbacks into javascript [21:17] Dulak: The reason php got so popular so fast was it was the first real opensource server-side language aimed at making webpages easy to manipulate. It was the perfect time, because there was virtually no competition from the 'better' languages in that space. It was the only choice that wasn't a complete mess. (perl cgi was pretty nasty back then) [21:17] bradleymeck: mgolawala, you can use it as a replacement but not for the general prebuilt module stuff you ssee with most of those [21:17] cyborg: masclic well there are plenty using solely node in production [21:17] bradleymeck: markq it didn't [21:17] torvalamo: markq it didn't introduce it, it just embraced it [21:17] torvalamo: to the nth degree [21:17] markq: what do you mean [21:18] mgolawala: bradleymeck: Agreed. It's doable, just not as mature a platform. I think it is headed there. [21:18] masclic: but for make money with developer sites now the better is php right? for wordpress, drupal and magento sites in the world? [21:19] masclic: wordpress have 50% all cms sites in the world [21:19] bradleymeck: mgolawala, depends on needs. but at the rate it is going all it really lacks is some nice tooling. Frameworks have started to take over enough with flatiron and express [21:19] mgolawala: bradleymeck: Ie. the other languages he mentioned have mature frameworks with massive libraries, and established patterns and such. Node has a couple of good frameworks, but I wouldn't call them mature just yet [21:19] Dulak: masclic: if you are doing freelance stuff piecemeal, you're gonna need to know php. If you are going to be doing project work, then you might get away not knowing php. [21:19] markq: i wonder if facebook is still running on nginx or if they partly use node now [21:19] torvalamo: markq: what i mean is that node is asynchronous, so it NEEDS callbacks [21:19] bradleymeck: markq there was an effort to move a decent bit to node but idk where that ended [21:19] tjholowaychuk: mgolawala just because they dont do all the coding for you doesn't mean they're not mature(ish) [21:20] dudeinthemirror has joined the channel [21:20] bradleymeck: tj++ [21:20] gamera has joined the channel [21:20] SubStack: facebook deploys giant >1G binary blobs of compiled php with crazy amounts of feature flippers baked in using their custom feature management and metrics aggregation dashboard [21:20] mmalecki: facebook :/ [21:20] insin has joined the channel [21:21] SubStack: one of their release engineers did an hour long talk about it that is available online [21:21] mmalecki: they actually e-mailed me. when I sent an e-mail with my CV, I never got a response. [21:21] masclic: i see, for new innovate projects node.js and django, for freelance developer support the need is php right? [21:21] mmalecki: dickheads [21:21] dre has joined the channel [21:21] cyborg has left the channel [21:22] Sorella has joined the channel [21:22] mmalecki: (no, there was no giant penis on the front page) [21:22] mmalecki: interesting idea, tho [21:22] CoverSlide: `curl -I http://facebook.com` gives me a X-FB-Server: 10.54.113.55 [21:22] SubStack: I hate how recruiters used linkedin [21:23] SubStack: I have no idea how to use that piece of junk interface [21:23] mmalecki: SubStack: that's why I never got an account there :) [21:23] maxogden: s/how recruiters used// [21:23] stdarg: SubStack: Neither do recruiters :) [21:23] mmalecki: LOL LET'S EMAIL 500 RANDOM PEOPLE [21:23] torvalamo: i closed my linkedin two days after it started [21:24] torvalamo: account* [21:24] torvalamo: i accidentally a word there [21:24] stdarg: There's a talent shortage in tech, enjoy it. [21:25] SubStack: because companies are fickle and arbitrary [21:25] cyborg has joined the channel [21:25] SubStack: and don't realize that applicants don't want to jump through all their bullshit hoops [21:25] stdarg: I think because INS has held up H1Bs and there is a lot of VC money. [21:25] Swizec_ has joined the channel [21:25] SubStack: also that [21:25] nerdfiles1 has left the channel [21:26] cyborg has left the channel [21:26] Dulak: I disagree with that, there is a disconnect from what a company wants and reality. Right now the desigineer aka unicorn is what everyone wants, but they are so rare as to almost be fantasy. So companies want what doesn't really exist in the market and bitch about a talent shortage. [21:26] cyborg has joined the channel [21:26] SubStack: H1Bs look rather onerous just the same [21:26] torvalamo: well i am pretty short [21:26] stdarg: Dulak: Same with white box testers :) [21:27] Margle has joined the channel [21:27] Dulak: stdarg: it's the same as it ever was, the companies want the fantasy, and bitch when they get reality. [21:27] stdarg: Dulak: Agreed. [21:27] moogoo: they also want the fantasy at minimum wage [21:28] moogoo: abouts [21:28] ryanfitz has joined the channel [21:29] BrianE has joined the channel [21:29] DTrejo has joined the channel [21:30] Dulak: The desigineer thing really gets me, 'hey we want someone that does 2 jobs that take almost directly opposed skills so we don't have to pay 2 people.' [21:30] illumina has joined the channel [21:30] illumina has left the channel [21:30] illumina has joined the channel [21:31] torvalamo: someone who's both a nerd and a twat? [21:31] Dulak: A designer/engineer [21:31] rgl has joined the channel [21:31] wilmoore_ has joined the channel [21:31] illumina: Has anyone figured out any cool best practices for organizing a large Node.js / Express project? Rails lays out a nice hierarchy for models/views/controllers but express is a bit sparse. [21:31] martin_sunset: Dulak most people can't express what they need. More often than not they need someone who can adapt a template and do some jQuery stuff [21:32] tjholowaychuk: illumina whatever you want [21:32] tjholowaychuk: depends on the size of the project [21:32] patcito_ has joined the channel [21:32] illumina: about 10 models right now [21:32] tjholowaychuk: also IMO the rails way is terrible [21:32] tjholowaychuk: it could be done much beter [21:32] tjholowaychuk: better* [21:32] illumina: just about to get to 3 "controllers" [21:32] torvalamo: doesn't depend on anything, it can still be whatever you want :P [21:33] illumina: I would think of packaging up controllers & views closely together… with models somewhat separately (but close to their tests) [21:33] illumina: as opposed to how rails does it [21:33] SubStack: illumina: I like to make big projects by writing lots of tiny projects and having them all talk to each other over the network [21:33] mmalecki: SubStack++ [21:33] catb0t: SubStack now has 1 beer [21:33] illumina: SubStack: well… I'm working on a game. So that's a little tough to do imo [21:33] martin_sunset: We get beers here too? Cool [21:33] SubStack: for instance browserling/testling shares an auth server that's just a simple dnode service [21:33] torvalamo: oh so substack gets a beer but i don't [21:33] mmalecki: martin_sunset: this bot is poor [21:33] torvalamo: that's pretty racist [21:33] patcito has joined the channel [21:33] mmalecki: martin_sunset: ++ [21:34] mmalecki: can't do that ^ [21:34] torvalamo: catb0t: you're a racist [21:34] martin_sunset: Damned [21:34] steveoh: steveoh++ [21:34] mmalecki: moogoo: DID YOU HEAR THAT?! [21:34] catb0t: steveoh now has 1 beer [21:34] Dulak: martin_sunset: yeah the middle to low-end sure, but there are billion dollar enterprises who should know, that still do it. [21:34] catb0t: you're using it on github, an is , I dont understand what you 're doing lots of stuff with node myself , so now your conversation is bike shedding with you , with stupid compiler crap [21:34] SubStack: illumina: you can take a service-oriented approach to building a game [21:34] mgolawala: The thing that irks me is that any decent programmer I have ever spoken to agrees "language is irrelevant, any good programmer can learn a new language in a few weeks and figure out the gremlins in a few months". Yet every job posting I see seems to be "PHP developer" , "Java expert" , "Ruby ninja", "Python Guru" [21:34] SubStack: I don't see what would get in the way of that [21:34] martin_sunset: Dulak that's totally Microsoft s fault, they came up with that designer shit a couple years ago [21:35] SubStack: I don't like how messy MVC ends up being [21:35] martin_sunset: mgolawala: ++ [21:35] `3rdEden has joined the channel [21:35] SubStack: and I don't like templates anymore either [21:35] steveoh: i like mvc [21:35] Margle has joined the channel [21:35] tazrover has joined the channel [21:35] blueadept: SubStack: i use the MVC pattern node, doesn't seem too messy to me [21:35] mmalecki: rvp. [21:35] blueadept: i do it myself though, i dont have a framework make the config for me [21:35] SubStack: it's much simpler to just bolt some ajax or websockety stuff to a static page [21:35] martin_sunset: Service oriented architecture is the way to go [21:35] EhevuTov__: is there something better than MVC? [21:35] blueadept: i use MVC as just a pattern [21:35] mmalecki: EhevuTov__: rvp [21:35] mmalecki: http://blog.nodejitsu.com/scaling-isomorphic-javascript-code [21:36] mmalecki: really, it's fucking awesome [21:36] torvalamo: MVVM [21:36] torvalamo: node.js + angular.js [21:36] SubStack: also if you have a bunch of services it's much easier to incrementally replace components later [21:36] blueadept: i'm open to soemthing better in node [21:36] SubStack: because you can test and refactor the pieces in isolation [21:37] SubStack: and services can go down without bringing the whole system down [21:37] SubStack: if you use a message queue they can even go down and back up without dropping pending requests [21:37] hackband has joined the channel [21:38] carlyle has joined the channel [21:38] DTrejo: mmalecki: that post was cool, needs an update linking to the project released (flatiron?) [21:38] masclic: for freelance web developer back-end ¿i think need learning php, python+django or node.js ? What recommend me and think is easy search works and money? [21:39] fireolive has joined the channel [21:39] martin_sunset: masclic: All three and rails [21:39] strmpnk has joined the channel [21:39] mmalecki: DTrejo: makes sense, we can do that [21:39] fireolive has left the channel [21:39] wilmoore has joined the channel [21:40] przemoc has joined the channel [21:41] chunhao_ has joined the channel [21:41] DTrejo: mmalecki: also the flatiron website doesn't explicity outline how it does that structuring correctly, is there a demo app with everything used together? (or at least the key components put together in the "right" way) [21:41] nerdfiles has joined the channel [21:41] nerdfiles has left the channel [21:41] wood4 has left the channel [21:41] EyePulp: is it fair to compare forever and cluster (the tjh version of cluster, not the built in one) [21:42] mmalecki: DTrejo: well, I started to write a todo app. want me to finish it? [21:42] DTrejo: mmalecki: https://github.com/flatiron/flatiron/blob/master/examples/http-sample.js this one? [21:42] mmalecki: DTrejo: yeah, it's really simple [21:42] mmalecki: maybe even too simple? dunno [21:42] mmalecki: I wrote it, I think [21:42] pquerna: http://www.rackspace.com/cloud/blog/2012/01/05/rackspace-open-sources-dreadnot/ [21:42] DTrejo: yeah it needs more complexity [21:42] bradleyg has joined the channel [21:42] pquerna: (written in node.js, woo) [21:42] Fabryz has joined the channel [21:43] SubStack: woo! [21:43] DTrejo: mmalecki: the todo app would be good I think? basically has to be big enough that it shows the benefit of using flatiron organization instead of any other [21:43] jskulski has joined the channel [21:44] mmalecki: DTrejo: sounds good [21:44] SubStack: pquerna: props for including a link to a github project on the project launch [21:44] piscisaureus_ has joined the channel [21:44] pquerna: hah [21:44] SubStack: unlike SOME companies AS OF LATE [21:44] martin_sunset: SubStack: Haha [21:44] DTrejo: mmalecki: yay :) otherwise it's really tough to imagine what is different, you know? [21:44] mmalecki: props for actually open sourcing it :) [21:44] ryanseddon has joined the channel [21:45] tiglionabbit has joined the channel [21:45] mmalecki: oh, you have your node_modules in git [21:45] DTrejo: (without diving in and writing your app in it) [21:45] _th_n has joined the channel [21:45] tjholowaychuk: EyePulp they're quite different [21:45] alessioalex has joined the channel [21:45] pquerna: mmalecki: yeah.. its.. a deployable app. all our 'end deployable' apps we bundle node_modules [21:45] dgathright has joined the channel [21:46] SubStack: pquerna: does this integrate with a routing table and/or feature management dashboard? [21:46] pquerna: mmalecki: i guess now that its open source we could undo this [21:46] SubStack: those are some of the pieces that I think continuous deployment stacks are missing right now [21:46] mmalecki: pquerna: well, I guess so! :) [21:46] piscisaureus__ has joined the channel [21:46] EyePulp: tjholowaychuk: that's what I was trying to learn [21:47] SubStack: also metrics collection based on the deployment id/git commit hash would be super boss [21:47] gmcerveny has joined the channel [21:47] EyePulp: tjholowaychuk: I want to upgrade from 0.4.x to a more current node, but wanted to plan my route from your cluster (unless it's been made compatible now) [21:47] CoverSlide: that's the best way to learn something, just say something really outlandishly wrong and have people correct you [21:47] gmcerveny: what is the preferred method to serve static files from node.js? [21:48] tjholowaychuk: EyePulp nope it doesn't work for 0.6.x yet sorry [21:48] tjholowaychuk: forever is more like monit though, so you'll likely want to use node's core cluster to spin up a few processes [21:48] tjholowaychuk: then use forever to monitor them or something [21:48] lmatteis: wouldn't be awesome if there was a node hosting provider that could host your app for free and all it needed to deploy your node app to yourapp.somesite.com was the url to the github project? [21:48] EyePulp: tjholowaychuk: no worries - I'm sure you get bugged enough about various projects. [21:49] joshgillies has joined the channel [21:49] blueadept: tj: why dont you move to the Valley? [21:49] SubStack: pquerna: I really want a continuous deployment system that is geared towards performing experiments keyed to git hashes [21:49] blueadept: or to california at least [21:49] tjholowaychuk: gmcerveny connect.static() is probably the most feature-rich one around for now [21:49] tjholowaychuk: blueadept meh [21:49] tjholowaychuk: i dont like the US [21:49] blueadept: ha [21:49] blueadept: well i get it, my family is from toronto [21:50] SubStack: tjholowaychuk: move to bellingham! [21:50] tjholowaychuk: booyah! [21:50] SubStack: it's pretty much exactly like BC but slightly further south [21:50] gmcerveny: tjholowaychuk: i'm trying to stay just in the node.js core right now, make sure I understand the platform [21:50] pquerna: SubStack: ah, hrm. yeah, that would be cool, like directing specific users to a different webapp server running different rev? [21:50] tjholowaychuk: gmcerveny not a bad idea [21:50] SubStack: pquerna: exactly [21:50] bradleymeck: tjholowaychuk, you don't like our completely sane government which is totally not trying to be self serving? [21:50] skm has joined the channel [21:51] tjholowaychuk: bradleymeck haha love it [21:51] SubStack: dominictarr and I have been kicking this idea around and we both have half-baked implementations on github [21:51] gmcerveny: tjholowaychuk: is fs.createReadStream going to serve me well for this purpose? [21:52] Overv has joined the channel [21:52] spleeze has joined the channel [21:52] MrNibbles has joined the channel [21:52] SubStack: tjholowaychuk: but what about alberta? Isn't that like the Texas of Canada? [21:52] tjholowaychuk: I'm originally from alberta [21:52] tjholowaychuk: it blows [21:52] sechrist: does Alberta have signs everywhere saying Don't mess with Alberta? [21:52] tjholowaychuk: probably [21:52] crun4h has joined the channel [21:53] stdarg: My wife is from Calgary, aside from being the Texas of Canada, it seems okay. [21:53] bartt has joined the channel [21:53] mmalecki: isaacs: hey, so any chance this thing would emit('error') instead of going full retard? or should it be fixed in teh corez? [21:53] ircretary has joined the channel [21:53] isaacs: mmalecki: yeah, i've got half a fix [21:53] exos has joined the channel [21:53] isaacs: distracted by stuff to release node 0.6.7 [21:53] exos: Hi guys! [21:53] mmalecki: isaacs: <3 <3 <3 [21:54] piscisaureus___ has joined the channel [21:54] SubStack: pquerna: at any rate, I will definitely be incorporating some of these ideas into my own deploy thing, stagecoach [21:54] bingomanatee__: whats new in 7? [21:55] gmcerveny: hah, maybe I should dig into connect and see how it serves static pages [21:55] SubStack: gmcerveny: ecstatic is pretty sweet too [21:55] SubStack: https://github.com/jesusabdullah/node-ecstatic [21:55] rcreasey: isaacs: so any further thoughts on my npm proxy error from this morning? [21:56] rcreasey: isaacs: perhaps downrevving to a non beta release? (also, how do I do this?) [21:56] gmcerveny: SubStack: thanks! [21:56] steveoh: !api dojo.connect [21:56] piscisaureus_ has joined the channel [21:56] pquerna: SubStack: i think you could make something with the stacks in dreadnot to incorporate something like this though, but it really depends on how you do request routng, hard to made a generic thing. [21:56] dubenstein has joined the channel [21:57] mmalecki: epic lulz: https://github.com/joyent/node/pull/2472 [21:57] SubStack: pquerna: right now stagecoach spins up new instances on subdomains based on the commit hash using bouncy [21:57] sechrist: lol.... [21:58] jerrysv: mmalecki: wow, i thought it was a joke. actual code. [21:58] Cromulent has joined the channel [21:58] SubStack: then you can set up custom routing aliases via functions to do split testing [21:58] sechrist: I didn't know voldemort was a big fan of coffeescript [21:58] AmirBehzad has joined the channel [21:58] isaacs: rcreasey: i have no idea. can you try running tcpdump or something while you try to fetch something? [21:58] L_star has left the channel [21:58] isaacs: rcreasey: can you do `npm view ` to get stuff from the registry? [21:59] isaacs: rcreasey: is there anything getting logged on your proxy server's logs? [21:59] criswell has joined the channel [21:59] SubStack: having programmatic http host routing is super great for doing science experiments [21:59] relix has joined the channel [22:00] jj0hns0n has joined the channel [22:00] ben_alman has joined the channel [22:00] TheJH: click here: http://bit.ly/xUmIuT :D [22:01] LeMike has joined the channel [22:01] rcreasey: isaacs: i don't have access to the proxy server's logs, but I am seeing traffic go out when npm view goes. But it too, fails. [22:03] tomlion has joined the channel [22:07] jamesbathgate has left the channel [22:07] mmalecki: pquerna: awww :) [22:08] TheJH: pquerna, :( [22:08] ryanrolds_w: Haha. [22:08] TheJH: pquerna, would you accept it if it was written in coco? 'cause coco is much cooler than coffeescript [22:08] torm3nt has joined the channel [22:08] r1ngzer0 has joined the channel [22:09] davetayls has joined the channel [22:09] pquerna: I'd accept it if written in lua [22:09] markq: waiting for humanscript to be created [22:09] pquerna: https://github.com/luvit/luvit [22:10] pquerna: (go make luvit more awesome) [22:10] markq: if(some dude connects) { load website } [22:10] davetayls has joined the channel [22:11] eddietejeda has joined the channel [22:12] tbranyen: pquerna: your comment *was* kind of prudish [22:12] tbranyen: you should come up with something clever to balance it out [22:12] mmalecki: tbranyen++ [22:12] catb0t: tbranyen now has 1 beer [22:12] benvie: who was asking me about coffeescript in ultrarepl? anyone here? [22:13] tbranyen: or just paste a cat photo :-p [22:13] tbranyen: i think that is redeeming too [22:13] cyborg: 3#4# [22:13] pquerna: tbranyen: fair enough. it just landed above another email in my inbox that left me angry, the displeasure carried over. [22:13] DTrejo has joined the channel [22:14] tbranyen: :-p [22:14] tbranyen: at first i thought he was serious too [22:14] tbranyen: and i was like oh dear lord [22:14] blueadept: anyone know the best way of getting node-waf linked? [22:15] blueadept: i tried a symbolic link, but for some reason it wasn't working [22:15] shinuza has joined the channel [22:15] sarlalian has joined the channel [22:15] chjj: rofl @ TheJH: "you should omit call parens where possible, looks much better" [22:15] chjj: giving tips [22:16] tonymilne has joined the channel [22:16] mmalecki: pquerna: still no cats :( ? [22:17] blueadept: wait nm, the ln -s worked this time [22:17] avih_ has joined the channel [22:17] TheJH: chjj, I'm just trying to be nice :P [22:19] chjj: TheJH: hehe [22:20] mc has joined the channel [22:20] rook2pawn has joined the channel [22:20] gmcerveny: ah yes serving a static file seems to be done with fs.createReadStream [22:20] gmcerveny: at least with ecstatic [22:22] Juan77 has joined the channel [22:22] strmpnk has joined the channel [22:23] jj0hns0n has joined the channel [22:25] teadict: http://obvious.github.com/matador/ [22:25] teadict: who's tried it? [22:26] Hanspolo has joined the channel [22:26] RobWC has joined the channel [22:26] mmalecki: '{{' -> I'm outta here [22:26] matthijs has joined the channel [22:27] Wa has joined the channel [22:27] insin: not keen on the railsy zillion files approach, so didn't go there [22:28] catshirt has joined the channel [22:28] bergie has joined the channel [22:28] JasonSmith has joined the channel [22:28] relix has joined the channel [22:30] shanez_ has joined the channel [22:32] connec has joined the channel [22:32] blueadept: gmcerveny: yep, static is createReadStream, readStream is attached to the object if its a binary interface [22:34] zodiak: hey guys and gals, anyone running node on heroku here ? I am noticing an order of magnitude difference between heroku and aws :( [22:34] zodiak: like 3s vs 23ms [22:34] pizthewiz_ has joined the channel [22:34] markq: what's aws [22:34] zodiak: aws === ec2 [22:34] blueadept: quick question, if i'm using the latest node 7 pre, and its not configuring node-waf, what can i do? [22:34] markq: ah [22:35] markq: bluadept' go back to 0.6.6 [22:35] markq: idk [22:35] blueadept: er, it is 0.6 [22:35] markq: yea [22:35] blueadept: sorry, yeah i'm using the latest download bin [22:35] blueadept: hm [22:35] markq: it's not configuring node-waf? [22:35] markq: weird [22:36] markq: anyone here using rackspace? [22:36] clarkfischer has joined the channel [22:36] bradleymeck: markq we are [22:36] blueadept: markq: i do [22:36] connec: hey guys, could anyone familiar with express/connect tell me why listeners might persist after the server is close()'d? [22:36] niftylettuce has joined the channel [22:36] blueadept: meh i guess i'm going back to 0.6.0 [22:36] teadict: good choice [22:36] Romasato has joined the channel [22:36] teadict: no reason to suffer [22:37] markq: i did a days worth of research. hadn't used a vps before and decided on rackspace about a month ago [22:37] markq: works great [22:37] Romasato: Hi all [22:37] mikeric has joined the channel [22:37] markq: i have no idea why people are using ec2 since it seems to have a lot of problems compared to racksapce [22:37] markq: rackspace* [22:38] Romasato: for CDN? [22:38] blueadept: they both have their + or - depending on your case [22:38] SubStack: my startup moved off of ec2 due to lockups that would last for a minute or more [22:38] blueadept: like if you're rolling your own object data store, maybe go with rackspace, otherwise use AWS object cloud [22:38] SubStack: lousy ebs probably [22:38] bradleymeck: rackspace aint perfect neither is ec2, joyent is actually amazing but more expensive [22:38] DennisRasmussen has joined the channel [22:38] andrew12: Romasato: I doubt they're talking about CDN, because you wouldn't use EC2 for CDN [22:38] SubStack: that was just the windows instances though, the linux has been ok [22:38] markq: what are the fundamental differeces between ec2 and racksapce#? [22:39] markq: I'm curious [22:39] andrew12: what's the rackspace equivalent of ec2? [22:39] blueadept: linode maybe? [22:39] markq: idk I don't know how ec2 works at all [22:39] lupomontero has joined the channel [22:39] joshsmith has joined the channel [22:39] blueadept: ec2 gives you more api's for different things [22:39] lukegb: andrew12: Cloud Servers [22:39] andrew12: markq: you can basically spin up an instance whenever you want and only have to spend however much you use in time [22:40] andrew12: ^ ec2 [22:40] gamera_ has joined the channel [22:40] andrew12: lukegb: thanks [22:40] blueadept: although rackspace's system is programatic as well [22:40] markq: rackspace does the same afaik [22:40] te-brian has joined the channel [22:40] lukegb: rackspace's system uses some "industry standard" system that they helped invent, iirc [22:41] wtfizzle has left the channel [22:41] chadskidmore has joined the channel [22:41] Romasato: anyone had any luck making node-waf work for npm under windows? [22:41] Romasato: for some modules it breaks while installing [22:42] cryptix has joined the channel [22:42] Romasato: can't find anything helpful online [22:42] Romasato: is it the same as waf for python? [22:42] markq: general rule of thumb. stick with unix when using node [22:42] markq: at least for production [22:43] chjj: its a shame node isnt supported on cygwin anymore [22:43] Romasato: markq, big difference from windows binary? [22:43] donspaulding has joined the channel [22:43] bradleymeck: chjj, cygwin is buggy if you use some fancy syscalls, it makes maintaining stuff really uggly [22:43] Romasato: unix is not an option for me in any case atm [22:43] insin: yeah, can't use 0.6 properly on windows at work now - can't compile deps which need it [22:43] chjj: bradleymeck: i think im the only one on earth who doesnt hate cygwin [22:43] markq: case in point: node is less of a headache on linux or unix [22:44] insin: on the plus side, I'm getting more of my actual work done... [22:44] bradleymeck: chjj, i love cygwin for scripting, not for running large apps [22:44] bradleymeck: cause f powershel [22:44] bradleymeck: Romasato only huge difference is C++ addons [22:44] Romasato: just tried compiling nodejs under cygwin - broke on eio.o [22:44] torvalamo: if you use any syscalls that pretty OS dependent, doesn't matter if it's cygwin or what [22:45] donspaulding: Tried to install node straight from github on Ubuntu 11.10. Instead of using sudo, just ran "./configure --prefix=~/Apps/nodejs", configure went great, make && make install worked fine, repl comes up, but can't use npm because apparently node-waf isn't installed? [22:45] level09 has joined the channel [22:45] bradleymeck: torvalamo, correct but C++ addons will and do use syscalls :-/ [22:45] Romasato: yeah.. node-waf again [22:45] insin: ACTION tried X for the first time on Cygwin O_o [22:45] bradleymeck: donspaulding, did you add it to your PATH? [22:46] dinarcon has joined the channel [22:46] Romasato: anyone had any luck running Zombie module on win? [22:46] donspaulding: I see node-waf underneath tools/ in the repo, did I miss a configure flag? [22:46] donspaulding: bradleymeck: There is not node-waf file alongside node in the bin/ directory of the install. [22:46] bradleymeck: donspaulding, is it in Apps/nodejs/bin ? [22:46] bradleymeck: mmm odd [22:46] bradleymeck: donspaulding, git checkout v0.6.6 [22:46] rgl has joined the channel [22:47] donspaulding: should I not be using master? [22:47] bradleymeck: no, master is always in flux, tags are what you should stick to [22:47] CrawfordComeaux has joined the channel [22:47] donspaulding: boo. [22:47] sh1mmer_ has joined the channel [22:47] level09: any one worked with async module ? [22:47] bradleymeck: donspaulding, better than branch hell [22:48] donspaulding: bradleymeck: master should always build! For all projects! Everywhere! [22:48] donspaulding: :-) [22:49] donspaulding: bradleymeck: thanks for the help, I'm running make again now. [22:49] mgolawala_ has joined the channel [22:50] sh1mmer_ has joined the channel [22:50] nraf has joined the channel [22:51] Mattec has joined the channel [22:51] blueadept: ah back to 0.6.1 [22:52] blueadept: so refreshing [22:54] andrew12: so it's not just me [22:54] andrew12: heh [22:55] chunhao_ has joined the channel [22:55] bradwright has joined the channel [22:55] criswell has joined the channel [22:56] iaincarsberg has joined the channel [22:56] pksunkara has joined the channel [22:56] sriley has joined the channel [22:56] matjas has joined the channel [22:57] robhawkes has joined the channel [22:57] Poetro has joined the channel [22:57] garann has joined the channel [22:58] olegp has joined the channel [22:58] terite has joined the channel [22:58] heatxsink has joined the channel [22:58] bshumate has joined the channel [22:58] bshumate has joined the channel [22:58] c4milo has joined the channel [22:58] romainhuet has joined the channel [22:59] robb1e_ has joined the channel [22:59] joshkehn has joined the channel [22:59] joshkehn has left the channel [22:59] relix has joined the channel [22:59] owenb has joined the channel [23:00] jyp_cloud has joined the channel [23:00] blueadept: 1.0 is going to be a big deal [23:00] ryah: http://news.ycombinator.com/item?id=3430962 [23:00] blueadept: at the current pace we should be 1.0 near the mid, mid-late year [23:01] blueadept: ryah: cool, i'll take a read [23:01] pors: Does anyone have experience with creating a streaming https server? [23:01] pors: If so: http://stackoverflow.com/questions/8751112/how-to-prevent-memory-leaks-in-a-streaming-http-s-server-in-node-js [23:01] DTrejo: ryah: supposedly if you upvote from the new page, the article will rise faster [23:02] Marak has joined the channel [23:02] secoif has joined the channel [23:02] ryanseddon has joined the channel [23:02] cody-- has joined the channel [23:03] strax has joined the channel [23:04] dylang_ has joined the channel [23:04] dekz has joined the channel [23:04] josh-k has joined the channel [23:04] eddietejeda has joined the channel [23:05] zeade has joined the channel [23:05] ncb000gt has joined the channel [23:05] jeremyselier has joined the channel [23:07] bradleyg has joined the channel [23:08] lmatteis has joined the channel [23:08] Cromulent has joined the channel [23:09] __tosh has joined the channel [23:09] nym has joined the channel [23:09] _th_n has joined the channel [23:10] matthijs has joined the channel [23:10] JKarsrud has joined the channel [23:11] tanepiper has joined the channel [23:11] markq: clear [23:12] eddietejeda has joined the channel [23:13] screenm0nkey_ has joined the channel [23:13] alessioalex has joined the channel [23:13] enmand has joined the channel [23:14] dnyy has joined the channel [23:14] blissdev has joined the channel [23:14] EhevuTov_ has joined the channel [23:14] TheDeveloper has joined the channel [23:14] matthijs has left the channel [23:14] Fabryz has joined the channel [23:15] BruNeX has joined the channel [23:15] JdpB42 has joined the channel [23:15] remysharp has joined the channel [23:15] enmand has joined the channel [23:15] justicefries has joined the channel [23:15] mattly has joined the channel [23:15] majek has joined the channel [23:16] dgathright has joined the channel [23:16] dscape has joined the channel [23:19] mAritz1 has joined the channel [23:19] joeytwiddle has joined the channel [23:19] skm has joined the channel [23:22] BillyBreen has joined the channel [23:23] Nomon__ has joined the channel [23:23] illumina has joined the channel [23:23] MatthewS has joined the channel [23:23] strmpnk has joined the channel [23:24] sveisvei has joined the channel [23:24] kerang has joined the channel [23:24] ammojamo has joined the channel [23:24] qbit_ has joined the channel [23:24] fcoury has joined the channel [23:25] wycats has joined the channel [23:26] eddietejeda has joined the channel [23:26] brianseeders has joined the channel [23:27] jarek has joined the channel [23:27] jarek has joined the channel [23:27] eddietejeda has joined the channel [23:31] criswell has joined the channel [23:32] mgolawala has joined the channel [23:32] tylergillies has joined the channel [23:32] wilmoore_ has joined the channel [23:33] ralph has joined the channel [23:33] jskulski has joined the channel [23:33] joshthecoder has joined the channel [23:34] Hosh has joined the channel [23:34] warz has joined the channel [23:34] warz has joined the channel [23:34] JasonSmith has joined the channel [23:35] enmand has joined the channel [23:35] bradleyg has joined the channel [23:36] heatxsink has joined the channel [23:36] niftylettuce has joined the channel [23:37] al3xnull has joined the channel [23:37] Raynos has joined the channel [23:37] duncanbeevers has joined the channel [23:38] tiglionabbit has joined the channel [23:39] matjas has joined the channel [23:39] iaincarsberg has joined the channel [23:39] davehamptonusa has joined the channel [23:40] davehamptonusa has left the channel [23:40] Swimming_Bird has joined the channel [23:42] strax has joined the channel [23:42] daleharvey has joined the channel [23:43] zitchdog has joined the channel [23:43] nickadeemus2002 has joined the channel [23:43] Outsider__ has joined the channel [23:43] malletjo has joined the channel [23:43] salazr_ has joined the channel [23:43] jaket has joined the channel [23:43] rwaldron has joined the channel [23:44] metadaddy has joined the channel [23:45] Edy has joined the channel [23:45] Edy has joined the channel [23:45] pksunkara has joined the channel [23:45] Fabryz has joined the channel [23:45] ryanseddon has joined the channel [23:47] olegp has joined the channel [23:47] pt_tr has joined the channel [23:49] erichynds has joined the channel [23:50] cryptix has joined the channel [23:50] jergason has joined the channel [23:51] _dc has joined the channel [23:51] tomlion has joined the channel [23:52] piscisaureus_ has joined the channel [23:52] indexzero has joined the channel [23:52] CIA-109: node: 03Ben Noordhuis 07master * r075acfa 10/ (9 files in 5 dirs): uv: upgrade to 56a31f0 - http://git.io/gmOEzQ [23:52] CIA-109: node: 03Ben Noordhuis 07master * rdadc303 10/ (6 files in 2 dirs): [23:52] CIA-109: node: isolates: implement message passing [23:52] CIA-109: node: Parent and child isolates can now pass arbitrary binary messages between each [23:52] CIA-109: node: other. The messages are sent and received through a thread-safe queue that [23:52] CIA-109: node: wakes up the event loop of the receiving thread. - http://git.io/6Q30fg [23:52] CIA-109: node: 03Ben Noordhuis 07master * r1e73e4c 10/ (src/node.cc src/node_isolate.cc src/node_isolate.h): [23:52] CIA-109: node: isolates: remove global isolates list [23:52] CIA-109: node: No longer necessary, each isolate now waits until its subordinate isolates have [23:52] CIA-109: node: exited. - http://git.io/TnJnMQ [23:52] CIA-109: node: 03Ben Noordhuis 07master * r4228112 10/ (lib/child_process.js src/node.js): [23:52] CIA-109: node: child_process: add isolates support [23:53] _th_n has joined the channel [23:53] wycats has joined the channel [23:53] CIA-109: node: Passing an options object with {thread:true} to .fork() or .spawn() will run the [23:53] CIA-109: node: target script in a thread instead of a separate process. - http://git.io/oUaD8g [23:53] justicefries has joined the channel [23:54] dnyy has joined the channel [23:55] whoops has joined the channel [23:56] Overv has joined the channel [23:58] pizthewiz has joined the channel [23:59] enmand has joined the channel [23:59] tommyvyo has joined the channel