[00:00] mraxilus has joined the channel [00:01] blueadept: anyone know of a way of achieving this synchronously written code in a good async form? http://pastie.org/private/mi2jhefnv3pchrcxir2lw [00:01] blueadept: do i have to put counters in each find call? [00:01] rlidwka has joined the channel [00:02] SubStack: blueadept: instead of return, just pass in a calback [00:02] SubStack: and you can just var pending = users.length [00:02] blueadept: the thing is each find is asyncronous, and i'm doing multiple loops on each find result [00:02] SubStack: then if (--pending === 0) cb(results) [00:03] blueadept: ah [00:03] zeade has joined the channel [00:04] blueadept: i see [00:06] blueadept: yeah because for instance if i just run this as it is, the second forEach will return null [00:06] blueadept: ok i think i have this [00:06] marcostoledo has joined the channel [00:07] tommyvyo has joined the channel [00:07] dodo__ has joined the channel [00:07] brianseeders has joined the channel [00:07] fermion has joined the channel [00:08] redir has joined the channel [00:09] sammmy has joined the channel [00:09] sammmy: is there a way to switch --debug on for a currently running process? [00:09] sammmy: This way I can debug on the fly in production. [00:09] tjholowaychuk has joined the channel [00:10] jetienne has joined the channel [00:10] CIA-19: libuv: 03Ben Noordhuis 07master * r1b6df97 10/ src/unix/linux/inotify.c : [00:10] CIA-19: libuv: linux: try inotify_init if inotify_init1 returns ENOSYS [00:10] CIA-19: libuv: The kernel may be older than the kernel headers that libuv is compiled against. - http://git.io/22l14A [00:10] CIA-19: libuv: 03Ben Noordhuis 07v0.6 * r6dcce92 10/ (test/test-ref.c test/test-tty.c): unix: replace C99/C++ comments, fix build - http://git.io/6OpLnA [00:10] CIA-19: libuv: 03Ben Noordhuis 07v0.6 * r66a959c 10/ src/unix/linux.c : [00:10] CIA-19: libuv: linux: try inotify_init if inotify_init1 returns ENOSYS [00:10] CIA-19: libuv: The kernel may be older than the kernel headers that libuv is compiled against. - http://git.io/XdvVBw [00:11] kyledr_ has joined the channel [00:11] pendlepants has joined the channel [00:11] RobWC1 has joined the channel [00:12] bkaney has joined the channel [00:12] bnoordhuis: sammmy: pkill -USR1 node [00:12] sammmy: bnoordhuis: doesn't that kill the node process? [00:13] bnoordhuis: sammmy: no, SIGUSR1 starts the debugger [00:13] Joeysomo has joined the channel [00:13] sammmy: bnoordhuis: why the pkill command? [00:14] bnoordhuis: sammmy: less typing. you can use `kill -USR1 $(pidof node)` instead [00:14] oal has joined the channel [00:15] RGoodfellow: mh... i really like node.js but sometimes this whole callback concept is terrible... [00:15] RGoodfellow: https://gist.github.com/2040626 [00:15] RGoodfellow: any ideas on that? [00:15] duncanbeevers has joined the channel [00:15] mraxilus has joined the channel [00:15] ryanrolds_w: Callback are awesomes [00:16] Crowb4r has joined the channel [00:16] niftylettuce_ has joined the channel [00:16] necromancer has joined the channel [00:16] ryanrolds_w: How people organize them is usually shit. [00:16] piscisaureus_ has joined the channel [00:16] benvie: trueness [00:16] RGoodfellow: ryanrolds_w: i am scraping data from about five urls and want to create one json file from them... [00:16] HeikkiV_ has joined the channel [00:16] lmjabreu has joined the channel [00:17] jemparing has joined the channel [00:17] patcito has joined the channel [00:17] benvie: I'd create a type representing a request, and a container type representing a collection of waitable events [00:17] RGoodfellow: and i have no idea how i could improve it in the gist i posted. [00:18] dleary has joined the channel [00:18] sammmy: Using node-mysql, is there a way to put my sql in separate files from my model files, and use them when calling db.query()? [00:18] ryanrolds_w: RGoodfellow: Use async (https://github.com/caolan/async) or one of the other similar libraries. [00:18] context: rgoodfellow: why is that troubling? [00:18] benvie: and I'd have them self manage and report to their container [00:18] context: rgoodfellow: saveStuff should be the easiest to read out of that gist [00:18] sammmy: Also, I'd need a way to pass locals to my sql files. Similar to how I can pass locals to my views. [00:19] RGoodfellow: i can't use any other npm modules... (i didn't create the project) [00:19] ryanrolds_w: RGoodfellow: async.parallel or async.queue would help with that. [00:19] myndzi\: how do i debug "object has no method 'on'" ? [00:20] sorensen__ has joined the channel [00:20] ryanrolds_w: RGoodfellow: Um, that doesn't make any sense. Why can you add an async flow control library? [00:21] ryanrolds_w: Adding a library is better then having a bunch of synchronous io like that. [00:21] lmatteis has joined the channel [00:21] mintbridge_ has joined the channel [00:21] RGoodfellow: my boss wrote the code and when i saw it, i nearly vomitted and he doesn't want any more libs. typical boss... [00:22] SubStack: wow... [00:22] SubStack: just wow [00:22] ryanrolds_w: Update your resume. [00:22] SubStack: "This one time, I used a module and it sucked! So I never use modules." [00:22] FilipeDias has joined the channel [00:22] kermitPT has joined the channel [00:22] SubStack: hilarious [00:22] crewmoss has joined the channel [00:23] chunhao_ has joined the channel [00:23] SubStack: ACTION draws some more dinosaurs [00:23] ryanrolds_w: Draw some turtles too please [00:23] SubStack: I am OVER turtles. [00:23] eeemsi: SubStack: new hobby? ;) [00:23] Lorentz: don't forget penguins [00:23] SubStack: this week, it's all dinosaurs [00:23] redir_ has joined the channel [00:23] eeemsi: penguins! [00:23] SubStack: and a few robots [00:23] eeemsi: xD [00:23] SubStack: for good measure [00:23] ryanrolds_w: RGoodfellow: You can do what async and similar librraries do, but you need to do a bunch of callback counting. [00:24] SubStack: http://substack.net/images/raptor.png [00:24] eeemsi: SubStack: pics or it didn't happen ;) [00:24] ryanrolds_w: RGoodfellow: This is a solve problem, to bad your boss is making you reinvent the wheel. [00:24] sammmy: If I use require('my_module') multiple times in my applications, does the module get cached or is there a new module object loaded each time I require it? [00:24] texinwien has joined the channel [00:24] bnoordhuis: sammmy: it's cached [00:24] sammmy: bnoordhuis: how does this effect the behavior then? [00:24] benvie: this one time I used eval and it somehow was a black hole that sucked everything in [00:24] RGoodfellow: ryanrolds_w: i thought more about using something like event emitter stuff.... [00:24] SubStack: this one time I used threads [00:24] RGoodfellow: but that seems just so overkill [00:25] SubStack: never again [00:25] ryanrolds_w: RGoodfellow: That works too, you will be counting events then [00:25] bnoordhuis: sammmy: that's a rather broad question... [00:25] ryanrolds_w: You're going to need to count the number of async ops you dispathed and then number you got back. When you get them all back then do some final operation on all of the responses. [00:25] copongcopong: RGoodfellow: use eventEmitter instead [00:25] sammmy: bnoordhuis: is there something I can read that clarifies this? [00:25] eeemsi: SubStack: art! … ^^ [00:25] Fabryz has joined the channel [00:26] sammmy: maybe a blog post from somone explaining and giving examples of how it behaves. [00:26] bnoordhuis: sammmy: i would just read the source if i were you [00:26] rwaldron has joined the channel [00:26] bnoordhuis: it's in src/node.js and lib/module.js [00:27] sammmy: It might go over my head at this point. I'll have to google for resources on this. If that fails, I will have to read the source. xP [00:27] robb1e_ has joined the channel [00:27] ryanrolds_w: SubStack: Could you do a picture of robot turtles riding dinos? [00:27] ryanrolds_w: Post it on reddit and you will be more famous. [00:27] _jzl has joined the channel [00:27] RGoodfellow: gotta run. thanks for your thoughts on the matter, guys. :) [00:28] Jaylee_ has joined the channel [00:28] SubStack: ryanrolds_w: to do that concept justice would take a lot of hours [00:28] ryanrolds_w: :( [00:28] ryanrolds_w: You will just have a write a module that needs that art. [00:29] SubStack: true~! [00:29] SubStack: this took about 20 hours: http://substack.net/images/browsers/war_of_the_browsers.png [00:29] SubStack: over 2.5 days is [00:29] _ralph has joined the channel [00:29] fcoury has joined the channel [00:29] ryanrolds_w: Damn. [00:29] SubStack: that raptor only took about 90 minutes [00:30] ryanrolds_w: only [00:30] benvie: I spent my whole life iterating on this piece of art http://bbenvie.com/img/the_more_you_know.jpg [00:30] eeemsi: war_of_the_browsers.png is nice [00:30] tez has joined the channel [00:31] dscape has joined the channel [00:31] benvie: the duck [00:31] benvie: will get you [00:31] majek has joined the channel [00:31] tez: hi, I have an issue with http.request [00:31] tez: when i set the connection: keep-alive headers [00:31] tez: i get econnreset [00:31] tez: if the response takes too long [00:32] pauls1 has joined the channel [00:32] tez: but according to api docs, connection: keep-alive should wait until the next request before closing? [00:32] ryanrolds_w: Any chance this is https/ssl/tsl? [00:32] tez: nope [00:32] tez: http [00:33] ryanrolds_w: tez: Node version? [00:33] tez: v0.6.8 [00:33] tez: running on linux [00:34] tez: I'm very confused as to why I'm getting ECONNRESET [00:34] dilvie has joined the channel [00:34] tomnewmann has joined the channel [00:35] _th_n has joined the channel [00:36] sveisvei has joined the channel [00:36] tortvanc has joined the channel [00:36] ryanrolds_w: tez: How long are you waiting between requests? [00:36] tez: over 30 seconds [00:36] ryanrolds_w: tez: The connection isn't held open indefinitely. [00:36] ryanrolds_w: Yeah, that's going to do that. [00:36] tez: but according to docs it should be..... [00:36] tez: until a new request is made [00:36] tez: which it is not [00:37] bnoordhuis: tez: ECONNRESET means the *other* end closed the connection [00:37] ryanrolds_w: tez: keepalive doesn't mean the connection will be held open forever. [00:37] ryanrolds_w: Yeah, either side can close it. [00:37] Rob__ has joined the channel [00:37] tez: quoting from docs: [00:37] tomh has joined the channel [00:37] tez: "Sending a 'Connection: keep-alive' will notify Node that the connection to the server should be persisted until the next request." [00:37] csprite has joined the channel [00:37] bnoordhuis: tez: reread what i wrote [00:37] tez: no next request is being made [00:38] nym has joined the channel [00:38] tez: is there any way I can ensure this doesnt occur? [00:38] ryanrolds_w: That's not how keepalive is supposed to work. The docs could be reworded. [00:38] ryanrolds_w: No way. [00:38] ryanrolds_w: The other end can disconnect at will. [00:38] relix has joined the channel [00:39] bnoordhuis: ryanrolds_w: the docs are fine, node is doing is exactly what it says [00:39] tez: the other end is a server written by me [00:39] jsurfer has joined the channel [00:39] tez: so I have control over the code [00:39] magn3ts has joined the channel [00:39] ryanrolds_w: And 30 secs is pretty long to hold open a request like that. [00:39] bartek has joined the channel [00:39] tez: its processing a very large file [00:40] tez: if the server is closing the connection as was suggested above, are there any server-side modifications I can make to hold the socket open indefinately until the request is replied to? [00:40] ryanrolds_w: bnoordhuis: You're right. [00:41] owenb has joined the channel [00:41] bnoordhuis: tez: have the server set the keepalive flag on the connection [00:41] tez: okay ill try that :) [00:41] bnoordhuis: tez: and if it's a node server, disable the timeout [00:41] strmpnk has joined the channel [00:41] tez: cool [00:41] tez: ya its a node server [00:41] tez: alright ill try that, thanks guys :) [00:41] bnoordhuis: good luck :) [00:42] ryanrolds_w: bnoordhuis: Wouldn't it be optimal to implement some way to notify the origin that doesn't involve something brittle like that? [00:42] bnoordhuis: ryanrolds_w: how would that work? [00:42] ^robertj has joined the channel [00:43] ryanrolds_w: Any sort of message queue or socket.io implementation would be better then hoping that something does hiccup that long connection. [00:43] broofa has joined the channel [00:43] kokotron has joined the channel [00:43] josh_wines has joined the channel [00:43] bnoordhuis: ryanrolds_w: there is a message queue but that's not the issue here [00:44] bnoordhuis: the server can close the connection at any time [00:44] BrianE has joined the channel [00:44] bnoordhuis: a robust application will just have to anticipate and deal with that [00:44] sammmy: According to the Module Caching Caveats section in the node docs, if I require('./path/foo.js') and then require('./path/../path/foo.js') (both are the same file, but have different paths), I would force the node to load two separate exported objects? [00:44] bnoordhuis: i say "the server" but it might as well be network errors [00:45] ryanrolds_w: Yeah, using keepalive like that seems like a brittle way to do what he is needed. [00:45] ryanrolds_w: *needing [00:46] bnoordhuis: sammmy: that's correct [00:46] _numbers has joined the channel [00:46] SubStack: sammmy: that file would only execute once [00:47] SubStack: node normalizes the paths [00:47] ziyadb has joined the channel [00:47] blissdev has joined the channel [00:47] SubStack: path.normalize() yo [00:47] Druid_ has joined the channel [00:47] idefine has joined the channel [00:47] remysharp has joined the channel [00:47] blahblahblah has joined the channel [00:47] bnoordhuis: oh wait, i'm thinking of NativeModule.require() [00:47] _numbers: so i want to use node.js for websockets with socket.io, but i want to use another language/sever for everything else. i want both to run on port 80 of the same domain so that there are no cross-domain issues. what can proxy that? [00:47] bnoordhuis: SubStack is right [00:47] Edler has joined the channel [00:47] SubStack: or actually it probs uses path.resolve() [00:47] sammmy: SubStack: So node would recognize that it's the same file so therefore it would use the cached exports object from the first require? [00:47] SubStack: but the effect is the same [00:47] Raynos has joined the channel [00:48] SubStack: sammmy: yes [00:48] sammmy: Yay! [00:48] Hosh has joined the channel [00:48] sammmy: I like that. If it did, I'd be like fuuuuuuck. [00:48] sammmy: If it didn't, I mean.. [00:48] sammmy: :S [00:48] ryanrolds_w: _numbers: socket.io should handle cross domain fine. Getting socket.io to work through a proxy isn't fun. [00:49] _numbers: ryanrolds_w: really? in that case, i tried configuring the socket.io example for port 8080 instead of port 80, but the js browser client didn't seem to make the connection in that case [00:50] achiu1 has joined the channel [00:50] jtsnow has joined the channel [00:51] blahblahblah has left the channel [00:51] ryanrolds_w: _numbers: It should work. Socket.io is supposed to handle cross-domain fine. What browser where you trying it in? [00:52] _numbers: chrome [00:52] ryanrolds_w: CORS is pretty well supported on modern browsers and socket.io falls back on other methods. [00:52] agnat_ has joined the channel [00:53] ryanrolds_w: Getting socket.io to work through a proxy is a huge pain in the pass and depending on the proxy may not work. [00:54] _numbers: ok looking again at config to see if it was my error [00:54] ryanrolds_w: Turn the logging up a bit and check the web inspector. [00:54] ryanrolds_w: If you getting bitten by CORS issues you should see it in the network area. [00:54] _numbers: right now the browser is including the wrong .js i think [00:55] ryanrolds_w: Ah. [00:55] _numbers: it says /socket.io/socket.io.js in the example [00:55] lmorchard has joined the channel [00:55] _numbers: i used the one from the npm install dir [00:55] slajax has joined the channel [00:55] ryanrolds_w: Don't know if that matters so much. [00:55] _numbers: but its calling a require() statement [00:55] dwhittle has joined the channel [00:55] _numbers: so browser console says 'require is undefined' [00:55] _numbers: 'io is undefined' [00:55] _numbers: so this must be the wrong file [00:55] ryanrolds_w: Oh, yeah [00:55] EyePulp has joined the channel [00:56] ryanrolds_w: socket.io should serve or setup routes to serve the js files on whatever port it's bound to. [00:56] Ragnok has joined the channel [00:56] EhevuTov_ has joined the channel [00:56] diva has joined the channel [00:56] ryanrolds_w: <3 socket.io [00:56] purr: Let it be known that ryanrolds_w hearts socket.io. [00:57] ryanrolds_w: Just don't try to get socket.io to work through express + vhost. [00:57] westg has joined the channel [00:57] jlank has joined the channel [00:57] conancat has joined the channel [00:58] _numbers: im following the socket.io + express example [00:58] BillyBreen has joined the channel [00:58] _numbers: darn i cant find the .js file that is supposed to be included by the client-side [00:58] wavded has joined the channel [00:58] _numbers: its not this one is it? https://github.com/LearnBoost/socket.io/blob/master/lib/socket.io.js [00:59] warz has joined the channel [00:59] ryanrolds_w: If you're going through express socket.io should set it up for you. [00:59] _numbers: all the examples reference a /socket.io/socket.io.js file [00:59] _numbers: well in this case i am going through apache on port :90 [00:59] _numbers: on port :80* and then socket.io + express + node.js is running on port :8080 [00:59] ryanrolds_w: You don't need to so anything special. http://host:port/socket.io/socket.io.js [01:00] ryanrolds_w: http://host:8080/socket.io/socket.io.js [01:00] konobi: what's the standard websocket (pure websocket) framework to go for these days [01:00] konobi: ie: no browsers involved [01:00] PsiliPharm has joined the channel [01:00] _numbers: oh ya thats a dif. file [01:01] cerebros has joined the channel [01:01] ryanrolds_w: konobi: I have been using socket.io-client [01:01] _numbers: the mistake i made was in copying that file to the project dir thinking i had to provide it [01:01] underport has joined the channel [01:01] _numbers: when i deleted it, you're right express already provides it i guess from the node_modules plugin dir [01:01] ryanrolds_w: Knowledge: But I don't know if that's really what your're looking for. [01:01] RobWC has joined the channel [01:01] RobWC has left the channel [01:01] konobi: also on the server side though [01:01] Aria has joined the channel [01:01] _numbers: now its working yay [01:02] ryanrolds_w: konobi: I use socket.io for interserver communication and I'm pretty sure it uses websockets all the way. [01:02] jesusabdullah: Question: Do objects have a built-in sense of order or is this a side-effect of the v8 implementation? [01:02] ryanrolds_w: socket.io + socket.io-client [01:03] jesusabdullah: nvm found answer [01:03] ryanrolds_w: _numbers: Awesome [01:03] _numbers: thx ryanrolds_w [01:04] SubStack: they actually have rather stable ordering but that effect shouldn't be depended on [01:04] konobi: ryanrolds_w: ah... https://github.com/Worlize/WebSocket-Node was the one i was thinking of [01:04] jesusabdullah: Yeah, I lucked out on my last google search [01:05] diva__ has joined the channel [01:05] jesusabdullah: most implementations order them [01:05] jesusabdullah: by order of attachment [01:05] ryanrolds_w: jesusabdullah: If you're going to json and back don't count on that. [01:06] jesusabdullah: http://stackoverflow.com/questions/280713/elements-order-in-a-for-in-loop [01:06] jesusabdullah: I'm used to not depending on it but it's a question I've always had [01:06] ryanrolds_w: hehe "In short: Use an array if order is important to you." [01:06] ryanrolds_w: This bit someone where I work. [01:07] ryanrolds_w: Had to go around turning objects in to arrays or strings or arrays of objects. It sucked. [01:07] jesusabdullah: [ {a: 1}, {b: 2} ] [01:07] ryanrolds_w: Yeah [01:07] jesusabdullah: that's how I do it [01:08] ryanrolds_w: *arrays of strings [01:08] _numbers: with socket.io when a client makes a connection, does it maintain state or session between page refreshes? [01:08] _numbers: or would i have to add that on the server-side app.js [01:09] neoesque has joined the channel [01:10] wdperson has joined the channel [01:11] stepheneb has joined the channel [01:11] Vespakoen has joined the channel [01:11] Brunoz has joined the channel [01:11] igl1 has joined the channel [01:12] jetienne_ has joined the channel [01:13] briancray has joined the channel [01:13] k1ttty has joined the channel [01:15] quackquack has joined the channel [01:16] ericmuyser has joined the channel [01:17] muddo has joined the channel [01:17] diogogmt has joined the channel [01:18] eboy: Does anyone know what I can do to mimic the functionality of Unix streams on Windows? [01:19] AI42 has joined the channel [01:19] patcito has joined the channel [01:19] kirbysayshi has joined the channel [01:19] jxson_ has joined the channel [01:20] kriskowal has joined the channel [01:22] ryanseddon has joined the channel [01:23] TroyMG has joined the channel [01:24] orlandovftw has joined the channel [01:24] CIA-19: libuv: 03Ben Noordhuis 07master * r7a2bd05 10/ (include/uv-private/ngx-queue.h include/uv-private/tree.h): [01:24] CIA-19: libuv: Fix include guard in tree.h and ngx-queue.h [01:24] CIA-19: libuv: The C99 standard reserves all identifiers (including macros) that start with an [01:24] CIA-19: libuv: underscore and a capital letter. [01:24] CIA-19: libuv: Fixes #260. - http://git.io/sAFDIw [01:25] AI42: Hi, i'am using postgresql, node module pg, can't find any realization of transactions please tell me which module should i use? [01:28] jacobolus has joined the channel [01:29] RobWC has joined the channel [01:32] Frostopher has joined the channel [01:32] jxson has joined the channel [01:33] myndzi\: zlib emits multiple end events, what am i supposed to do about that? how do i know when it's done? [01:34] tomnewmann has joined the channel [01:37] redir has joined the channel [01:37] myndzi\: hmmm nm [01:38] _numbers has joined the channel [01:39] dekub has joined the channel [01:40] sammmy: How would I go about separating my SQL from my js model files? I want to be able to put all my .sql files in /models/sql/ directory, but then how would I be able to inject parameters into the queries? [01:40] adamkittelson has joined the channel [01:41] tvw has joined the channel [01:44] cmwelsh: sammmy: you could have a separate file for each model for the database access layer [01:45] brianseeders has joined the channel [01:47] zivester has joined the channel [01:47] subbyyy has joined the channel [01:49] sammmy: cmwelsh: What do you mean? [01:50] cmwelsh: I mean putting your SQL queries in a file with .sql extension is not optimal in my book [01:50] cmwelsh: just put them in a separate js file [01:50] jzacsh has joined the channel [01:50] jzacsh has joined the channel [01:51] dwhittle has joined the channel [01:54] seanstickle has joined the channel [01:54] abraxas has joined the channel [01:56] redir has joined the channel [01:57] MartinCleaver has joined the channel [01:57] MartinCleaver has joined the channel [01:57] take_cheeze has joined the channel [01:57] sammmy: cmwelsh: I think it's optimal if you have large queries (transactions and whatnot). It would clean up my model files. [01:58] sammmy: Plus, I would also get syntax highlighting for SQL in my editor. [02:00] BillyBreen has joined the channel [02:02] robotblake has joined the channel [02:02] _numbers: so i am using node.js for socket.io functionality but the majority of the web app is written in php [02:03] _numbers: i want a way for php to notify node.js server of an event occurrance [02:03] _numbers: i guess the best way to do that would be a php websocket client connecting to the node.js server [02:03] Vespakoen has joined the channel [02:03] LuckySMack has joined the channel [02:04] al3xnull has joined the channel [02:04] _numbers: ok next q: trying to setup a subscriber broadcast structure with socket.io [02:04] _numbers: so clients will ask to subscribe to a certain id to receive broadcasts for only that id [02:05] al3xnull: Has anyone here happened to put together an OpenID provider at all? [02:05] _numbers: whats the easiest way to do that? maybe use socket.io namespaces one-per-id? its just that there could be several thousand different ids [02:08] RORgasm has joined the channel [02:08] _numbers: im reading that channel subscription is already built-in to socket.io [02:09] _numbers: how does the client subscribe to a channel in the latest version? is that what socket.on() is doing? will the server not broadcast to that client if it has not set to listen with socket.on() [02:10] stagas: http://live.stagas.com:3333/ [02:10] dilvie has joined the channel [02:11] infynyxx has joined the channel [02:17] tvw has left the channel [02:18] stepheneb has joined the channel [02:19] diogogmt has joined the channel [02:19] jtsnow has joined the channel [02:19] jxson has joined the channel [02:20] sammmy: I remember that I couldn't set exports to an singleton, but rather I had to use module.exports, or was it visa versa? [02:20] sammmy: What are the subtle differences between module.exports and exports? [02:21] pandeiro has joined the channel [02:21] Ragnok has joined the channel [02:22] crutex has joined the channel [02:22] crutex has joined the channel [02:22] unomi has joined the channel [02:24] chapel: exports is a helper [02:25] chapel: exports is like doing var exports = module.exports = {} [02:26] sleetdrop has joined the channel [02:26] sammmy: But are there any caveats with exports? [02:27] chapel: umm, if you use exports, and then module.exports in the same file, module.exports usually overrides it last I checked [02:27] sammmy: Could I do: exports = { exportedFunction: function(){..} } and have it still work properly vs if I used module.exports = {...? [02:27] gkatsev: yes, same thing [02:27] Hephaistos has joined the channel [02:28] gkatsev: yeah, use either one but not both in the same file [02:28] sammmy: I see. [02:28] sammmy: Thanks. [02:28] colinwd has joined the channel [02:28] sammmy: Why do I see exports = module.exports = {...? What's the point of setting both? [02:28] gkatsev: to guarantee that it is the same [02:29] gkatsev: for the paranoids among us [02:29] rwaldron has joined the channel [02:30] sammmy: http://stackoverflow.com/questions/7137397/module-exports-vs-exports-in-nodejs [02:31] sammmy: it was with functions that there is a caveat. [02:31] chjj: sammmy: because of the way variable assignment works in javascript, setting `module.exports` does not change `exports`. [02:32] chjj: sammmy: so if you wanted to use `exports` later, you need to explicitly set it [02:32] sammmy: I see now. The stackoverflow post helped me to understand. [02:32] babab00m has joined the channel [02:33] maletor has joined the channel [02:33] gr4yscal_ has joined the channel [02:33] babab00m has joined the channel [02:33] yosprey has joined the channel [02:34] sammmy: Node.js takes the properties of exports and adds them to module.exports if module.exports isn't null/undefined. This means that exports cannot export a single value, but module.exports can. To avoid bugs and confusion we set exports to module.exports so that way they remain the same. [02:34] Emmanuel` has joined the channel [02:35] yosprey: hello, just getting started with node and playing around with the guide on http://www.nodebeginner.org/, ran into an exception when i'm just running with an index.js and server.js and just tried copy-pasting to see if I just typed something wrong and same error, it's saying "Error: listen EADDRINUSE", what did i mess up [02:36] Lorentz: EADDRINUSE => E(rror) Add(ress) in use [02:36] mattgifford has joined the channel [02:36] Lorentz: guess it means the port you're trying to use is taken [02:37] Ragnok: yup, it seems you are listening in that port already [02:37] yosprey: that's what i assumed, it worked at first... what process should i look to kill [02:37] Lorentz: anything that you started with node [02:38] kokotron has joined the channel [02:38] sammmy: Why doesn't Node.js replace module.exports with exports' value if module.exports isn't set? [02:39] stagas: sammy: module.exports is the object that is exported [02:40] CarterL has joined the channel [02:40] githogori has joined the channel [02:40] stagas: sammy: internally, exports = module.exports; so exports.foo === module.exports.foo; but if you do exports = { something: 'else' }; you lose the reference so now exports.foo no longer points to module.exports.foo [02:42] conancat has joined the channel [02:43] yosprey: even when I change the port number I get EADDRINUSE [02:44] yogig has joined the channel [02:44] Edler has joined the channel [02:44] Edler: hey guys, is it possible to install node.js on a jailbroken iPhone ? [02:45] gkatsev: yosprey: what port are you trying to use? [02:45] brianseeders has joined the channel [02:45] yosprey: gkatsev, tried 8888 then 8889 [02:45] dthompso99 has joined the channel [02:46] bbenvie has joined the channel [02:47] westg: Edler: uhh, I would venture to say no because of the processor in an iphone but i may be wrong [02:49] Edler: westg: found it .. :D https://tootallnate.net/nodejs-on-ios [02:50] alejandromg has joined the channel [02:51] Avanine has joined the channel [02:53] pradeepbv has joined the channel [02:54] _numbers: is there an each() iterator function like jQuery.each() [02:54] jxson has joined the channel [02:54] _numbers: or should i just require('jquery') in my server-side app [02:55] jdeibele has joined the channel [02:56] bizniz98 has joined the channel [02:59] pizthewiz has joined the channel [03:00] Ragnok has joined the channel [03:00] Ragnok has joined the channel [03:00] a_suenami has joined the channel [03:00] gr4yscal_ has joined the channel [03:02] rtgibbons has joined the channel [03:03] DoNaLd`_ has joined the channel [03:05] cesar_ has joined the channel [03:06] jdeibele has joined the channel [03:07] yosprey: oh, i fixed it. editing wrong files ftl [03:09] chapel: _numbers: use forEach [03:10] chapel: array.forEach(function(item, i, array) { // code }) [03:10] _numbers: ok thx i'll try it [03:14] blueadept has joined the channel [03:15] jtsnow has joined the channel [03:18] jdeibele1 has joined the channel [03:18] nqbao has joined the channel [03:19] michaelmartinez has joined the channel [03:21] thinkt4nk has joined the channel [03:23] Ragnok: hey, i'm new to node, and i would like to know what would be the equivalent to the apache .htaccess file [03:26] jerrysv has joined the channel [03:27] reprisal: Ragnok: Best way to start might be to compare the html 5 boilerplate node server to their .htaccess [03:27] reprisal: https://github.com/h5bp/server-configs/blob/master/node.js [03:27] Ragnok: k, thanks [03:29] _numbers has left the channel [03:30] smorin has joined the channel [03:30] takumination has joined the channel [03:30] bicranial has joined the channel [03:30] killfill has joined the channel [03:31] technel has joined the channel [03:36] Spion_ has joined the channel [03:37] nqbao has left the channel [03:37] _jzl has joined the channel [03:40] shanebo has joined the channel [03:42] sammmy: Is it just more or does Node.js's error reporting kinda fail? [03:43] kmiyashiro has joined the channel [03:45] gkatsev: s/node.js/{{any language}} [03:46] kvda_ has joined the channel [03:47] blueadept has joined the channel [03:48] boltR has joined the channel [03:48] zemm has joined the channel [03:48] TooTallNate has joined the channel [03:48] kvda_: Hello, I'm looking for a HTML template builder that runs on Node, what are some of the better ones? [03:49] Hebo: Jade is pretty popular [03:50] kvda_: I had a look at that one, but i didn't like the way you have to write your source [03:50] Hebo: https://github.com/joyent/node/wiki/modules#wiki-templating [03:50] kvda_: Unless you can enter regular html into Jade? [03:50] kvda_: Thanks Hebo, this looks a comprehensive list [03:50] Hebo: you want something like erb? [03:50] dr0id has joined the channel [03:50] Hebo: where you're basically writing html [03:51] ningu has joined the channel [03:51] deedubs: kvda_: sounds like you might like http://twitter.github.com/hogan.js/ [03:51] ningu: another day, another npm [03:52] SubStack: http://substack.net/images/triceratops.png [03:52] kvda_: Yes I think so, you write html but you get the power of a scripting language.. to output static html again [03:52] dgathright has joined the channel [03:52] ningu: SubStack: new module? [03:53] Hebo: kvda_: mustache/hogan doesn't want you to have logic in your template--just string interpolation and _vary_ basic statements [03:53] Hebo: very* [03:53] kvda_: So it wouldn't be so useful for as HTML template builder? [03:54] warz has joined the channel [03:54] warz has joined the channel [03:54] tbranyen: mustache gives you some logic, but it sucks [03:54] kvda_: TO make it clearer, the html files need to be static, I just want a templat builder that lets me do basic things so that I can have one footer.html file for example [03:54] tbranyen: hey want to go through ridiculous hoops to make your template engine to work? I SURE DO!! [03:54] tbranyen: -to [03:55] kvda_: So i'd expect this template builder to have a directory watcher etc.. [03:55] SubStack: ningu: negatory, just new art for the browserling queue [03:55] SubStack: all dinosaurs this time [03:55] achiu1 has joined the channel [03:56] kvda_: Thanks for you recommendations guys :) [03:56] ningu: SubStack: do you mourn the loss of brontosaurus? [03:57] Hebo: kvda_: you can set up any of those templaters to render to a static html file with a small script [03:57] SubStack: why mourn something that never was? [03:58] kvda_: That's good to hear.. Hogan might be the one then [03:58] ericmuyser has joined the channel [03:58] kvda_: It seems to be what I'm looking for [04:00] myndzi\: any experience with async.js? how do you specify the callbacks when using async.series? [04:00] myndzi\: or does it just auto-insert them? i'm getting an error either way [04:01] Hebo: each function takes a callback param, which you have to call at the end of your fn [04:02] myndzi\: well, i'm using a library (zombie.js) [04:02] myndzi\: typically it's like [04:02] myndzi\: browser.visit("url", function(){}); [04:03] myndzi\: but when i use async.series([browser.visit("url"), ...]) i get an error from the second function in the chain [04:03] myndzi\: that seems to be indicating the first one isn't complete [04:03] myndzi\: (item doesn't exist on page) [04:03] AvianFlu has joined the channel [04:03] Hebo: you need to wrap browser.visit in a function [04:03] myndzi\: ah. [04:03] ningu: every function in async.series has to take a callback as its argument [04:03] myndzi\: too bad [04:03] myndzi: it was gonna look clean until you said that [04:04] Hebo: you can use async.apply to avoid that [04:04] kPb_in has joined the channel [04:05] myndzi: that's a little better, thanks [04:05] Hebo: if you do that, however, you will lose your .this reference, so you might need to use .bind() if .visit depends on .this [04:05] tommyvyo has joined the channel [04:05] blueadept has joined the channel [04:06] myndzi: yeah, i may just use this iced coffeescript thing [04:06] myndzi: i don't really want to [04:06] Hebo: haha [04:06] myndzi: but it sure makes the code look nice [04:06] Hebo: to avoid a few function declaractions, heh [04:06] myndzi: i'm just comparing [04:06] myndzi: code doesn't even work yet, i'll show you when it does [04:06] Hebo: cool [04:07] myndzi: i'm getting a "cannot read property length of undefined" error, gotta love how libraries disguise where the problem is [04:07] sh1mmer has joined the channel [04:08] illourr has joined the channel [04:09] illourr: ello there mates [04:09] Hebo: sup [04:09] myndzi: well whatever, you can compare without it even working yet [04:09] myndzi: :P [04:10] pckt has joined the channel [04:11] sammmy: I suppose it's not a good idea to block, but how do you do practically work in a non-blocking environment? Say I have a model function who's job is to create a new user. In order for model.create(..) to create a new user it must first query the database to see if that user exists, which means that you'd need to wait on this callback before model.create executes it's callback. Seems kind of like a hassle. Would it be a bad idea [04:11] sammmy: to block in this case? [04:12] myndzi: http://pastebin.com/4UJ2ywCk [04:12] Hebo: that's what libraries like asyn.js are for [04:12] Hebo: async* [04:12] myndzi: not ideal, wish i could ditch the defer call entirely [04:12] yogig has joined the channel [04:12] nqbao has joined the channel [04:12] nqbao has left the channel [04:13] konobi: sammmy: you're blocking _everything_ then [04:13] brianleroux has joined the channel [04:14] Hebo: myndzi: does that apply stuff work without bind? [04:14] sammmy: konobi: True. But, it feels kind of awkward, almost dumb, to put almost everything in a callback. :\ [04:14] myndzi: i did say it's broken :( [04:14] myndzi: probably not, which means bind adds more mess [04:15] myndzi: anyway i don't WANT to like it but ... yeah, that looks super clean [04:15] Hebo: myndzi: write it with functions at first to verify. bind would just be browser.visit.bind(browser) [04:15] myndzi: so it'd be like [04:16] myndzi: [function (callback) { browser.visit("url", callback) } ? [04:16] ningu: myndzi: what are the semantics of browser.visit()? [04:16] ningu: is it sync or async? [04:16] myndzi: browser.visit(url, callback) [04:16] myndzi: async [04:16] Hebo: that looks right [04:16] ningu: ok, then yeah, that should work [04:17] gavin_huang has joined the channel [04:17] illourr has joined the channel [04:17] myndzi: yay, made it work [04:18] konobi: sammmy: then you can use something other than node... but the whole point is to be async... therefore callbacks [04:18] sammmy: Right. [04:18] konobi: you can use stuff like the async library to help with that [04:18] sammmy: If only JavaScript allowed for non-blocking function returns of somekind. [04:19] myndzi: still so much repetition :\ [04:19] myndzi: i'll see where it takes me [04:19] myndzi: i don't want to pull in a ton of dependencies [04:20] mapreduce has joined the channel [04:21] sreeix has joined the channel [04:21] isaacs has joined the channel [04:22] polardude has joined the channel [04:22] mapreduce: I'm just starting reading docs, not tried anything out yet, but a question that pops into mind straightaway is.. if one typically listens on the HTTP port from within the node program, can you compose two or more node programs and have them running on the same port as you can with separate PHP clusterf.. programs? [04:23] polardude: ahh, I'm following through The Node Beginner Book… and my mind is blew... [04:23] polardude: Inversion of Control is quite interesting… any better examples on how this works (dependency injection) [04:24] _baton_ has joined the channel [04:24] polardude: From a procedural point of view, it looks like a black hole where it feeds itself and somehow the objects are passed backwards [04:24] pckt: Anyone familiar with hook.io know why something like this http://pastebin.com/2CUFBTZu won't work [04:25] mapreduce: polardude: From procedural (as in C) point of view, you get your dependencies via parameters. [04:26] redir has joined the channel [04:26] mapreduce: so if you use a FooBarBaz, you get one passed to you as a FooBarBaz *, instead of creating one yourself. Or possibly you get a factory instead of the pointer directly, depends on the design. [04:26] polardude: mapreduce: I just finished the portion where I add the ability for exec to do a function without blocking the event loop [04:27] polardude: *added [04:27] mapreduce: that it's a pointer is irrelevant to the point above, sorry. [04:27] polardude: Ah, gotcha [04:27] diva has joined the channel [04:27] polardude: It assumes that it would be passed as designed [04:27] mapreduce: I'm reading the same thing but luckily I'm already familiar with IoC so I skipped that. [04:28] polardude: mapreduce: how did you learn such concepts? through experience or what? [04:29] sphinxxx has joined the channel [04:29] mapreduce: Originally through reading elsewhere about IoC, but I did also notice that my own code was tending towards passing things in as parameters. [04:29] isaacs has joined the channel [04:31] warz has joined the channel [04:31] warz has joined the channel [04:34] thirdknife has joined the channel [04:36] kenperkins has joined the channel [04:37] petschm_ has joined the channel [04:38] polardude: mapreduce: lucky [04:38] kyledr_ has joined the channel [04:39] niloy has joined the channel [04:42] Avanine has joined the channel [04:42] polardude: mapreduce: this is dandy by the way, http://stackoverflow.com/questions/3058/what-is-inversion-of-control [04:49] onar_ has joined the channel [04:52] Joeysomo has joined the channel [04:55] OmidRaha has joined the channel [04:57] jergason has joined the channel [04:58] crewmoss has joined the channel [04:58] yawNO_ has joined the channel [04:58] zenethian has joined the channel [05:00] RobWC1 has joined the channel [05:00] RobWC1 has left the channel [05:03] yogig has joined the channel [05:05] Edler has left the channel [05:06] crew has joined the channel [05:06] SomeoneWeird has joined the channel [05:09] kPb_in has joined the channel [05:09] mattgifford has joined the channel [05:11] MagiC3PO has joined the channel [05:11] MagiC3PO has joined the channel [05:13] SomeoneWeird: is there a way to push info to a browser apart from socketio? [05:14] AdamGoodrich has joined the channel [05:18] Spion has joined the channel [05:22] jacobolus has joined the channel [05:23] brainss has joined the channel [05:23] noganex_ has joined the channel [05:28] zeade has joined the channel [05:29] SamuraiJack has joined the channel [05:29] rurufufuss has joined the channel [05:33] qjcg has joined the channel [05:33] r04r has joined the channel [05:33] r04r has joined the channel [05:34] alm0nd has joined the channel [05:37] kvda_ has joined the channel [05:42] ericmuyser has joined the channel [05:43] Joeysomo has joined the channel [05:43] jtsnow has joined the channel [05:47] sreeix has joined the channel [05:47] myndzi: grar [05:47] timoxley has joined the channel [05:47] myndzi: internet says you should be able to search by css selector in chrome's dev tools window but i can't work out how to do it [05:56] andrehjr has joined the channel [05:56] socketio\test\06 has joined the channel [05:57] maxogden: document.querySelectorAll() [06:01] syntaxiko has joined the channel [06:01] alejandromg: hey maxogden today I installed couchmail without success, then I went to archive.couchdb.org and I tried the search but a 404 error is show it up, what can it be? [06:04] pid1 has joined the channel [06:05] syntaxiko has joined the channel [06:07] michaelmartinez has left the channel [06:08] jetienne_ has joined the channel [06:09] Hanspolo has joined the channel [06:11] sreeix_ has joined the channel [06:13] orlandovftw has joined the channel [06:16] sreeix_ has joined the channel [06:17] syntaxiko has joined the channel [06:19] fred___ has joined the channel [06:19] disappearedng has joined the channel [06:21] thirdknife has joined the channel [06:23] achiu has joined the channel [06:24] syntaxiko has joined the channel [06:25] disappearedng: Anyone here uses heroku [06:27] kirbysayshi has joined the channel [06:27] nqbao has joined the channel [06:27] nqbao has left the channel [06:28] mendel_ has joined the channel [06:29] jkridner__ has joined the channel [06:29] syntaxiko has joined the channel [06:31] Joeysomo has joined the channel [06:40] joshontheweb has joined the channel [06:42] Ragnok has joined the channel [06:42] Ragnok has joined the channel [06:42] huggies has joined the channel [06:44] kokotron has joined the channel [06:45] cryptix has joined the channel [06:47] ditesh|cassini has joined the channel [06:48] toothr has joined the channel [06:48] EhevuTov has joined the channel [06:55] take_cheeze has joined the channel [06:56] simenbrekken has joined the channel [06:57] benvie has joined the channel [06:58] disappearedng: If anyone can help with this I would really appreciate it http://stackoverflow.com/questions/9715199/deploying-rails-and-nodejs [06:59] __doc__ has joined the channel [07:02] k1ttty_ has joined the channel [07:05] jesusabdullah: disappearedng: I don't use heroku (I work for nodejitsu) but here's my take: [07:05] jesusabdullah: disappearedng: First, check out https://github.com/nodejitsu/node-http-proxy for node-based proxying (similar to your haproxy approach) [07:06] jesusabdullah: disappearedng: Second, shared database is ghetto but more common than you'd think [07:06] jesusabdullah: disappearedng: Finally, the way I like to do these things is make as many json api's as possible and tie them together at the end. [07:07] grefven has joined the channel [07:08] EhevuTov has joined the channel [07:09] nicholas_ has joined the channel [07:09] disappearedng: jesusabdullah: thanks for the suggestion [07:09] disappearedng: yeah dude shared db is **ghetto** [07:10] dobber has joined the channel [07:11] skylamer` has joined the channel [07:11] jyp_ has joined the channel [07:11] samsonjs_ has joined the channel [07:12] jomoho has joined the channel [07:12] jol02 has joined the channel [07:12] descipher_ has joined the channel [07:12] gr4ysca__ has joined the channel [07:12] jesusabdullah: like I said though: More common than you realize. [07:13] jesusabdullah: oh, check out redis pubsub [07:13] jesusabdullah: similar arrangement, less ghetto [07:14] tobmastr has joined the channel [07:14] pradeepbv_ has joined the channel [07:14] saidinesh has joined the channel [07:15] jetienne__ has joined the channel [07:15] thisanda- has joined the channel [07:17] jesusabdullah: oh, and disappearedng, nodejitsu offers similar services to heroku, specific to node apps [07:18] graeme_f has joined the channel [07:20] ph^ has joined the channel [07:20] _main_ has joined the channel [07:21] philips_ has joined the channel [07:22] grefven_ has joined the channel [07:22] robhawkes has joined the channel [07:23] sammmy: I feel like Node needs another language than JS. One that's similar to JS, but enhances on the features most used in Node (lambda's and objects parameters). Anyone else ever think that? [07:23] djazz has joined the channel [07:24] jetienne: sammmy: some did the same principle in lua [07:24] YoY has joined the channel [07:24] jesusabdullah: sammmy: nope. [07:24] Skaag has joined the channel [07:25] jesusabdullah: sammmy: Also, coffeescript. [07:25] sammmy: I'm not sure how lua looks; I'll check it out. True about coffeescript. [07:25] jesusabdullah: when it comes to js though, I'm a staunch conservative [07:25] sammmy: you don't like coffeescript? [07:26] jesusabdullah: interesting as an experiment, but I don't like seeing it in production no [07:26] jetienne: i like my code to keep running, so i go for standard [07:26] sammmy: I see. [07:26] jesusabdullah: I don't feel like getting into it though [07:26] framlin: sammmy: whats wrong about lamda, parameters and JS? JS is great! [07:26] jesusabdullah: too tired [07:26] MerlinDMC has joined the channel [07:26] jetienne has left the channel [07:26] sammmy: framlin: Nothing is wrong with it, it's good. But I feel like it could be better. [07:27] framlin: what exactly could be better? [07:27] sammmy: Some ideas I have for a language (although nowhere completed), are as follows: [07:27] koo3 has joined the channel [07:28] TTSDA_ has joined the channel [07:28] framlin: anything what you are missing about JS-lambda-"support"? [07:28] TTSDA_ has joined the channel [07:28] Fabryz has joined the channel [07:28] tomh has joined the channel [07:28] tomh has joined the channel [07:28] tomh has joined the channel [07:29] meso_ has joined the channel [07:29] OmidRaha has joined the channel [07:29] sammmy: Statements: function arg, arg, arg. Lambdas: { } Callbacks: function arg, { }. [07:29] tokumine has joined the channel [07:29] framlin: ???? [07:29] sammmy: That's some basics there. Obviously it would remove the whole function(){} cruft. [07:30] framlin: I do not get your idea [07:30] traph has joined the channel [07:30] framlin: lambdas ARE about functions .... [07:30] sammmy: true [07:31] sammmy: Not every function is a lambda, though every lambda is a function. Am I correct on that? [07:31] jesusabdullah: depends on the language [07:31] sammmy: jesusabdullah: true too. But in js? [07:31] jesusabdullah: javascript doesn't make the distinction [07:31] jesusabdullah: at all [07:31] jesusabdullah: which is how it *should* be [07:32] sammmy: Good, cause in my language it is. [07:32] jesusabdullah: ACTION & zZz [07:33] sammmy: { } is a function literal, so to speak. To define variables in my language you'd use a function like say 'let': let x, { }. #this would set x to the value of { } and make it a function. [07:33] sammmy: But where is the parameter list you might ask? [07:35] framlin: until now I only see a little bit of syntactic sugar in your language [07:35] sammmy: Every function scope has a special args variable (similar to arguments in JS). You use it to access the arguments passed to a function like so: let x, { return args/0 }. x 'hello world'. [07:35] framlin: var x = function(){return y}(); [07:36] sammmy: framlin: for the most part, it would be sugar syntax, as it is IMO that JS got a lot of things right so it's heavly borrrowed from. [07:36] fangel has joined the channel [07:36] sammmy: However, there are some extra concepts that would make it even more useful. [07:37] framlin: semms not to bee a good idea to include your syntax into node, because nobody would be able to read it or toc write algorithms with it, because its extreemly unusual [07:37] myndzi: how can i increase the size of the call stack? [07:38] myndzi: is there some configuration parameter i can compile v8 with? [07:38] sammmy: Argument labels for example: let x, { return args/someLabel; }. x someLabel:23. [07:39] sammmy: framlin: it's only unusual at first. Once you get give it time (like any language) it becomes so obvious. [07:39] nym has joined the channel [07:39] framlin: sammmy: ONE of the reasons of the success of node.js so far is, that it uses a language that supports the event-loop "natively" and that it is known (at least syntactically) by a huge amount of coders all over the world [07:41] sammmy: framlin: True. The domination that JS has over the client-side has made it near impossible for a new language to come about. However, if you are inspired by JS with a new language that is design to serve as JS does only more, I don't see how JS coders wouldn't be able to adopt it. The learning curve wouldn't be steep especially with a JS to WhatEverMyLanguageWillByCalled tutoral [07:41] levi501d has joined the channel [07:42] stafamus has joined the channel [07:42] framlin: to proove your theory, take the sources of node and replace the V( with a VM of your choise .... maybe lisp or haskel or opal .... opal is a lot mor like your language as JS is. In two years you may compare the number of the users of node.opal with the number of users of node.js .... ;) [07:42] umren has joined the channel [07:43] framlin: .. V8 ... [07:43] mansoor has joined the channel [07:44] sammmy: I think there will always be more node.js people because it started first. But, not creating something that could be better because it wont be as popular isn't a strong argument against it. Look at the languages JS was inspired by, certainly not as popular as C. [07:46] sammmy: ugh. Opal looks ugly. >.< [07:46] kmiyashiro has joined the channel [07:46] stonebranch has joined the channel [07:46] sammmy: My language is more purly functional like lisp, only without the annoying paranthesis syntax. [07:46] framlin: no, as far as I know, are there today more node.js followers than rails followers,where node.js started years after rails ... [07:47] framlin: but opal is very very very lambda-ish ;) [07:48] framlin: opal is THE PURE functional language ... ask Prof. Dr. Peter Pepper ;) [07:48] AvianFlu has joined the channel [07:48] hipsters_ has joined the channel [07:48] framlin: .... opal was my first programming language .... ;) [07:49] sammmy: framlin: from what it looks like is that opal has operators. :\ [07:49] framlin: IMHO JS is a good compromise between a functional and a OO-Language and that is what is making its success, together with its commonly used syntax-style [07:51] groom has joined the channel [07:51] framlin: these ** -> "signs" are not "operators" they are "declarators" [07:51] SubStack: I like how JS doesn't have special scoping rules for classes [07:51] SubStack: fuck classes [07:51] sammmy: I think so too. But, I also think that some will consider a language that basically borrows all of JS's semantics with a little bit extra added on top. [07:52] framlin: yep ... I like that object-prototype-style .... [07:52] sammmy: agreed [07:53] sammmy: Like I said, my language would be prototypical too. The only difference with my language would be centered around functions even more than JS. Sense everything would be a function call. [07:54] sammmy: I should really think of a codename for it for now. Ideas? [07:54] dannyamey has joined the channel [07:54] framlin: some years ago I never had thaought, that it could be püossible to code business-critical enterprise applications with JS, but I have learned its not only possible, it works better than - e.g. - with java ... [07:55] insanoid has joined the channel [07:56] herbySk has joined the channel [07:56] framlin: sammmy: so you think, that mr. Eich has missed its target to code Lisp/Sceme for the browser? ;) [07:56] sammmy: Yeah. JS is my favorite language. [07:56] tornad has joined the channel [07:57] sammmy: framlin: what do you mean? [07:58] webben has joined the channel [08:00] emattias has joined the channel [08:01] levi501d has joined the channel [08:01] ph^ has joined the channel [08:01] chrisvwebdev has joined the channel [08:01] sammmy: What's a good way to report errors in my callbacks? Should I return error codes or something? Or should I just leave string messages? [08:01] lumgwada has joined the channel [08:01] jetienne has joined the channel [08:02] aliem has joined the channel [08:02] markwubben has joined the channel [08:02] SubStack: sammmy: strings or a new Error('string goes here') as a first parameter works pretty well [08:03] rendar has joined the channel [08:03] framlin: sammmy: was hired by netscape as a sceeme coder for a sceme project (AFAIK). Than he should implement a language for the browser, that looks like Java ... so he took its sceme-experiences and gave it some Java-Syntax .... [08:03] framlin: Mr. Eich was hired ... [08:03] madhums has joined the channel [08:04] sammmy: SubStack: Hmm. But if my models are internal APIs it doesn't seem like it makes much sense to have descriptive (human readable) strings if what I will most likely be doing is checking what type of error occured when I executed a model's method. [08:05] SubStack: why do you want to check types? [08:06] sammmy: Well, let's say I have users.create({firstName:..., lastName:..., email:...}, function(error) { /*do something according to the error*/ }); [08:06] SubStack: do something like... [08:06] sammmy: I'm making my models as lower level. [08:07] framlin: sammmy: http://yuiblog.com/crockford/ [08:07] SubStack: why do you need "models"? [08:07] neshaug has joined the channel [08:07] neshaug_ has joined the channel [08:07] sammmy: framlin: He's good. ;P [08:07] framlin: yepp ;) [08:07] SubStack: don't you just what a nice api that happens to save some state to disk? [08:08] SubStack: I think that's how this whole "models" business should be approached [08:08] SubStack: I don't even use those terms [08:08] sammmy: SubStack: I'll use models as an abstraction from my database. Rather than copying SQL queries everywhere I design an API to interface with the high-level concepts of my data. [08:09] ppcano has joined the channel [08:09] SubStack: why don't you just make a nice api that happens to talk to your database? [08:09] SubStack: don't need to call them models [08:09] disappearedng: Anyone know why I am getting "We are sorry but something went wrong" and the entry in error.log is cache: [GET /users/auth/facebook/callback?code=AQC-7o-BxqPp18L_0CGwAKDBP_79jR8hkpcl3hIM1GZYSlNCodC-KprzajdbWXKkqdMZZ7tLThFLI9d4JDEDwJ9gnSfNjDJNNGfEtjfnf8dw2ybOmUhAnjM6CXzqPidFysg-yU84zvE-zwHIu4yiaF8JD-93wGjz_pt1LGcK09ewbpGjs-RAg6SyXYQ6kXD0skI] miss ? [08:09] SubStack: and why do you need a special kind of error? what's wrong with strings? [08:10] k1ttty has joined the channel [08:10] [[zz]] has joined the channel [08:10] SubStack: if you are sending information through errors that informs the flow of the program then that's not really an error at all, that 's a normal result [08:10] ziro` has joined the channel [08:11] sammmy: SubStack: what difference does it make what I call them. I just call them models and put them in a models directory. In reality all they are is an interface between my application and my database. I'll use it to add/remove records, maybe even hold some non-persistent data, etc. [08:12] sammmy: SubStack: Well, if you try to create a new user with an email address that's already recorded in my db, then that's considered an error at some level. [08:12] SubStack: because you're just obscuring what you're trying to actually accomplish by calling them models [08:12] framlin: sammmy: right, thts *usually* calld a "model" ;) [08:12] SubStack: sammmy: then cb('user exists') [08:12] SubStack: bam [08:12] SubStack: done [08:13] SubStack: and bubble that up to the ui [08:13] sammmy: straight forward enough. But I suppose than I would use if (error == 'user exists') as my way to define what caused my error. [08:13] SubStack: why do you need to define what caused it? [08:14] joshgillies has joined the channel [08:14] SubStack: just render it in the ui [08:14] sammmy: eh. Not define. Wrong wording there ^ [08:14] SubStack: easy [08:14] Isolation has joined the channel [08:14] SubStack: I usually throw down a
for every form that could render errors [08:14] sammmy: I could use if (error == 1) or some number code. [08:14] westg has joined the channel [08:14] framlin: SubStack: sometimes you have business rules, so only rendering it in the ui may not be enough ... [08:14] SubStack: with display: none then I .fadeIn(200).text(err) [08:14] spolu has joined the channel [08:15] SubStack: sammmy: numbers are hellish because you have to keep a canonical mapping someplace [08:15] SubStack: and that mapping needs to stay in sync [08:15] SubStack: why not strings! [08:15] SubStack: I don't get this. [08:15] SubStack: framlin: such as? [08:15] sammmy: I'm thinking more in terms of opening the API up to other uses then my application, so making error codes or something would be a good design choice right now. Think why HTTP has error codes. [08:15] SubStack: until you can actually demonstrate that a particular case actually exists why kick yourself over this? just do it the easy way [08:16] SubStack: no! [08:16] SubStack: fuck those [08:16] sammmy: lol [08:16] SubStack: do it the easy way [08:16] framlin: if there occures an "eeror" you have to call some algorithms to inform soime subsystems about it and they have to run some algorithms concerning that "error" [08:16] SubStack: refactor it later if it's actually a problem which it probably won't be [08:16] sammmy: I'm not sure if that's good advice though. But, I'm assuming it worked for you this long? [08:17] framlin: but the "sync-problem" with error-codes is a real one ... [08:17] sammmy: sync-problem? [08:18] niloy has joined the channel [08:18] framlin: error codes tend to spread over the whole system [08:18] SubStack: not really [08:18] framlin: and they tend to become more [08:18] SubStack: just use strings [08:18] SubStack: easy [08:18] [AD]Turbo has joined the channel [08:18] SubStack: no error code database necessary [08:18] [AD]Turbo: hi there [08:19] SubStack: if something fucks up just bubble up the string to the ui [08:19] SubStack: you can log it if you want too [08:19] SubStack: and if the logs are annoying you can ignore the more frequent ones [08:19] framlin: so there is the danger, that there are many places an many subsystems where you have to map numbers to "meaning" and that tends to become a nightmare [08:19] sammmy: maybe just have a users.ERR_USER_EXISTS = 0. But I see now that typing ERR_USER_EXISTS in reality is the same as if I were to type a string "ERR_USER_EXISTS". So why not just come up with a convention for error messages that is consistent. [08:19] SubStack: that's silly [08:19] SubStack: just use a string [08:20] SubStack: no conventions necessary [08:20] sammmy: No I meant store the code in that property. [08:20] SubStack: why is this so hard it's never been an issue for me doing it this way [08:20] sammmy: I think a convention would be good for pretty easy too. [08:20] Morkel has joined the channel [08:22] SubStack: architecture astronaut syndrone [08:22] sammmy: SubStack: You're right. Thanks for convincing me. Most of my mistake when working is over complicating things. I'm just going to go with short, all lowercase error messages. [08:22] cosmincx has joined the channel [08:23] sammmy: How come nothing about the syndrom comes up on google? [08:24] sammmy: Oh damn google made it synonym. -.- [08:25] gavin_huang has joined the channel [08:25] hojberg has joined the channel [08:26] fangel has joined the channel [08:27] zinkem has joined the channel [08:27] Karmaon has joined the channel [08:27] Karmaon has joined the channel [08:30] erikzaadi has joined the channel [08:31] ccare has joined the channel [08:31] dpino has joined the channel [08:31] ccare_ has joined the channel [08:32] mansoor: Which cluster do you guys use? The one that comes native with Node.js or the one by LearnBoost? Or does learnboost's now use native one under the hood [08:32] ph^ has joined the channel [08:33] SubStack: mansoor: I just spin up multiple processes wheee [08:33] sammmy: ACTION is annoyed to have the choice of choosing between function() { and function() \n{  [08:33] shachaf_ has joined the channel [08:34] tokumine has joined the channel [08:34] SubStack: ACTION likes function () { [08:35] marlun has joined the channel [08:35] marlun has joined the channel [08:35] mansoor: SubStack, you live on the edge bro :p [08:35] SubStack: ACTION conserves vertical line space [08:36] AD7six has joined the channel [08:37] SubStack: that shit is a scarce commodity when you have 4 xterms tiled in a grid on a 1440x900 laptop tft lcd [08:37] whitman has joined the channel [08:37] jkarsrud has joined the channel [08:37] SubStack: with vim set to a hard-wrap at 80 cols [08:38] SubStack: I pretty much couldn't write java if I wanted to under these self-imposed constraints [08:38] SubStack: oh and 4 spaces [08:38] michaelhartau has joined the channel [08:38] mansoor: IDK how you can focus... for any amount of sustained coding period i can't have more than 1 thing on the screen at a time [08:38] mansoor: and i have a 24" monitor [08:41] campo has joined the channel [08:45] darkspe has joined the channel [08:50] sammmy: Who here created the mysql module? [08:50] pvankouteren has joined the channel [08:53] sammmy: I think that the ? convention in the mysql module could be usefully extended to support ?n for using the same parameter multiple times in a query. [08:53] salva has joined the channel [08:55] panosru has joined the channel [08:55] toothr has joined the channel [08:56] SubStack: sammmy: in other db modules there are named placeholders [08:57] sammmy: Is there a better db module for mysql? [08:57] SubStack: I mean in other languages [08:57] SubStack: something worth copying [08:58] zomg: Bah [08:58] ppcano has joined the channel [08:58] pickels has joined the channel [08:58] zomg: I seem to have again managed to put a memory leak in my node app :P [08:59] AndreasMadsen has joined the channel [08:59] zomg: Putting a forever restart into cron for fix... [08:59] zomg: har har [08:59] zomg: =) [08:59] sammmy: SubStack: I see. Well, I'm guessing not too many use mysql coupled with Node.js? [09:00] wingie: SubStack: do i either use testling or travis and not both together? [09:02] joshgillies has joined the channel [09:03] stonebranch has joined the channel [09:03] k1ttty has joined the channel [09:03] jetienne has joined the channel [09:03] pgte has joined the channel [09:04] hipsters_ has joined the channel [09:04] pid1 has joined the channel [09:06] krisu has joined the channel [09:07] kPb_in has joined the channel [09:07] aslant has joined the channel [09:08] Mulex has joined the channel [09:10] cha0s has joined the channel [09:10] cha0s has joined the channel [09:12] westg: anyone know what the difference betwen route param pre-conditions and route middleware is? [09:14] maritz has joined the channel [09:15] djcoin has joined the channel [09:16] shapeshed has joined the channel [09:16] Morkel has joined the channel [09:17] pickels has joined the channel [09:19] defts has joined the channel [09:20] mschneider has joined the channel [09:20] thirdknife has joined the channel [09:23] SuMarDi has joined the channel [09:23] mikedeboer has joined the channel [09:23] tvw has joined the channel [09:23] Vespakoen has joined the channel [09:24] disappearedng has joined the channel [09:25] Vainoharhainen has joined the channel [09:25] velo has joined the channel [09:27] rio{ has joined the channel [09:28] graeme_f has joined the channel [09:28] diegoviola has joined the channel [09:28] mansoor: NPM publish down? [09:29] riven has joined the channel [09:29] Astro-: yes :( [09:30] sreeix_ has joined the channel [09:30] beeviz has joined the channel [09:31] eldios has joined the channel [09:32] mansoor: Astro-, o_O how long have yo uhad that name? [09:32] robi42 has joined the channel [09:32] benwtvr has joined the channel [09:34] robhawkes has joined the channel [09:34] robi42 has joined the channel [09:36] markwubb_ has joined the channel [09:37] _olouv_ has joined the channel [09:37] riven` has joined the channel [09:38] madhums has joined the channel [09:39] kPb_in_ has joined the channel [09:39] robi42 has joined the channel [09:40] Rob- has joined the channel [09:40] SuMarDi has joined the channel [09:41] riven has joined the channel [09:41] riven has joined the channel [09:41] Astro-: mansoor: like 15 years? [09:42] stagas has joined the channel [09:42] jimmysparkle has joined the channel [09:42] mansoor: ahh ok [09:42] sreeix_ has joined the channel [09:42] hackband has joined the channel [09:42] er1c_ has joined the channel [09:42] thisandagain has joined the channel [09:43] JuanCri has joined the channel [09:43] stutter has joined the channel [09:43] zz_shykes has joined the channel [09:43] fangel has joined the channel [09:43] flazz has joined the channel [09:43] gshipley has joined the channel [09:43] mpereira has joined the channel [09:43] Chel: question: how to test file exists or not ? [09:43] Octayn has joined the channel [09:44] SubStack has joined the channel [09:44] pkrumins has joined the channel [09:44] Astro-: mansoor: registry.npmjs.org back up again! [09:44] stagas: Chel: path.exists [09:44] Chel: stagas: thanks [09:44] Chel: stagas: very easy =) [09:44] jimmy- has joined the channel [09:44] wamberg has joined the channel [09:44] SubStack: pesky amazonians [09:45] mansoor: Astro-, awesome thanks [09:45] jvolkman has joined the channel [09:46] JasonSmith: I began disaster-recovery on the NPM repo but EC2 is back up now so I've cancelled it [09:47] niloy has joined the channel [09:47] SubStack: it was as if half the internet cried out in pain and then went silent [09:47] cynicaljoy has joined the channel [09:48] mansoor: lolol [09:48] pradeepbv has joined the channel [09:49] epokmedi1: is the npm registry replicated at multiple places? [09:50] riven has joined the channel [09:50] riven has joined the channel [09:50] mikedeboer has joined the channel [09:50] elijah has joined the channel [09:51] nqbao1 has joined the channel [09:51] stevengill has joined the channel [09:51] nqbao1 has left the channel [09:52] alm0nd has joined the channel [09:52] bergie_ has joined the channel [09:55] maritz: hm, this seems super weird: http://www.reddit.com/r/node/comments/qwzan/nodejs_benchmarks_http_vs_https/c418ccc what is going on there? (not strictly a node.js question though) [09:58] al3xnull has joined the channel [09:59] TomY has joined the channel [10:00] diva has joined the channel [10:02] josh-k has joined the channel [10:03] nickky has joined the channel [10:03] nickky: hi [10:04] nickky: anybody [10:04] nickky: there [10:04] nickky: hello [10:04] bradleyg has joined the channel [10:04] joshfinnie has joined the channel [10:05] umren has joined the channel [10:05] robi42 has joined the channel [10:06] raydeo has joined the channel [10:06] maritz: no, apparently all gone. [10:06] sandfox has joined the channel [10:06] westg has joined the channel [10:07] niloy has joined the channel [10:08] kvda has joined the channel [10:08] kvda: Hello, is using npm install -g bad form these days? [10:08] kvda: ie. best to use local node_modules folder? [10:09] izepstan has joined the channel [10:10] blup has joined the channel [10:10] timoxley has joined the channel [10:10] anoop has joined the channel [10:13] maritz: depends on what you need the module for?! [10:13] nickky: what is thing all about??? [10:13] maritz: if you need it globally, install it globally [10:13] kvda: sure [10:13] maritz: nickky: it's about a man in a forest who didn't exactly know why the duck in his lap was bleeding out of its eyes. [10:14] nickky: so many people out here...no one to speak up [10:14] Mezriss has joined the channel [10:14] kvda: thanks maritz, the node docs are saying global module folders are for "historic reasons" [10:14] kvda: http://nodejs.org/docs/latest/api/modules.html#modules_loading_from_the_global_folders [10:14] thalll has joined the channel [10:14] enmand has joined the channel [10:14] AviMarcus has joined the channel [10:15] maritz: kvda: yes, dependencies should NOT be global [10:15] maritz: but for example tools you use for development or other stuff, why not? [10:15] kvda: I don't think I get the difference? [10:16] maritz: if you're writing some node.js code that has a dependency on another module, put that dependency into your package.json and use "npm install .". [10:17] maritz: if you want to install a tool that is unrelated to the node.js code you're writing, and your code doesn't depend on it, you can use -g [10:18] AviMarcus: Hey.. I've been playing with node.js and once I started getting a bit of a handle on callbacks/async stuff it's very, very cool. I'm using it a bit for command-line scripts.. but sometimes takes like 2 seconds to load.. or *best* case scenarios, loading cliff.js and colors.js takes 58ms.. and I might want to include more stuff. is there any way to compile the .js file for faster performance? [10:18] kvda: Great, thanks maritz [10:19] AviMarcus: erm faster startup. [10:19] maritz: AviMarcus: node version? because there have been constant improvements on startup times [10:19] maritz: and there will probably be more [10:19] maritz: also, are you absolutely sure it's the startup time? [10:19] AviMarcus: the ubuntu package, v0.6.12 [10:19] AviMarcus: yeah the one IO thing - a sql query - is *usually* 6ms [10:20] AviMarcus: but I'm not sure it's node.js startup time -- could be mostly the requires I have in it. [10:20] AviMarcus: load-cliff-colors: 476ms -- happened twice. [10:20] AviMarcus: I did a console.timer thing before and after [10:20] maritz: hm, the only thing i can for sure is that 0.8 will have startup improvements. [10:20] maritz: before what? [10:21] maritz: you can't do console.timer() before node.js is started up!? [10:21] AviMarcus: http://pastebin.com/jwf3dC47 [10:21] AviMarcus: the two requires [10:21] rauchg has joined the channel [10:21] maritz: well, that's not startup time [10:21] maritz: that's require time [10:21] DrPheltRight_ has joined the channel [10:22] AviMarcus: ok.. any way I can streamline that? [10:22] Vespakoen has joined the channel [10:22] Mezriss has joined the channel [10:22] cyphase has joined the channel [10:22] Vespakoen has left the channel [10:23] maritz: it might actually be a problem in the modules you're requiring [10:23] maritz: try requiring a file that just does "module.exports = 'hello world';" and time it [10:23] jacobolus has joined the channel [10:25] maritz: because that takes 0-2ms for me. with an average of below ~1. [10:26] Mezriss has joined the channel [10:27] Mezriss has joined the channel [10:27] dpino has joined the channel [10:27] maritz: -below [10:28] AviMarcus: yep, 0ms [10:29] AviMarcus: I specified the full path of the require [10:29] AviMarcus: and now it seems to be a consistent 40ms [10:29] AviMarcus: there was i/o sputtering while it was trying to find the module maybe. Now it's prolly system cached better.. [10:29] AviMarcus: 40ms I can live with.. :P [10:30] fearphage has joined the channel [10:30] AviMarcus: 131ms now. 50, 60, 50, 40... mm. [10:30] robhawkes has joined the channel [10:32] maritz: well, the modules can block in the requiring phase. i don't know what these modules you're importing actually do, so i can't give you any answer [10:34] AviMarcus: maritz, can I load them async? I suppose I'd have to make sure they are ready then when I need them.. [10:35] maritz: i believe at some point there was an async require... but no. [10:35] daniel_hu has joined the channel [10:35] AviMarcus: cliff is a module for pretty formatting for console.log output or watson logging. [10:36] maritz: yeah, i figured that much, but i don't wanna read through all that code :P [10:36] HardFu has joined the channel [10:37] caioketo: Hello there [10:37] caioketo: is there any tutorial about websocket and sockets? [10:37] dannyamey has joined the channel [10:38] dekroning has joined the channel [10:39] westg has joined the channel [10:43] level09 has joined the channel [10:45] enmand has joined the channel [10:45] Mezriss has joined the channel [10:45] AviMarcus: caioketo, did you check out the socket.io project? [10:50] aslant has joined the channel [10:51] djazz has left the channel [10:53] copongcopong has joined the channel [10:55] savudin has joined the channel [10:55] umren has joined the channel [10:55] vguerra has joined the channel [10:57] hellp has joined the channel [10:57] caioketo: not really [11:00] AviMarcus: caioketo, that's your place to start, I'd think. [11:00] AviMarcus: then dnode or now.js if you want to use those sockets to run commands. or use that to sync the backbone.js client side MVC [11:03] tomnewmann has joined the channel [11:03] larsschenk has joined the channel [11:04] kokotron: sockets still not supported by IE? [11:04] larsschenk1 has joined the channel [11:04] caioketo: what i need is a simple conversor.... [11:04] caioketo: from websocket to socket.... [11:05] Hanspolo has joined the channel [11:05] larsschenk1 has left the channel [11:05] micheil has joined the channel [11:07] dekub has left the channel [11:07] sandfox has joined the channel [11:08] dknstrkt has joined the channel [11:09] brainss has joined the channel [11:09] kvda: Is there a simple way to do colours for console.log? [11:09] Mezriss has joined the channel [11:10] TomY has joined the channel [11:10] ph^ has joined the channel [11:11] luismreis has joined the channel [11:11] redir has joined the channel [11:12] eldios: kvda, yes there are plenty indeed [11:12] eldios: let me give you some gh links [11:13] kvda: many thanks eldios [11:13] kvda: I found this method so far [11:13] kvda: but it would be nicer to extend console somehow [11:13] caioketo: how can I low the version of my node?^ [11:14] caioketo: i got 0.7.6 i need 0.7.0 [11:14] eldios: https://github.com/Marak/colors.js kvda from SubStack [11:14] maritz: caioketo: are you sure you need 0.7.0? [11:14] maritz: 0.7.x is unstable [11:15] noganex has joined the channel [11:15] caioketo: or less [11:15] caioketo: i need to use socket.io [11:15] caioketo: but i think i installed node worng [11:15] maritz: then install 0.6.12?! [11:15] caioketo: its 0.7.6 [11:15] caioketo: how can I do it? [11:15] yawNO has joined the channel [11:15] maritz: follow the readme [11:16] caioketo: its just download and install [11:16] caioketo: it will override the existing one? [11:16] maritz: what os? [11:16] chazor has joined the channel [11:17] caioketo: ubuntu [11:17] maritz: yes, it will. [11:17] timschristie has joined the channel [11:17] eldios: kvda, also this one https://github.com/flatiron/cliff [11:17] mikl has joined the channel [11:17] caioketo: ok, ill try it [11:17] maritz: there are also several node version managers that make this whole process simpler and more awesome [11:17] maritz: like nvm [11:18] kvda: awesome thank eldios ! [11:18] spolu has joined the channel [11:19] SubStack: http://substack.net/images/t-rex.png [11:19] yawNO: who pinged me tonight [11:19] eldios: SubStack, already seen.. awesome as always =) [11:20] eldios: btw, is it me or you're gettin better? maybe you only gave more time on this last one [11:22] SubStack: I'm going for a more detailed scary look for the carnivores [11:22] eldios: oooh [11:23] SubStack: land before time esque [11:26] scottdware has joined the channel [11:27] elio_ has joined the channel [11:28] xSmurf has joined the channel [11:28] Joeysomo has joined the channel [11:30] Cheery has joined the channel [11:30] Cheery: does node.js have webgl/webaudio? [11:30] stafamus has joined the channel [11:31] scottdware: there is an npm module 'webgl' [11:31] Cheery: just wondering because doing webgl apps into browser is horrible. [11:31] i42n has joined the channel [11:31] scottdware: head over to http://search.npmjs.org and look there [11:32] confoocious has joined the channel [11:33] spolu has joined the channel [11:34] AviMarcus: eldios, caioketo cliff is a formatter. It relies on colors.js to do the color part, anyway. [11:34] wankdanker has joined the channel [11:35] hkgrani has joined the channel [11:35] eldios: I see [11:37] Joeysomo has joined the channel [11:37] enmand has joined the channel [11:38] Goshlee has joined the channel [11:39] Raydiation has joined the channel [11:39] Goshlee: . [11:39] Raydiation: hi is stylus usable without node.js? [11:39] Goshlee: 05Not sure [11:41] Joeysomo has joined the channel [11:41] `3rdEden has joined the channel [11:41] yawNO has joined the channel [11:42] yawNO: http://addyosmani.com/resources/essentialjsdesignpatterns/book/ [11:42] yawNO: :Q___ [11:42] Raydiation: yawNO: looks great ty [11:42] yawNO: ur welcome [11:42] redir has joined the channel [11:43] jetienne has joined the channel [11:43] maritz: yawNO: guess who! [11:44] enmand_ has joined the channel [11:44] yawNO: maritz: ryan dahl? [11:44] maritz: close [11:44] yawNO: maritz: ? [11:44] maritz: oh, that wasn't your guess? [11:44] maritz: wait, what? [11:45] yawNO: i mean [11:45] yawNO: have you pinged me? [11:45] maritz: yes. [11:45] yawNO: then http://is.gd/UGL47i [11:45] joshgillies has joined the channel [11:46] i42n has joined the channel [11:46] maritz: okay [11:46] yawNO: btw why [11:46] Cromulent has joined the channel [11:46] insanoid has joined the channel [11:46] yawNO: inb4 to wake you up while you were sleeping [11:47] maritz: you were sleeping? you have your irc and sound on while sleeping? [11:47] yawNO: obv [11:47] maritz: holy shit, i know what i'll do tonight! [11:47] yawNO: lol [11:47] yawNO: i have irc and no sound [11:47] Goshlee has left the channel [11:48] yawNO: but display lights up when i get mentioned [11:48] yawNO: at 2 am its worse than a flashbang granade [11:48] erichynds has joined the channel [11:48] MartinCleaver has joined the channel [11:48] Raydiation has joined the channel [11:49] hackband has joined the channel [11:50] erichynds has joined the channel [11:50] icebox has joined the channel [11:51] maritz: i'll get home between 1am and 2am tonight. will i be sober enough to remember this? we'll see :P [11:51] yawNO: pfff [11:51] yawNO: swear [11:51] yawNO: i'll catch you and you'll become my pokemon if you do something like that [11:52] AntelopeSalad: would it be a wise decision to use bcrypt instead of the sha-xxx with the crypto module for storing passwords? [11:53] maritz: AntelopeSalad: i think so, bcrypt is generally considered one of the safest things you can do to store passwords [11:54] maritz: AntelopeSalad: i'm not a security expert though [11:54] bizniz98 has joined the channel [11:54] AntelopeSalad: i've just seen bcrypt used a lot lately in various projects [11:55] sfeu has joined the channel [11:56] dobber has joined the channel [11:57] heavysixer has joined the channel [11:57] fermion has joined the channel [11:58] tommyvyo has joined the channel [11:58] hipertracker has joined the channel [11:59] iangreenleaf has joined the channel [12:02] marcostoledo has joined the channel [12:03] stepheneb has joined the channel [12:05] insanoid has joined the channel [12:05] quasi has joined the channel [12:08] jetienne has left the channel [12:12] arvidkahl has joined the channel [12:13] tmike1 has joined the channel [12:14] thinkt4nk has joined the channel [12:14] dubenstein has joined the channel [12:14] dr0id has joined the channel [12:14] booo has joined the channel [12:16] c4milo has joined the channel [12:19] infynyxx has joined the channel [12:19] luismreis_ has joined the channel [12:19] TomY has joined the channel [12:22] stagas has joined the channel [12:22] pgte: kvda: http://search.npmjs.org/#/colors [12:23] kvda: thanks pgte , already got it working :) [12:23] kvda: Does fs.watch() work on OS X out of the box? Or do you need to install kqueue? [12:24] arduix has joined the channel [12:27] Shrink has joined the channel [12:27] jtsnow has joined the channel [12:28] Poetro has joined the channel [12:28] Poetro has joined the channel [12:28] chazor has joined the channel [12:30] maritz: it should work afaik [12:30] xippi has joined the channel [12:30] xippi has joined the channel [12:30] maritz: never tested it though and don't even own a device with os x [12:30] stepheneb has joined the channel [12:32] ditesh|cassini has joined the channel [12:32] mandric has joined the channel [12:32] mikl has joined the channel [12:33] smorin has joined the channel [12:34] jomoho2 has joined the channel [12:36] booyaa: heya pgte nice to see you on the irc :) [12:37] jetienne has joined the channel [12:38] pgte: booyaa: hey, I usually hand out here, but could be more active ;) [12:38] pgte: s/hand/hang [12:38] booyaa: heh cool! :) [12:38] crodas has joined the channel [12:38] fairwinds has joined the channel [12:38] booyaa: you planning to do any more tuts? i imagine you're fairly busy on other stuff though... [12:39] epokmedia has joined the channel [12:39] pgte: booyaa: yeah, I have a whole new series in the pipeline, but it will be a joint community effort [12:39] pgte: slightly different format, more complete, and recycled stuff [12:39] pgte: soon, just waiting for some design stuff [12:39] booyaa: nice! let me know if you want any reviewers and stuff [12:40] pgte: it will be an open process, github-driven :) [12:40] pauls1 has joined the channel [12:41] amigojapan has joined the channel [12:41] booyaa: excellent, if you decide to go down the video route can i make a request you stay on vimeo? [12:41] booyaa: i use spool to watch your tuts offline, youtube hates spool [12:41] Raydiation has joined the channel [12:43] CromeDome has joined the channel [12:46] andrehjr has joined the channel [12:47] brianseeders has joined the channel [12:47] vkareh has joined the channel [12:49] fumanchu182 has joined the channel [12:49] baudehlo has joined the channel [12:50] pgte: booyaa: yes, I intend to stay on vimeo :) [12:51] djcoin has joined the channel [12:51] medberry has joined the channel [12:51] medberry has joined the channel [12:52] TheDudeKnows has joined the channel [12:52] noganex has joined the channel [12:53] Daelin has joined the channel [12:56] CromeDome has joined the channel [12:57] insin has joined the channel [12:57] kwmiebach has joined the channel [12:58] MartinCleaver has joined the channel [13:01] skylamer` has joined the channel [13:01] AaronMT has joined the channel [13:02] lazyshot has joined the channel [13:03] Stoobles has joined the channel [13:05] jmar777 has joined the channel [13:06] vam3c has joined the channel [13:06] kjeldahl has joined the channel [13:07] bnoordhuis has joined the channel [13:08] briancray has joined the channel [13:09] pickels has joined the channel [13:12] BillyBreen has joined the channel [13:12] yogig has joined the channel [13:16] savudin has joined the channel [13:16] ceej has joined the channel [13:17] nphase has joined the channel [13:17] svnlto has joined the channel [13:17] chazor has joined the channel [13:19] tmike has joined the channel [13:21] c4milo has joined the channel [13:21] TheJH has joined the channel [13:22] crutex has joined the channel [13:22] crutex has joined the channel [13:23] davidsklar has joined the channel [13:25] IrishGringo has joined the channel [13:28] booo: if i'm writing my module/package code in coffee script should the actual package for npm contain only the coffee code or also (only?) the compiled js code? [13:29] jergason has joined the channel [13:30] MerlinDMC has joined the channel [13:32] luizlopes has joined the channel [13:32] gavin_huang has joined the channel [13:34] rwaldron has joined the channel [13:34] level09 has joined the channel [13:36] kirbysayshi has joined the channel [13:37] Blorb has joined the channel [13:40] maritz: that depends on the quality of the code :P [13:40] maritz: if it's so bad that no one should use it, keep the coffee script only version [13:40] maritz: (hint: require() can't read cs) [13:41] philips has joined the channel [13:41] deedubs: (hint: if you require('coffee-script') it can) [13:41] deedubs: but you still shouldn't use it ha [13:42] emattias_ has joined the channel [13:42] bergie_ has joined the channel [13:43] CarterL has joined the channel [13:44] DrPheltRight has joined the channel [13:44] plutoniix has joined the channel [13:44] josh-k has joined the channel [13:45] maritz: deedubs: no, in my world it can't (i'm in denial) [13:46] deedubs: okay well only you live in your world and in the real world that's incorrect [13:46] madtimber has joined the channel [13:46] maritz: yes. but my world is better [13:46] maritz: wait, you mean you have to first "require('coffee-script')" and that somehow overwrites require? [13:47] deitarion has joined the channel [13:47] boonrumor has joined the channel [13:48] deedubs: yes [13:48] bradleyg has joined the channel [13:49] Wizek has joined the channel [13:50] deedubs: ACTION doesn't support the use of cs but wants people to come to that conclusion based on truths [13:50] deitarion: I'm trying to add a password field to a model I'm defining using Sequelize (Only API I know which lets me choose between a scalable server (MySQL) and something end-user-proof (SQLite) at runtime. Suggestions welcome.) and I get the impression that foo#getBar is somehow the syntax for getters, but I can't Google for docs on a punctuation character. Little help? [13:51] deitarion: s/getters/setters/ (Why I'd use getters for storing passwords hashed, I don't know) [13:51] deitarion: s/#get/#set/ [13:51] karterk has joined the channel [13:53] louissmit has joined the channel [13:54] artusrocha has joined the channel [13:55] Leemp: In the category of libraries like RequireJS or Browserify (where they take working server code, and attempt to package them up in a usable way in the browser), are there any others one should be aware of? Or are those two basically the only ones? [13:56] artusrocha1 has joined the channel [13:56] Edy has joined the channel [13:57] snearch has joined the channel [13:57] JSONB has joined the channel [13:57] thomblake has joined the channel [13:57] thomblake has left the channel [13:57] madhums has joined the channel [13:57] SRH_ has joined the channel [13:59] al3xnull has joined the channel [14:00] gavin_huang has joined the channel [14:02] i42n has joined the channel [14:03] vam3c has joined the channel [14:06] larsschenk has joined the channel [14:06] pandeiro has joined the channel [14:06] larsschenk has left the channel [14:06] piscisaureus_ has joined the channel [14:06] Cheery: there was this one Bret Victor video about debugging: http://vimeo.com/36579366 [14:07] RLa has joined the channel [14:07] nudenode has joined the channel [14:07] Cheery: he calls a function with certain arguments and 'debug-prints' every value of variable assignment. [14:07] nudenode: is node-mysql slow? [14:08] Cheery: I wonder whether it's possible in javascript without a fancy compiler. [14:08] nudenode: im selecting 120k rows from a table. without any "row" listeners, the "end" event fires 2 seconds later [14:08] Raydiation has joined the channel [14:08] nudenode: the same query takes 0.01 seconds in php [14:08] nudenode: what im missing? [14:08] bnoordhuis: nudenode: what kind of row data? [14:08] RLa: nudenode, paste code for both [14:08] brainss has joined the channel [14:09] bnoordhuis: node-mysql has trouble with big text fields [14:09] nudenode: RLa please wait [14:09] nudenode: no they should be tiny rows with a couple of ints maybe [14:09] nudenode: pasting code soon, brb [14:09] RLa: in php, if you do not fetch rows (mysql_fetch_*) it does not transmit data [14:10] nudenode: http://pastebin.com/bg6xfsNq [14:11] rickibalboa has joined the channel [14:12] bnoordhuis: nudenode: profile your app with `node --prof app.js` and run it through nprof (see node-profiler), that should tell you where the bottleneck is [14:12] isaacs has joined the channel [14:12] yawNO has joined the channel [14:12] yawNO: damn internet [14:12] halfhalo has joined the channel [14:12] yawNO: pidgeons must be busy these days [14:12] carlyle has joined the channel [14:13] Topcat_ has joined the channel [14:13] bnoordhuis: ah, good ol' rfc 1149 [14:13] carlyle has joined the channel [14:13] AviMarcus: profiler? [14:14] nudenode: bnoordhuis: is this something i can add without npm? [14:14] nudenode: node-profiler [14:14] bshumate has joined the channel [14:14] bnoordhuis: nudenode: download the nprof script from github, it's standalone [14:14] RLa: nudenode, paste php code as well [14:15] nudenode: RLa: phpMyAdmin executes that query in no time [14:15] smorin has joined the channel [14:15] nudenode: i dont have the corresponding php code tho [14:15] maritz: yawNO: it's getting pretty warm so i guess a lot of them are going back north. [14:15] RLa: nudenode, and it actually displays *all* those rows? [14:15] rickibalboa: May be a long shot, but is there a way to pass an open tcp socket to a different process, while keeping it open and not closing it? [14:15] bnoordhuis: nudenode: phpmyadmin usually only fetches the first 30 rows or so... [14:15] yawNO: maritz: i shot em all [14:15] yawNO: :3 [14:16] RLa: 30 rows vs 120k :P [14:16] bnoordhuis: rickibalboa: yes but nothing that's officially supported [14:16] nudenode: wait, im trying with limit 0, 9999999 [14:16] bnoordhuis: rickibalboa: check out how the cluster module does it [14:16] nudenode: one monent [14:16] maritz: yawNO: THEN HOW DOES INTERNET WORK? [14:16] rickibalboa: bnoordhuis, ok thanks (Y) [14:16] yawNO: maritz: downloaded 65 mb in 3 mins [14:17] yawNO: 590k average [14:17] yawNO: not bad [14:17] RLa: it probably crashes your browser while trying to display them all [14:17] bnoordhuis: rickibalboa: that's the bundled cluster module btw, not tj's cluster module (confusing!) [14:17] maritz: well duuh, i get even better rates by carrying hard disks. [14:17] rickibalboa: Ok, I'll look into it, thanks. [14:17] bizniz98 has joined the channel [14:17] PPPaul has joined the channel [14:18] yawNO: maritz: i used to throw usb sticks [14:18] yawNO: bout 8 gb/sec [14:18] yawNO: depends on the usb stick [14:18] colinclark has joined the channel [14:18] yawNO: it works great on short distances [14:18] AndreasMadsen: rickibalboa: If its a TCP socket and not a TCP server handler I do not think the cluster module will help you. But what do you mean with keeping it open. [14:18] yawNO: but becomes useless when d > 25m [14:19] ohtogo has joined the channel [14:19] maritz: hm, time to invent the usb cannon. [14:19] nudenode: RLa: indeed, my browser crashed, being smarter now [14:19] AndreasMadsen: rickibalboa: you can send a socket to another process over IPC but you will have to close it in the parent. However the child can still write and read from it. [14:19] rickibalboa: AndreasMadsen, it's a TCP socket not a handler, I mean keeping it open, like, not disconnecting it so there is no downtime, I figured it wouldn't be possible. [14:19] rickibalboa: Will the client behind the other end of the socket notice anything? [14:19] RLa: yawNO, what about sending full 3TB hard drive by physical mail? [14:20] AndreasMadsen: rickibalboa: You can do that, but not with cluster ... sec [14:20] RLa: hm, how much bandwidth that gives? [14:20] tobias1 has joined the channel [14:21] maritz: build an arduino robot hand that is controlled by a node.js app. this will take a usb stick (that is filled with data by a node.js app) out of a usb port and put it in a cannon and aim it at another arduino hand somewhere in the distance that will then catch the usb stick and put it in another usb port where a node.js app will read the contents. e voila node.js powered wireless transfer rates as fast as you can shoot (or the robot). [14:21] AndreasMadsen: rickibalboa: you will have to take out the ._handle object and send it using fork().send() and then call ._handle.close() -> there is a pull request there make this easier https://github.com/joyent/node/pull/2772 [14:22] hipertracker has joined the channel [14:22] yawNO: RLa: u mad? [14:22] jacquestardie has joined the channel [14:22] jscheel has joined the channel [14:22] jscheel has joined the channel [14:22] RLa: yawNO, with 2 day delivery its 17MB/sec and about 139Mbit/sec [14:22] AndreasMadsen: rickibalboa: you can try to copy some code from that one. [14:23] yawNO: lol [14:23] kevwil has joined the channel [14:23] yawNO: id rather do it by hand [14:23] maritz: RLa: you forgot the read/write times [14:23] yawNO: take my car [14:23] AviMarcus: rickibalboa, you seen zeromq? that's a magic messaging queue thing. [14:23] yawNO: oh wait you mean regular mail [14:23] yawNO: not email [14:23] yawNO: yeah cool [14:23] yawNO: :P [14:23] RLa: yeah, you need to get data on the drive too :/ [14:23] AndreasMadsen: rickibalboa: and this is another example -> https://github.com/indutny/sticky-session/blob/master/lib/sticky-session.js#L47L60 [14:24] argami has joined the channel [14:24] rickibalboa: AndreasMadsen, I'll look into zeromq, and thanks! [14:24] AviMarcus: tab fail. [14:24] maritz: AndreasMadsen: what do you mean "tab fail."? [14:24] trevor_ has joined the channel [14:24] maritz: :P [14:24] argami_ has joined the channel [14:24] deedubs: +1 for zeromq AndreasMadsen [14:25] maritz: AndreasMadsen++ [14:25] AviMarcus: xchat doesn't even let me do "a-"... there's too many names. [14:25] willwhite has joined the channel [14:25] AndreasMadsen: deedubs: I did not propose zeromq [14:25] AndreasMadsen: maritz: where do you see "tab fail. [14:25] bergie__ has joined the channel [14:25] AndreasMadsen: maritz: it is properly a typo [14:25] bbttxu has joined the channel [14:25] enmand has joined the channel [14:26] chazor has joined the channel [14:26] maritz: AviMarcus: yeah, it's a joke about how AndreasMadsen said tab fail becaus rickibalboa thanked him for zeromq although in reality AndreasMadsen proposed zeromq and that rickibalboa probably uses name completion via tabulator and just pressed a+tab which gives AviMarcus [14:26] maritz: baaam [14:27] socketio\test\43 has joined the channel [14:27] yawNO: maritz: you either had a triple coffee with red bull in it [14:28] yawNO: or you're becoming mad [14:28] rickibalboa: ^ [14:28] yawNO: MadMaritz [14:28] jxie has joined the channel [14:28] yawNO: Howling Mad Maritz [14:28] cesar_ has joined the channel [14:28] yawNO: yeah i've watched too many Ateam episodes [14:29] HacDan has joined the channel [14:29] AndreasMadsen: maritz, deedubs, rickibalboa: In any case you can send a socket over IPC in node with about 8 lines of code, when the pull request gets merge you can do it in one. [14:29] AndreasMadsen: ^ and https://github.com/indutny/sticky-session/blob/master/lib/sticky-session.js#L47L60 is the best show case [14:29] maritz: AviMarcus: cool. [14:29] maritz: yawNO: actually, the name mAritz already identifies me as my mad self. ;) [14:29] jetienne: what is the url of the nodjitsu ? [14:29] maritz: jit.su [14:30] yawNO: jetienne: jit.su [14:30] yawNO: crap [14:30] yawNO: fffff [14:30] jtsnow has joined the channel [14:30] rickibalboa: AndreasMadsen, Any type of socket (apart from a handler?) Ideally I want to send a socket created with socket.io, I figure this may not work aswell. [14:30] AndreasMadsen: maritz: and in out town people call me Mr. mad son [14:31] AndreasMadsen: rickibalboa: You only send TCP sockets, but most stuff build on that so it is just a matter of handing it properly on both ends. [14:32] rickibalboa: Yeah I figured, I (think) socket.io is built on TCP sockets, anyway, thanks again! [14:32] yawNO: wat? [14:33] HardFu has joined the channel [14:33] briancray has joined the channel [14:34] MartinCleaver has joined the channel [14:36] carlyle has joined the channel [14:38] yawNO: maritz: i finished the game [14:38] yawNO: :> [14:39] Cromulent has joined the channel [14:39] Raydiation1 has joined the channel [14:40] argami has joined the channel [14:40] Guest59255 has joined the channel [14:41] voodootikigod: hey [14:41] voodootikigod: anyone seeing a v8 fatal error when using hte new apple commandline xcode tools instead of the full blown xcode? [14:42] voodootikigod: exact error: FATAL ERROR: v8::HandleScope::Close() Local scope has already been closed [14:42] voodootikigod: and or know of a way that I can possibly debug where this is happening [14:42] voodootikigod: it just dies [14:42] Raydiation has joined the channel [14:43] halfhalo has joined the channel [14:43] halfhalo has joined the channel [14:43] maritz: i've seen that error in some other modules, it's something about modules being built for old node versions [14:44] luismreis has joined the channel [14:44] misza222 has joined the channel [14:44] xSmurf has joined the channel [14:45] voodootikigod: maritz any ideas on ways to track down? [14:45] diegoviola has joined the channel [14:46] jdeibele has joined the channel [14:46] maritz: nah, not really :/ [14:46] maritz: google it, there will be other modules that have the same problem [14:46] bizniz98 has joined the channel [14:46] maritz: try to find one that fixed it [14:47] maritz: and apply the steps they took to your module [14:47] maritz: (although i now realize i don't even know if xcode is a node.js module or sth else :D ) [14:47] emattias has joined the channel [14:47] madhums has joined the channel [14:48] kokotron has joined the channel [14:48] emattias has joined the channel [14:48] kanthi has joined the channel [14:51] pgte has joined the channel [14:52] hsttlrjeff has joined the channel [14:53] Destos has joined the channel [14:53] mandric has joined the channel [14:54] pgte has joined the channel [14:55] pgte has joined the channel [14:55] Destos has joined the channel [14:55] dr0id has left the channel [14:55] rtgibbons has joined the channel [14:55] yogig has joined the channel [14:57] chjj has joined the channel [15:01] relling has joined the channel [15:01] boltR has joined the channel [15:02] sorensen__ has joined the channel [15:03] infynyxx has joined the channel [15:03] CoverSli1e has joined the channel [15:03] booyaa: xcode as in the osx ide? [15:04] booyaa: yes would appear so [15:04] bill has joined the channel [15:05] karterk has joined the channel [15:06] CarterL has joined the channel [15:06] rwaldron has joined the channel [15:07] CoverSlide has joined the channel [15:07] tonist has joined the channel [15:07] totallymike: THERE. Finally went and recovered my proper nick. [15:07] totallymike: no more 'tmike' [15:08] dpino has joined the channel [15:08] maritz: tmike: i have something totally awesome for you! [15:08] maritz: oh, he isn't here. too bad :( [15:08] maritz: bye guys [15:09] grefven has joined the channel [15:09] bshelton has joined the channel [15:09] maritz: ACTION quits! (for realz) [15:10] CoverSlide: i always hated that guy [15:12] madhums has joined the channel [15:12] phidah has joined the channel [15:12] jocafa has joined the channel [15:16] totallymike: lol [15:16] tmcw has joined the channel [15:16] kevwil has joined the channel [15:17] Venom_X has joined the channel [15:17] bartt has joined the channel [15:18] thejefflarson has joined the channel [15:18] shanez has joined the channel [15:20] EyePulp has joined the channel [15:21] draginx1 has joined the channel [15:21] draginx1: If I have two browser windows open for socketio is it two connections or one? [15:21] draginx1: same app, just multiple windows [15:22] CoverSlide: two connections [15:22] draginx1: CoverSlide: hmm this isn't agood system then, what if someone opened 1900 windows [15:22] draginx1: which would essentially block my # of req/s to one person persecond [15:23] draginx1: Anyway to prevent this? [15:23] CoverSlide: not really [15:23] CoverSlide: ip matching maybe? [15:23] draginx1: right i guess i could do a "Limited to 10 simultaneous connections" type of thing by doing an IP check [15:25] maritz: good luck opening 1900 windows though. besides, that's like 1900 ad views :P [15:25] draginx1: lmao :P [15:25] draginx1: well the point is [15:25] draginx1: 10 people opening 190 windows? [15:25] draginx1: 100 people opening 19? etc. [15:25] draginx1: well i guess thats not to bad then O_o but still [15:25] maritz: yeah, i know and you're right. there's just no reasonable way to have one socket for all windows. [15:25] CoverSlide: how about 190 people opening 10 windows [15:25] Edy: what if 2 people open 1 window? [15:25] draginx1: right [15:26] Edy: 2000 i mean [15:26] maritz: Edy: then that'd be a guiness book event i assume [15:26] draginx1: im surprised theres no browser way of pooling in sockets from same domain/namespace [15:26] CoverSlide: oh shizzle youre screwed then [15:26] argami has joined the channel [15:26] bkaney has joined the channel [15:27] fatjonny has joined the channel [15:27] CoverSlide: in the history of the web noone has cared about this problem [15:27] maritz: NO ONE [15:27] draginx1: lmao whys that? [15:27] draginx1: it would seem as if performance was a big issue [15:27] maritz: they actually probably have and do. [15:27] draginx1: especially when we go from json polling to websockets for the sake o fsaving X bytes [15:28] maritz: draginx1: to be honest the judgement on that isn't in yet, we might stick with json for simple data retreival in the long run [15:28] maritz: because that's what it's good for. [15:28] draginx1: but it snot ideal fo rreal time communication [15:29] draginx1: the entire purpose of websockets, no? [15:29] maritz: by "we" i mean the international body of web standards (short iBOWS) [15:29] draginx1: system stats, chats, etc. [15:29] draginx1: yes :p [15:29] crescendo has joined the channel [15:29] maritz: yeah, of course. for real time communication websockets should be used [15:29] CoverSlide: i could open up 1900 irc clients right now. must be a flaw in irc [15:30] grefven has joined the channel [15:30] Wizek has joined the channel [15:30] maritz: CoverSlide: actually, unless you use an irc client that uses very little cpu/ram, i'd be amazed if you could. :P [15:31] Edy: node-irc [15:31] Edy: ! [15:31] Edy: ;) [15:31] nudenode has joined the channel [15:31] CoverSlide: yup [15:31] skylamer`: he can do it from one irc, multiple connections ... :) [15:32] skylamer`: '/s -m ' [15:33] k1ttty has joined the channel [15:33] xSmurf has joined the channel [15:33] draginx1: is there a way to transfer binary data through sockets? [15:34] shedinja_ has joined the channel [15:34] yogig has joined the channel [15:34] bnoordhuis: draginx1: socket.write(new Buffer("binary data")) [15:34] CoverSlide: through websockets you mean? [15:35] bizniz98 has joined the channel [15:35] CoverSlide: how do you plan on handling binary data from the browser? [15:35] adambeynon has joined the channel [15:35] draginx1: bnoordhuis: thanks [15:35] draginx1: CoverSlide: i was hoping for it to just default to download :P [15:35] draginx1: but that seems like a security issue ;x [15:35] Senior_Skunkape has joined the channel [15:36] CoverSlide: to download the browser needs to perform a GET request [15:36] draginx1: anyway next question is there a way to get a webcam's content through the browser/node without the use of flash? [15:36] draginx1: CoverSlide: makes sense thanks :) [15:36] shinuza has joined the channel [15:36] bnoordhuis: draginx1: caveat emptor, i thought you were talking about tcp sockets [15:37] P0TaT0 has joined the channel [15:38] Spion_ has joined the channel [15:38] dpino has joined the channel [15:40] tomnewmann has joined the channel [15:40] jerrysv has joined the channel [15:40] maletor has joined the channel [15:42] M1l3n1um has joined the channel [15:43] jj0hns0n has joined the channel [15:43] Morkel has joined the channel [15:45] GuestSpam4 has joined the channel [15:45] GuestSpam4: Hello [15:45] GuestSpam3 has joined the channel [15:45] GuestSpam3: Hello [15:46] GuestSpam2 has joined the channel [15:46] GuestSpam0 has joined the channel [15:46] GuestSpam2: Hello [15:46] GuestSpam0: Hello [15:46] GuestSpam1 has joined the channel [15:46] GuestSpam1: Hello [15:46] totallymike: Well that was fun. [15:47] joshthecoder has joined the channel [15:47] nibblebot has joined the channel [15:47] jgaui has joined the channel [15:47] isaacs: test, please: http://nodejs.org/dist/v0.6.13/node-v0.6.13-RC1.tar.gz [15:47] nqbao has joined the channel [15:48] isaacs: er, rather: http://nodejs.org/dist/v0.6.13/node-v0.6.13-RC2.tar.gz [15:48] nqbao has left the channel [15:48] yawNO: uuh [15:48] yawNO: .13 [15:48] yawNO: yay [15:48] CoverSlide: Link fail #ohsnaps [15:49] yawNO: oh [15:49] yawNO: RC2 [15:49] yawNO: :( [15:49] testme has joined the channel [15:50] JSONB has joined the channel [15:51] herbySk has joined the channel [15:51] wdperson has joined the channel [15:52] uchuff has joined the channel [15:54] CoverSlide: wtf is a SEARCH request and who actually uses it? [15:54] andrewdeandrade has joined the channel [15:54] umren has joined the channel [15:55] isaacs: CoverSlide: it's a webdav thing. http://msdn.microsoft.com/en-us/library/aa143053(v=exchg.65).aspx [15:55] CoverSlide: OIC [15:55] booyaa: is there a node vm manager that can handle RCs? [15:55] booyaa: i think i'm using nvm [15:55] CoverSlide: use give [15:55] booyaa: ACTION doesn't have his mac in front of him at the mo [15:55] CoverSlide: not sure if RC's are tagged [15:56] saikat has joined the channel [15:56] isaacs: no, RCs are not tagged [15:56] isaacs: officially, they don't exist :) [15:56] CoverSlide: boo hoo :( [15:56] booyaa: WAHHHHHHHH [15:57] aron_ has joined the channel [15:57] booyaa: mind you my nodejs skills haven't graduated beyond hello world so wouldn't be much of a tester [15:57] aheckmann has joined the channel [15:58] broofa has joined the channel [15:58] blueadept has joined the channel [15:58] Swizec has joined the channel [15:59] P0TaT0: what's the preferred way of installing node on osx now? n, nvm, or the pkg? [15:59] hz has joined the channel [15:59] booyaa: still use homebrew myself so i stick to nvm, but i think n is also available [15:59] CoverSlide: well it should just be the latest from I'd say go with the pkg [15:59] isaacs: P0TaT0: pkg or nave. [15:59] isaacs: P0TaT0: or `make install` [16:00] CoverSlide: or give !! [16:00] al3xnull has joined the channel [16:00] isaacs: (preferred by me, anyway) [16:00] RLa: i think it depends how many versions you want [16:00] mmalecki: I like give, but I might be biased [16:00] booyaa: still annoyed that they don't have vim in the homebrew packages... osx vim lacks certain features for node coding [16:00] booyaa: mmalecki: lolz [16:00] CoverSlide: give gets you ALL the versions [16:01] isaacs: ACTION is biased for the same reason towards nave [16:01] booyaa: cool [16:01] Cromulent has joined the channel [16:01] maritz_ has joined the channel [16:01] ryanrolds_w_ has joined the channel [16:02] CoverSlide: mmalecki: does `give install` reinstall that version even if it's already installed? [16:02] jacobolus has joined the channel [16:02] yawNO: lol [16:03] yawNO: i've just confuses borat with isaacs on twitter [16:03] yawNO: no offense :P [16:03] Hebo has joined the channel [16:03] yawNO: *confused [16:03] booyaa: i don't know how to put this tactfully, i don't mean offense. but does anyone know a coder with disabilities? like only the use of one arm? [16:03] mmalecki: CoverSlide: yeah, it should, that's how I use it for master [16:03] rtgibbons has joined the channel [16:03] Zzaichik has joined the channel [16:03] wendall911 has joined the channel [16:04] isaacs: yawNO: lol [16:04] booyaa: reason i'm asking is that once in a while i'm so crammed on a train that all i have use is one arm, just wondering if i could learn from people with accessibility problems on how to code this way [16:04] booyaa: things like sticky keys [16:04] totallymike: booyaa: there's one-handed dvorak [16:04] booyaa: imagine vim might be pain... [16:04] retornam has joined the channel [16:04] booyaa: totallymike: ah will google cheers [16:05] fairwinds has left the channel [16:05] skylamer`: whats your shiny fontz? [16:05] booyaa: http://www.aboutonehandtyping.com/introduction.html <-- promising [16:05] geetarista has joined the channel [16:05] skylamer`: for the editors r they more console or more aliased? :} [16:06] kenperkins has joined the channel [16:06] CoverSlide: or in other words "How to watch porn while working" [16:06] yawNO: booyaa: why in hell would you code [16:06] yawNO: on A TRAIN? [16:06] booyaa: dude it's like an hour long, not going to waste my time gaming or watching porn [16:07] yawNO: njoy your ride [16:07] yawNO: listen to music [16:07] yawNO: lol [16:07] CoverSlide: Yeah I used to code on a train [16:07] CoverSlide: and I used to code in the rain [16:07] gsmcwhirter has joined the channel [16:07] CoverSlide: and I used to code in a box [16:07] booyaa: CoverSlide: did you have code on the brain? [16:07] yawNO: i used to train coding [16:07] CoverSlide: and I used to code with a fox [16:07] yawNO: i used to code firefox [16:08] yawNO: (not true, jk) [16:08] booyaa: yawNO: nah right now i'm trying skill up so i don't have to commute into the city and go freelance [16:08] yawNO: booyaa! [16:09] booyaa: yes? [16:09] at0mizer has joined the channel [16:09] yawNO: its just an exclamation [16:09] yawNO: booya! [16:09] booyaa: ah :D [16:10] yawNO: sounds like something i'd yell at the superbowl [16:10] booyaa: or after you slam dunk on a small kid [16:11] yenz_: lol [16:13] madhums has joined the channel [16:15] booyaa: anyone else use instapaper? [16:16] maritz_: yawNO: i code in the train all the time (or playing games or reading books, but mostly coding) [16:17] yawNO: maritz_: but you can do that if you're comfy [16:17] maritz_: what helps is having enough space for both arms *snob* [16:17] maritz_: i am comfy in the train [16:17] dob_ has joined the channel [16:17] yawNO: then its fine [16:18] maritz_: that's the whole point of going with the train. otherwise i could just fly. (and it's more eco-friendly) [16:18] yawNO: but coding with one hand is like having a sandwich without nutella [16:18] CoverSlide: i watch porn on the train with the speakers on max [16:18] maritz_: i like my ham sandwitch without nutella actually. [16:18] yawNO: cant be [16:18] yawNO: what would life be without nutella? [16:18] kokotron: peanut butter? :D [16:19] booyaa: sandvich? [16:19] yawNO: im considering suicide right now [16:19] yawNO: this should go on bash.org [16:19] kokotron: peanut butter + banana slices + cinnemon will cure what ails ya [16:20] vargle has joined the channel [16:20] vkareh has joined the channel [16:21] cjheath has joined the channel [16:22] yawNO: kokotron: i like peanut butter and cinnamon [16:22] kokotron: :D [16:22] yawNO: but banana slices? [16:22] yawNO: bleah [16:22] yawNO: also we dont have peanut butter here [16:22] context: mmm bash.org [16:22] kokotron: don't knock it till ya try it ;) [16:22] yawNO: actually we do.. but its kinda difficult to find itzz [16:23] yawNO: you have to go in big cities with big supermarkets [16:23] kokotron: that is one of my fears in traveling to a foreign country, no peanut butter [16:23] yawNO: lol [16:23] yawNO: my fear is no coffee or icecream [16:23] yawNO: and thats what happens every single time [16:23] yawNO: :( [16:25] jtsnow has joined the channel [16:25] yawNO: thanks isaacs for not mentioning my nickname.. my dignity is safe! [16:25] yawNO: :D [16:26] traph has joined the channel [16:26] isaacs: yawNO: this channel is logged. [16:26] isaacs: YOUR DIGNITY IS NEVER SAFE! [16:26] isaacs: ;P [16:27] yawNO: i knew you were working for the FBI [16:27] SargoDarya: Well, actually I have a bouncer, I get all missed messages in a nice log [16:27] alvaro_o has joined the channel [16:28] baudehlo has joined the channel [16:28] RobWC has joined the channel [16:28] RobWC has left the channel [16:29] kenperkins: anyone use nonces in api calls? [16:30] fangel has joined the channel [16:31] kokotron: sleep deprivation psychosis sets in . . [16:32] AviMarcus: kenperkins, wouldn't that be for authentication stuff? [16:33] AviMarcus: SIP uses nonces as part of auth.. [16:33] misza222 has joined the channel [16:33] kenperkins: for any encrypted api call that you want to protect really [16:33] orlandovftw has joined the channel [16:34] kenperkins: (protect against replay) [16:34] fearphage has joined the channel [16:34] kenperkins: we sign all of our api calls, so we have to use a nonce [16:34] achiu has joined the channel [16:36] tonist has joined the channel [16:37] skeptic_ has joined the channel [16:37] trotter has joined the channel [16:38] jocafa: lame. we *autograph* ours. [16:38] jocafa: ¬¬ [16:39] yawNO: koding.com [16:39] yawNO: looks pretty copl [16:39] yawNO: *cool [16:39] kvda has joined the channel [16:39] PPPaul: hey guys [16:40] PPPaul: i have a problem with my node 6.7 setup [16:40] PPPaul: npm is throwing errors on process.binding("stdio") [16:40] PPPaul: says 'no such module' [16:40] isaacs: PPPaul: get a new npm :) [16:40] isaacs: PPPaul: that's been fixed a while ago. [16:41] PPPaul: i did [16:41] PPPaul: node is throwing the error, though [16:41] r04r has joined the channel [16:41] isaacs: PPPaul: maybe try installing from this http://nodejs.org/dist/v0.6.13/ [16:41] PPPaul: i have npm 1.1.9 [16:41] isaacs: PPPaul: please gist the error, the whole thing [16:41] PPPaul: ok, i'll install .13 [16:41] Octayn: yawNO: yes it does [16:41] isaacs: PPPaul: that'll install npm 1.1.9 and node 0.6.13 [16:41] isaacs: PPPaul: but if you claim to already have npm 1.1.9, then i think maybe you have two copies of npm [16:41] whaley has joined the channel [16:42] yawNO: Octayn: now i need to try it :D [16:42] isaacs: PPPaul: maybe `which npm` shows /usr/bin/npm instead of /usr/local/bin/npm, becasue you installed it from a distro that has a super old copy and cba to update? [16:42] dgathright has joined the channel [16:43] slloyd has joined the channel [16:43] yawNO: if someone wants to register to koding [16:43] PPPaul: /usr/local/bin/npm for me [16:43] yawNO: http://koding.com/?lrRef=x2pMv [16:43] yawNO: use this url plz [16:44] yawNO: :P [16:44] sammmy has joined the channel [16:44] isaacs: PPPaul: /usr/local/bin/npm -v [16:44] isaacs: PPPaul: that prints anything? or just the error? (if so, plz gist) [16:44] technel has joined the channel [16:44] fearphage has joined the channel [16:44] fearphage has joined the channel [16:45] kriskowal has joined the channel [16:45] PPPaul: trying (sorry, my laptop is slow as piss) [16:46] sreeix has joined the channel [16:46] PPPaul: -> 1.1.9 [16:46] felixhummel_ has joined the channel [16:47] PPPaul: node 6.13 isn't up... the site just has 6.12 [16:47] r04r has joined the channel [16:47] maletor has joined the channel [16:47] senorpedro: hi [16:47] mattgifford has joined the channel [16:47] colinclark has joined the channel [16:47] senorpedro: i have a encoding issue: http://nopaste.info/f5061f9463.html [16:47] CoverSlide: salutation [16:47] colinclark has joined the channel [16:48] isaacs: PPPaul: http://nodejs.org/dist/v0.6.13/ has an RC. it'll drop very soon. [16:48] senorpedro: why does iconv not convert to iso-8859-1? [16:48] isaacs: PPPaul: just testing on windows now. [16:48] PPPaul: i went to the 6.13 site, there are a few RCs... i'm going to get RC2 [16:48] senorpedro: does maybe console.log() convert to utf8 when outputting? [16:48] PPPaul: i'm on ubuntu [16:49] adambeynon has joined the channel [16:50] PPPaul: compiling 6.13 now (will take 5 mins or so) [16:50] colinwd has joined the channel [16:51] bnoordhuis: senorpedro: iconv did convert it [16:51] philips has joined the channel [16:51] bnoordhuis: senorpedro: it's that the utf-8 and the iso-8859-1 strings are identical in this case [16:51] jsurfer has joined the channel [16:53] thinkt4nk has joined the channel [16:54] kriskowal has joined the channel [16:54] AntelopeSalad: is docco the only node module that will output docs based on code comments? [16:54] senorpedro: bnoordhuis: but why does "file output" say its utf8? also, when i call iconv from bash i get the file converted to iso-8859-1 [16:54] sammmy: Is there a lib that validates form data for me? [16:54] isaacs: senorpedro: https://gist.github.com/2045254 [16:54] yawNO: cya [16:54] isaacs: senorpedro: works for me [16:54] mmalecki: sammmy: revalidator maybe? [16:55] thinkt4nk has joined the channel [16:57] bnoordhuis: senorpedro: iconv.convert() returns a buffer, not a string [16:57] bnoordhuis: senorpedro: console.log() prints something like etc. [16:58] bnoordhuis: ACTION is off to dinner [16:59] springmeyer has joined the channel [17:00] cesconix has joined the channel [17:00] tk has joined the channel [17:00] mmalecki: is there anything like `npm fetch`? [17:00] stagas: senorpedro: there's also this you can use https://github.com/ashtuchkin/iconv-lite [17:00] isaacs: mmalecki: npm cache add [17:00] mmalecki: it'd take the same params as install but only fetch the package [17:00] isaacs: mmalecki: you can also use "npm pack " to do a cache add and then drop the tarball in cwd [17:01] ryanj has joined the channel [17:01] slajax has joined the channel [17:01] isaacs: mmalecki: with no args, it does the current package you're in [17:01] mmalecki: isaacs: but I just want to fetch it from the registry [17:01] isaacs: mmalecki: sure. [17:01] isaacs: mmalecki: npm pack npm@latest [17:02] mmalecki: isaacs: ah, neat! [17:02] isaacs: mmalecki: npm cache add jitsu@'>1.0.3' [17:02] isaacs: mmalecki: pack is just "add to cache, then copy the cached tarball here" [17:02] senorpedro: bnoordhuis: sorry i wrote that wrong in nopaste. the line is actually console.log(str.toString()) [17:02] senorpedro: stagas: thx i'll try that [17:03] EhevuTov has joined the channel [17:04] franciscallo has joined the channel [17:04] sammmy: mmalecki: I'll look into it [17:04] sammmy: Can I use MySQL transactions in node-mysql? [17:05] stagas: isaacs: what's the status on the json docs? [17:05] elio_: hey guys if I have code in a node.js NPM project that I wish to share with another node.js NPM project [17:05] medberry has joined the channel [17:05] elio_: how should I do it [17:05] elio_: >? [17:05] yawNO has joined the channel [17:06] stagas: elio_: move it to another npm project and add it to both of their dependencies [17:06] stagas: :P [17:07] elio_: stagas, doesn't that mean that I would need to publish that code? [17:07] elio_: to the public NPM repository? [17:07] adamkittelson has joined the channel [17:07] chapel: elio_: you can use git directly with npm [17:07] stagas: elio_: not necessary [17:07] chapel: so you could just have it in its own repo, and include it in both [17:08] elio_: so I need to host a NPM repository [17:08] elio_: then I understand [17:09] stagas: elio_: no you don't need to do that, you can install them all locally [17:09] chapel: elio_: npm install giturl [17:09] chapel: you used to have to use the tarball url from github [17:09] CarterL has joined the channel [17:10] chapel: but I think you can use a git url directly now? [17:10] rwaldron has joined the channel [17:10] isaacs: stagas: http://nodejs.org/api/documentation.json [17:10] kPb_in has joined the channel [17:10] isaacs: stagas: switch .html for .json on any api doc [17:10] kmiyashiro has joined the channel [17:10] elio_: chapel, great [17:11] gorekee has joined the channel [17:11] stagas: isaacs: yeah I mean that experimental thing. does it mean it'll change? [17:12] isaacs: stagas: there are some improvements to it that are coming. [17:12] isaacs: stagas: mostly just cleanup, though [17:12] isaacs: stagas: i expect it to be "stable" by v0.8 [17:12] cm has joined the channel [17:14] caolanm has joined the channel [17:14] isaacs: stagas: for example, this is stupid: http://nodejs.org/docs/v0.6.13/api/index.json [17:16] stagas: isaacs: thanks :) [17:17] baer has joined the channel [17:17] te-brian has joined the channel [17:18] rio{ has joined the channel [17:19] fairwinds has joined the channel [17:19] andrewde` has joined the channel [17:20] TheJH has joined the channel [17:20] hackband has joined the channel [17:20] mike has joined the channel [17:21] boogyman has joined the channel [17:21] boogyman has joined the channel [17:21] boltR has joined the channel [17:21] githogori has joined the channel [17:24] sammmy: I can still use sql transactions in node-mysql using db.query("BEGIN"), right? [17:25] creationix: sammmy, I don't see why not [17:25] pandeiro has joined the channel [17:26] sammmy: creationix: because it says on the github for node-mysql under toto Transactions. [17:26] creationix: not sure [17:26] creationix: try it and see what happens [17:26] pizthewiz has joined the channel [17:28] triptec has joined the channel [17:28] tomnewmann has joined the channel [17:28] BillyBreen has joined the channel [17:29] springmeyer_ has joined the channel [17:29] elio_: I'm currently using a config.js file containing all the environment properties, is it better practice to use package.json config hash? [17:29] thalll has joined the channel [17:30] cg433n has joined the channel [17:30] stagas: isaacs: http://nodedocs.stagas.com/ :P [17:30] langworthy has joined the channel [17:30] dscape: isaacs: where can i look at the latest work on domains? [17:31] cg433n has left the channel [17:31] isaacs: dscape: there is basically no work on domains. [17:31] dscape: isaacs: :( [17:31] isaacs: dscape: it's still in discussion. [17:31] dscape: isaacs: i dont want domains to be enforced on me [17:31] dscape: but some things they are super useful [17:31] isaacs: dscape: then don't use it :) [17:31] dscape: and right now theres no way of doing it [17:31] isaacs: the initial drop will be extremely minimal. [17:32] jetienne has joined the channel [17:32] isaacs: dscape: in the meantime, you can use substack's toss module, which is close to what you probably actually want. [17:32] ericmuyser has joined the channel [17:32] dscape: isaacs++ :) [17:32] dscape: like mikeal says theres a substack module for everything [17:32] dscape: lol [17:32] tylerstalder has joined the channel [17:33] spolu has joined the channel [17:33] CIA-19: node: 03isaacs 07v0.6 * r571a519 10/ (3 files in 2 dirs): Upgrade libuv to 66a959c4052 - http://git.io/QkKKnw [17:33] CIA-19: node: 03isaacs 07v0.6 * r06bf070 10/ Makefile : makefile: Fix 'make doc' - http://git.io/6wM4WQ [17:33] CIA-19: node: 03isaacs 07v0.6 * r9f7f86b 10/ (7 files in 6 dirs): (log message trimmed) [17:33] CIA-19: node: 2012.03.15 Version 0.6.13 (stable) [17:33] CIA-19: node: * Windows: Many libuv test fixes (Bert Belder) [17:33] CIA-19: node: * Windows: avoid uv_guess_handle crash in when fd < 0 (Bert Belder) [17:33] CIA-19: node: * Map EBUSY and ENOTEMPTY errors (Bert Belder) [17:33] CIA-19: node: * Windows: include syscall in fs errors (Bert Belder) [17:33] CIA-19: node: * Fix fs.watch ENOSYS on Linux kernel version mismatch (Ben Noordhuis) [17:33] CIA-19: node: 03isaacs 07v0.6 * r9726a25 10/ (11 files in 8 dirs): Merge branch 'v0.6.13-release' into v0.6 - http://git.io/KznJ3g [17:33] CIA-19: node: 03isaacs 07v0.6 * rb9bd2d3 10/ src/node_version.h : Now working on v0.6.14 - http://git.io/BgnzQg [17:34] isaacs: we're committed now :) [17:34] jetienne__: :) [17:34] emilsedgh: ahm, i've written a AT-modem manager and a PDU parser/generator using node. its my first experience using node, so im not sure if its good nough to share. do you guys have some review tool or something which i could paste my code and get some feedback? maybe just a github repository? [17:35] dscape: isaacs SubStack but i cant really use toss for a function that is provided by a user? [17:35] patcito has joined the channel [17:35] dscape: like if someone else than me uses my library [17:35] dshaw_ has joined the channel [17:35] dscape: and they have a callback that throws ? [17:36] isaacs: dscape: no, throwing is still verboten [17:36] dscape: isaacs: but it wont be in domains right? [17:37] pauls1 has joined the channel [17:37] isaacs: dscape: don't bank on anything being in or out of domains :) [17:37] isaacs: dscape: it's node's TextMate2 or Duke Nukem Forever [17:37] dscape: lol [17:37] dscape: maaan [17:37] wankdanker: i thought duke nukem forever was coming out? [17:37] Octayn: It did [17:38] isaacs: yes [17:38] Octayn: after like a decade [17:38] isaacs: and domains will come out soon, too :) [17:38] dscape: isaacs: domains matter, high quality libraries in node require domains in some critical sections [17:39] dscape: it doesnt need to be always on, but in some jumps in the event loop [17:39] dscape: we need to know who did what [17:40] jxson has joined the channel [17:43] Avanine has joined the channel [17:43] EhevuTov: Soon? [17:44] trevor_ has joined the channel [17:44] vicapow has joined the channel [17:45] TooTallNate has joined the channel [17:45] velo has joined the channel [17:47] Karmaon has joined the channel [17:47] isaacs: EhevuTov: it's a v0.8 blocker. [17:48] marcostoledo has joined the channel [17:50] illourr has joined the channel [17:50] arduix has joined the channel [17:51] jaha has joined the channel [17:52] addisonj has joined the channel [17:52] jaha: has anyone used stunnel with node.js? [17:53] jaha: ive got a stunnel/haproxy/node(express) stack but im getting a SSL connection error [17:53] diogogmt has joined the channel [17:54] colinwd has joined the channel [17:55] Hanspolo_ has joined the channel [17:55] context: jaha: is it stunnel thats broke ? [17:55] brainss: forward march! [17:55] jaha: i think [17:56] thinkt4nk has joined the channel [17:56] cyphase_ has joined the channel [17:56] jaha: having a hard time debugging it (havent worked with it yet) [17:56] context: why not just use nginx or something ? [17:57] context: ahh no websocket or anything [17:57] Hanspolo has joined the channel [17:57] shadowshell has joined the channel [17:57] riven` has joined the channel [17:58] AntelopeSalad: hey guys i have a fairly basic code abstraction question, how in the heck can i do this? i wrote the question at the bottom of this pastebin http://pastebin.com/gej9ZBEC [17:58] riven has joined the channel [17:59] dobber has joined the channel [17:59] diogogmt has joined the channel [17:59] RLa: you need to access multiple collections? [18:00] AntelopeSalad: nope, but i might in the future [18:00] stephank has joined the channel [18:00] al3xnull has joined the channel [18:00] cg433n has joined the channel [18:01] RLa: otherwise i would have one nest of callbacks that sets up whole infrastructure [18:01] cg433n has left the channel [18:01] mansoor has joined the channel [18:01] mansoor has joined the channel [18:02] Hebo has joined the channel [18:03] hipsters_ has joined the channel [18:05] jj0hns0n has joined the channel [18:06] bkaney has joined the channel [18:08] Country has joined the channel [18:09] r04r has joined the channel [18:09] icebox has joined the channel [18:10] candybar has joined the channel [18:11] darrenlooby has joined the channel [18:11] RobWC1 has joined the channel [18:12] jxson has joined the channel [18:14] r04r has joined the channel [18:14] jxson has joined the channel [18:15] levi501d has joined the channel [18:18] r04r has joined the channel [18:18] r04r has joined the channel [18:20] bindr has joined the channel [18:20] riven` has joined the channel [18:21] sammmy: var db = require('mysql').createClient({...}); would cache a connection to db, and if I were to export db in a module and reuse that module for all my database transactions, does this mean that one server request could interup another transaction in progress because it's all the same connection? [18:21] defts has joined the channel [18:22] AdamGoodrich has joined the channel [18:22] shanem has joined the channel [18:22] boltR has joined the channel [18:23] r04r has joined the channel [18:23] r04r has joined the channel [18:25] kevwil has joined the channel [18:26] sammmy: Isn't this a very important question? If on one http post request I begin a transaction and before that transaction is complete another http post request takes place that begins a transaction, wouldn't the second transaction commit the first one because it's on the same connection? [18:26] adrianF has joined the channel [18:27] elio_: sammmy, that could also happen with independent connections [18:28] r04r has joined the channel [18:29] jkridner_ has joined the channel [18:29] sammmy: elio_: I don't see how. If I do: BEGIN; INSERT...; BEGIN; the insert is committed because MySQL doesn't support nested transactions, so it's behavior is to commit any previous transactions before starting a new one. [18:30] josh-k has joined the channel [18:30] rtgibbon_ has joined the channel [18:31] cyphase has joined the channel [18:31] draginx1 has left the channel [18:32] sammmy: Sense module export objects are cached, my db variable will be cached to the same connection for the life of my node process. Sense all my queries are going to run off db.query, they will all go to the same connection, so were ever db.query is called in my application it would all be as though I'm executing all my queries line after line. [18:32] stagas has joined the channel [18:32] tornad has joined the channel [18:32] pauls1 has joined the channel [18:32] sammmy: line after line..meaning you can consider all my queries to be in the same SQL file being executed. [18:33] r04r has joined the channel [18:33] med_ has joined the channel [18:34] karterk has joined the channel [18:34] sammmy: elio_: do you feel me? [18:35] Ksugzulut has joined the channel [18:35] orlandovftw has joined the channel [18:36] solhive_ has joined the channel [18:38] robi42 has joined the channel [18:38] r04r has joined the channel [18:39] solhive has joined the channel [18:44] r04r has joined the channel [18:44] interstar has joined the channel [18:44] Chel has joined the channel [18:45] riven has joined the channel [18:45] joshsmith has joined the channel [18:46] dgathright has joined the channel [18:48] blitzMN has joined the channel [18:48] sammmy: elio_: Do you see the problem I'm talking about: https://gist.github.com/2045969 ? [18:49] r04r has joined the channel [18:50] marcostoledo has joined the channel [18:50] Vespakoen has joined the channel [18:50] Frostopher has joined the channel [18:52] ph^ has joined the channel [18:53] chazor has joined the channel [18:54] fumanchu182 has joined the channel [18:54] r04r has joined the channel [18:55] mcavage has joined the channel [18:55] madhums has joined the channel [18:56] thurmda has joined the channel [18:59] tonist has joined the channel [18:59] YoY has joined the channel [18:59] booo has joined the channel [19:00] r04r has joined the channel [19:00] jetienne has joined the channel [19:02] ryanrolds_w has joined the channel [19:03] `3rdEden has joined the channel [19:03] yogig has joined the channel [19:03] Sadin has joined the channel [19:04] disappearedng has joined the channel [19:04] boltR has joined the channel [19:04] mandric has joined the channel [19:05] r04r has joined the channel [19:05] r04r has joined the channel [19:06] interstar: Hi, is this the place to ask about node installation problems? [19:06] Octayn: yep [19:06] interstar: thanks [19:07] interstar: I'm trying to install node.js on a virtual Lucid32 server on Virtual Box ... [19:07] Destos has joined the channel [19:07] interstar: using this from the joyent site : [19:07] interstar: git clone https://github.com/joyent/node.git cd node git checkout v0.6.2 #Try checking nodejs.org for what the stable version is ./configure make sudo make install [19:08] Maxani has joined the channel [19:08] Octayn: v0.6.2 is old, try v0.6.12 [19:09] interstar: OK. I'll try ... here, I just put the install code here : http://piratepad.net/wGgoAmx3n4 [19:09] interstar: If different version doesn't work I'll explain problem there [19:10] noganex has joined the channel [19:10] tbranyen: is there anything like __dirname that doesn't follow symlinks? [19:10] r04r has joined the channel [19:10] r04r has joined the channel [19:10] tbranyen: or is that impossible? [19:10] disappea_ has joined the channel [19:10] interstar: no, doesn't. Anyway, basically my problem is that the ./configure fails because it tells me it can't find the c++ or g++ compilers [19:11] Octayn: interstar: do you have a toolchain installed? [19:11] interstar: I do have gcc installed (this is a very limited virtual server) ... so I'm not sure what compiler it's looking for [19:11] solhive: Try sudo apt-get install build-essential [19:11] jomoho has joined the channel [19:12] LuckySMack has joined the channel [19:13] interstar: ah ... that looks promising [19:13] interstar: now onto the make step [19:13] interstar: thanks [19:13] tbranyen: cause like resolving to symlink sucks [19:15] r04r has joined the channel [19:15] interstar: sorry, that should be thanks to [19:15] riven` has joined the channel [19:16] hswe has joined the channel [19:16] HardFu has joined the channel [19:17] HardFu: guys which tempting engine for express would you recomment [19:17] HardFu: recommend that i [19:17] HardFu: is :) [19:17] HardFu: I'm kinda unsatisfied with jade [19:17] jesusabdullah: out of the standard ones? ejs probs [19:17] riven has joined the channel [19:18] Bonuspunkt: uuuh node x64 4 win? anyone has infos on this :) [19:18] HardFu: jesusabdullah: which do you consider "standard" ? [19:18] whitman has joined the channel [19:19] jesusabdullah: the ones express has built-in support for? [19:19] jesusabdullah: Keep in mind I lost track of express around the v2 branch [19:19] HardFu: what do you use now? [19:19] skeptic_ has joined the channel [19:19] r04r has joined the channel [19:20] jesusabdullah: flatiron [19:20] HardFu: ah, ok [19:20] HardFu: :) [19:20] jesusabdullah: disclaimer: I work for nodejitsu, so, like, I do a lot of work on flatiron [19:21] jesusabdullah: Oh that reminds me [19:21] jesusabdullah: klout thinks I'm influential about broadway [19:21] HardFu: not sure what to make of it yet, some praise it like the best thing since sliced bread, while others say too much of manual work [19:21] HardFu: disclaimer: I don't care as my tools get the work done :) [19:21] jesusabdullah: one of flatiron's components is called broadway, but klout doesn't know how to tell the difference between the library and the theatre district [19:21] jesusabdullah: pretty lulz [19:22] mxbtty has joined the channel [19:23] jesusabdullah: HardFu: There's work coming down the pipe to help bootstrap an app more quickly, to take care of the latter point. That said, though, it's entirely possible you're using flatiron components already [19:23] jesusabdullah: likely even [19:23] sammmy: Can somone take a look at this problem? https://gist.github.com/2045969 [19:23] HardFu: jesusabdullah: tnx, I'll take a look [19:23] kvda has joined the channel [19:23] jesusabdullah: Yeah, sure XD [19:24] deitarion has left the channel [19:24] zahlman has joined the channel [19:24] hipsters_ has joined the channel [19:24] r04r has joined the channel [19:25] sammmy: The oddest part of it all it that the request callback is called twice per http request. :\ [19:25] zahlman: Hi, I installed 0.4.7 for cygwin a while ago, and have just got the new MSI for 0.6.1 since apparently cygwin isn't supported any more... how do I uninstall the old version? [19:26] irclogger_com has joined the channel [19:26] sammmy: zahlman: The old version is separately installed in cygwin, so I wouldn't worry about it. [19:26] Octayn: Not only is cygwin not support, it's no longer needed. The "new MSI" would be for v0.6.13, not 0.6.1, and I don't think you need to do anything special [19:27] zahlman: 13, yes, the filename was cut off :) [19:27] Octayn: ok [19:27] zahlman: I noticed that things seem to 'just work' now, and an up-to-date npm is included. very nice :) [19:27] sammmy: I still have the old version in cygwin and am running the new version after installing and there are no conflicts or anything. [19:27] zahlman: older versions of npm were causing major headaches because apparently it didn't like cygwin's `tar` [19:28] isaacs: zahlman: oh, it's not just that [19:28] isaacs: cygwin is headache inducing in many ways. [19:28] sammmy: zahlman: not only do things just work, I also like the local package handling with npm. ;) [19:28] admc has joined the channel [19:28] zahlman: it's never just one thing is it :) [19:28] isaacs: zahlman: as far as i could ever determine, child process management is just fundamentally broken on cygwin. [19:28] zahlman: the only "problem" is that I have all my projects set up in my cygwin dirs... but I can just navigate to those in cmd, so it doesn't really cause an issue afaict [19:29] sammmy: Anyone have any luck with my gist? https://gist.github.com/2045969 [19:29] isaacs: zahlman: or at least, as different from any unix or from windows as they are from one another. [19:29] zahlman: heh [19:29] r04r has joined the channel [19:29] r04r has joined the channel [19:29] zahlman: I'll just do a batch script to launch node and the server it's proxying, I guess [19:29] sammmy: zahlman: One thing to keep in mind now is that package managment is handled differently no in 0.6.13. Packages are installed locally per project. [19:30] zahlman: hasn't it been "non-global" for a while? :/ [19:30] isaacs: sammmy: i don't know what that db() function is, but maybe it shouldn't be getting called multiple times, but instead be one call, or called again in a cb or something? [19:30] benjixx has joined the channel [19:30] sammmy: zahlman: not any more. [19:30] sammmy: isaacs: db is from the db.js module. [19:30] isaacs: sammmy, zahlman: npm has been by-default-bundling since 1.0.0 [19:30] mehlah has joined the channel [19:32] ohtogo has joined the channel [19:32] sammmy: isaacs: look at line 2 of app.js and you'll see db = require('./db.js'); So look at db.js file included in the gist. (refresh too, because I made a minor change to the gist). [19:33] isaacs: sammmy: right, what i mean is, i'm not familiar with mysql.client [19:33] KettleCooked has joined the channel [19:33] jimmysparkle has joined the channel [19:33] isaacs: sammmy: but that looks kind of odd to call db.query('START'); db.query('MORE'); db.query('END') [19:33] sammmy: isaacs: https://github.com/felixge/node-mysql have a look it's pretty simple. [19:34] KettleCooked: Does anyone know a working node.js app for tailing a text file to the browser window? I've found several but they're too old and thus bugs out unless I downgrade node [19:34] r04r has joined the channel [19:34] jetienne: isaacs: man new twitter avatar gives you a totally new look :) [19:35] crutex has joined the channel [19:35] sammmy: isaacs: Well, it's just starting a transaction and then making a bunch of queries (updates), then when done commiting or rolling back depending on what you want. [19:35] kmiyashiro: is ES6 getting rid of arguments or something? [19:35] Octayn: kmiyashiro: not afaik, why? [19:35] sammmy: Transactions are a must if I'm going to be handling money account in my application (which I will be, sort of). So, I need to get transactions to work properly. [19:36] kmiyashiro: oh, on Javascript Jabber they said arguments were going away eventually [19:36] Octayn: no [19:36] benvie: arguments are targetd to go away eventually [19:36] addisonj has joined the channel [19:36] kitt has joined the channel [19:36] Octayn: not in es6, not yet. [19:36] kmiyashiro: but wheeen? [19:36] benvie: eventually as in theoretically as in no in the next version of js and probably not the one after [19:36] sammmy: isaacs: are you familiar working with mysql? Or do you use some other No-SQL db? [19:36] isaacs: sammmy: oic, so it does guarantee order. [19:36] defsef has joined the channel [19:36] isaacs: sammmy: i haven't used mysql in quite some time [19:37] mikecool has left the channel [19:38] YoY has joined the channel [19:38] sammmy: isaacs: Yes it guarantees order, but the problem is that it's all on the same connection, so when I start a new transaction later while another hasn't finished, the first transaction gets committed (that's the behavior of mysql because it doesn't support nested transactions). [19:38] Ragnok has joined the channel [19:38] vam3c has joined the channel [19:39] hackband has joined the channel [19:39] zahlman: benvie: hard for me to imagine getting by in certain spots without `arguments` :( [19:39] r04r has joined the channel [19:40] jkarsrud has joined the channel [19:40] insin has joined the channel [19:41] shadowshell has joined the channel [19:41] Octayn: zahlman: like what? there are a few proposals that replace most uses of arguments [19:43] matt_c has joined the channel [19:43] jacquestardie has joined the channel [19:44] benvie: that's what stuff like spread and rest is for [19:44] benvie: so that arguments is eventually not required at all [19:44] benvie: which is the precursor to it being removed [19:44] zahlman: octayn: I'm really more of a pythonista... so I see it as something that lets me do what *args does in python [19:44] Octayn: zahlman: what benvie said [19:45] benvie: yeah a better version of that is being added [19:45] sammmy: isaacs: I can just create a connection for ever task I do, but how do I solve problem stated on item #4 in my list? [19:45] zahlman: I don't know about these replacements yet [19:45] r04r has joined the channel [19:45] benvie: http://wiki.ecmascript.org/doku.php?id=harmony:rest_parameters [19:45] benvie: http://wiki.ecmascript.org/doku.php?id=harmony:spread [19:45] savudin has joined the channel [19:45] Vespakoen has joined the channel [19:46] benvie: the first state goal of rest params is "provide a better `arguments`" [19:47] zahlman: yeah, it looks much better, and much more like what python does [19:47] zahlman: (trying hard not to show my bias here :) ) [19:48] josh-k has joined the channel [19:48] benvie: one of the goals of es6 is to try and draw inspiration from things other languages are doing right [19:48] benvie: so python is inspiration for a lot of stuff, probably moret han any other language [19:49] ajcates has joined the channel [19:50] bradleyg has joined the channel [19:50] Rushing has joined the channel [19:50] r04r has joined the channel [19:50] pid1 has joined the channel [19:51] sammmy: Okay. I fixed it to where transactions are separate. But I still don't know why my callback is being executed twice per SINGLE request?? This is causing my node app to insert two records in the database per request when it should only be one per request... -.0 [19:51] sammmy: -.- [19:51] sammmy: https://gist.github.com/2045969 [19:51] zahlman: benvie: I'll be very happy if they succeed with that. I've really not had a fun time with js in general as it stands [19:51] jacobolus has joined the channel [19:52] fomatin has joined the channel [19:52] zahlman: although that may be for more fundamental reasons that aren't likely to change [19:52] bbttxu has joined the channel [19:52] EvRide has joined the channel [19:53] benvie: yeah the fundamentals are, with a few exceptions, not changing [19:53] Octayn: zahlman: fundamentals like what? [19:53] zahlman: octayn: mostly, the typing system and implicit coercions [19:53] jsurfer has joined the channel [19:53] noganex has joined the channel [19:53] benvie: *lack of typing [19:53] benvie: you mean? =D [19:54] zahlman: and some weirdness related to treating arrays like dictionaries [19:54] benvie: that part is not changing but [19:54] sammmy: Okay. From the node docs, "Note that there may be multiple requests per connection (in the case of keep-alive connections)." could someone care to explain? :\ [19:54] Octayn: zahlman: python has prototypal inheritance [19:54] Octayn: just like js [19:54] Octayn: Oh derp [19:54] Octayn: ACTION learns to read [19:54] benvie: we're getting Set, Maps, WeakMaps in order to make the use of objects as dictionaries not a reuqirement [19:54] zahlman: prototypal inheritance isn't really a problem in itself anyway. Actually I don't use inheritance much at all [19:54] benvie: in fact you can use those now in node with the flag = [19:55] graeme_f has joined the channel [19:55] zahlman: nice. will we be able to have non-string keys? [19:55] benvie: yep [19:55] benvie: objects as keys [19:55] umren has joined the channel [19:55] zahlman: you have no idea how much pain it's caused me to work around that >_< [19:55] benvie: a Map can use anything as a key, a WeakMap can only use objects as keys [19:55] csprite has joined the channel [19:55] Octayn: sammmy: with a keep-alive connection, after the http response, you can send another http request over the same connection (socket) without having to open another [19:55] zahlman: eh? what things aren't objects now? [19:55] r04r has joined the channel [19:55] disappea_: Hey I am doing some reverse proxying on node right now. Is there an easy way to modify a request's url from /nodejs/blah/foo to just /blah/foo? [19:55] benvie: primitives [19:55] benvie: things that lack a unique identity [19:56] benvie: undefined, NaN, numbers, strings [19:56] zahlman: aha [19:56] benvie: those are legit keys for a Map but not a WeakMap [19:56] sammmy: Octayn: I don't see why this means that there must be two request per user request? [19:56] KettleCooked: Does anyone know a working node.js app for tailing a text file to the browser window? I've found several but they're too old and thus bugs out unless I downgrade node [19:56] mehlah has joined the channel [19:56] Octayn: sammmy: it doesn't mean that at all, afaik keepalive is unrelated to your ongoing issues [19:56] benvie: so a Map completely subsumes the dict functionality [19:56] zahlman: KC, you mean sending the tail of the file to the client? [19:57] KettleCooked: zahlman: yes exactly [19:57] benvie: where WeakMap serves some new cool purposes because it's an opaque storage that links objects by their internal identity [19:57] KettleCooked: I have a setup where I need to tail a log file in the browser [19:57] zahlman: could you show one of the ones you've found that don't work? [19:57] isaacs: sammmy: sounds like you need to have more than one client. or bug felixge about it :) [19:57] KettleCooked: zahlman: here's one [19:57] KettleCooked: https://gist.github.com/1313859 [19:58] sammmy: isaacs: Check out my gist updates. I'm using multiple clients to connect multiple times. (Only way to solve the issue). [19:58] KettleCooked: zahlman: that first one has one issue being the ARGV in caps, putting that to argv solves that first hurdle, but I can't get any text in the browser window [19:59] sammmy: Octayn: My issue is that there are multiple calls to my requestListener callback per http request. I don't understand why this is happening exactly; something about keep-alive or what not. I would like to know exactly what's going on. [19:59] KettleCooked: I've tried dismantling it piece by piece and logging console in server and client but I can't get to the point of sending a message across to the client, so I was just checking if anyone knew an alternative that works out of the box [20:00] rtgibbons has joined the channel [20:00] zahlman: KC: oh, you're trying to get the data asynchronously with websockets. I thought you just wanted to serve a request for a portion of a file [20:00] KettleCooked: zahlman: correct, sorry for being vague [20:00] r04r has joined the channel [20:02] shapeshed has joined the channel [20:02] zahlman: did you try tracing to see if the `client.send` call, "message" callback on the client, etc. get called? [20:02] sammmy: I think I understand now. The browser is making multiple request. Why does it make one request the first request, then two thereafter? [20:03] disappea_: What is the best way to modify a request's url [20:04] bindr has joined the channel [20:05] KettleCooked: zahlman: well I have "Connected to: undefined" [20:05] KettleCooked: which led me to try and check if there's such a thing as socket.host but there's no API for socket.io [20:05] bradleymeck has joined the channel [20:05] harrymoore has joined the channel [20:05] bradleymeck: chjj: ping [20:06] ccare has joined the channel [20:06] M1l3n1um has joined the channel [20:06] bindr has joined the channel [20:06] soapyillusions has joined the channel [20:06] zahlman: KC: there's certainly documentation for socket.io. http://socket.io/ [20:06] bradleymeck has left the channel [20:06] madhums has joined the channel [20:07] rjack has joined the channel [20:07] r04r has joined the channel [20:07] rjack has joined the channel [20:08] shapeshed has joined the channel [20:09] technel has joined the channel [20:10] ziro` has joined the channel [20:11] sammmy: How does Express know to only call the route callbacks once per request?? [20:12] rickibalboa has joined the channel [20:13] r04r has joined the channel [20:13] hdon: sammmy: guess: caches results [20:14] pgte has joined the channel [20:14] sammmy: hdon: what do you mean exactly? What results? [20:14] hdon: is there a channel for Sequelize? [20:14] hdon: sammmy: sorry i'm not familiar with Express, but it is similar to Django, so i literally guessed. i did say it was a guess. [20:15] sammmy: Oh I see. [20:15] Octayn: sammmy: why would it call the callback more than once? [20:15] sh1mmer has joined the channel [20:16] sammmy: Octayn: because, if you haven't noticed, Node's HTTP server calls the event listener more than once. [20:16] disappea_: is this really ghetto that I am changing the url of a request simply by reassigning the url? https://gist.github.com/39c8b872a27b9efd1bcf [20:16] hdon: Hi all :) Is there a channel for Sequelize? I can't run the examples on the website. [20:16] hdon: (using Sqlite3) [20:17] tmcw has joined the channel [20:17] bartt1 has joined the channel [20:17] callumcohen has joined the channel [20:17] Octayn: sammmy: I haven't noticed. EventEmitters only fire each listener once, so perhaps multiples are being introduced? [20:18] jj0hns0n has joined the channel [20:18] _numbers has joined the channel [20:18] r04r has joined the channel [20:19] _numbers has left the channel [20:19] YoY has joined the channel [20:19] vam3c has joined the channel [20:20] sammmy: Octayn: try creating a server with function(req, res){ console.log('request made'); } as the call back, make a few requests and watch the console [20:21] zahlman has left the channel [20:22] nphase has joined the channel [20:22] guest___ has joined the channel [20:24] stafamus has joined the channel [20:25] jetienne has joined the channel [20:25] xippi has joined the channel [20:25] xippi has joined the channel [20:26] dudeinthemirror has joined the channel [20:26] colinclark has joined the channel [20:27] mikeal has joined the channel [20:28] CIA-19: node: 03Matt Ezell 07master * r96e3be3 10/ tools/msvs/msi/product.wxs : [20:28] CIA-19: node: Added trailing backslash to npm path [20:28] CIA-19: node: Fix #2377: $PATH issues reported for MSI installer - http://git.io/GzCauA [20:29] augustl: a "npm install" seems to include dev dependencies. When are devDependencies _not_ installed? [20:30] Edy: npm install --production [20:30] augustl: I see [20:30] isaacs: augustl: they're also not installed for deps-of-deps [20:30] isaacs: augustl: ie, only *your* dev deps are installed, not everyone else's (unless you specify --dev when you install) [20:31] Octayn: sammmy: cannot reproduce [20:31] sammmy: Octayn: I figured out just now that it has to do with /favicon.ico being requested after the page. [20:31] campo has joined the channel [20:33] Octayn: Ah [20:35] sammmy: I suppose that's how express avoided my problem; they checked the requested url. xP [20:37] CarterL has joined the channel [20:38] monokrome|deferr has joined the channel [20:39] c4milo has joined the channel [20:40] mmalecki: isaacs: this npm fix went into 0.6.13, right? [20:40] isaacs: mmalecki: which npm fix? [20:40] daleharvey: cheers mikeal [20:40] mmalecki: isaacs: the bundledDependencies one [20:40] isaacs: mmalecki: yeah [20:40] isaacs: mmalecki: 0.6.13 has the latest npm release in it [20:41] mmalecki: isaacs: interesting then [20:41] mmalecki: gotta be me fucking up :) [20:41] cogman has joined the channel [20:41] yawNO: isaacs: when are we going to get Maps and Sets by default enabled? [20:41] Swizec has joined the channel [20:42] Raydiation has joined the channel [20:42] cogman: We need to put out a web interface fast. Do you guys think that node.js + express.js is better than RoR or Django? The site shouldn't care about scalability. [20:42] dwhittle has joined the channel [20:43] mikeal: daleharvey: np :) [20:43] yawNO: cogman: it depends [20:43] monokrome|deferr has joined the channel [20:43] insin: cogman: which do you know better? [20:43] yawNO: it its fairly simple nodejs is great [20:43] isaacs: yawNO: that's not me, man. that's v8 [20:43] cogman: insin: I personally know RoR better. [20:43] isaacs: yawNO: you can run with --harmony_collections to enable ti [20:43] cogman: yawNO: It should be FAIRLY simple [20:44] yawNO: if its complicated.. well then rails might be faster [20:44] insin: and do you need a Model layer? if you so, have you used one of the Node ones before? [20:44] insin: *if so [20:44] cogman: insin: We will need to access a sqlite database and possibly kick out something that excel can handle. [20:44] yawNO: isaacs: yeah i know.. but i thought you guys would have enabled that flag by default :P [20:44] demet8 has joined the channel [20:44] c4milo has joined the channel [20:45] yawNO: me wants es6 [20:45] c4milo has joined the channel [20:46] YoY has joined the channel [20:46] cogman: On that note, has anyone dealt with the node-sqlite library? Is it fairly stable? [20:46] Octayn: cogman: from what I've dealt with it, yes. [20:47] cogman: Octayn: Thanks. [20:47] michaelhartau has joined the channel [20:48] CIA-19: node: 03Micheil Smith 07master * r19fd530 10/ (lib/child_process.js lib/cluster.js src/node.cc): Expose original argv as process.execArgv for cluster and child_process.fork() - http://git.io/ssCXOQ [20:48] CIA-19: node: 03Maciej Małecki 07master * r0113f5a 10/ test/simple/test-process-exec-argv.js : test: test `process.execArgv` - http://git.io/awidIw [20:48] CIA-19: node: 03Maciej Małecki 07master * r9a35656 10/ test/simple/test-child-process-fork-exec-argv.js : test: test if forks are spawned with parent's `process.execArgv` - http://git.io/SmIzYg [20:49] KettleCooked has left the channel [20:54] RobWC has joined the channel [20:54] vargle_ has joined the channel [20:54] RobWC has left the channel [20:55] lohkey has joined the channel [20:55] addisonj has joined the channel [20:57] fomatin has joined the channel [20:59] AviMarcus has joined the channel [20:59] benjixx has joined the channel [21:00] rwaldron has joined the channel [21:01] thinkt4nk_ has joined the channel [21:01] saidGeeK has joined the channel [21:01] Blue-Dragon has joined the channel [21:02] saidGeeK: hola a todos [21:02] saidGeeK: hay alguien de habla hispana [21:02] nicholasf has joined the channel [21:02] vicapow: mikeal: is it possible to use request to stream just the body of an http request? [21:04] saidGeeK: hola alguien habla español [21:04] thinkt4nk has joined the channel [21:04] samBiotic has joined the channel [21:05] saidGeeK: listchans [21:06] monokrome has joined the channel [21:06] mikeal: vicapow: you mean not do the header stuff? [21:06] vicapow: mikeal: that's correct [21:07] mikeal: where are you piping from? [21:07] vicapow: my goal is to stream a requested video to ffmpeg and have to transcode it and service it back but I can't have the http headers [21:08] Ragnok has joined the channel [21:08] Ragnok has joined the channel [21:08] joshsmith has joined the channel [21:08] vicapow: mikeal: I'm pipping from request.get('http://.…') [21:08] tylerstalder has joined the channel [21:08] vicapow: let me post a gist [21:09] mikeal: yeah, i think i get it [21:09] mikeal: but i don't think you cand do it [21:10] halfhalo has joined the channel [21:10] jergason has joined the channel [21:10] PElshoff has joined the channel [21:11] halfhalo has joined the channel [21:12] monokrome has joined the channel [21:13] vicapow: mikeal: oh :( [21:13] mikeal: log an issue [21:13] vicapow: mikeal: it's it the same as writing a request stream to as a file? [21:13] mikeal: and i'll work out an option that'll make it work [21:13] chazor has joined the channel [21:13] mikeal: if you pipe request to request it's too smart and assumes you want the headers [21:14] mikeal: are you writing to a file or system process? [21:14] thinkt4nk_ has joined the channel [21:14] frigidpanda has joined the channel [21:14] mikeal: or are you piping a request object to a request object? [21:14] frigidpanda: hey [21:14] frigidpanda: hello [21:14] cyphase has joined the channel [21:14] solhive has left the channel [21:14] vicapow: mikeal: ah, i see. I assume system process but I'm using another library that is actually doing the work [21:14] Juan77 has joined the channel [21:15] frigidpanda: question to gurus [21:15] mikeal: ok, then it's not a problem :) [21:15] frigidpanda: what version of javascript in nodejs? [21:15] vicapow: I'll create an issue. I'd be happy to try and write the code to fix this if you gave me some instruction [21:15] Octayn: frigidpanda: node uses v8 [21:15] Octayn: frigidpanda: so whatever it implements [21:15] mikeal: vicapow: i think it will just work [21:15] frigidpanda: 1.8 javascript? [21:15] mikeal: headers are special cased, we call setHeader on the destination stream [21:15] frigidpanda: or 1.7 [21:15] mikeal: so if the stream doesn't have a setHeader method they won't get set [21:16] mikeal: and it'll just be streaming the body [21:16] frigidpanda: is there native windows port for node? [21:16] mikeal: frigidpanda: yes [21:16] frigidpanda: where? [21:16] mikeal: nodejs.org [21:16] frigidpanda: lemmi check [21:17] CIA-19: node: 03Ben Noordhuis 07master * r7fc835a 10/ (lib/timers.js test/simple/test-timers.js): [21:17] CIA-19: node: timers: handle negative or non-numeric timeout values [21:17] CIA-19: node: Follows browser behaviour by scheduling the callback on the next tick. [21:17] CIA-19: node: Fixes #593. - http://git.io/9X9fyw [21:17] kvda has joined the channel [21:18] vicapow: mikeal: https://github.com/mikeal/request/issues/208 [21:19] dscape: yaml parsers? [21:20] mikeal: vicapow: did you see what i said [21:20] halfhalo has joined the channel [21:20] mikeal: ? [21:20] soapyillusions has joined the channel [21:20] mikeal: if you're not piping to an http.ServerResponse or request.Request object it wont' set headers [21:20] vicapow: mikeal: I'm sorry [21:21] vicapow: I was a bit confused [21:21] vam3c has joined the channel [21:22] andrehjr has joined the channel [21:22] vicapow: what if I'd like to stream to an http.ServerResponse but without setting the header? [21:22] vicapow: does that just not make sense? [21:22] mikeal: you can't do that at the moment [21:22] Mulex has joined the channel [21:23] luizlopes has left the channel [21:24] sako has joined the channel [21:28] hh__ has joined the channel [21:31] rtgibbons has joined the channel [21:31] hh__: what's the major changes between v0.8 and 0.6 ? [21:31] vam3c has joined the channel [21:32] bnoordhuis: hh__: https://github.com/joyent/node/wiki/API-changes-between-v0.6-and-v0.8 <- not quite complete yet but getting there [21:32] hh__: is it just stable releases of v0.7 changes? [21:33] hh__: thanks, but is that how node.js versioning works? even number is stable branch, and odd is unstable, and the latest stable branch is always just incorporating the last unstable branch changes? [21:34] wankdanker has joined the channel [21:34] bnoordhuis: hh__: yes except for that last one [21:34] crutex has joined the channel [21:34] crutex has joined the channel [21:34] bnoordhuis: stable branches are forked off the master branch and then developed "independently" [21:34] hh__: ah [21:35] bnoordhuis: there's a lot of forwards and backwards merging going on obviously [21:35] tomnewmann has joined the channel [21:35] hh__: when will ecmascript 6 changes (that are pretty much standardized) go into node? i know its basically up to v8 right? but i dont follow v8 much so do you know? [21:35] theBrettman has joined the channel [21:36] qjcg has joined the channel [21:37] bnoordhuis: hh__: check the output of `node --v8-options | grep harmony`, lots of es.next/harmony/ecmascript 6 things are already in v8 [21:37] IRONkyle has joined the channel [21:37] IRONkyle has joined the channel [21:37] admc has joined the channel [21:39] shanebo has joined the channel [21:40] GJdan has joined the channel [21:40] slloyd has joined the channel [21:41] petrjanda has joined the channel [21:41] hh__: bnoordhuis: thanks [21:42] bnoordhuis: hh__: happy to help [21:42] robi42 has joined the channel [21:43] rafmagana has joined the channel [21:44] bindr has joined the channel [21:45] rioter has joined the channel [21:45] rafmagana: hey guys, any recommendation on testing frameworks/approaches to test an API made with node/express? [21:45] Axsuul has joined the channel [21:46] erichynds has joined the channel [21:47] hh__: rafmagana: mocha, jasmine, and... uhh the other popular one is... [21:47] hh__: vows [21:47] hh__: took me a sec to think of it [21:48] josh-k has joined the channel [21:49] rafmagana: hh__: how do you recommend to test an API? mine is backed with mongo, so what would you do? would you run the app with mongo in a different port and then would you make http requests to call the API? or what? [21:50] rafmagana: hh__ would you use the http module? or something else? [21:50] Bonuspunkt: i use https://github.com/Bonuspunkt/kalliope.runner for integration/smoke testing *shameless-self-promotion* [21:51] bshelton has left the channel [21:52] jergason has joined the channel [21:52] rafmagana: Bonuspunkt: ok, I'll check it out [21:52] rafmagana: Bonuspunkt: thaks [21:52] Bonuspunkt: np i hope its useful for you [21:53] hh__: rafmagana: i think you're trying to integrate everything into one thing? i usually break up my tests and keep it seperated [21:53] hh__: if you're triyng to test mongo, my test would have 0 to do with express [21:54] rafmagana: hh__: I'm trying to test if the API responds the right way depending on the parameters it receives, how do you break up your tests? [21:54] hh__: if you were trying to test your rest api, then ok, i'd use request module to simplify things [21:54] arturadi_ has joined the channel [21:54] Es0teric has joined the channel [21:54] shinuza has joined the channel [21:54] vervain has joined the channel [21:55] rafmagana: hh__: yes, that's why I'm trying to test, my RESTful API [21:55] CIA-19: node: 03isaacs 07master * r702b46c 10/ test/simple/test-timers-zero-timeout.js : [21:55] CIA-19: node: Fix invalid timer test [21:55] CIA-19: node: Previously, setTimeout(fn, 0) would create a new Timer() object, [21:55] CIA-19: node: which has a close() method (and is a bit slower). The recent [21:55] CIA-19: node: change to more closely emulate browser setTimeout behavior dodges [21:55] CIA-19: node: this path, so this assertion is no longer valid. - http://git.io/zH6sVA [21:56] fluk3 has joined the channel [21:56] hh__: all you have to do is figure out how you want to run the web server, and just write tests to make http requests [21:57] rafmagana: hh__ is there any better option than using the request module? [21:57] Es0teric: how do i… insert nodejs code into php files? or manage php with node js? [21:57] totallymike: What's wrong with the request module? [21:57] joemccann has joined the channel [21:57] rafmagana: totallymike: nothing, just wanted to know if there was anything better for testing purposes [21:58] hh__: rafmagana: use another module? superagent? or you basically just use the node http library? [21:58] andrewdeandrade has joined the channel [21:58] totallymike: There are a number of test frameworks, expresso (I think) comes to mind [21:58] hh__: rafmagana: there is no deep integration for testing express app is thats what you want to know [21:58] totallymike: espresso? [21:58] fluk3: Hi everyone, I am new to node, think it is great project. I have been given a project that needs to run on windows that needs to access an odbc connection and pass data to a webservice. The question is what is the state of node.js on windows, meaning is there support for odbc? [21:58] michaelhartau has joined the channel [21:59] totallymike: You just want to throw requests at it and make sure it returns the proper data [21:59] rauchg has joined the channel [21:59] Es0teric: Espresso is a Mac IDE [21:59] Es0teric: its not a framework.. [21:59] Es0teric: i think you mean cappuchino [21:59] totallymike: Then I have no idea what I'm thinking of [21:59] hh__: no it's a test framework for express [21:59] totallymike: but that could be it [21:59] rafmagana: hh__: I only use express, not superagent [21:59] Es0teric: Cappuchino is a js framework [21:59] hh__: but i think it's deprecated [21:59] bic2k has joined the channel [21:59] Es0teric: using Objective-J [22:00] Es0teric: which i think is retarded [22:00] bic2k: hey folks, I kinda use the wrong email address when I made my npm account with: npm adduser [22:00] hh__: rafmagana: super agent is just a similar module to request [22:00] bic2k: any way I can get that sorted? [22:00] isaacs: bic2k: email i@izs.me [22:00] kokotron has joined the channel [22:00] bic2k: isaacs: in that case, I just did :-) [22:01] pgte has joined the channel [22:01] isaacs: bic2k: kewl, i'll look into it [22:01] al3xnull has joined the channel [22:01] fomatin has joined the channel [22:01] rafmagana: hh__: ok, so I run my api server with mongo in a different port, and then I run the test and make http requests against my api, right? [22:02] totallymike: Es0teric: http://visionmedia.github.com/expresso/ [22:02] hh__: right [22:02] rafmagana: hh__ totallymike: any ideas on which is better, mocha, vows, expresso? [22:02] jergason has joined the channel [22:02] totallymike: Beats me, I've not actually played with them. [22:02] hh__: i don't know about better, but i use mocha [22:02] hh__: it's written by tj so [22:03] lupomontero has joined the channel [22:03] kvda has joined the channel [22:03] hh__: and you can write tdd or bdd test code, it supoports both semantics, output is pretty customizable, they give you a few options [22:04] joshgillies has joined the channel [22:04] Es0teric: totallymike i said Espresso [22:04] Es0teric: not Expresso [22:04] rafmagana: hh__: yes, I know that, the thing is that I haven't found too much tutorials/resources to learn it, I have found more about vows, but looks like complicated, the syntax is weird, I think, is it just me? [22:04] olegp has joined the channel [22:04] totallymike: I know. I said expresso first, and then corrected myself to espresso, which I believe is where the confusion came from. That was what I was referring to though. [22:05] totallymike: The coffee-lover in me has a hard time typing expresso and not wanting to fix it ;) [22:05] rafmagana: totallymike: hehehe [22:05] mikeal has joined the channel [22:05] Sam___ has joined the channel [22:05] Ragnok has joined the channel [22:05] Ragnok has joined the channel [22:06] totallymike: All right. Supper time. [22:06] rafmagana: hh__ totallymike: thanks for your time guys [22:06] hh__: rafmagana: the doc for mocha is pretty good, as well as vows from what i remember, but if you're still stuck, just find some express apps on github that happen to use either one for tests [22:06] hh__: and see how they do it [22:07] rafmagana: hh__: ok, sounds like a good idea, thanks! [22:07] hh__: but it's pretty straight forward, i think you're trying to find some deep integrated express testing framework, which there isn't [22:07] rafmagana: hh__: yes, I wanted that :) silly me [22:08] yogig has joined the channel [22:08] hh__: but yea, also, make sure if you're trying to test your rest api test that, don't try to mash everything into that, for instance don't try to test your db validations and errors there [22:09] relling has joined the channel [22:09] hh__: unless you're test is to test the response for when an error occurs etc. [22:09] blup has joined the channel [22:10] mikeal has joined the channel [22:12] hipsters_ has joined the channel [22:12] laggityman has joined the channel [22:13] frigidpanda: i installed node on vista [22:13] frigidpanda: but cant find it [22:13] frigidpanda: or is it a service or what? [22:13] insin: it's in Program Files [22:13] insin: just an .exe [22:13] rafmagana: hh__: sounds good, thanks again [22:13] frigidpanda: VISTA! [22:14] frigidpanda: its not in program files [22:14] bradleyg has joined the channel [22:14] CIA-19: node: 03Ben Noordhuis 07master * r1a97998 10/ src/node.cc : [22:14] CIA-19: node: process: fix process.title setter [22:14] CIA-19: node: Commit 19fd530 broke the argv initialization logic that's used on linux and [22:14] CIA-19: node: freebsd to update the process name (as displayed in tools like `top`). [22:14] CIA-19: node: Fixes test/simple/test-setproctitle.js. - http://git.io/Kir7_g [22:15] mikeal1 has joined the channel [22:15] laggityman: hi trying to run a blossom application on windows and getting dependency errors. Is it looking in wrong place for installed modules? [22:19] yaymukund has joined the channel [22:19] pokoli has joined the channel [22:21] EyePulp has joined the channel [22:21] mikeal has joined the channel [22:21] localhost has joined the channel [22:22] tokumine has joined the channel [22:22] tiglionabbit has joined the channel [22:26] Es0teric has left the channel [22:26] devgeeks has joined the channel [22:26] mikeal1 has joined the channel [22:27] djbell has joined the channel [22:28] AvianFlu has joined the channel [22:29] dudeinthemirror has joined the channel [22:32] tommyvyo has joined the channel [22:32] mikeal has joined the channel [22:33] Bonuspunkt: frigidpanda program files (x86) [22:33] disappea_: Is there a way to tell socket.io to do io.connect('http://mysite.com/nodejs/...') ? [22:33] jj0hns0n has joined the channel [22:34] bizniz98 has joined the channel [22:35] frigidpanda: hey [22:35] frigidpanda: ok [22:35] frigidpanda: i found node [22:35] frigidpanda: so [22:35] frigidpanda: is there an online help or what? [22:35] frigidpanda: in the console [22:35] Bonuspunkt: --> http://nodejs.org/docs/latest/api/ [22:36] arturadib has joined the channel [22:36] Vennril has joined the channel [22:37] mikeal1 has joined the channel [22:38] YoY has joined the channel [22:38] hotchkiss has joined the channel [22:38] hotchkiss: hey kids :P [22:38] yaymukund: hi dad [22:38] hotchkiss: hah [22:38] yaymukund: :D [22:40] bradleyg has joined the channel [22:41] spolu has joined the channel [22:41] mschneider has joined the channel [22:42] ph^ has joined the channel [22:42] dubenstein has joined the channel [22:45] Cromulent has joined the channel [22:45] EhevuTov has joined the channel [22:46] Vainoharhainen has joined the channel [22:46] tomV has joined the channel [22:48] piscisaureus_ has joined the channel [22:51] dodo has joined the channel [22:53] mikeal has joined the channel [22:57] disappearedng has joined the channel [22:57] dnolen has joined the channel [22:57] tvw has joined the channel [22:58] enjalot has joined the channel [22:58] tomnewmann has joined the channel [22:59] mikeal1 has joined the channel [23:00] simb has joined the channel [23:00] michaelmartinez has joined the channel [23:01] jergason has joined the channel [23:01] Vespakoen has joined the channel [23:01] hotchkiss has left the channel [23:02] ehazlett has joined the channel [23:03] a_meteorite has joined the channel [23:04] joshwines has joined the channel [23:04] sammmy has joined the channel [23:06] LuckySMack has joined the channel [23:07] patcito has joined the channel [23:07] st_luke has joined the channel [23:09] davidbanham has joined the channel [23:11] patcito has joined the channel [23:12] level09 has joined the channel [23:12] Phoenixz has joined the channel [23:12] CIA-19: node: 03Nathan Rajlich 07master * rdc75232 10/ (configure vcbuild.bat): [23:12] CIA-19: node: vcbuild: run the 'configure' script in vcbuild.bat [23:12] CIA-19: node: So that a 'config.gypi' file gets generated, which is [23:12] CIA-19: node: required for the `process.config` object (see #2928). - http://git.io/qk42Sw [23:12] MitchW has joined the channel [23:13] mike__ has joined the channel [23:13] djbell has joined the channel [23:14] Phoenixz has joined the channel [23:14] sammmy: Are module local variables cached or only the exports? [23:15] mikecool has left the channel [23:15] jesusabdullah: you don't get a new scope by requiring twice, no [23:16] elijah-away has joined the channel [23:16] sammmy: So, if I had var x = new Date();, x would forever be equal to the date of the first time the module was required? [23:17] patcito_ has joined the channel [23:17] ryanrolds_w: Love it when I find an `if(error) { callback(error); }` missing the `return` in live code. [23:18] patcito has joined the channel [23:18] isaacs: ryanrolds_w: it'd be nice if there was an easier way to pass-up [23:19] isaacs: like, make if(er)return cb(er) automatic somehow [23:19] stepheneb has joined the channel [23:19] isaacs: that's the one thing that's nice about throw in stackful code: you can handle errors where you know about them, without thinking about it [23:19] ryanrolds_w: Yeah, I don't mind the extra 1-3 lines. [23:19] isaacs: ryanrolds_w: it's just that it's an easy thing to mess up and not notice [23:19] ryanrolds_w: I just really hate finding ones missing the return. [23:19] ryanrolds_w: Yeah. [23:20] ryanrolds_w: If I really hated the issue I would make a little wrapper that run all the callbacks through. [23:20] ryanrolds_w: Then there will be the odd case you don't want something consuming your errors. [23:20] ryanrolds_w: meh [23:21] CIA-19: node: 03Ben Noordhuis 07master * rf9aa01d 10/ test/simple/test-debugger-repl.js : [23:21] CIA-19: node: test: don't let debugger listen on common.PORT [23:21] CIA-19: node: simple/test-debugger-repl has a tendency to fail and leave behind a stray [23:21] CIA-19: node: process that listens on common.PORT, making later tests fail with EADDRINUSE. - http://git.io/empoaA [23:21] CIA-19: node: 03Ben Noordhuis 07master * r78dc13f 10/ (2 files in 2 dirs): [23:21] CIA-19: node: events: don't delete the listeners array [23:21] CIA-19: node: The documentation implies that .removeAllListeners() leaves the listeners array [23:21] CIA-19: node: untouched. Make it so. - http://git.io/GTgSmQ [23:21] ryanrolds_w: isaacs: May just point that out to the CS guys. [23:21] ryanrolds_w: ^_^ [23:22] ryanrolds_w: One more thing they can do make debugging a bigger pain the ass. [23:23] EhevuTov_ has joined the channel [23:24] ryanrolds_w: isaacs: Is a problem you're thinking of solving? [23:24] justicefries: what's the accepted way to keep a node server up now that forever seems borked for now? [23:24] justicefries: in 0.6.x [23:25] justicefries: I was thinking of just using upstart. [23:25] Phoenixz: learnboost cluster? [23:25] justicefries: ah and respawn on death? [23:25] Phoenixz: justicefries: afaik, does it [23:26] brianseeders has joined the channel [23:26] Phoenixz: justicefries: I have not really worked with either yet, but did some reading on both a week ago.. seemed to me that learnboost cluster was the better of the two anyway [23:26] justicefries: Ah, I must be thinking now that they built cluster right into node. [23:26] justicefries: but a slightly different one. [23:26] Phoenixz: that, or please somebody tell me I am mistaken so that I wont waste my time on it :) [23:26] justicefries: nodejs.org/api/cluster.html [23:27] ryanrolds_w: You could use Cast. Haha. It has it's own version of Node stuck at 0.4.8 (i think), so it never breaks. [23:27] CIA-19: node: 03Ben Noordhuis 07master * r761a82b 10/ test/simple/test-event-emitter-remove-all-listeners.js : [23:27] CIA-19: node: test: make .removeAllListeners() test more exhaustive [23:27] CIA-19: node: Also test removal of multiple listeners, it's a separate code path. - http://git.io/cSkEng [23:27] markdaws has joined the channel [23:28] Phoenixz: You could also just not use node at all... problem solved :) [23:28] heavysixer has joined the channel [23:28] Phoenixz: Hell, get it over with, dont use a computer at all :) [23:29] MitchW: extremes never got anyone anywhere ;) [23:29] Vespakoen_ has joined the channel [23:29] med_ has joined the channel [23:29] med_ has joined the channel [23:29] ryanrolds_w: MitchW: What about to the moon? [23:30] eresair has joined the channel [23:31] Phoenixz: Just a longshot and very probably offtopic... but in relevant channels nobody is responding.. Maybe actually somebody over here who knows something about @#($*23 apache virtual host name configuration with passenger? http://pastebin.com/H2fB3aUv my 2 php sites show passenger errors even though they dont have anything about passenger configured.. No idea why, no idea how to solve this.. [23:31] vam3c has joined the channel [23:31] nerdfiles has joined the channel [23:32] mikeal has joined the channel [23:32] ryanrolds_w: Phoenixz: Any chance there is passanger stuff in the confs? [23:33] ryanrolds_w: *in the other confs [23:33] kvda: What are some of the better (fast/powerful) tempting engines? I like the simplicity and speed of underscore templates but I need partials support [23:34] justicefries: jade [23:34] Phoenixz: ryanrolds_w: nope.. a search shows that all passenger configuration is inside the virtualhost for chiliproject.. [23:35] kvda: justicefries, don't like the pseudo-html syntax of jade [23:35] kvda: but thank you [23:35] ryanrolds_w: Phoenixz: Did you change the confs? Restart apache after? [23:35] ryanrolds_w: er reload or what ever the conf refresh thing is. [23:36] isaacs: ryanrolds_w: i don't really see any way to solve that without significantly changing node. but it's worth being aware of, as we try to make node more debuggable and stable, i think [23:36] Joeysomo has joined the channel [23:37] Phoenixz: ryanrolds_w: Actually, the config was okay, I just added a new virtual host name "api.blah.com", restarted apache, and api.blah.com showed the error.. blah.blah.com not yet.. Then I added api.blah.com in the /etc/hosts file (we just created the domain now, so maybe the IP was not available yet or something) and then suddenly both domains give that passenger error.. [23:37] Phoenixz: ryanrolds_w: Restarted apache like 20 times already :_) [23:37] ryanrolds_w: isaacs: Thanks. Just curious. I don't know of a good way to solve it there. Looks like one of those gotcahs that every language/platform has. [23:38] ryanrolds_w: Phoenixz: :( Sorry, at the end of my passanger knowledge. The vhost conf looks right. [23:39] PsiliPharm has joined the channel [23:39] jj0hns0n has joined the channel [23:40] dodo has joined the channel [23:41] Phoenixz: ryanrolds_w: no problem :) Thanks for trying anyway [23:41] traph has joined the channel [23:43] ryanrolds_w: Phoenixz: Is the passanger module still active? [23:43] shanez has joined the channel [23:43] isaacs: ryanrolds_w: you could solve it with API, i guess: https://gist.github.com/ee9e1d264f49b48e6162 [23:43] tonymilne has joined the channel [23:44] zmbmartin has joined the channel [23:44] retornam has joined the channel [23:44] tonymilne_ has joined the channel [23:44] ryanrolds_w: isaacs: Yeah, seen some people do it that way. I don't know if worth the hassle of having to know if anything upstream is eating the errors. [23:45] zmbmartin: Can I set a file like .nvmrc in a folder that is read so when I enter that folder a specific node version is used? [23:45] Phoenixz: ryanrolds_w: umm, how would I know that? [23:45] Lorentz: wonder why node is used only mostly for web stuff [23:45] Phoenixz: .... [23:45] Phoenixz: wait.. [23:45] Lorentz: wonder if anyone else is doing desktop-y things with it [23:45] ryanrolds_w: isaacs: It also breaks the callback(error, result, result, ....) argument pattern and may confuse some people. [23:45] isaacs: ryanrolds_w: nono, the function is still a normal cb [23:45] ryanrolds_w: Oh, wit [23:45] isaacs: ryanrolds_w: they both are [23:45] ryanrolds_w: Wait [23:45] isaacs: ryanrolds_w: also, just updated the gist :) [23:45] ryanrolds_w: yeah, it keeps that going. [23:46] ryanrolds_w: Hum [23:46] isaacs: adding Function.prototype.eb [23:46] isaacs: ryanrolds_w: of course, you're replacing "remembering to return cb(er)" with "remembering to call eb(cb, ...) [23:47] Phoenixz: ryanrolds_w: Meh.. killing passenger and then restarting didnt do it either.. [23:47] ryanrolds_w: Phoenixz: Do you have a /etc/apache2/mod-enabled dir? [23:47] Joeysomo_ has joined the channel [23:47] ryanrolds_w: isaacs: haha, yeah. [23:47] Phoenixz: ryanrolds_w: CentOS6 here (not my idea) [23:47] Joeysomo_ has joined the channel [23:47] tylerstalder has joined the channel [23:48] ryanrolds_w: Phoenixz: Hum, check the dir that has your confs. A lot of bundled apaches have a dir just for active modules. [23:48] tommyvyo has joined the channel [23:49] ryanrolds_w: Phoenixz: You're looking for something like mod_passanger [23:49] Ragnok has joined the channel [23:49] Ragnok has joined the channel [23:50] jaha: whats the proper way to git push local npm modules? [23:50] Phoenixz: ryanrolds_w: there is a modules directory, filled to the brim with modules.. but I don't think thats it, because as long as I disable the load_module passenger in the chiliprject virtualhost name, nothing is wrong with the PHP sites.. [23:51] zmbmartin has left the channel [23:51] jaha: do i keep the node_modules out of the git repo and just use a npm update command on the git post-receieve hook? [23:51] YoY has joined the channel [23:51] isaacs: jaha: http://www.mikealrogers.com/posts/nodemodules-in-git.html [23:51] Knowledge has joined the channel [23:51] copongcopong has joined the channel [23:52] sako has left the channel [23:52] isaacs: jaha: if that's not to your liking, you should also check out http://blog.nodejs.org/2012/02/27/managing-node-js-dependencies-with-shrinkwrap/ [23:52] jaha: isaacs: thanks [23:54] ryanrolds_w: Phoenixz: Any chance you have a .htaccess file doing something odd? [23:55] Phoenixz: ryanrolds_w: Nope.. already checked that one (twice) [23:56] myndzi: anybody used htmlparser? [23:56] enmand has joined the channel [23:56] nicholasf has joined the channel [23:56] Ond has joined the channel