[00:00] dgreensp: The node repl doesn't seem to work inside Emacs shell. I've already tried NODE_NO_READLINE=1. When I press "enter", it doesn't seem to catch it. [00:00] dgreensp: has anyone encountered this? [00:01] dgreensp: and when I ctrl-C node in an Emacs shell, it brings down bash with it and I have to start a new shell [00:01] dgreensp: this is on OS X [00:02] silky has joined the channel [00:03] cognominal has joined the channel [00:06] brianseeders has joined the channel [00:06] ericmuyser has joined the channel [00:08] neilk_ has joined the channel [00:08] Sorella: dgreensp, works fine for me on Ubuntu/Arch. [00:08] sivy has joined the channel [00:09] TechCel has joined the channel [00:09] Sorella: both with M-x shell and M-x eshell [00:09] vicapow has joined the channel [00:10] vicapow: anyone know how i can have multiple node servers running on the same machine? [00:10] vicapow: with different domains? [00:10] heavysixer has joined the channel [00:10] jerrysv: vicapow: same ip address or multiple ip addresses? [00:10] admc has joined the channel [00:10] vicapow: jerrysv: save IP [00:11] halcyon918 has left the channel [00:11] tjholowaychuk: vicapow you can use node-http-proxy, just dont use the middleware stuff right now [00:11] vicapow: jerrysv: unless there's some way to have different IPs on a single Joyent SmartMachine [00:11] jakehow has joined the channel [00:11] jakehow__ has joined the channel [00:11] jakehow_ has joined the channel [00:11] dgreensp: Sorella: hmm. I vaguely remember a bug like this once being OS X-specific. :( Running just "node" in shell or eshell prints a prompt and then dies. [00:11] jerrysv: tjholowaychuk: ha, was just typing to get your attention :) [00:11] jerrysv: vicapow: ^^ what tj said ^^ [00:12] chapel: vicapow: what type of servers, like express servers, or more custom stuff? [00:12] vicapow: chapel: why would that matter? [00:13] chapel: well depends on what you are trying to do [00:13] chapel: connect/express supports vhosts out of the box [00:13] k1ttty has joined the channel [00:13] vicapow: chapel: oh. interesting [00:13] chapel: which means you can do sites with that really easily without having to custom code some vhost stuff [00:13] tjholowaychuk: yeah it's mostly a question of if you want to manage them as one server or not [00:13] chapel: tjholowaychuk: sure, but thats why I ask what he is doing [00:14] tjholowaychuk: usually vhost type of stuff are just smaller apps so managing them as one can be less of a PITA [00:14] chapel: he might just have a bunch of small sites [00:14] Sorella: dgreensp, ah, I wouldn't know. I'm a big OS X/Apple hater to get one of those thins :3 [00:14] Sorella: things, even. [00:14] nforgerit has joined the channel [00:15] mynyml has joined the channel [00:15] jacobolus has joined the channel [00:15] wookiehang0ver has joined the channel [00:15] jeffmoss has joined the channel [00:16] jeffmoss: I'm trying to use connect to do static files and if there is no static file then proxy the request to another server/port [00:16] jeffmoss: had this code that was working without connect [00:16] losing has joined the channel [00:17] jeffmoss: but now using the middleware to do static files, none of my request object events are firing... [00:17] jeffmoss: I look at the request object, and it has this: complete: true [00:17] tjholowaychuk: jeffmoss can i see a gist? [00:18] jeffmoss: can someone fill me in here what am I missing? it seems like nothing is streaming anymore.... [00:18] jeffmoss: what do you want to see? [00:18] tjholowaychuk: the middleware usage [00:19] cronopio has joined the channel [00:20] jeffmoss: https://gist.github.com/c5f4b4920becd7210349 [00:21] jeffmoss: I've included the output as well, the problem really begins when I don't get "Proxy response" [00:21] jeffmoss: callback never fires [00:21] replore_ has joined the channel [00:21] replore has joined the channel [00:22] tjholowaychuk: and "test" is a file you have? in that public dir? [00:22] dgreensp has joined the channel [00:22] jeffmoss: it's a junk request [00:22] jeffmoss: no file [00:22] jeffmoss: I can get the middleware to return files [00:22] jeffmoss: and when it doesn't find a file, it does enter this block [00:24] nibblebot has joined the channel [00:24] tjholowaychuk: the "end" event probably already fired while static() did the stat() [00:24] jeffmoss: the req.on('end') doesnt' fire, cause it already fired I'm guessing [00:24] tjholowaychuk: if it's GET you dont really need tht [00:24] tjholowaychuk: that* [00:25] tjholowaychuk: alternatively you can move static() below that other one [00:25] jeffmoss: node-static did the same thing which I thought was unfortunate [00:25] tjholowaychuk: I didnt wrap it in the stream pausing logic because typically GET has no body [00:25] tjholowaychuk: so it's wasteful [00:25] jeffmoss: it'd take the whole request, couldn't just look at the path [00:26] jeffmoss: so I'd have to hack the static middleware to get the behavior I'm after? [00:26] tjholowaychuk: no [00:26] tjholowaychuk: just move the static() use() below that other one [00:26] jeffmoss: well what I wanted was, 1. look for a file, if nothing found 2. proxy to other server [00:26] tjholowaychuk: ah [00:27] tjholowaychuk: you can easily assume GET has no body [00:27] tjholowaychuk: but [00:27] jeffmoss: glad I caught you here btw, so does what I'm after make sense? It seems nobody though of this scenario, is it necessary for static to end the request? [00:27] tjholowaychuk: for consistency sake I'll add an issue to add the "pause" stuff to static() [00:27] tjholowaychuk: it doesnt end the request [00:27] tjholowaychuk: it just doesnt buffer the events [00:28] jeffmoss: right, but is there a case where you would have to get the end event? [00:28] jeffmoss: vs just looking at the request.url [00:28] tjholowaychuk: on a GET you dont need "end" really [00:28] jeffmoss: right, and does static care about anything other than get? [00:28] tjholowaychuk: but for something like your use-case i see how it's inconsistent [00:28] tjholowaychuk: HEAD [00:28] tjholowaychuk: that's it [00:29] jeffmoss: it sounds like there's never a case where you woldn't want to pause the events then [00:29] andrewfff has joined the channel [00:29] tjholowaychuk: only for cases like yours really [00:29] xdamman has joined the channel [00:29] tjholowaychuk: i've never come across that use-case but it makes sense for proxying [00:30] xdamman: Anyone using Cluster here with ExpressJS? [00:30] dgreensp has joined the channel [00:30] xdamman: tjholowaychuk: hey good to see you [00:30] tjholowaychuk: hey hey [00:30] tjholowaychuk: having issues? [00:30] jeffmoss: in my case you WOULD want to pause it, I'm just wondering if you were to modify that so the middleware so that it bufferes and I get the end event, is that going to screw other people up? [00:30] kiffness has joined the channel [00:31] jeffmoss: I can't imagine if it's only get and head requests [00:31] tjholowaychuk: jeffmoss nah it shouldn't really affect anyone other than adding a bit of overhead [00:31] xdamman: I was playing with it and perfs are not as good as without which doesn't seem right [00:31] tjholowaychuk: static() simply ignores non-GET/HEAD requests [00:31] tjholowaychuk: xdamman hmm lol yeah that isnt righht [00:31] jeffmoss: can you think of any workarounds? I would love to stream the proxy request, first and foremost, what I'd probably do at this point is just use the buffered requests [00:32] xdamman: Without Cluser: Transaction rate: 58.67 trans/sec, with 1 worker: 53, with 4 workers 34 [00:32] tjholowaychuk: xdamman it depends on the # of cpus etc as well, but that's definitely odd [00:32] xdamman: On a MacBookAir Intel Core 2 DUO 2.13GHz [00:32] a_suenami has joined the channel [00:33] xdamman: I was testing with siege -c25 -t10S [00:33] xdamman: (25 concurrent connections for 10s) [00:33] tjholowaychuk: probably worth testing it on some production hardware instead [00:33] tjholowaychuk: it's not a proxy so you should see roughly linear gains [00:34] xdamman: are you using cluster on production? [00:35] joelio_ has joined the channel [00:35] skm has joined the channel [00:35] tjholowaychuk: yup [00:35] xdamman: How many req/s does it handle? [00:35] tjholowaychuk: that's up to the app not cluster [00:35] tjholowaychuk: cluster doesnt touch requests [00:35] tjholowaychuk: on my machine a simple hello-world type of request w/ express/cluster I can get an easy 32k [00:35] cognominal has joined the channel [00:36] tjholowaychuk: the rest is up to database drives etc [00:36] xdamman: how do you test that? With ab? [00:36] tjholowaychuk: yeah usually just ab [00:36] bentkus has joined the channel [00:36] xdamman: ab is broken on Lion, you need to monkey patch it :/ [00:36] jvolkman has joined the channel [00:36] tjholowaychuk: remember to use NODE_ENV=production as well [00:36] tjholowaychuk: oh lame [00:36] tjholowaychuk: haha [00:36] admc has joined the channel [00:36] nitinb has joined the channel [00:37] xdamman: that env var affects cluster? [00:37] tjholowaychuk: just express [00:37] xdamman: ok [00:37] tjholowaychuk: if your benchmarking a page that uses templates [00:37] joshkehn has joined the channel [00:37] _ralph_ has joined the channel [00:37] xdamman: I'm basically just benchmarking a one blank pixel event recorder [00:38] tjholowaychuk: gotcha [00:38] xdamman: mongo might be the bottleneck for that [00:38] tjholowaychuk: wouldnt be surprised [00:39] tjholowaychuk: for data like that redis would probably be better [00:39] tjholowaychuk: something lighter like that for transient data [00:39] tanepiper_ has joined the channel [00:39] wookiehangover has joined the channel [00:39] xdamman: yeah but to query it mongo is better. [00:39] xdamman: I guess the best would be to do bulk insert from redis [00:40] xdamman: to mongo [00:40] jeffmoss: is mongodb the top pick for document database? was going to use it because it has very nice feel to it, but I have never used it in production [00:40] jtsnow has joined the channel [00:40] jeffmoss: I use solr in production and it's ok [00:40] jchris1 has joined the channel [00:40] xdamman: jeffmoss: yep we use it on prod for storify [00:41] Circlefusion has joined the channel [00:41] tjholowaychuk: xdamman that number you have seems abnormally low though [00:41] tjholowaychuk: something is definitely up [00:42] tjholowaychuk: ~50rps is like php on a bad day [00:42] ticdup has joined the channel [00:42] jeffmoss: tjholowaychuk: so looking at this code, adding this util.pause to it seems like it's probably not going to solve my problem, isn't the event going to fire immediately once it's unpaused? Perhaps I should just send the buffered data [00:42] dgreensp has joined the channel [00:43] tjholowaychuk: jeffmoss it should solve your issue, maybe try editing your node_modules/connect with the pause util in [00:43] tjholowaychuk: and see if that does the trick [00:44] descipher has joined the channel [00:44] xdamman: tjholowaychuk: ;-) [00:45] tjholowaychuk: xdamman if you find out what it is let me know, im curious if it's something to with mongo [00:45] xdamman: tjholowaychuk: ok [00:45] joshkehn has joined the channel [00:46] marlun_ has joined the channel [00:47] mjijackson has joined the channel [00:47] losing has joined the channel [00:48] ditesh|cassini has joined the channel [00:50] smtlaissezfaire_ has joined the channel [00:51] TokyoDan1 has joined the channel [00:52] devongovett has joined the channel [00:52] CIA-30: node: 03Ryan Dahl 07master * r52044fd 10/ (3 files in 2 dirs): [00:52] CIA-30: node: Merge remote branch 'origin/v0.4' [00:52] CIA-30: node: Conflicts: [00:52] CIA-30: node: lib/net.js [00:52] CIA-30: node: test/simple/test-buffer.js - https://github.com/joyent/node/commit/52044fd1b158b91304a4641eaf893f9fe225ea67 [00:53] TechCel has joined the channel [00:53] jokil has joined the channel [00:53] sridatta has joined the channel [00:54] stepheneb has joined the channel [00:54] TuWebO has joined the channel [00:54] mike5w3c_ has joined the channel [00:55] arthurdebert has joined the channel [00:56] joshkehn has joined the channel [00:56] dgreensp has joined the channel [00:57] dmkbot: joyent/node: koichik: Buffer.write() should always set Buffer._charsWritten - https://github.com/joyent/node/issues/1633 [00:59] jeffmoss: tjholowaychuk: https://gist.github.com/1202326 [00:59] jeffmoss: pause() and resume() don't do what I'm expecting apparently [01:00] jeffmoss: you still there? [01:01] jeffmoss: maybe complete is not what I think it is [01:01] rfay has joined the channel [01:01] nerdy has joined the channel [01:01] tjholowaychuk: complete is set internally so it may very well be complete but that doesnt mean connect wont re-emit those [01:02] tjholowaychuk: the pause util doesnt reset any of those flags [01:02] ryanseddon has joined the channel [01:03] enmand has joined the channel [01:03] amerine has joined the channel [01:03] tylerstalder has joined the channel [01:05] postwait has joined the channel [01:07] neoesque has joined the channel [01:08] karlbright has joined the channel [01:09] Destos has joined the channel [01:09] jeffmoss: so I'm understanding all of this a lot better, sounds like when any IO happens in this middleware layer I lose the convenient behavior I'm used to [01:09] vicapow has joined the channel [01:09] ryanseddon: Would anyone be able to point me in the right direction for websocket protocol frame updates? I'm trying to update a FF plugin BrowserSocket to use the latest stable websocket protocol changes. I've updated the handshake process but am not sure how to do the framing? https://github.com/ryanseddon/BrowserSocket/blob/master/components/BrowserSocketConnection.js#L224 [01:10] slifty has joined the channel [01:11] tjholowaychuk: jeffmoss in some sense, you would lose it with any other abstraction anyway [01:11] tjholowaychuk: but yes since middleware are linear that is a drawback [01:12] tjholowaychuk: i've written prototypes that get around that but the configuration of those apps is much more complicated [01:12] ryanseddon: I have been looking at the spec http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-10#page-16 but I can't wrap my brain around what needs to change [01:12] tjholowaychuk: and people have issues with node as-is [01:13] jeffmoss: yeah, I'm thinking the holy grail solution for this is a node middleware that doesn't do stat inline, but does it on a timer or something, and only does hash lookups [01:13] jeffmoss: would you agree? [01:13] tjholowaychuk: there is no holy grail solution [01:14] dannycoates: ryanseddon: socket.io implements the latest protocol, you might find this helpful https://github.com/LearnBoost/socket.io/blob/master/lib/transports/websocket/hybi-07-12.js [01:14] tjholowaychuk: it's not like stat() is the only thing async you do in middleware [01:14] jeffmoss: I mean for what I'm doing that's the only way I'm going to get perfect streaming behavior [01:15] dgreensp has joined the channel [01:15] jeffmoss: instant file lookup, knows instantly whether to start the proxy request or not [01:15] enhydra has joined the channel [01:16] ryanseddon: dannycoates: Cheers, I will check out what they're doing. [01:16] tjholowaychuk: ok, im just saying that it's not going to do everything you want, just like any other framework it'll do 80% and somewhere along the line you'll want to change things [01:16] tjholowaychuk: keep in mind you can wrap middlware with other middlweare [01:16] tjholowaychuk: so you could cache stat() calls [01:16] tjholowaychuk: if you really wanted to [01:17] jeffmoss: how would I do that? your'e saying I'd use static and redefine stat() somehow? [01:18] tjholowaychuk: no static() is just a function [01:18] tjholowaychuk: so you can wrap it in another function [01:18] tjholowaychuk: or use connect.static.send() directly [01:18] erikano_ has joined the channel [01:19] trepan has joined the channel [01:19] TuWebO has left the channel [01:19] tjholowaychuk: keep in mind you're worrying about a stat() being fast, meanwhile using node to proxy [01:19] tjholowaychuk: which wont be very fast [01:19] mjijackson: jeffmoss: i wrote a web framework that will let you do what you want to do easily. [01:19] mjijackson: http://github.com/mjijackson/link [01:20] mjijackson: i'm working on some better docs at the moment, but they'll be coming later this week. [01:20] mjijackson: g2g right now, otherwise i'd stay and chat. [01:20] mjijackson: feel free to ping me if you decide to give it a go and can't figure it out. [01:20] NegativeK has joined the channel [01:21] marcello3d has joined the channel [01:22] secoif has joined the channel [01:23] slifty has joined the channel [01:24] broofa has joined the channel [01:25] slifty has joined the channel [01:25] davidbanham has joined the channel [01:26] andrewfff has joined the channel [01:26] davidbanham: When we do tracking/analytics on the web, we usually use cookies. But the user's MAC address is sent with each and every TCP packet, right? Is there a reason we don't use the MAC address to track individual users? [01:27] a_meteorite: davidbanham: MAC address is for the last hop the packet took [01:27] AvianFlu: I don't think the MAC address goes past your router [01:27] a_meteorite: MAC is layer 2 [01:27] AvianFlu: yeah [01:27] AvianFlu: machine-to-machine [01:27] jeffmoss: if you get a mac address it's from YOUR router [01:27] sorensen: am not machine [01:27] sorensen: am jonny 5! [01:28] AvianFlu: can we get someone to answer this definitively? we just got 3 different suggestions on whose MAC it is [01:28] a_meteorite: it actually stands for media access control [01:28] RyanW: ACTION disassembles sorensen  [01:28] Nexxy: technical foul [01:28] a_meteorite: over the internet, the MAC will NOT be the one from your router [01:28] a_meteorite: it will be the last router to route the packet to you [01:28] AvianFlu: yeah, that's my understanding too [01:28] a_meteorite: MAC is at the ethernet level [01:29] a_meteorite: ethernet has no concept beyond point-to-point [01:29] AvianFlu: yep [01:29] AvianFlu: that's level 3 stuff there [01:29] sorensen: no dissasemble! am alive! [01:29] AvianFlu: keep your packets inside my frames where they belong! [01:29] AvianFlu: ... [01:30] sorensen: AvianFlu: that sounds borderline dirty... [01:30] a_meteorite: I think that was the point [01:30] sorensen: :D [01:30] AvianFlu: too much drinkey, not enough sleepey [01:30] MikeW: hey [01:31] davidbanham: Ahh, I knew there had to be something I was missing. Back to networking 101 for me. [01:31] davidbanham: Thanks guys. [01:31] a_meteorite: I should get my cisco cert... [01:31] a_meteorite: I took all the classes for it [01:31] AvianFlu: davidbanham: google "OSI Model". you'll probably get a picture that will show you this in a simple way [01:32] jeffmoss: a_meteorite: we saying the same thing? his wireless access point or whatever, right? [01:32] davidbanham: AvianFlu: Cheers, I learnt the OSI back in Uni, I think I was actually eligible for a Cisco cert of some kind, but the knowledge is pretty rusty by now! [01:32] a_meteorite: jeffmoss: no? [01:32] jeffmoss: or did you mean "not necessarily" [01:32] Nuck: People should start making video games based on terrible 80's Scifi [01:32] AvianFlu: yeah, that stuff can get esoteric for sure [01:32] dmkbot: joyent/node: indutny: High-level debugger API - https://github.com/joyent/node/issues/1667 [01:33] MikeW: So if I want to have a single server running a node instance, and thousands of concurrent socket.io connections open to it from webclients, they each push status updates every few seconds to the node server... but I want to record them quickly to the server filesystem quickly without killing disk IO or server perf [01:33] a_meteorite: MAC address is only valid between two end-points [01:33] a_meteorite: ethernet has no concept beyond the local link [01:33] vns has joined the channel [01:33] a_meteorite: when a packet is routed, the MAC address gets replaced with the local MAC [01:33] jeffmoss: so if he plugs directly into a wireless router, every packet will have that router's mac address on it [01:34] vipaca has joined the channel [01:34] vipaca has joined the channel [01:34] a_meteorite: no, packets from his computer will have a MAC address of his computer's MAC with the destination of the router's MAC [01:34] MikeW: any suggestions? I think one connection to the database from node per client is a bad idea, maybe one persistent connection from node to a DB server, or maybe some sort of flat text database, or maybe write to redis or something? [01:34] jeffmoss: and incoming packets have the router's mac [01:34] MikeW: Hmm, perhaps something like this already exists. I should look around [01:35] davidbanham: MikeW: I'm no NoSQL guru, but it does look like a job for Redis. [01:35] a_meteorite: assuming a personal NAT router, yes [01:35] christopherscott has joined the channel [01:35] a_meteorite: but the end server didn't know your MAC address [01:35] rchavik has joined the channel [01:35] H4ns` has joined the channel [01:35] a_meteorite: only the ISP's end router knows it [01:35] MikeW: guys, MAC addresses don't persist past ANY router [01:36] MikeW: only switches [01:36] jeffmoss: ok, you so now you're saying the same thing as me? [01:36] a_meteorite: Yeah, that's what I'm saying [01:36] jeffmoss: now? [01:36] jeffmoss: ok [01:36] a_meteorite: ethernet has no concept beyond the local link [01:36] jj0hns0n has joined the channel [01:36] a_meteorite: easiest way to say it [01:37] vipaca: Any idea if there is support for SSL CRL on node.js? [01:37] a_meteorite: ACTION goes to school [01:38] JakeyChan has joined the channel [01:38] MikeW: oooooh darn, node.js would be behind a nginx proxy on that box. Would nginx blow up with having a hundred thousand socket.io connections open proxying to node.js? [01:38] vicapow_ has joined the channel [01:38] bnoordhuis: vipaca: yes, you can pass a crl list to tls.Server [01:39] vicapow__ has joined the channel [01:40] JakeyChan has joined the channel [01:40] christopherscott has left the channel [01:40] slifty has joined the channel [01:40] slifty has joined the channel [01:40] vipaca: bnoordhuis I don't see this in the docs [01:41] bnoordhuis: vipaca: who needs docs when you've got the code? [01:41] jeffmoss: MikeW: they don't persist past switches either [01:41] jeffmoss: they persist past a bridge/hub [01:41] MikeW: oh the answer is: nginx doesn't do HTTP/1.1 past websockets [01:41] Emmanuel` has joined the channel [01:41] MikeW: jeffmoss: man, my CCNA was too long ago [01:42] jeffmoss: I had to look that up when you said that [01:42] abraxas has joined the channel [01:42] dmkbot: joyent/node: jordansissel: url and http(s).request should be better friends - https://github.com/joyent/node/issues/1670 [01:45] toki_kanno_ has joined the channel [01:46] ditesh|cassini has joined the channel [01:46] vipaca: bnoordhuis: What release train are you looking at 4.X or 5.X [01:47] bnoordhuis: vipaca: master [01:47] freeformz has joined the channel [01:47] vipaca: bnoordhuis I see it now in 4.X as well [01:48] vipaca: bnoordhuis: Thanks for the answer I might have just assumed it not there had you not spoken up. [01:48] vipaca: That a shame its not document in either release documents [01:49] JakeyChan_ has joined the channel [01:49] bnoordhuis: vipaca: the docs are a work in progress [01:49] bnoordhuis: we welcome patches :) [01:50] vipaca: bnoordhuis Now for the followup does TLS support CRLDistributionPoints extension [01:50] vipaca: heh [01:51] JumpMast3r has joined the channel [01:51] bnoordhuis: vipaca: don't think so [01:52] bnoordhuis: vipaca: we use openssl's X509_STORE_add_crl() function, no extra config [01:52] dmkbot: joyent/node: ry: implement dns module functionality with getaddrinfo and friends - https://github.com/joyent/node/issues/798 [01:53] JaKWaC has joined the channel [01:54] captain_morgan has joined the channel [01:56] jeffmoss: what's the term used when you're talking about something happening "in the same thread" but in the event model, "in the same segment" ? is segment the word? [01:58] devrim has joined the channel [01:59] vicapow: jeffmoss: i dont think there is. do you mean context? [01:59] jeffmoss: context sounds right [01:59] jeffmoss: kindof [01:59] devrim has joined the channel [01:59] jeffmoss: same event, same context, these are all words that confuse people I'm talking to heh [01:59] ji0n has joined the channel [02:00] vicapow: jeffmoss: states? [02:00] plutoniix has joined the channel [02:00] greg has joined the channel [02:00] norviller has joined the channel [02:01] vipaca: bnoordhuis: I'd to find more details out about the dynamic crl, but if its not there it would be a cool addition [02:01] vipaca: along with possibly OCSP [02:02] aguynamedben has joined the channel [02:03] wilmoore has joined the channel [02:04] JaKWaC has joined the channel [02:04] descipher_ has joined the channel [02:04] abraxas has joined the channel [02:04] fmeyer has joined the channel [02:05] savage- has joined the channel [02:06] brianseeders has joined the channel [02:07] luke` has joined the channel [02:08] devrim has joined the channel [02:09] nakkor has joined the channel [02:10] sivy has joined the channel [02:10] bicranial has joined the channel [02:11] jetienne_ has joined the channel [02:11] joshkehn has joined the channel [02:13] chapel has joined the channel [02:13] freeformz has joined the channel [02:14] z6Dabrata has joined the channel [02:15] boucher-macbook has joined the channel [02:16] boucher-macbook: hey, can anyone give me a quick hint on setting http headers when making a request? [02:16] boucher-macbook: i thought the options might take a headers property, but that doesn't seem to do the trick [02:17] boucher-macbook: hmm, actually maybe that is working and the problem is somewhere else [02:17] jerrysv has joined the channel [02:18] k1ttty has joined the channel [02:18] boucher-macbook: sorry about that [02:18] captain_morgan has joined the channel [02:19] hydrozen has joined the channel [02:20] RyanW: not a single oint [02:21] RyanW: oops wrong window [02:21] vicapow: boucher-macbook: are you using express? [02:22] amigojapan has joined the channel [02:22] dmkbot: joyent/libuv: msporleder: this should give a working netbsd build of libuv - https://github.com/joyent/libuv/issues/180 [02:23] necrodearia has joined the channel [02:24] JakeyChan_ has joined the channel [02:25] jtsnow has joined the channel [02:26] human has joined the channel [02:27] ydef has left the channel [02:27] jmoyers has joined the channel [02:27] dmkbot: joyent/node: amdg: Compile on NetBSD - https://github.com/joyent/node/issues/1112 [02:27] CoinOpeBoy has joined the channel [02:29] JaKWaC has joined the channel [02:30] jmoyers: so [02:31] jmoyers: after reading the source for pump and pipe [02:31] jmoyers: is pipe the new pump ;-)? or are there distinct use cases [02:31] jmoyers: i see pipe has code for multiple streams, where pump is for only a source and destination [02:32] zemanel has joined the channel [02:33] rmzg has joined the channel [02:34] hydrozen has joined the channel [02:35] JaKWaC has joined the channel [02:35] ericmuyser has joined the channel [02:38] joshkehn has joined the channel [02:39] captain_morgan has joined the channel [02:40] k1ttty has joined the channel [02:41] fmoga has joined the channel [02:45] fmoga: hi! i'm getting "execvp(): No such file or directory" when starting a couple of node processes with forever [02:45] fmoga: using node 0.4.9 on centos [02:45] fmoga: any ideas how to fix this? [02:46] ldmiao has joined the channel [02:47] dmkbot: joyent/node: koichik: Buffer.write() should always set Buffer._charsWritten - https://github.com/joyent/node/issues/1633 [02:50] boucher-macbook: vicapow: no i was just writing a one off example for someone else [02:50] freeformz has joined the channel [02:52] jj0hns0n has joined the channel [02:52] Charuru has joined the channel [02:52] mecablaze has joined the channel [02:52] CIA-30: node: 03koichik 07master * r526c54c 10/ (lib/buffer.js test/simple/test-buffer.js): [02:52] CIA-30: node: buffer: write() should always set _charsWritten. [02:52] CIA-30: node: Fixes #1633. - https://github.com/joyent/node/commit/526c54c9790cd8edff259686785d7b844fd29005 [02:53] mecablaze: I am trying to use the "file" module off npm. It seems to me that file.walk is not very useful because you do not know when the walk is over. Or am I just missing something silly? [02:54] JaKWaC has joined the channel [02:54] vicapow_ has joined the channel [02:55] jamescarr__: hey, help me understand this... in some code I saw this being used to determine if a function is async: !!fn.length [02:55] jamescarr__: I see it returns true if a function takes 2 args... [02:55] jamescarr__: but I don't get it? [02:56] vidi has joined the channel [02:56] boaz has joined the channel [02:58] cognominal has joined the channel [02:58] chapel: jamescarr__: http://caolanmcmahon.com/posts/flexible_callback_arguments << that? [02:59] jmoyers: jamescarr__ is it not just expecting a function, and therefor by convention async? [02:59] jmoyers: you can't tell if something goes async on you [02:59] kriszyp has joined the channel [02:59] jetienne_ has joined the channel [03:00] mendel_ has joined the channel [03:00] jamescarr__: jmoyers, I know, it's just checking for convention [03:02] CarterL has joined the channel [03:03] chapel: jamescarr__: check my link [03:03] chapel: he talks about how to do that [03:04] captain_morgan has joined the channel [03:05] langworthy has joined the channel [03:08] wolftankk has joined the channel [03:10] dimroc has joined the channel [03:11] JaKWaC has joined the channel [03:13] Circlefusion has joined the channel [03:15] JaKWaC has joined the channel [03:15] zeade has joined the channel [03:18] jetienne_ has joined the channel [03:30] dilvie has joined the channel [03:32] JakeyChan has joined the channel [03:33] stisti has joined the channel [03:35] JakeyChan_ has joined the channel [03:36] Spion has joined the channel [03:36] joshkehn has joined the channel [03:40] Ond has joined the channel [03:46] jtsnow has joined the channel [03:46] avalanche123 has joined the channel [03:46] JakeyChan has joined the channel [03:49] JakeyChan: which node.js test framework do you use ? is it good ? how about this one http://visionmedia.github.com/expresso/ [03:49] joshkehn: Vos [03:49] joshkehn: Vows* [03:49] joshkehn: http://vowsjs.org/ [03:51] krill has joined the channel [03:52] konobi: node-tap! [03:52] descipher has joined the channel [03:54] ronnieboy has joined the channel [03:56] CStumph has joined the channel [03:59] kmiyashiro: has anyone actually gotten browserify to work with jquery/backbon? [03:59] kmiyashiro: backbone [04:00] gaving has joined the channel [04:01] joshkehn: You mean serve jQuery with Browserify? [04:02] kmiyashiro: both [04:02] kmiyashiro: doesn't seem to work [04:02] kmiyashiro: backbone can't see "window" from browserify's closure [04:02] kmiyashiro: well [04:02] kmiyashiro: it uses "this" and assumes that it's window [04:02] kmiyashiro: but it isn't [04:02] kmiyashiro: so it doesn't see jquery either [04:02] joshkehn: .bind() ? [04:02] dmkbot: joyent/node: indutny: High-level debugger API - https://github.com/joyent/node/issues/1667 [04:03] kmiyashiro: it's inside backbone itself [04:03] kmiyashiro: where it assigns $ = root.jQuery || root.Zepto [04:03] joshkehn: I'm currently futzing with RequireJS and will probably switch to Browserify in a few days. [04:03] kmiyashiro: so confusing [04:04] kmiyashiro: jquery had to be modified with a file to work with browserify [04:04] kmiyashiro: but the browserify page says backbone works [04:04] kmiyashiro: but... it doesn't [04:04] kmiyashiro: and I can't find an example where it does [04:04] joshkehn: You can't just import jQuery on the page with a normal script tag? [04:04] joshkehn: Tha'ts what I'm doing with RequireJS. [04:04] v3ctR has joined the channel [04:04] joshkehn: Globals are just placed on the page, not with `require()` [04:05] SubStack: check out jquery-browserify [04:05] kmiyashiro: I am using jquery-browserify [04:06] SubStack: backbone is part of the unit tests for browserify [04:06] SubStack: it could be an old version though [04:07] AvianFlu has joined the channel [04:07] kmiyashiro: you mean this? https://github.com/substack/node-browserify/blob/master/test/backbone.js [04:07] kmiyashiro: Backbone exists [04:07] kmiyashiro: it just doesn't work if you actually try to create an app with it [04:07] kmiyashiro: I can configure everything fine [04:08] davidbanham has joined the channel [04:08] kmiyashiro: but it relies on jquery/zepto/ender for it's selector engine [04:08] kmiyashiro: and that part does not work [04:09] JSManiacs has joined the channel [04:09] boehm has joined the channel [04:10] reid_ has joined the channel [04:11] SuMarDi has joined the channel [04:14] towski has joined the channel [04:15] jtsnow has joined the channel [04:19] norviller has joined the channel [04:20] boltR has joined the channel [04:21] amiller has joined the channel [04:23] chapel: kmiyashiro: when you require jquery [04:23] yozgrahame has joined the channel [04:23] chapel: do this: jQuery, $ = require('jquery-browserify'); [04:23] chapel: that will set window.jQuery and window.$ to jquery [04:23] chapel: so anything that expects a global will have it [04:23] CIA-30: node: 03Ryan Dahl 07master * r0bca544 10/ (213 files in 20 dirs): Upgrade V8 to 3.6.1 - https://github.com/joyent/node/commit/0bca54444a5bb869ddebaadc65cd0bf381bb1e81 [04:24] jokil has joined the channel [04:24] sridatta has joined the channel [04:24] mynyml has joined the channel [04:25] amerine has joined the channel [04:28] jacobolus has joined the channel [04:28] jacobolus has joined the channel [04:30] mykul|Home has joined the channel [04:31] fg3 has joined the channel [04:31] JulioBarros has joined the channel [04:32] sonnym1 has joined the channel [04:32] JulioBarros: Is there a 'goto' twitter client for node? I'd like to read the timeline, saved searches, list timelines, etc. Thanks in advance. [04:33] boltR has joined the channel [04:35] fangel has joined the channel [04:36] AvianFlu: JulioBarros, I'd recommend ntwitter [04:36] AvianFlu: there's a module called 'twitter' on npm, and it's a thorough wrapper, but unmaintained - so I maintain a fork [04:36] AvianFlu: hence ntwitter [04:36] JulioBarros: @AvianFlu Thanks. I saw there were many out there and was trying to sort out the current ones. I'll check it out. [04:36] kmiyashiro: chapel: tried that [04:37] kmiyashiro: doing it in an entry [04:37] chapel: well its definitely an order of operations thing [04:37] chapel: just wrap backbone like jquery-browserify [04:37] AvianFlu: JulioBarros, it can be hard to figure that out - there's been talk of adding stuff to npm to help determine that though [04:37] JakeyChan_ has joined the channel [04:37] sivy_ has joined the channel [04:38] AvianFlu: I think there's an open pull request for an "I use this" button [04:38] AvianFlu: so we can all have a better idea of which one is popular and which one got committed to twice and forgotten [04:39] chapel: well if you could sort by activity and other modules using it [04:39] chapel: that would help [04:39] phluffy has joined the channel [04:39] e6nian has joined the channel [04:40] AvianFlu: chapel, there was a big conversation about this at node camp this week, a bunch of ideas got tossed around [04:40] AvianFlu: I'm confident that awesome will shortly ensue [04:41] chapel: :) [04:41] chapel: fu for going without me [04:42] JulioBarros: AvianFlu Took a look through the code. Looks great. Looking forward to trying it out. Thanks. [04:42] AvianFlu: np dude! [04:42] AvianFlu: let me know if you run into issues with it [04:45] andrewff1 has joined the channel [04:46] cjheath has joined the channel [04:47] kmiyashiro: wrap backbone? [04:48] kmiyashiro: I'm doing $ = require('jquery-browserify'); _ = require('underscore'); Backbone = require('backbone') [04:49] JSManiacs has joined the channel [04:52] chapel: is backbone being exported like a module? [04:52] chapel: if so, it should work [04:53] JaKWaC has joined the channel [04:53] kmiyashiro: it is [04:53] kmiyashiro: and it isn't working :( [04:54] boucher-macbook1 has joined the channel [04:55] caffine has joined the channel [04:57] plutoniix has joined the channel [04:57] sivy has joined the channel [05:02] Emmanuel` has joined the channel [05:02] temp01 has joined the channel [05:02] eboyjr has joined the channel [05:02] chapel: kmiyashiro: are you doing jQuery = require('jquery-browserify') too? [05:02] Emmanuel` has joined the channel [05:03] chapel: because backbone looks for window.jQuery not $ [05:05] isaacs has joined the channel [05:08] freeformz has joined the channel [05:08] dimroc has joined the channel [05:09] misterm has joined the channel [05:10] SuMarDi has joined the channel [05:11] misterm has joined the channel [05:12] Daegalus: Oh peachy, you can now write Node.js apps in Clojure >.> [05:12] joshkehn: That's wonderfully dumb. [05:12] AvianFlu: transpilers make me frown [05:12] joshkehn: They make me happy! [05:13] Daegalus: http://mmcgrana.github.com/2011/09/clojurescript-nodejs.html [05:13] AvianFlu: lol why so [05:13] joshkehn: Keeps people from cluttering up the good code. [05:13] joshkehn: They write their code in whatever and I can just ignore it. [05:13] elliottcable has joined the channel [05:13] AvianFlu: yeah, I mean, that's usually how I feel about coffeescript [05:13] CStumph has joined the channel [05:14] AvianFlu: but... the whole notion... I can't help but think "I really hope you didn't make a small mistake in that parse someplace" [05:14] AvianFlu: I'm just distrustful of stuff like that [05:14] joshkehn: Are you distrustful of gcc? [05:14] AvianFlu: it's what the school of hard knocks does to you XD [05:14] joshkehn: javac? [05:14] AvianFlu: those are established [05:14] joshkehn: Correct [05:15] joshkehn: Someone give this man a beer. [05:15] AvianFlu: coffeescript I'd call established too [05:15] Daegalus: I think coffeescript is ok, but stuff like Clojure -> JS? I mean a JVM language to JS [05:15] Daegalus: coffee is mean tot be compiled to JS, that is its goal, but Clojure? [05:15] admc has joined the channel [05:15] joshkehn: CS I would say has shown it's reliable under most circumstances. But I wouldn't call it kink-free. [05:16] Daegalus: Yes, but its pretty established and actively developed and so on [05:17] Daegalus: Personally, I kinda want to learn Coffee a bit [05:19] Spion_ has joined the channel [05:23] broofa has joined the channel [05:23] langworthy has joined the channel [05:24] mikeal has joined the channel [05:24] v3ctR has joined the channel [05:28] freeformz has joined the channel [05:29] isaacs_ has joined the channel [05:32] ptlo has joined the channel [05:32] dmkbot: joyent/node: ry: code sign the .exe - https://github.com/joyent/node/issues/1671 [05:32] dmkbot: joyent/node: ry: code sign the .exe - https://github.com/joyent/node/issues/1671 [05:34] Destos has joined the channel [05:36] dnyy has joined the channel [05:37] thalll has joined the channel [05:38] ph^ has joined the channel [05:40] blaenk has joined the channel [05:40] joshkehn: Night all [05:42] admc has joined the channel [05:42] `3rdEden has joined the channel [05:44] tylerstalder has joined the channel [05:46] SamuraiJack has joined the channel [05:47] ryan0x2_ has joined the channel [05:47] ryanj has joined the channel [05:47] dmkbot: joyent/node: Kos: Misleading console output for arrays with undefined - https://github.com/joyent/node/issues/1651 [05:50] kmiyashiro: chapel: yes I am [05:50] kmiyashiro: I don't have to, but I tried it [05:50] kmiyashiro: since jquery will automatically set window.jQuery [05:51] kmiyashiro: the problem is that "this" is not "window" when backbone instantiates itself in the require for some reason [05:51] jacobolus has joined the channel [05:52] FireFly|n900 has joined the channel [05:53] fmeyer has joined the channel [05:54] jhurliman has joined the channel [05:56] DennisRas has joined the channel [05:57] v3ctR has joined the channel [06:01] kmiyashiro: aha, there's a double closure, the original backbone one and the browserify one that wraps it [06:01] kmiyashiro: and the backbone one is called with .call(this), where this is browserify's anon function [06:02] AvianFlu: throw in a var self = this; or something like that [06:02] AvianFlu: save the object you want from the scope you're losing, so to speak [06:03] kmiyashiro: I can't though, it's already wrapped in browserify's anon func [06:03] kmiyashiro: I can pass it "window" [06:03] kmiyashiro: explicitly [06:03] AvianFlu: same effect [06:03] AvianFlu: you lose "this" on scope change, so if you need it, you need to assign it somewhere else [06:03] liar has joined the channel [06:04] AvianFlu: or use it from another place [06:04] kmiyashiro: it's like this (function(){ function(){}).call(this) })() [06:04] kmiyashiro: I can only modify the stuff in the second function [06:05] kmiyashiro: (function(){ function(){}).call(window) })() [06:05] AvianFlu: so yeah, that shouldn't be "this" [06:05] AvianFlu: yeah, try it [06:05] Dreamer3 has joined the channel [06:05] Nuck: To anyone who doesn't know me, I'd look like a crazy person right now. [06:05] kmiyashiro: pretty sure it would work [06:05] kmiyashiro: but isn't that kind of kludgy? [06:05] kmiyashiro: meh [06:05] Nuck: I'm sitting here nodding off and half-giggling from lack of sleep, while listening to loud music [06:05] chapel: its because browserify has export stuff built in [06:05] thalll has joined the channel [06:06] kmiyashiro: yeah [06:06] kmiyashiro: if (module == null) { module = {}; }; [06:06] kmiyashiro: module.exports = create(window); [06:06] kmiyashiro: create(window) returns jQuery for jquery-browserify [06:06] kmiyashiro: I guess you have to do the same for backbone [06:08] stephank has joined the channel [06:10] hakunin has joined the channel [06:11] sivy has joined the channel [06:12] dmkbot: joyent/node: ry: set appropriate err.code for 'socket hang up' errors - https://github.com/joyent/node/issues/1672 [06:13] dgathright has joined the channel [06:13] petrjanda has joined the channel [06:17] sivy has joined the channel [06:22] Murugaratham has joined the channel [06:33] dynacker has joined the channel [06:35] __doc__ has joined the channel [06:37] bx_ has joined the channel [06:38] amerine has joined the channel [06:39] dshaw_ has joined the channel [06:41] bogomips has joined the channel [06:41] tylerstalder has joined the channel [06:43] robotmay has joined the channel [06:44] dexter_e_ has joined the channel [06:44] dexter_e has joined the channel [06:45] _root_ has joined the channel [06:45] mraleph has joined the channel [06:45] dexter_e has joined the channel [06:46] dexter_e: What is the easy way for a javascript module to know its running on Node or in the Browser ? [06:47] dexter_e: I want to share modules between Server and Browser. How to know where script is running? [06:48] anubhaw has joined the channel [06:48] xdamman has joined the channel [06:53] ttpva has joined the channel [06:53] jetienne_ has joined the channel [06:53] forzan has joined the channel [06:54] petrjanda has joined the channel [06:54] mekwall: do I have to pass the __dirname from my base app to a module if that module has to be aware of the basepath of my project or is there a global var for that? [06:55] AvianFlu: mekwall: process.cwd() may be of use to you [06:55] bx_: where can i fgind good [06:55] bx_: Mobile devs [06:55] mekwall: AvianFlu: cheers! [06:56] AvianFlu: dexter_e you should try checking for something that will only exist in one case [06:56] den512 has joined the channel [06:56] AvianFlu: if (window) { alert('I am a browser') } [06:56] JakeyChan has joined the channel [06:57] dexter_e: AvianFlu: In this case window exists on the server as well [06:57] jetienne_: hi [06:57] tylerstalder has joined the channel [06:57] dexter_e: with JSDOM [06:58] emattias has joined the channel [06:58] groom has joined the channel [06:58] jetienne_: dexter_e: test process and modules, theu are always present in node, and rarely both defined in web page [06:58] jetienne_: dexter_e: this is the one i use atleast :) [06:58] AvianFlu: jetienne++ [06:58] v8bot_: AvianFlu has given a beer to jetienne. jetienne now has 2 beers. [06:58] catb0t: jetienne now has 1 beer [06:58] jetienne_: AvianFlu: thanks :) [06:59] dexter_e: test for process, hmm [06:59] `3rdEden has joined the channel [06:59] dexter_e: would that just be if( process ) ? [07:00] freeformz has joined the channel [07:00] AvianFlu: yep [07:00] vikstrous_ has joined the channel [07:00] AvianFlu: browser-side it should be undefined, which will evaluate to false there [07:00] dexter_e: or would I have to try{ process }catch so the Browsers interpreter didn't halt on undefined values [07:01] fangel has joined the channel [07:01] jetienne_: if( typeof process !== 'undefined') console.log('inNode') [07:02] jetienne_: var inNode = typeof process!== 'undefined'; [07:02] simenbrekken has joined the channel [07:02] AvianFlu: that's a better check [07:02] vikstrous_ has joined the channel [07:03] topaxi has joined the channel [07:03] mike5w3c has joined the channel [07:03] mendel_ has joined the channel [07:04] AvianFlu: you could also var myCode = process ? require('nodeCode') : require('browserCode'); [07:05] raphdg has joined the channel [07:06] dexter_e: jetienne: AvianFlu: with JSDOM in the mix typeof process is undefined too [07:06] dexter_e: so thats a no go [07:06] AvianFlu: so... where are you trying to check this? [07:07] dexter_e: I'm checking it in $(document).ready :) [07:07] dexter_e: when the app boots up [07:07] jetienne_: dexter_e: hmm sure ? [07:07] jetienne_: dexter_e: i mean process is a global [07:08] dexter_e: yeah I'm booting jQuery on the server for a stateChange before its shipped to browser [07:08] jokil has joined the channel [07:08] sridatta has joined the channel [07:08] dexter_e: if( typeof process !== 'undefined') console.log('inNode') that one resolves false when running in node [07:09] dexter_e: or Rather, when bootstrapping browser-side scripts on the server with JSDOM [07:09] AvianFlu: I mean, that line just worked in my repl [07:10] AvianFlu: yeah, by doing what you're doing, you're already in browser-land where that if statement is concerned [07:11] dexter_e: right but its a virtual server-side browser land [07:11] nahime has joined the channel [07:11] dexter_e: How to detect were in virtual server-side browser land instead of real browser land ? [07:11] AvianFlu: yeah, I see what you're trying to do :/ [07:11] zastaph has joined the channel [07:11] AvianFlu: if I were in your position, I'd be looking for something that didn't exist, or was different [07:12] AvianFlu: between Random Browser X and the jsdom [07:12] dexter_e: yeah thats what I'm trying to find out :) [07:12] dexter_e: I should have asked the original question more appropriately [07:13] AvianFlu: I haven't used jsdom very much, sadly [07:13] dexter_e: its excellent, it really works [07:13] AvianFlu: there's always a chance that tmpvar is here [07:13] Murugaratham has joined the channel [07:13] AvianFlu: we use it a bunch at nodejitsu, it's sweet for sure :) [07:13] dexter_e: that would be awesome [07:14] dexter_e: JSDOM turns node into a true Node [07:14] hackband has joined the channel [07:14] dexter_e: as in a perfect replica of clients [07:15] AvianFlu: we use it with weld quite a bit [07:15] AvianFlu: the rendering is all client-side, though, so I have no insight on your problem >.< [07:16] ablomen has joined the channel [07:16] dexter_e: AvianFlu: for your uses how do you get the complete HTML document out after your Dom has been modified ? [07:16] AvianFlu: what do you mean [07:16] dexter_e: are you using window.document.innerHTML ? [07:17] dexter_e: to get the HTML out of JSDOM [07:17] AvianFlu: https://github.com/hij1nx/weld [07:17] AvianFlu: anti-templating [07:17] dexter_e: yep weld rules [07:18] DrMcKay has joined the channel [07:20] AvianFlu: I don't do that much frontend work, I can't really say much else for sure [07:20] AvianFlu: I just know which tools are involved [07:20] uchuff has joined the channel [07:21] mekwall: heh... anyone else having issues with js-yaml lib? [07:21] mekwall: running out of memory whenever I try to eval a yaml string (even if its just one line) [07:23] AvianFlu: which error [07:23] AvianFlu: is it the "process out of memory" one? [07:23] AvianFlu: or a call stack is too big one [07:23] mekwall: FATAL ERROR: JS Allocation failed - process out of memory [07:23] mekwall: seems to get stuck in some kind of infinite loop [07:24] AvianFlu: yeah, somebody messed something up somewhere [07:24] mekwall: I am running in a vm with 128 MB RAM, but upped it to 512 MB to see if it was insufficient memory but it resulted in the same (just took longer time hehe) [07:24] AvianFlu: yeah, you shouldn't see that from simple operations [07:25] AvianFlu: it's the lib over-recursing or something [07:25] mekwall: mhm [07:25] mekwall: too bad [07:25] AvianFlu: so you found an edge case, you found a broken lib, or you're doing something strange [07:25] mekwall: wanted to add yaml support for routes in express :) [07:25] AvianFlu: I'd vote #1 [07:25] AvianFlu: :) [07:26] mekwall: most likely its the lib that is broken [07:26] mekwall: I am merely reading a the yaml string from a file and try to eval it [07:26] mekwall: -the [07:26] AvianFlu: yeah sounds broken [07:27] mekwall: https://github.com/visionmedia/js-yaml <-- haven't been updated for over a month [07:28] mekwall: I've seen tj hanging around here so I'll have to grab him when I see him [07:31] igl1 has joined the channel [07:32] neilk_ has joined the channel [07:32] [AD]Turbo has joined the channel [07:33] [AD]Turbo: hi there [07:35] FireFly|n900 has joined the channel [07:36] igl has joined the channel [07:38] mekwall: AvianFlu: I'm extending the express router with some extra capabilities, such as dynamic inclusion of routes within a sub dir and having routes in yaml or json - created a similar dispatcher/router in PHP a while back and I miss those features ;) [07:39] cosmincx has joined the channel [07:39] sylvinus has joined the channel [07:39] sfoster has joined the channel [07:41] luke` has joined the channel [07:42] ph^ has joined the channel [07:44] fangel has joined the channel [07:44] _kud has joined the channel [07:47] hybsch has joined the channel [07:47] nononsense has joined the channel [07:48] nononsense: Hello all. [07:48] JakeyChan_ has joined the channel [07:49] bergie has joined the channel [07:50] misterm: Derppy: hullo [07:50] misterm: ha, sorry [07:51] ph^ has joined the channel [07:51] misterm: dang tab completion [07:51] nononsense: Can somebody help me? [07:51] nononsense: http.createServer(function(req, res) ... which member of the "req" object contains posted data? [07:51] andree_ has joined the channel [07:52] dexter_e: nononsense: i think it might be body [07:52] dexter_e: req.body.name [07:52] nononsense: dexter_e Thank you, going to look after it. [07:52] nononsense: Can i parse that with the queryparse module? [07:53] dexter_e: I'll paste mine just a sec [07:53] nononsense: A lot of tutorials on the web says this: req.addListener('data', function(postDataChunk) { whole data+= postDataChunk; ... [07:53] nononsense: now isn't that a pointless operation then? [07:54] nononsense: whole_data [07:54] nononsense: * [07:54] misterm: nononsense: here is the docs for the http module with more info: http://nodejs.org/docs/v0.4.11/api/http.html [07:55] nononsense: misterm Thank you. [07:55] dgathright has joined the channel [07:55] nononsense: No word about the request object. [07:55] dexter_e: yeah I can't find the place I used query module but I think it works to req.body.yourkey [07:55] dexter_e: did you try that ? [07:56] nononsense: Will know, tutorials misinformed me badly. [07:56] nononsense: What is "mykey"? :D [07:56] nononsense: the name of the post field? [07:56] dexter_e: yep [07:56] dexter_e: and this is for a POST request [07:56] nononsense: Cool [07:57] dexter_e: if its a GET then you have to use the query module [07:57] mpavel has joined the channel [07:57] mape has joined the channel [07:57] Druid_ has joined the channel [07:57] shapeshed has joined the channel [07:57] radiodario has joined the channel [07:58] thalll has joined the channel [07:58] nononsense: Thank you for the help, GET is easy :P I am just trying to upload some files with formidable, succeeded at it, but I have seen the formidable examples does not do that "data chunk concatenation" and they still access the request. So I thought, hey it must be pointless to aggregate manually the post data, node is definitely does this for me it seems. [07:58] jbpros has joined the channel [07:58] misterm: nononsense: you mean no word in the docs? [07:59] nononsense: misterm Sorry i looked at the events i bet i find it if i scroll down. [07:59] nononsense: misterm Got it, thanks. [08:00] misterm: nononsense: check out http.ServerRequest [08:00] misterm: nononsense: cool [08:00] skython has joined the channel [08:00] nononsense: misterm I feel such a noob, sorry. [08:01] misterm: nononsense: no, not at all [08:02] nononsense: misterm What does it mean when they say read only in the docs, like: request.headers Read only. [08:02] nononsense: Can an object in js be read only?! [08:03] zackattack has joined the channel [08:03] nononsense: I thought I understand js fairly well. [08:03] misterm: nononsense: well yea, my understanding is that you can't modify them [08:04] misterm: nononsense: tbh I'm not sure what happens if you try, if it throws an error or just fails or what [08:04] misterm: nononsense: but keep in mind that node is not all JS, also es5 added a bunch of more powerful ways to add object properties [08:05] nononsense: ecmascript? [08:05] boltR has joined the channel [08:05] nononsense: so V8 knows the es5 spec? [08:05] nononsense: didnt knew that [08:05] jomoho has joined the channel [08:05] misterm: nononsense: yes, exmascript 5, for example see Object.freeze() [08:05] misterm: *ecmascript [08:06] skython: Is there something like a object relational mapper library for node.js with backends like sqlite and pgsql ? [08:06] robhawkes has joined the channel [08:06] Nexxy: skython, sequelize? [08:06] Nexxy: I've never used it myself but a cursory search reveals it may be something to look into [08:07] skython: Nexxy: Looks like its only for MySQL [08:07] Nexxy: I'm sure you could change that with minimal effort [08:07] Nexxy: they're not that different afterall [08:08] Nexxy: pgsql does have some more advanced stuff but who uses that really? ;P [08:08] Nexxy: is there any reason you specifically need pgsql? [08:08] aron_ has joined the channel [08:09] Nexxy: last I checked it connects a lot slower than mysql [08:09] Nexxy: so unless you're using connection pools or w/e [08:09] Margle has joined the channel [08:10] stagas has joined the channel [08:10] stonebranch has joined the channel [08:10] skython: At least i would like a sqlite database for developing purposes, and as far as I know pgsql should be faster than mysql and its not from Oracle :P [08:11] fly-away has joined the channel [08:11] skython: But the last point is solvable with MariaDB [08:11] nononsense: misterm Could you help me a bit with the formidable library? [08:11] rurufufuss has joined the channel [08:11] Nexxy: I was just speaking to the connection time [08:12] CIA-30: node: 03Ryan Dahl 07master * ree2c12d 10/ (7 files in 2 dirs): Upgrade GYP to r1034 - https://github.com/joyent/node/commit/ee2c12d48e52c066c74fd646d6a38e880b0bfa0a [08:13] ph^ has joined the channel [08:13] jacobolus has joined the channel [08:14] misterm: nononsense: I haven't used it so I'm not sure if I would really be of any help [08:14] nononsense: misterm Okay. :) [08:15] jeffmoss: does mongoose seem a little weird to anyone but me? [08:15] misterm: nononsense: if you have any questions you can just let them fly and if anyone can help Im sure they will [08:15] nononsense: misterm :-D [08:15] booo has joined the channel [08:15] jeffmoss: var MyModel = new Schema(...); mongoose.model('MyModel', MyModel); var MyModel2 = mongoose.model('MyModel'); [08:15] jeffmoss: what is the point of all that? [08:16] [[zz]] has joined the channel [08:18] dangduc has joined the channel [08:18] radiodario: jeffmoss: you're right, it's not hundred-percent intuitive, but it does work pretty well [08:18] TuWebO has joined the channel [08:19] bergelmir has joined the channel [08:21] Murugaratham has joined the channel [08:23] irahgel has joined the channel [08:24] crodas has joined the channel [08:25] Dreamer3 has joined the channel [08:25] dob_ has joined the channel [08:29] kixxauth has joined the channel [08:30] navaru has joined the channel [08:30] navaru has left the channel [08:31] industrial: whee, using spinJS :) [08:31] markwubben has joined the channel [08:33] dob_: i am looking for some node.js application samples with web and mobile gui.... [08:33] p3sho has joined the channel [08:35] bergelmir has joined the channel [08:35] Glenjamin: spin js is a rediculous idea [08:37] dmkbot: joyent/node: indutny: High-level debugger API - https://github.com/joyent/node/issues/1667 [08:38] industrial: Glenjamin: random remarks? elaborate a bit if you're just going to complain :P [08:40] Glenjamin: automatically invoking internal functions is nice [08:40] whitman has joined the channel [08:42] Glenjamin: seems pretty nice to me, but I use node-inspector for all my debugging - so as long as it doesn't break that i'm indifferent :p [08:42] industrial: Having troubles with Mongoose. my update query doesn't work but in the mongodb console it works fine :(( https://gist.github.com/cf40e158868150727991 [08:43] industrial: YUNOWORK? [08:43] simenbrekken has joined the channel [08:43] v3ctR has joined the channel [08:45] industrial: I'm going to use the native driver now for this query, but not happy with that :( [08:45] felixhummel has joined the channel [08:46] eldios has joined the channel [08:47] jetienne_ has joined the channel [08:47] dmkbot: joyent/node: aseemk: path.split() needed, as counterpart to path.join() - https://github.com/joyent/node/issues/1224 [08:47] dmkbot: joyent/node: nzakas: stdout not flushed upon exit with output redirect - https://github.com/joyent/node/issues/1669 [08:48] aron_ has joined the channel [08:48] dgathright has joined the channel [08:51] ryan0x2 has joined the channel [08:51] Cromulent has joined the channel [08:52] ivanfi has joined the channel [08:53] adambeynon has joined the channel [08:56] TomY has joined the channel [08:56] Shrink has joined the channel [08:56] Shrink has joined the channel [08:59] industrial: I'm now using node-mongodb-native and it still doesnt work :( [09:00] robotmay has joined the channel [09:04] sebasti__ has joined the channel [09:05] aaronmcadam has joined the channel [09:06] Raynos: skython: you dont want an ORM. It's bad! [09:07] fangel has joined the channel [09:07] Raynos: jeffmoss: your creating a scheme, your registering a model under a schema for all other modules, your then getting the model in a module [09:07] MrTopf has joined the channel [09:10] Cromulent has joined the channel [09:12] bzinger has joined the channel [09:12] tmedema has joined the channel [09:13] tmedema: Anyone knows why --debug-brk does not show up in node --help or node --v8-options ? [09:16] ptlo has joined the channel [09:16] andrewff1 has joined the channel [09:17] cryptix: good morning nodesters :) [09:17] robinduckett: yo [09:17] dmkbot: joyent/node: indutny: High-level debugger API - https://github.com/joyent/node/issues/1667 [09:20] CStumph has joined the channel [09:21] isaqual has joined the channel [09:21] amigojapan has joined the channel [09:21] _kud_ has joined the channel [09:22] markwubben has joined the channel [09:25] skython: Raynos: Is there at least something like a good wrapper to switch between db backends ? [09:27] CarterL has joined the channel [09:27] aron_ has joined the channel [09:28] hellp has joined the channel [09:29] skython: I looked at the geddy model definitions and I like it very much, isn't there somthing like it for the express framework ? [09:30] akujin has joined the channel [09:30] MUILTFN has joined the channel [09:31] skython: I'm thinking of maybe using a mongodb but i fear it will cost me too much performance and disk space [09:33] shanebo has joined the channel [09:35] rmzg: skython: Too much performance compared to .. what [09:35] skython: postgre [09:36] Raynos: skython: write your own [09:36] Raynos: generic ORMs are fail [09:36] rmzg: haha [09:36] shanebo: Does anyone know how express handles asset 404s? [09:37] skython: I'm very used to sqlalchemy in the python worlds and it's a great mapper! [09:37] stagas has joined the channel [09:37] rmzg: You don't really need an orm if you're using mongo.. also mongo is considerably faster than postgre.. [09:37] Raynos: shanebo: read connect/static [09:39] Raynos: although static does not mention 404 [09:39] skython: mongo is faster than postgres ? all performance tests i have found so far told me quite the opposite [09:40] Frippe has joined the channel [09:40] shanebo: Raynos, my issue is wondering how to surpress asset 404s deeper in the server stack. Particularly at the router layer [09:41] Raynos: skython: also be wary of generic db layers, they will leak and annoy you [09:41] wmage has joined the channel [09:41] Raynos: You want domain models that are db agnostic [09:41] Raynos: and thin hand written db modules on top of your db of choice [09:41] Raynos: You dont want generic commands for all databases because they are too different [09:42] Raynos: couch, redis & mongo are completely different beasts [09:42] Raynos: That or you need one hell of a clever generic implementation [09:42] skython: Sorry, i was looking for a wrapper for the sql family not couch, redis and mongo [09:42] Raynos: Oh, why do you use sql :\ [09:43] skython: I havn't decided yet, but if i use sql i would like a wrapper or orm or something [09:43] Raynos: I thought the defactor standards were couch, reids & mongo [09:43] kertz has joined the channel [09:44] Glenjamin: i'm using MySQL, but no ORM [09:44] MrTopf has joined the channel [09:45] cryptix: can somebody here run a test against the windows latest windows build? [09:45] Raynos: Glenjamin: traitor [09:45] Glenjamin: we have a queue consumer which fills up a slightly de-normalised mysql database which is served up by a php lamp stack [09:46] Glenjamin: over time we'll try and move more to node, probably with mongo [09:46] skython: mongo looks quite interesting for my needs but i have huge tables and fear it would consume too much disk space and i'm not sure if i can live without transactions [09:46] devmike has joined the channel [09:46] konobi: don't forget the defaults make your data unsafe [09:48] cjroebuck has joined the channel [09:49] uchuff has joined the channel [09:49] bicranial has joined the channel [09:51] adrianmg has joined the channel [09:51] adrianmg has left the channel [09:52] Skomski has joined the channel [09:54] mehlah has joined the channel [09:56] Emmanuel`: paypal is a piece of crap [09:57] nononsense: Anyone used the formidable module here? [09:59] rmzg: So uh [10:00] rmzg: Is there someway to do the equivalent of "hello world" from node without invoking a web browser? [10:00] Raynos: sure [10:01] Raynos: console.log("hello world") [10:01] rmzg: =] [10:03] tmedema: Q: Any way to step directly to the next line here (require('mediator'))? http://img6.imagebanana.com/img/tl9zsrfr/Selection_011.png [10:05] rmzg: Raynos: I've noticed the convention is "var module = require('module')", is there anyway to avoid this, what if you omit the var module =; part? [10:05] mendel__ has joined the channel [10:06] cryptix: rmzg: that depends on the module. usually you need the variable to use a module. [10:06] rmzg: hrm [10:06] kixxauth: skython: abstract db layering is the Vietnam war of computer science; you always lose [10:06] konobi: you always need it [10:07] cryptix: some modules inject themselfs into other objects. like monkey patching. but its rare [10:07] dmkbot: joyent/node: cryptix: test-fs-utimes - debug assertion fails on win32 - https://github.com/joyent/node/issues/1666 [10:08] Raynos: rmzg: no there is not [10:08] Raynos: you want to require a module and load it into a variable [10:09] Raynos: Some modules just leech or bolt onto existing things but those are special [10:09] Glenjamin: technically there is: http://pastebin.com/Zv6wt4fG [10:09] Glenjamin: although i wouldn't recommend doing that ever [10:10] cryptix: Glenjamin: global polution yeeeey ^^ [10:11] Glenjamin: proof of concept :D [10:12] admc has joined the channel [10:13] rmzg: Hrm. [10:13] Glenjamin: but yeah, dont do that [10:14] rmzg: This is a bit of an abstract question, but when I'm using the node-mongodb module, which involves mongodb.open() and then a million callbacks, but my node application doesn't seem to exit as long as my mongodb collection open.. [10:14] rmzg: I'm not sure that was actually a question [10:14] rmzg: I think what I'm trying to say is, what's the correct way to open a mongodb connection.. persistently? [10:18] cryptix: rmzg: node wont quit as long as there is something on the event loop (like a mongodb connection it has to wok on) [10:18] Raynos: rmzg: when do you want to quit mongodb [10:18] Raynos: Find out when then call db.close() [10:19] astropirate has joined the channel [10:19] astropirate: wazup [10:19] rmzg: I want to quit mongodb when my server closes [10:20] rmzg: =] [10:20] Raynos: Oh [10:20] Raynos: just have a on close hook on your server [10:20] mraleph has joined the channel [10:20] rmzg: haha [10:21] rmzg: What have I done.. [10:21] rmzg: Now my first hit works, the second hit gives me "INTERNAL SERVICE ERROR", third hit works, fourth hit errors.. [10:21] astropirate: v8bot_, eval('ffffffff'); [10:22] astropirate: what did you people do to the bot? [10:22] bzinger has joined the channel [10:23] AAA_awright has joined the channel [10:24] v3ctR has joined the channel [10:27] skunkape has joined the channel [10:28] skunkape: How do I check a condition every x amount of time? [10:28] xerox: setInterval(function() { /* is the world still alright??? */ }, seconds * 1000) [10:29] radiodario has joined the channel [10:29] skunkape: thanks for the quick reply, xerox. I'll give this a try. [10:29] xerox: sure [10:33] |RicharD| has joined the channel [10:33] |RicharD|: hii [10:33] |RicharD|: :) [10:34] tmedema: Any way to step directly to the next line here (require('mediator'))? http://img6.imagebanana.com/img/tl9zsrfr/Selection_011.png [10:35] xerox: try the buttons? :x [10:37] christophsturm has joined the channel [10:37] replore_ has joined the channel [10:37] replore has joined the channel [10:38] andrewfff has joined the channel [10:38] astropirate: lol [10:39] tmedema: xerox: you seriously think I haven't or are you just mocking me? [10:40] industrial: Anyone know how to get mongoose not to use the native parser with mongodb ? [10:43] xerox: tmedema: sorry I did not mean to, but I don't see other options [10:44] remysharp has joined the channel [10:45] sriley: probably change the code so its not comma separated [10:45] xerox: good idea ! [10:45] sriley: can change the code back once youve tested whatever [10:49] temp01 has joined the channel [10:50] tjholowaychuk has joined the channel [10:53] robhawkes has joined the channel [10:57] Cromulent has joined the channel [10:58] mehlah has joined the channel [10:58] hellp has joined the channel [11:00] cjheath_ has joined the channel [11:00] McMAGIC--Copy has joined the channel [11:03] bru has joined the channel [11:03] ditesh|cassini has joined the channel [11:04] emattias_ has joined the channel [11:05] bru has joined the channel [11:07] mc_greeny has joined the channel [11:08] z6Dabrata has joined the channel [11:09] suryamenon has joined the channel [11:09] suryamenon: hi [11:09] suryamenon: am new to node.js [11:09] suryamenon: i ahve a very simple question [11:10] suryamenon: how do i work over the websocket-server [11:10] suryamenon: any one [11:10] suryamenon: how do u run mosquitto [11:12] suryamenon: is the room alive [11:12] suryamenon: anyone [11:12] suryamenon: someone [11:12] suryamenon: hello [11:12] suryamenon: dudes [11:12] H4ns: suryamenon: http://nodebeginner.org/ http://socket.io/ [11:12] suryamenon: dudettes [11:12] suryamenon: cool [11:12] H4ns: suryamenon: now go and experiment. come back with specific questions. [11:12] noodlehaus has joined the channel [11:12] bnoordhuis has joined the channel [11:12] suryamenon: ok h4ns [11:13] noodlehaus: hi all, have a question about exceptions being thrown by asynch callbacks [11:13] noodlehaus: other than doing process.on('uncaughtException', ...), how else can i catch this? [11:14] H4ns: noodlehaus: uncaughtException is the way [11:15] nononsense: ouch... when i export a function from a module... the function looks like this: myfunc() { this.arr,push( val ) } and i add that function to a prototype... the module seems to retain the value of this.arr ... how can i avoid this? [11:15] temp01 has joined the channel [11:16] Margle has joined the channel [11:16] FireFly|n900 has joined the channel [11:16] noodlehaus: @H4ns so all exceptions thrown asynchronously can only be caught top-level? [11:16] remysharp has joined the channel [11:17] suryamenon: hi H4Ns [11:17] suryamenon: u know mosquitto [11:17] H4ns: noodlehaus: right. the event handlers are called from the event processing context, so there is no location in the code that exceptions could be associated with. their lexical context is unknown when they are actually executed. [11:17] H4ns: suryamenon: no [11:17] suryamenon: check this one [11:17] suryamenon: http://chemicaloliver.net/internet/node-js-mqtt-and-websockets/ [11:17] dmkbot: joyent/node: cryptix: test-fs-utimes - debug assertion fails on win32 - https://github.com/joyent/node/issues/1666 [11:18] noodlehaus: i see, thanks h4ns. [11:18] suryamenon: it need snod.js and node websocket-server [11:18] suryamenon: but the way the example says [11:18] andrewfff has joined the channel [11:18] suryamenon: do u know websockey based browser support [11:19] suryamenon: websocket [11:19] H4ns: suryamenon: please, do some research yourself. maybe contact the blog poster for help. [11:19] junkee[] has joined the channel [11:19] suryamenon: okay [11:20] robinduckett: suryamenon: what's your first language? [11:20] suryamenon: english thats probably coz of typos [11:20] robinduckett: wow [11:20] nononsense: :D [11:20] suryamenon: what happend man [11:20] suryamenon: :d [11:20] suryamenon: why u ask [11:21] robinduckett: how old are you? [11:21] suryamenon: wow am 29 n u? [11:21] NegativeK has joined the channel [11:21] robinduckett: That's spectacular [11:21] robinduckett: You should be in a scientific journal. [11:21] suryamenon: coz of sleep lags my fingers are outof sync with keyboards [11:22] robinduckett: Yeah no, that's cool. [11:22] suryamenon: why so man , why scientific journal [11:22] nononsense: I am interested as well :D [11:22] robinduckett: You type exactly the same way as my nine year old nephew! [11:22] robinduckett: Like, exactly. [11:22] nononsense: :DDDD [11:22] suryamenon: very funny [11:23] stride: inorite? [11:23] H4ns: suryamenon: he wants to give you the friendly word of advice that if you improve your spelling, you may get better responses here. [11:23] suryamenon: so what will happen when ur 9 yr old nephew come to 29 yrs [11:23] suryamenon: he probably wont be able to touch fingers [11:24] H4ns: suryamenon: he'll have learned not speak child-speak, at least. [11:24] agnat has joined the channel [11:24] suryamenon: he will be serving god by 29 [11:24] robinduckett: I hope by the time my nephew is 29 they would have a global mental communication network and keyboards are obsolete [11:24] suryamenon: he will be deaf and dumb dont worry [11:24] suryamenon: yes [11:24] CIA-30: libuv: 03Ben Noordhuis 07master * r4d7cfe4 10/ test/run-tests.c : test: remove stale prototype declaration - https://github.com/joyent/libuv/commit/4d7cfe431348613f84deffc85d3d868db5c0ec74 [11:24] CIA-30: libuv: 03Matthew Sporleder 07master * r4320874 10/ (5 files in 5 dirs): unix: netbsd support - https://github.com/joyent/libuv/commit/4320874fcf202a85408e64b451a45b8b79ac91a2 [11:24] suryamenon: he will be toatlly be mute [11:24] nononsense: H4ns I am not sure if that would count as a friendly advice... [11:24] CIA-30: libuv: 03Ben Noordhuis 07master * r90ea007 10/ test/test-spawn.c : test: fix compiler warnings for test-spawn.c - https://github.com/joyent/libuv/commit/90ea007f61fee7935f73db8b67b86001f0210a8c [11:24] CIA-30: libuv: 03Ben Noordhuis 07master * r5641503 10/ test/test-fs.c : [11:24] CIA-30: libuv: test: fix compiler warnings for test-fs.c [11:24] CIA-30: libuv: Include on Unices, fixes warnings about unlink() not being declared. - https://github.com/joyent/libuv/commit/5641503ae7708f0da72d8ac883d60734335b8033 [11:24] robinduckett: Actually the way he is going he's more likely to be in a jail cell but what can ya do [11:25] suryamenon: cut the crap man [11:25] robinduckett: Luckily suryamenon, he's an atheist, and what you don't believe in, can't hurt you :) [11:25] robinduckett: Or at least [11:25] robinduckett: that's what all you god lovers believe [11:25] H4ns: nononsense: uh, you mean it was meant OFFENSIVE? [11:25] suryamenon: am also an athiest, [11:25] robinduckett: H4ns: hey if I can't take it, why would I dish it out? :P [11:25] nononsense: H4ns the 9 year old nephew part? that was definitely rude [11:26] suryamenon: but bcoming dumb and deaf dont have to beleive in god [11:26] nononsense: H4ns although true :D [11:26] CIA-30: libuv: 03Ben Noordhuis 07master * r8fd1d71 10/ AUTHORS : Update AUTHORS - https://github.com/joyent/libuv/commit/8fd1d710490a9c997957f70de523585ffe81c24f [11:26] robinduckett: haha [11:26] H4ns: nononsense: ha! and i thought it was just an attempt to be forgiving [11:26] robinduckett: But yeah suryamenon, H4ns is correct. If you typed a little more carefully, you would get a better response [11:27] nononsense: If you type even more carefully, you can start on spelling competitions. [11:27] nononsense: lol [11:27] suryamenon: okay agreed [11:27] suryamenon: will get back with more serious questions, pardon me if I offended some of you [11:28] robinduckett: And also, attempting to threaten me, or verbally abuse me by telling me, that my jailbird nephew will be made deaf and dumb by god, you'd better be ready for the onslaught of atheism in this channel, I'm willing to bet most people in here are athiests, and further more, threatening someone's family? Not cool. [11:28] H4ns: some fine day i'll discover how to use my shift key properly. until then, i'll come over like a 16yo wannabe red brigade member. [11:28] robinduckett: brb [11:28] robinduckett: going for lunch :D [11:28] robinduckett: tara [11:30] _kud has joined the channel [11:30] pongwon has joined the channel [11:31] radiodario: #node.js, the feel-good channel with that homely feeling. [11:33] stride: npm ls god -- Nothing found. I have no ideas what you guys are talking about. :> [11:33] stride: -s [11:33] Margle has joined the channel [11:35] adambeynon has joined the channel [11:36] spcshpopr8r has joined the channel [11:36] ditesh|cassini has joined the channel [11:37] Glenjamin: god is a ruby module [11:37] Glenjamin: forever is the node equivalent [11:37] kuebk has joined the channel [11:38] kuebk: j0 [11:38] kuebk: is there a way [11:38] kuebk: to dynamicaly extend a buffer? [11:38] flou has joined the channel [11:40] nononsense: Anyone else having real bad times with node not handling cyclic requires well? [11:41] noodlehaus: i had that with some modules i was working on [11:41] noodlehaus: i gave up [11:41] noodlehaus: it was too inceptiony for me [11:42] nononsense: gave up? [11:42] nononsense: wow [11:42] nononsense: i dont want to [11:42] nononsense: lol [11:42] noodlehaus: yeah, i was getting them cos i didn't want to pass around app (was working with express) [11:43] nononsense: this is a real pita [11:43] tjholowaychuk: noodlehaus ? [11:43] noodlehaus: so in the end, after trying and failing, i just went on and passed around app [11:43] nononsense: i see [11:43] tjholowaychuk: have a global "app" [11:43] noodlehaus: no issue with express tj, it was with my app [11:43] rfay has joined the channel [11:43] tjholowaychuk: that's why I (usually) do [11:43] noodlehaus: please give me a moment [11:43] noodlehaus: i'm geek-struck [11:43] stride: kuebk: substack has a few modules for chaining buffers on his github [11:44] noodlehaus: tj, you are my hero, awesome lineup of modules [11:44] noodlehaus: :D [11:44] nononsense: doesnt globals sck blls [11:44] nononsense: ? [11:44] tjholowaychuk: noodlehaus haha thanks man. [11:44] tjholowaychuk: nononsense typically yeah [11:44] tjholowaychuk: and certainly dont do it in a library [11:44] webben has joined the channel [11:44] tjholowaychuk: but if it's your app you can do whatever you want, you just have to be aware that you have a global named app [11:44] onre: imo globals are in the category of "you may use this if you know what you're doing" :p [11:44] noodlehaus: by global app, you mean stick it in global? [11:45] nononsense: so no other way to fight cyclic dependencies? [11:45] nononsense: tried everything, process.nextTick [11:45] nononsense: etc [11:46] nononsense: so messy :S [11:46] nononsense: shouldnt node handle this better? [11:46] tjholowaychuk: sometimes you have to re-think your lib structure [11:46] nononsense: or i get what i paid for? lol [11:46] nononsense: :D [11:46] tjholowaychuk: i've only had a few times where i've needed to change things [11:47] nononsense: i defo think my design is kinda fkd up, will rethink [11:47] Glenjamin: i have a chain of "elements" each with a parent and a child which is another "element" [11:47] nononsense: i found it awesome though :-D [11:47] Glenjamin: i have a loader for that set of files which requires and connects them up [11:47] bru has left the channel [11:47] navaru has joined the channel [11:47] xerox: I like all caps for globals [11:47] navaru has left the channel [11:47] xerox: makes then scary :x [11:47] nononsense: Glenjamin i don't like that idea [11:47] fairwinds has joined the channel [11:47] dmkbot: joyent/node: cryptix: test-fs-utimes - debug assertion fails on win32 - https://github.com/joyent/node/issues/1666 [11:47] dmkbot: joyent/node: ry: set appropriate err.code for 'socket hang up' errors - https://github.com/joyent/node/issues/1672 [11:48] Glenjamin: nononsense: any other way to have Event.child = Market and Market.parent = Event ? [11:48] z6Dabrata has joined the channel [11:48] nononsense: Glenjamin didnt said i have a solution :-D i just said i dont like the existing ones [11:49] nononsense: Glenjamin haha [11:49] noodlehaus: you can just add a stub class then on runtime, inherit that stub class from Event [11:49] Glenjamin: heh [11:49] Glenjamin: i did it similarly to django's FK loader [11:49] noodlehaus: just shooting stuff out of my a$$, so don't take it seriously though [11:49] Glenjamin: i set Event.child_name = 'Market', then the loader requires them all and resolves the strings into references [11:51] stalled has joined the channel [11:52] nononsense: noodlehaus uberlol [11:52] nononsense: über* [11:54] confoocious has joined the channel [11:54] confoocious has joined the channel [11:55] nononsense: Lol i pretty much rolled i whole inheritance engine and shit and now this cyclic dependency stuff can kill of the whole thing [11:55] nononsense: epic fail [11:56] nononsense: *a whole [11:56] nononsense: shit happens i guess [11:57] Glenjamin: can you provide a sample? [11:58] nononsense: wait a sec trying to pull myself together [11:58] rfay has joined the channel [11:59] TokyoDan_ has joined the channel [11:59] jbpros has joined the channel [12:00] Margle has joined the channel [12:00] OctagonTheory has joined the channel [12:02] adambeynon has joined the channel [12:02] Sorella has joined the channel [12:03] noodlehaus: k guys, later [12:05] bshumate has joined the channel [12:05] bshumate has joined the channel [12:06] fermion has joined the channel [12:06] jetienne: stuff like \w or \d works in js regex ? [12:07] herbySk has joined the channel [12:07] cjheath has joined the channel [12:07] ablomen: jetienne, yes [12:09] kriszyp has joined the channel [12:09] thoolihan has joined the channel [12:09] al3xnull has joined the channel [12:09] redphive has joined the channel [12:10] TokyoDan1 has joined the channel [12:11] garrensmith has joined the channel [12:11] jtrudeau has joined the channel [12:11] TokyoDan1 has left the channel [12:11] TokyoDan_ has joined the channel [12:14] chunhao_ has joined the channel [12:16] aklt has joined the channel [12:18] ben_alman has joined the channel [12:19] adrianmg has joined the channel [12:20] jmiller_ has joined the channel [12:21] enmand has joined the channel [12:21] marcello3d has joined the channel [12:22] dmkbot: joyent/node: indutny: Getters/Setters in VM's Context - https://github.com/joyent/node/issues/1673 [12:23] fumanchu182 has joined the channel [12:24] meandi2 has joined the channel [12:25] nforgerit has joined the channel [12:26] devongovett has joined the channel [12:26] N0va` has joined the channel [12:27] MrNko has joined the channel [12:29] [diecast] has joined the channel [12:29] nibblebot has joined the channel [12:30] Orion- has joined the channel [12:31] Orion-: hello there [12:32] [diecast]: is there a guide on autoscaling node.js with ec2 [12:32] cole_gillespie has joined the channel [12:32] stepheneb has joined the channel [12:34] davidbanham has joined the channel [12:34] altamic has joined the channel [12:35] aron_ has joined the channel [12:35] FireFly has joined the channel [12:35] r04r has joined the channel [12:37] indutny: pquerna: ryah: https://github.com/joyent/node/pull/1673 [12:37] indutny: ;) [12:37] indutny: good morning everyone! [12:37] FireFly|n900 has joined the channel [12:38] brianseeders has joined the channel [12:39] Metal3d has joined the channel [12:39] liquidproof has joined the channel [12:39] rfay has joined the channel [12:39] dmkbot has joined the channel [12:40] mehtryx has joined the channel [12:40] jetienne_ has joined the channel [12:41] wink_ has joined the channel [12:42] ph^ has joined the channel [12:43] adambeynon has joined the channel [12:45] dmkbot has joined the channel [12:46] heavysixer has joined the channel [12:48] deedubs has joined the channel [12:50] errordeveloper has joined the channel [12:52] bodisiw has joined the channel [12:52] AaronMT has joined the channel [12:54] agnat_ has joined the channel [12:54] TuWebO has joined the channel [12:54] mike5w3c_ has joined the channel [12:55] JakeyChan has joined the channel [12:56] chia has joined the channel [12:57] nononsense: morning [12:58] nononsense: omg and i thought i do understand js [12:58] nononsense: :D [12:58] nononsense: Somebody please help me out. [12:58] indutny: nononsense: ? [12:58] nononsense: I have got an obhect, [12:58] nononsense: indutny wait for it :D [12:58] nononsense: So i have got an object [12:58] broofa has joined the channel [12:59] nononsense: i do var new_obj = new source_obj(); [12:59] nononsense: whatever i put into var new_obj ... i mean data [12:59] nononsense: later at an other var new_obj, it has the same exact data [12:59] nononsense: i thought it should create a fresh version every time [13:00] nononsense: and the changes should not propagate back to source_obj [13:00] mrdoodles has joined the channel [13:00] mrdoodles: good morning everyone. [13:00] nononsense: what time is there? [13:00] nononsense: here its 15 PM [13:00] nononsense: :D [13:00] indutny: 8 pm my place [13:00] nononsense: haha, cool [13:01] mrdoodles: hehe, 9am [13:01] indutny: v8: "you there?" [13:01] v8bot_: indutny: "you there?" [13:01] indutny: great [13:01] indutny: nononsense: see [13:01] nononsense: indutny what? :P [13:02] indutny: v8: function c() {};var a = new c(), b = new c();a.test = 1; b.test [13:02] v8bot_: indutny: undefined [13:02] indutny: v8: function c() {};var a = new c(), b = new c();a.test = 1; b.test === a.test [13:02] v8bot_: indutny: false [13:02] indutny: nononsense: that's answer on your question [13:02] altamic_ has joined the channel [13:02] altamic_ has joined the channel [13:02] indutny: `c` won't be modified [13:02] nononsense: i thought so [13:02] nononsense: in my code sg is seriously fkd up then [13:02] indutny: probably [13:03] indutny: you should modify `prototype` property to spread changes across all constructor's instances [13:03] indutny: if you won't touch it, instances will have different properties [13:04] Glenjamin: modifying prototype at runtime after making instances to add stuff is an odd pattern though [13:04] nononsense: i tried to implement mixins [13:04] nononsense: thought everything working fine [13:04] nononsense: now i see the instance i create from a mixin... the changes on instance propagates back to the mixin itself? [13:04] nononsense: seriusly how silly is that. have no reasons atm. [13:05] nononsense: why should it do this. [13:05] indutny: nononsense: can you paste http://gist.github.com/ of your code? [13:06] indutny: Glenjamin: agree with you [13:06] nononsense: minute [13:06] nononsense: doin [13:06] Glenjamin: you'd think they could list the servers =/ [13:07] patrickgamer has joined the channel [13:07] patrickgamer has left the channel [13:07] nononsense: minute i think i found sg... [13:08] pandeiro has joined the channel [13:09] ircretary has joined the channel [13:09] Nexxy has joined the channel [13:09] flipperWhip has joined the channel [13:09] rachelderp has joined the channel [13:09] hotspants has joined the channel [13:09] meder has joined the channel [13:09] mrdoodles: hey guys. so we have a product coming to launch soon … ooohhh ahhh … working with my biz dev guy. Any modules (checked npmjs) for metatags/open graph tags? [13:09] Nexxy has joined the channel [13:09] wang has joined the channel [13:09] odyniec has joined the channel [13:09] pdonald has joined the channel [13:09] sapht has joined the channel [13:09] skratool has joined the channel [13:09] kei has joined the channel [13:09] tbranyen has joined the channel [13:09] FearOfMusic has joined the channel [13:09] MikeW has joined the channel [13:09] pandark__ has joined the channel [13:09] dleonardi has joined the channel [13:09] a11235 has joined the channel [13:09] a11235 has joined the channel [13:09] AD7six has joined the channel [13:09] olegp has joined the channel [13:09] rc1 has joined the channel [13:09] slaskis has joined the channel [13:09] Leonidas has joined the channel [13:09] riven has joined the channel [13:09] riven has joined the channel [13:09] neme has joined the channel [13:09] [AD]Turbo has joined the channel [13:09] TuWebO has left the channel [13:09] iFire has joined the channel [13:09] christophsturm has joined the channel [13:09] kon_ has joined the channel [13:09] kon_ has joined the channel [13:09] rook2pawn has joined the channel [13:09] fezzle has joined the channel [13:09] Spion_ has joined the channel [13:09] KrooniX has joined the channel [13:09] kloeri has joined the channel [13:09] depy has joined the channel [13:09] _root_ has joined the channel [13:09] MooGoo has joined the channel [13:09] Kester has joined the channel [13:09] fermion has joined the channel [13:09] blueadept has joined the channel [13:09] pquerna has joined the channel [13:09] secoif has joined the channel [13:09] pandeiro has joined the channel [13:09] isufy has joined the channel [13:09] deoxxa has joined the channel [13:10] yorick has joined the channel [13:10] indutny: mrdoodles: have you tried http://search.npmjs.org/ [13:10] indutny: ? [13:10] Guest18468 has joined the channel [13:10] dpritchett has joined the channel [13:10] brainproxy has joined the channel [13:10] FireFly|n900 has joined the channel [13:10] stagas has joined the channel [13:10] PhilK has joined the channel [13:10] raidfive has joined the channel [13:10] mrdoodles: i said i checked npmjs, so yeah search :P [13:10] mrdoodles: i can just code up yet another module for us but … :P [13:10] sirdancealot has joined the channel [13:10] mrdoodles: DELIVERABLES ! [13:10] ajpiano has joined the channel [13:10] mrdoodles: deliverables-- [13:10] v8bot_: mrdoodles has taken a beer from deliverables. deliverables now has -1 beers. [13:10] bentkus has joined the channel [13:10] apoc has joined the channel [13:10] SvenDowideit has joined the channel [13:10] aconbere has joined the channel [13:10] samBiotic has joined the channel [13:10] TheFuzzball has joined the channel [13:11] locks has joined the channel [13:11] smtlaissezfaire has joined the channel [13:11] markatto has joined the channel [13:13] depy has left the channel [13:14] Jack__ has joined the channel [13:14] apoc has joined the channel [13:14] c4milo has joined the channel [13:14] Jack__: Hi, i've got a question regarding nodejs on stack overflow which hasn't been answered: [13:14] Jack__: http://stackoverflow.com/questions/7348414/is-it-possible-to-update-a-single-part-of-a-page-using-nodejs-and-socket-io [13:15] dmkbot: joyent/node: indutny: High-level debugger API - https://github.com/joyent/node/issues/1667 [13:18] mbrevoort has joined the channel [13:18] Will| has joined the channel [13:18] secoif_ has joined the channel [13:19] SuMarDi has joined the channel [13:20] mquin has joined the channel [13:20] [[zz]] has joined the channel [13:20] dawolf has joined the channel [13:20] felixhummel has joined the channel [13:21] Sami_ZzZ has joined the channel [13:21] robinduckett has joined the channel [13:21] lmorchard has joined the channel [13:21] leonh has joined the channel [13:21] scott_gonzalez has joined the channel [13:22] arthurdebert has joined the channel [13:23] couchquid has joined the channel [13:23] astropirate has joined the channel [13:23] persson has joined the channel [13:25] hybsch has joined the channel [13:26] MrNibbles has joined the channel [13:26] emattias has joined the channel [13:26] `3rdEden has joined the channel [13:27] JumpMast3r has joined the channel [13:27] astropirate: How do I use a custom connect middleware? one that does not come with connect? [13:28] astropirate: ahh nvm [13:28] Orion- has joined the channel [13:28] malletjo has joined the channel [13:31] emattias has joined the channel [13:31] ksheurs has joined the channel [13:33] jtrudeau has joined the channel [13:34] thinkt4nk has joined the channel [13:34] thomblake has joined the channel [13:35] chjj: OT: anyone familiar with the ALSA api? my friend is having trouble setting his volume so im writing him a program in c to do it [13:35] chjj: its insane but nothing is working [13:36] rmzg: Try plugging in the speakers [13:36] chjj: speakers work...i think [13:37] v3ctR has joined the channel [13:37] H4ns: chjj: you are aware of the amixer program, right? [13:37] chjj: i am [13:38] chjj: no luck for him [13:38] chjj: master scontrol doesnt appear, but his hardware appears to be working [13:38] thomblake has left the channel [13:38] sirdancealot has joined the channel [13:39] H4ns: chjj: amixer is written in c, so if it does not work, what makes you think that your program will do better? [13:39] chjj: no idea, but worth a try i suppose [13:40] H4ns: chjj: i'd not suppose so. unless you like learning how to work with the alsa api. [13:40] rfay has joined the channel [13:40] chjj: well sorry sir, ill clear it with you beforehand next time [13:40] H4ns: chjj: you asked for advice. [13:40] H4ns: chjj: do whatever you like. [13:40] mrdoodles: chjj: hehe [13:41] chjj: i asked if anyone was familiar with the alsa api, i dont recall asking for advice [13:41] H4ns: chjj: oops. i'm sorry. please accept my apologies. [13:42] spcshpop` has joined the channel [13:43] [diecast]: what's the old irc adage.. "don't ask to ask" [13:44] ivanfi has left the channel [13:44] noodlehaus has joined the channel [13:45] bodisiw has joined the channel [13:46] chjj: [diecast]: it is an offtopic question, and i dont exactly have one question, but i did explain that i was trying to use the api to set volume [13:46] [diecast]: ;) [13:46] chjj: i dont see how you should need more context than that [13:47] replore_ has joined the channel [13:47] replore has joined the channel [13:48] noodlehaus: hi all, does anyone know what tool was used to generate mongoosejs' api docs? [13:48] noodlehaus: or was that hand-coded html? [13:49] indutny: noodlehaus: http://search.npmjs.org/#/docco ? [13:49] astropirate: I would like to know that too [13:49] indutny: or http://search.npmjs.org/#/dox [13:49] noodlehaus: thanks indutny [13:51] tracker1 has joined the channel [13:53] slyphon has joined the channel [13:54] albertosheinfeld has joined the channel [13:54] dmkbot1 has joined the channel [13:54] sam__ has joined the channel [13:56] kmiyashiro has joined the channel [13:56] raphdg has joined the channel [13:57] samBiotic_ has joined the channel [13:57] jchris has joined the channel [13:59] dmkbot1 has joined the channel [14:01] tmcw has joined the channel [14:03] Tubarao_Sartinha has joined the channel [14:03] Tubarao_Sartinha: Hello! =D [14:04] Tubarao_Sartinha: For questions about npm can I use this channel or is there one more specific? [14:04] v3ctR has joined the channel [14:06] Alex_R has joined the channel [14:06] sourcode has joined the channel [14:07] sylvinus has joined the channel [14:08] guybrush: tjholowaychuk: i do `app.use(route,stylus.middleware({src:x.src,force:true}))` - though it only compiles when i delete the .css - is this a known bug or mostly a fault in my code? [14:08] spcshpop` has left the channel [14:08] neilk_ has joined the channel [14:08] marlun has joined the channel [14:08] whatsup has joined the channel [14:08] tjholowaychuk: guybrush unless it's an older version of stylus there's probably something going on [14:08] tjholowaychuk: i never use force [14:08] tjholowaychuk: and it works fine [14:08] tjholowaychuk: (maybe force has a bug? haha) [14:09] tjholowaychuk: import mapping for changes works fine now [14:09] guybrush: doesnt work without force too :/ will do some further investigation [14:09] tjholowaychuk: so force isnt really necessary [14:09] tjholowaychuk: hm [14:09] wbednarski has joined the channel [14:10] guybrush: all i found so far in the issues is https://github.com/LearnBoost/stylus/issues/376 but did not investigate it yet [14:10] wbednarski has joined the channel [14:11] ceej has joined the channel [14:12] jakehow__ has joined the channel [14:12] jakehow_ has joined the channel [14:12] jakehow has joined the channel [14:12] tjholowaychuk: guybrush ah, I didn't see that one, makes sense [14:12] tjholowaychuk: though that should be somewhat of an edge-case [14:14] DrMcKay has joined the channel [14:15] tk has joined the channel [14:15] balgarath has joined the channel [14:15] sneakyness_wk has joined the channel [14:15] sneakyness_wk has joined the channel [14:15] junkee[] has joined the channel [14:16] brianc has joined the channel [14:16] joshkehn has joined the channel [14:16] mquin has joined the channel [14:17] Xano has joined the channel [14:17] luke` has joined the channel [14:18] esmevane has joined the channel [14:18] jesster7 has joined the channel [14:19] JakeyChan: simple question: require.extension['_ext'] = function (module, filename) {} , what is it ? [14:19] nibblebot has joined the channel [14:21] sivy has joined the channel [14:21] jesster71 has joined the channel [14:22] guybrush: tjholowaychuk: i did not read through the whole code, but stylus-middleware will NOT recompile when there is already an appropriate .css-file right? regardless of whether the .styl has changed -- https://github.com/LearnBoost/stylus/blob/master/lib/middleware.js#L111 [14:23] guybrush: since checking for force-option happens inside the if-statement [14:24] tjholowaychuk: guybrush it checks the mtime [14:24] vipaca has joined the channel [14:24] vipaca has joined the channel [14:25] jtsnow has joined the channel [14:25] guybrush: tjholowaychuk: ah i see, sorry [14:25] guybrush: well i will look deeper, its my crap code for sure :p [14:25] randy_ has joined the channel [14:26] tjholowaychuk: it could be similar to what that guy mentioned, i haven't come across that personally though [14:26] Poetro has joined the channel [14:26] Poetro has joined the channel [14:26] tjholowaychuk: just step through it with node's debugger [14:26] tjholowaychuk: im sure that will give you some good hints [14:26] guybrush: i will [14:27] CarterL has joined the channel [14:27] Shamoon has joined the channel [14:27] Shamoon: Hello all! [14:27] Shamoon: i'm looking for help with express.js [14:27] Shamoon: is this the right place? [14:27] tjholowaychuk: Shamoon #express [14:28] herbySk has joined the channel [14:28] Shamoon: thanks [14:28] __sorin__ has joined the channel [14:30] robi42 has joined the channel [14:30] mikeal has joined the channel [14:35] dmkbot has joined the channel [14:35] baudehlo has joined the channel [14:35] catb0t has joined the channel [14:35] explodes has joined the channel [14:35] MrTopf has joined the channel [14:35] whatsup_ has joined the channel [14:36] cronopio has joined the channel [14:36] dshaw_ has joined the channel [14:36] whatsup: hi [14:37] whatsup: anyone knows an efficient way of deep copying an object in node [14:37] whatsup: rather than referencing it? [14:39] boaz has joined the channel [14:40] tracker1: json encode/parse [14:40] softdrink has joined the channel [14:40] dnjaramba has joined the channel [14:40] tracker1: not that efficient though [14:40] Fuu has joined the channel [14:40] radiodario: also, what if the objects contain functions? [14:40] radiodario: can you json enconde a funk? [14:41] joshkehn: Thing is, JSON encode / parse is the exact same steps you would do for a deep copy except you might want to add functions and compare prototypes [14:41] Frippe has joined the channel [14:41] DennisRasmussen has joined the channel [14:41] jarek has joined the channel [14:41] jarek has joined the channel [14:44] baudehlo: you can do: var new_obj = Object.create(old_obj); [14:44] whatsup: tracker1 yea [14:45] whatsup: not efficient [14:45] whatsup: and gash [14:45] Glenjamin: that's not deep or a copy, is it? [14:45] whatsup: :S [14:45] whatsup: cant believe there is no straightforward method [14:45] Glenjamin: i think its rare to need a generic deep copy [14:45] JSManiacs has joined the channel [14:45] tracker1: Glenjamin, would be a deep copy... [14:46] baudehlo: discussion here: http://stackoverflow.com/questions/122102/what-is-the-most-efficient-way-to-clone-a-javascript-object [14:47] EyePulp has joined the channel [14:47] nibblebot: SubStack, any folks using Seq: is this the proper way to do parEach with a nested sequence inside? http://pastebin.com/xHw0WX4i [14:48] dnjaramba_ has joined the channel [14:48] Glenjamin: Object.create: Creates a new object with the specified prototype object and properties. [14:48] whatsup: baudehlo Already read that [14:48] Glenjamin: if that works as a clone, is that a co-incidence or part of the spec? [14:49] dnjaramba_ has joined the channel [14:49] baudehlo: *shrug* I guess it's part of JS5 [14:49] whatsup: Glenjamin thinking about the same [14:49] baudehlo: or rather ES5 [14:49] whatsup: ES5? [14:49] whatsup: yea [14:49] whatsup: defo [14:50] vikstrous_ has joined the channel [14:50] dylang has joined the channel [14:50] Glenjamin: Object.create definitely does not clone [14:51] kevwil has joined the channel [14:51] whatsup: Anyway isnt new supposed to clone? [14:51] whatsup: I mean [14:52] FireyFly|n900 has joined the channel [14:52] Glenjamin: anyway, the "best" way to deep clone an object in JS is manually [14:52] whatsup: ahh forget it [14:52] whatsup: too tired [14:52] whatsup: ? [14:52] whatsup: Glenjamin? self written method? [14:53] Skomski has joined the channel [14:53] Gregor: The best way to deep-copy an object is not to :) [14:53] kriszyp has joined the channel [14:53] whatsup: lol then how would you solve the next situation: [14:53] Gregor: By not doing it that way. [14:53] whatsup: :D [14:53] joshkehn: By altering the situation. [14:54] whatsup: :DDDD [14:54] whatsup: ,,l,, [14:54] Gregor: joshkehn++ [14:54] catb0t: joshkehn now has 1 beer [14:54] v8bot_: Gregor has given a beer to joshkehn. joshkehn now has 1 beers. [14:54] joshkehn: Same thing I tell people when they say they have to absolutely must use eval [14:54] willwhite has joined the channel [14:54] Gregor: Oh good, we have two beerbots >_> [14:54] whatsup: wooo its fun :D [14:54] dob__ has joined the channel [14:54] joshkehn: If you have painted yourself into a corner were [undesired option] is the only choice then you did something wrong earlier. [14:54] whatsup: Gregor++++ [14:54] whatsup: Gregor++ [14:54] v8bot_: whatsup has given a beer to Gregor. Gregor now has 1 beers. [14:54] catb0t: Gregor now has 1 beer [14:54] whatsup: Gregor++ [14:54] catb0t: Gregor now has 1 beer [14:54] v8bot_: Gregor is getting too many beers. Don't let Gregor get drunk! [14:55] Cromulent has joined the channel [14:55] Gregor: ........................................................... [14:55] whatsup: rofl [14:55] whatsup: only werks with ++? [14:55] whatsup: Gregor += 2 [14:55] whatsup: :D [14:55] whatsup: seems like [14:55] whatsup: :D [14:55] Gregor: What have I started here X_X [14:55] CoverSli1e has joined the channel [14:56] gazumps has joined the channel [14:57] pquerna has joined the channel [14:58] whatsup: So concrete situation, please beer with me I am a newbie :) [14:58] joshkehn: beer with me. [14:58] joshkehn: Not likely. [14:58] whatsup: lol typo [14:58] whatsup: :D [14:58] CoverSlide: whatsup++ [14:58] catb0t: whatsup now has 1 beer [14:58] v8bot_: CoverSlide has given a beer to whatsup. whatsup now has 1 beers. [14:58] joshkehn: Sure [14:58] Skomski2 has joined the channel [14:58] whatsup: Freud is here :D [14:58] joshkehn: Sigmund? Where? [14:59] whatsup: :D yep he [14:59] whatsup: So I have an object, it has an errors array in it. now i do this [14:59] ptlo_ has joined the channel [14:59] dnjaramba has joined the channel [14:59] whatsup: var obj_instance = new obj(); now the problem if i put the errors into obj_instance.errors... [15:00] whatsup: ...next time i do var obj_instance = new obj(); it already has the nasty errors from the last run [15:00] whatsup: :( [15:00] joshkehn: wat [15:00] joshkehn: I don't get it. [15:00] whatsup: Will try to explain better [15:00] Glenjamin: the object should set this.errors = [] in its constructor [15:00] Glenjamin: not on its prototype [15:00] kenperkins has joined the channel [15:01] whatsup: thaths the problem then [15:01] whatsup: wait... [15:01] whatsup: OKay that will be the solution. [15:01] whatsup: THank you. [15:01] whatsup: :) [15:02] sub_pop has joined the channel [15:02] fatjonny has joined the channel [15:03] BillyBreen has joined the channel [15:04] balgarath_ has joined the channel [15:05] amigojapan_ has joined the channel [15:23] nodelog has joined the channel [15:23] maru_cc_ has joined the channel [15:23] raidfive has joined the channel [15:23] jeromegn has joined the channel [15:23] berasa has joined the channel [15:23] kenperkins has joined the channel [15:23] vipaca has joined the channel [15:23] meso has joined the channel [15:23] vipaca has joined the channel [15:23] trupppOFF has joined the channel [15:23] a11235 has joined the channel [15:23] Poetro has joined the channel [15:23] Poetro has joined the channel [15:23] avalanche123 has joined the channel [15:23] garrensmith has joined the channel [15:23] willwhite has joined the channel [15:23] sneakyness has joined the channel [15:23] Draggor has joined the channel [15:23] alnewkirk has joined the channel [15:24] H4ns has joined the channel [15:24] iFire has joined the channel [15:24] Naked has joined the channel [15:24] zpoley has joined the channel [15:24] rendar has joined the channel [15:24] markatto has joined the channel [15:24] cosmincx has joined the channel [15:25] mikey_p has joined the channel [15:25] mikey_p has joined the channel [15:25] amigojapan has joined the channel [15:25] rendar has joined the channel [15:25] zpoley has joined the channel [15:25] H4ns has joined the channel [15:25] daithi44: guybrush I see, couldn't find anything anywhere on it. Cheers [15:25] TheJH_phone has joined the channel [15:26] tmm1 has joined the channel [15:26] digitalsabre1 has joined the channel [15:27] smtlaissezfaire has joined the channel [15:27] RORgasm has joined the channel [15:27] dgathright has joined the channel [15:28] kloeri has joined the channel [15:28] gerard0 has joined the channel [15:29] aheckmann has joined the channel [15:29] AAA_awright has joined the channel [15:31] bodisiw has joined the channel [15:33] SuMarDi has joined the channel [15:34] iammerrick has joined the channel [15:35] dmkbot: joyent/node: Kos: Misleading console output for arrays with undefined - https://github.com/joyent/node/issues/1651 [15:35] knifed has joined the channel [15:37] tmpvar has joined the channel [15:37] Skomski has joined the channel [15:38] bentkus has joined the channel [15:38] guillermo has joined the channel [15:39] Spion has joined the channel [15:39] aelien27 has joined the channel [15:40] PhilK has joined the channel [15:41] kkaefer: is there a way to trace back the exception to its original caller (bridging event loop iterations) beside what long-stack-traces is doing? [15:41] kkaefer: (i.e. "rig" all known functions that take a callback and capture the stack trace) [15:42] socketio\test\85 has joined the channel [15:42] micheil has joined the channel [15:42] Vertice has joined the channel [15:43] socketio\test\76 has joined the channel [15:43] boucher-macbook has joined the channel [15:43] mjijackson has joined the channel [15:44] technoweenie has joined the channel [15:44] thalll has joined the channel [15:44] boucher-macbook has left the channel [15:45] spasquali has joined the channel [15:45] NegativeK has joined the channel [15:45] spasquali has left the channel [15:45] dexter_e has joined the channel [15:46] Frippe has joined the channel [15:47] Riu has joined the channel [15:49] DrMcKay: oh: http://stackoverflow.com/questions/3571717 [15:49] joshkehn: Hahah [15:50] kevwil has joined the channel [15:50] stephank has joined the channel [15:50] dmkbot: joyent/node: Kos: Misleading console output for arrays with undefined - https://github.com/joyent/node/issues/1651 [15:50] albertosheinfeld has joined the channel [15:50] context: still on about arrays [15:51] albertosheinfeld has joined the channel [15:51] JakeyChan has joined the channel [15:52] adrianmg has joined the channel [15:52] CoverSlide: cheezus [15:53] Yuffster_work has joined the channel [15:55] dmkbot: joyent/libuv: pietern: uv_write_t and error handling - https://github.com/joyent/libuv/issues/179 [15:55] petrjanda has joined the channel [15:55] madsleejensen has joined the channel [15:56] context: kk smbc is awesome [15:56] adrianmg has joined the channel [15:56] simigirl has joined the channel [15:56] CoverSlide: smbc? [15:57] CoverSlide: octo-christ? [15:57] simigirl: hey need help for node.js [15:57] CoverSlide: yeah lots of people come here for that [15:57] kevwil_ has joined the channel [15:57] CoverSlide: !help [15:57] simigirl: is there any client server example that employs mqtt [15:58] simigirl: so that i can test it directly [15:58] CoverSlide: haven't seen a mqtt client [15:58] CoverSlide: much less a server [15:58] simigirl: do u have any simple node.js client server example [15:59] technoweenie has joined the channel [15:59] chia has joined the channel [16:00] JakeyChan_ has joined the channel [16:01] TheJH has joined the channel [16:01] TheJH has joined the channel [16:01] simigirl: any one got good example for node.js client and server [16:01] CIA-30: node: 03koichik 07master * r6139459 10/ (lib/util.js test/simple/test-util-inspect.js): [16:01] CIA-30: node: util: Fix inspection for sparse array [16:01] CIA-30: node: Fixes #1651. - http://git.io/4JXoNQ [16:01] AvianFlu: simigirl, what kind of client and server, you want simple TCP? [16:01] kkaefer: heh, https://github.com/joyent/node/blob/master/src/node.cc#L1704 [16:01] simigirl: yes [16:01] CIA-30: node: 03koichik 07master * r98b6442 10/ lib/util.js : util: Divide inspect() into some subroutines - http://git.io/qZxdxw [16:01] CoverSlide: awesome [16:02] CoverSlide: is Compile used anywhere? [16:02] CIA-30: libuv: 03Bert Belder 07master * rc274151 10/ src/win/process.c : win: fix spawn() bug - http://git.io/hZRRgQ [16:02] tylerstalder has joined the channel [16:03] sylvinus has joined the channel [16:03] CIA-30: libuv: 03Bert Belder 07noinit * rf23da38 10/ (33 files): Remove uv_init calls from tests and benchmarks - http://git.io/cd7TYw [16:03] CIA-30: libuv: 03Bert Belder 07noinit * rc24cfdc 10/ (5 files in 3 dirs): Remove uv_init from uv.h and windows backend - http://git.io/JHJNwQ [16:03] Tubarao_Sartinha has joined the channel [16:03] CoverSlide: damn, lots of commits today [16:04] simigirl: am sorry i needed javascript based client server example [16:04] _kud has joined the channel [16:05] BillyBreen has joined the channel [16:05] dmkbot: joyent/node: Kos: Misleading console output for arrays with undefined - https://github.com/joyent/node/issues/1651 [16:05] smathy has joined the channel [16:05] BillyBreen has joined the channel [16:06] simigirl: does any one has javascript based client server model of node.js example [16:06] CoverSlide: there's a simple echo server on the home page [16:06] prettyrobots has joined the channel [16:07] simigirl: that is like server running [16:07] Riu has left the channel [16:07] simigirl: but i wanted something like clients sends data and server echos it [16:07] CoverSlide: that's exactly what that is [16:08] CoverSlide: well wait [16:08] CoverSlide: i actually have too look at it [16:08] CoverSlide: ACTION sighs [16:08] AvianFlu: there's a tcp echo server under the http example [16:09] themiddleman_itv has joined the channel [16:09] ckpcw has joined the channel [16:11] CIA-30: libuv: 03Bert Belder 07noinit * r65ff2e6 10/ (5 files in 3 dirs): Remove uv_init from uv.h and windows backend - http://git.io/eAlv4A [16:11] CIA-30: libuv: 03Bert Belder 07noinit * rc253036 10/ (33 files): Remove uv_init calls from tests and benchmarks - http://git.io/dVvl9A [16:11] AAA_awright has joined the channel [16:11] thalll has joined the channel [16:12] simigirl: hey [16:12] simigirl: any one [16:13] nevir has joined the channel [16:13] Raynos: Anyone familiar with vows? [16:13] simigirl: how got both client and server javascript based code for node.js [16:13] AvianFlu: simigirl, http://nodejs.org/ has a TCP echo server that does what you want [16:13] AvianFlu: also, v [16:13] AvianFlu: http://nodejs.org/docs/v0.4.11/api/net.html [16:13] Cromulent has joined the channel [16:14] AvianFlu: Raynos, a little. What's the question? [16:14] Raynos: vows has an undocumented teardown feature. Is that just "teardown" key/value pair on a context? [16:14] Raynos: Or is it on the batch? [16:14] nevir has left the channel [16:14] simigirl: flu that are two server example one for http and for socket [16:14] AvianFlu: I actually have no idea, Raynos [16:14] simigirl: any help [16:14] simigirl: but they have not given client side part [16:14] AvianFlu: simigirl, the socket one is an echo server [16:14] Raynos: Awesome. [16:14] simigirl: yes [16:14] AvianFlu: look at the net module docs [16:15] AvianFlu: and use net.createConnection to connect to it [16:15] clifton has joined the channel [16:15] necrodearia has joined the channel [16:15] AvianFlu: Raynos, I can find out a little later today though [16:15] simigirl: dio u have the client code [16:15] simigirl: it will echo the one string [16:15] clifton: anyone know why the content-type header is always missing when ie9 submits a form with method post? [16:16] madsleejensen has joined the channel [16:16] Raynos: It would appear it works both on contexts and batches [16:16] simigirl: how wil i send data to the tcp echo server [16:16] Raynos: By find out do you mean ask indexzero? [16:17] AAA_awright has joined the channel [16:17] CoverSlide: simigirl: https://gist.github.com/1203796 [16:17] boaz has joined the channel [16:18] AvianFlu: lol yes, Raynos [16:18] dylang has joined the channel [16:18] pdonald has joined the channel [16:18] simigirl: thank a lot [16:18] simigirl: coverslide [16:19] dnyy has joined the channel [16:19] DrMcKay: AvianFlu: where have you been man? [16:19] AvianFlu: DrMcKay, Node Conf Summer Camp! [16:19] DrMcKay: AvianFlu: ah, you lucky bastard [16:20] Raynos: AvianFlu: does indexzero maintain it these days, What happened to cloudhead? [16:20] AvianFlu: cloudhead is like, writing erlang, I think [16:20] Daegalus has joined the channel [16:20] DrMcKay: AvianFlu: would you review my latest code? https://github.com/Relief-1/Relief1/pull/23 [16:20] AvianFlu: so when you see a cloudhead lib these days, it's maintained by nodejitsu [16:20] AvianFlu: sure DrMcKay [16:21] DrMcKay: AvianFlu: thanks :). also, we're having a hackaton on Friday, 16:00 UTC I think [16:21] alvaro_o has joined the channel [16:21] amerine has joined the channel [16:21] AvianFlu: nice, good to know [16:22] DrMcKay: AvianFlu: and you *are* taking part in it! :D [16:22] AvianFlu: that's like 10am here, so it's gotta be after work [16:22] madsleejensen1 has joined the channel [16:22] AvianFlu: but sure [16:22] zackattack has joined the channel [16:23] DrMcKay: AvianFlu: good to hear :). we'll be hacking some hook.io webserver [16:23] simigirl: does any one have used mosquitto [16:23] simigirl: broker [16:23] CoverSlide: i've installed it, haven't used it yet [16:23] AvianFlu: DrMcKay, good to hear [16:23] kkaefer: in libuv, is there a way to associate an event loop iteration with a unique ID, and, when using uv_queue_work(), restore that ID in iterations that went through the thread pool? [16:24] simigirl: its pretty light weight [16:24] jetienne_ has joined the channel [16:24] simigirl: the mqtt protocol is supporting node.js [16:24] simigirl: but dont have enough example to look at it [16:24] DrMcKay: btw, AvianFlu, are you programming in Python or Ruby? [16:24] simigirl: its all for java and .net [16:25] jerrysv has joined the channel [16:25] AvianFlu: I know python, never written any ruby [16:25] AvianFlu: I went c++ -> perl -> python -> node [16:26] DrMcKay: AvianFlu: http://rupy.eu/ ? [16:26] AvianFlu: some CFML in there too >.< [16:26] DrMcKay: AvianFlu: and thanks for merge :) [16:27] AvianFlu: np [16:27] AvianFlu: that looks kinda cool [16:27] Sorella has joined the channel [16:27] thalll has joined the channel [16:27] DrMcKay: AvianFlu: I want you at this conf! [16:28] kkaefer: any people with libuv expertise? [16:28] chrislorenz has joined the channel [16:28] bnoordhuis: kkaefer: yes [16:28] willwhite: Lately I've been seeing some general slowness with `npm install` and it's been hanging after the message `npm verb tar about to write tar and gzip it`. Anyone else seen this? [16:28] kkaefer: in libuv, is there a way to associate an event loop iteration with a unique ID, and, when using uv_queue_work(), restore that ID in iterations that went through the thread pool? [16:29] kkaefer: bnoordhuis: background: I'm looking for a way to associate thrown exceptions with a particular origin function [16:29] bnoordhuis: kkaefer: is that a roundabout way of saying you want a loop counter? [16:29] hjy has joined the channel [16:29] kkaefer: no [16:29] kkaefer: when running multiple test cases in one process/context [16:30] eignerchris has joined the channel [16:30] kkaefer: and a test uses any async functions, it's impossible to associate an exception with a particular test case [16:30] dmkbot: joyent/node: kuebk: Unexpected behavior of console.log under certain condition - https://github.com/joyent/node/issues/1634 [16:30] bentkus has joined the channel [16:30] replore_ has joined the channel [16:30] replore has joined the channel [16:30] kkaefer: the long-stack-traces is a kind of hack around that, but it replaces known built-in functions that take callbacks and restores the stack when that callback is called [16:31] kkaefer: but that doesn't work with arbitrary C++ modules [16:31] AAA_awright has joined the channel [16:31] bnoordhuis: kkaefer: still not clear what you mean by 'associate an event loop iteration with a unique ID, and, when using uv_queue_work(), restore that ID in iterations that went through the thread pool' [16:31] kkaefer: I'm essentially looking for a way to run a javascript functions [16:31] kkaefer: and associate *any* code that is being executed as a result of that function with the original function [16:32] dshaw_ has joined the channel [16:32] kkaefer: e.g. if that js function runs process.nextTick(), I want to associate the invocation of the called function with the original function [16:32] sivy_ has joined the channel [16:32] kmox83 has joined the channel [16:32] bnoordhuis: kkaefer: okay, i think i get it [16:32] bnoordhuis: kkaefer: there's nothing built in, you'll have to track it yourself [16:32] kkaefer: it goes beyond that, when I write a c++ extension, and use the libeio thread pool, and the after callback of that thread pool runs a c++ extension [16:33] kkaefer: err [16:33] gxdssoft has joined the channel [16:33] hjy_ has joined the channel [16:33] kkaefer: ^...runs a javascript function, I want to associate any exceptions thrown in that invocation with the original function that caused the thread pool round trip [16:34] ronnieboy has joined the channel [16:34] isaacs has joined the channel [16:34] bnoordhuis: kkaefer: like i said, you'll have to track it yourself in handle->data [16:34] kkaefer: bnoordhuis: so basically the only solution you're seeing is to replace all possible functions that go into the thread pool with custom functions [16:34] JSManiacs has joined the channel [16:34] kkaefer: that somehow store the associate? [16:34] kkaefer: hm, ok [16:34] kkaefer: I was afraid that was the answer :/ [16:34] kkaefer: thanks anyway [16:35] bnoordhuis: kkaefer: my pleasure [16:35] bzinger has joined the channel [16:35] kkaefer: saves me a lot of time poking at libuv [16:36] versicolor_ has joined the channel [16:36] yozgrahame has joined the channel [16:36] tmpvar has joined the channel [16:37] davidsklar has joined the channel [16:37] yumike has joined the channel [16:37] JaKWaC has joined the channel [16:38] spcshpopr8r has joined the channel [16:39] gr-eg has joined the channel [16:39] sivy has joined the channel [16:40] jtsnow has joined the channel [16:40] greg__ has joined the channel [16:41] Drakonite has joined the channel [16:41] felixge has joined the channel [16:41] felixge has joined the channel [16:41] squeese has joined the channel [16:41] fangel has joined the channel [16:42] ph^ has joined the channel [16:42] lmorchard has joined the channel [16:42] k1ttty has joined the channel [16:43] seebees has left the channel [16:43] seebees has joined the channel [16:44] RushPL has joined the channel [16:44] [[zz]] has joined the channel [16:46] dilvie has joined the channel [16:48] LordMetroid has joined the channel [16:48] HubertChang has joined the channel [16:49] HubertChang: anyone implemented one cas (for single sign on) server already? [16:50] jtsnow has joined the channel [16:50] tylerstalder has joined the channel [16:51] sneakyness_wk has joined the channel [16:52] LordMetroid: hmm, what does "then the raw buffer is returned" for fs.readFile mean? [16:52] LordMetroid: I can see that I get node::IOWatcher::Set(const v8::Arguments&): Assertion `!io->watcher_.active' failed. [18:36] kuebk^: found in 0.4.11 [18:36] DrMcKay: kuebk^: what code caused it? [18:36] kuebk^: the socket to which I wanted to connect [18:36] kuebk^: wasn't up [18:37] kuebk^: but I didn't have it earlier [18:37] kuebk^: doing some testing in my app [18:37] DrMcKay: kuebk^: it shouldn't happen anyway [18:37] kuebk^: yea [18:38] JaKWaC has joined the channel [18:39] vicapow has joined the channel [18:39] rfay has joined the channel [18:39] vicapow: anyone have a suggestion for views inside of views? I'm using includes but things get complicated with locals [18:40] Twelve-60` has joined the channel [18:40] tjholowaychuk: vicapow partial() views inherit locals [18:40] kuebk^: DrMcKay happens [18:40] kuebk^: when I do [18:40] kuebk^: http.server listen [18:41] patcito has joined the channel [18:41] kuebk^: so [18:41] fmeyer has joined the channel [18:41] kuebk^: I added some kind of dead socket dectecion [18:41] kuebk^: when I get close event [18:41] fattytuna has joined the channel [18:42] jetienne_: (im looking for a name of a library which provide console.* API in webworkers... i was thinking consoleApiForWorker ou console4worker, an idea on this serious issue ?) [18:42] kuebk^: I'm stopping http server [18:42] kuebk^: removing closed socket [18:42] vicapow: tjholowaychuk: yeah, but that requires a single controller for both parent and partial views. Id like to be able to have a controller for my child view [18:42] tilgovi has joined the channel [18:42] tilgovi has joined the channel [18:42] kuebk^: and starting it back [18:42] kuebk^: if the socket closes itself when the server is run the server handles it property [18:42] tjholowaychuk: vicapow not sure i get the issue, hop in #express and i'll try and help [18:43] AvianFlu has joined the channel [18:43] kuebk^: but if I run server without running socket I'm getting error [18:43] patcoll has joined the channel [18:44] DrMcKay: kuebk^: some code, please? [18:44] kuebk^: will do a push soon [18:45] normanrichards has joined the channel [18:45] DrMcKay: kuebk^: great :) [18:45] kuebk^: wrote something like this [18:45] kuebk^: http://kuebk.dyndns.org/ [18:46] simon1: i need to implement namebased virtualhosting in nodejs. is this possible? [18:46] BrianTheCoder has joined the channel [18:46] H4ns has joined the channel [18:47] AvianFlu: simon1: http://github.com/nodejitsu/node-http-proxy [18:47] simon1: AvianFlu: thanks. I did see that. is it possible to configure node-http-proxy with expressjs? [18:48] AvianFlu: you can put the http-proxy in front of anything that's serving http [18:48] CoverSlide: simon1: express has a vhost middleware that it gets from connect: http://senchalabs.github.com/connect/middleware-vhost.html [18:48] CIA-30: node: 03Ben Noordhuis 07master * rbb3a1d5 10/ (lib/http2.js test/simple/test-http-conn-reset.js): [18:48] CIA-30: node: http: set .code='ECONNRESET' on socket hang up errors [18:48] CIA-30: node: Fixes #1672. - http://git.io/EhdPJg [18:49] aconbere has joined the channel [18:49] simon1: AvianFlu: indeed. thx. [18:49] simon1: CoverSlide: thx. is it possible to somehow dynamically create vhosts using the vhost middleware? [18:50] felixhummel has joined the channel [18:50] CoverSlide: hmm that I haven't seen [18:50] SuMarDi has joined the channel [18:50] CoverSlide: if you want it dynamic, probably better to use node-http-proxy [18:50] simon1: I need to get node to allow me to dyanamically create vhosts or reverse proxies [18:51] CoverSlide: and forward to local ports [18:51] simon1: ok. makes sense [18:51] maqr has joined the channel [18:52] pjacobs has joined the channel [18:53] CoverSlide: indutny: i'm removing index from my globals. msgpack takes too fucking long to compile [18:53] indutny: CoverSlide: hm... really? [18:53] indutny: CoverSlide: problem is that it's much stablier with msgpack [18:53] indutny: hm [18:53] indutny: I'll make msgpack optional, probably... [18:54] indutny: CoverSlide: is that urgent for you? [18:54] CoverSlide: no, im not using it on anything currently [18:54] CoverSlide: i just maintain a grip of packages that i regularly update [18:54] patcito has joined the channel [18:54] indutny: ok, I'll take a look in next 8-10 hours - is that good for you? [18:55] indutny: CoverSlide: are you using it? :) [18:55] CoverSlide: just playing with it really, it's cool, but nothing in production [18:56] tmedema: Anyone managed to disable heartbeats with socket.io? http://stackoverflow.com/questions/7347400/disabling-socket-io-heartbeats-node-js [18:56] `3rdEden has left the channel [18:57] franck34: hi [18:57] CoverSlide: hi [18:57] franck34: is nodejs ready for websocket over ssl ? [18:57] franck34: i mean, a websocket client [18:57] joshkehn: um [18:58] amiller has joined the channel [18:58] abravo has joined the channel [18:58] joshkehn: Node is ready for whatever. WebSockets is just a protocol. [18:58] franck34: how [18:58] joshkehn: Do you mean, “Is there a WS over SSL library for Node?” [18:58] franck34: yes [18:58] franck34: more that yes [18:58] CoverSlide: Node is down for whatever, takin no shorts no losses [18:59] franck34: i didn't found any lib for that [18:59] joshkehn: I'm not sure if https://github.com/miksago/node-websocket-server supports it. [18:59] franck34: and i don't have enought skill to make it myself [18:59] joshkehn: Looks like Socket.io might [18:59] franck34: joshkehn: i need a websocket client over ssl, not a server [18:59] CIA-30: node: 03Fedor Indutny 07master * r4527de8 10/ (3 files in 3 dirs): [18:59] CIA-30: node: vm context with accessors [18:59] CIA-30: node: true copy of sandbox properties [18:59] CIA-30: node: catch sealed errors, pass global's prototype to CloneObject [18:59] CIA-30: node: Fixes #1673 - http://git.io/VfVC1A [19:00] indutny: ryah: great, thanks [19:00] joshkehn: Wait, why are you using websockets between servers? [19:00] dmkbot: joyent/libuv: erickt: Fix uv_getaddrinfo to accept custom data. - https://github.com/joyent/libuv/issues/156 [19:00] btipling has joined the channel [19:00] amiller has joined the channel [19:00] rfay has joined the channel [19:00] franck34: joshkehn: need to connect to a realtime market quotes flow using websocket over ssl [19:00] stepheneb has joined the channel [19:00] franck34: and put market quotes changes into a redisdb [19:01] joshkehn: If this is an API for a server they shouldn't be using websockets. [19:01] Frippe has joined the channel [19:01] CoverSlide: there's no other api? [19:01] btipling: are there tools besides node-inspector I can use to debug memory leaks? [19:01] btipling: on a remote machine [19:01] CoverSlide: that's shitty [19:01] tbranyen: btipling: valgrind [19:01] abravo: What's the cleanest way to determine if an object is empty? [19:01] franck34: well ... let's said i didn't ask for API lol, i just reverse the webGUI of the broker [19:02] joshkehn: Shitty and inefficient. [19:02] tbranyen: btipling: not sure what else other than monitoring the heap [19:02] CoverSlide: Object.keys(object).length == 0 [19:02] btipling: tbranyen: thanks [19:02] joshkehn: franck34: Ask for an API then. [19:02] yumatov has joined the channel [19:02] abravo: CoverSlide: thanks [19:02] franck34: joshkehn: i don't want, it cost money [19:02] franck34: and all fucking API are using microsoft NETDDE [19:02] bluesmoon has joined the channel [19:02] joshkehn: So you want us to help you reverse engineer an SSL websocket API that you don't want to pay for? [19:03] franck34: no i just want to know if there is a mature node lib to make a websocket client over ssl [19:03] franck34: because i already test many of them without luck [19:03] franck34: and because there is 2 branches, and perhaps it's more possible using 0.5 branche [19:04] franck34: rathern than 0.4 [19:04] joshkehn: Honestly I'm not sure. [19:04] sivy has joined the channel [19:04] btipling: what is "node_g"? [19:04] mike5w3c has joined the channel [19:04] joshkehn: I've never had to deal with a client on server websocket. [19:04] franck34: i'm sure it's not possible yet, and that's why i'm asking the question [19:04] CoverSlide: Gangsta node [19:04] ryah: btipling: the debug build [19:04] joshkehn: It's possible. [19:04] joshkehn: Like I said, it's just a protocol. [19:05] franck34: i mean, no lib ready to use [19:05] btipling: ryah: oh, ok thanks [19:05] franck34: joshkehn: question ... [19:05] joshkehn: Shoot. [19:05] franck34: joshkehn: what about a proxy http <-> https for websocket ? [19:05] joshkehn: ACTION raises eyebrow [19:05] simon1: http-proxy is quite amazing. node is amazing. i cant get over it. its been weeks of pure "in awe" [19:05] joshkehn: Could work. [19:05] franck34: node websocket client <-> http proxy <-> ssl server [19:05] joshkehn: Yeah, something like that. [19:06] franck34: i already google that, and there is no great answer :( [19:06] AvianFlu: franck: http://github.com/nodejitsu/node-http-proxy can do stuff like that [19:06] franck34: AvianFlu: not sure it support websocket [19:06] AvianFlu: there are http <-> https and websocket examples [19:06] AvianFlu: it does [19:06] franck34: mmm [19:06] franck34: interesting [19:07] franck34: hop i can modify headers in the proxied request like i want to make it "transparent" [19:07] franck34: (level 7) [19:07] bluesmoon: does anyone know why node-waf configure always says "Checking for node path : not found" [19:07] franck34: i have no choice [19:07] McMAGIC--Copy has joined the channel [19:07] franck34: let's test that .. [19:07] bluesmoon: even though $ echo $NODE_PATH [19:07] bluesmoon: /usr/lib/node_modules [19:08] snowinferno|2 has joined the channel [19:08] AvianFlu: bluesmoon, as far as I can see, that fail message is just there and doesn't affect much [19:09] AvianFlu: as far as I've seen, rather [19:09] AvianFlu: confusing, but I've never seen it actually make anything break [19:09] bluesmoon: I think it may be sudo stripping out NODE_PATH [19:09] AvianFlu: it's quite possible [19:09] bluesmoon: well, what's failing is that node doesn't realise that its modules are in /usr/lib/node_modules [19:09] lvijay has joined the channel [19:09] bluesmoon: so it always fails with cannot find module [19:09] mynyml has joined the channel [19:09] franck34: joshkehn: you can't imagine what is the price to get realtime quote using an API with broker. They are all buglars lol. It's too expensive first, and second, all API are using NetDDE so with a linux server -> fy .. I want to make realtime quote for free using websocket :D [19:10] joshkehn: Why not just proxy in a browser? [19:10] franck34: because i compute data [19:10] whatsup has joined the channel [19:10] joshkehn: Keep a browser open, and have it translate calls to the server. [19:10] joshkehn: That's fine. [19:10] franck34: to make some realtime alert [19:10] yozgrahame has joined the channel [19:10] whatsup: Cheers. [19:10] joshkehn: ws.on('quote', function (data) { server.emit('quote', data); }) [19:10] joshkehn: Something like that. [19:11] joshkehn: Basically open a websocket in the browser. Then whenever you get data, just emit that down to your node process. [19:11] franck34: so on my server, i need to install X and keep a browser open ? [19:11] joshkehn: Basically [19:11] franck34: i understand [19:11] joshkehn: It's nasty but it's cheaper then paying if that's what you're after. ;) [19:11] franck34: let's test node-proxy first, it's more elegant, and i can write a paper on this [19:12] snowinferno|2: Hi all, if i define a function to use as my event listener and add it via TCPServer.on( 'data', myFun ); what would 'this' be inside the function? [19:12] snowinferno|2: sorry, not tcpserver.on, Socket.on( 'data', myFun ); [19:12] joshkehn: franck34: Good luck. [19:12] franck34: got a second challenge ... websocket server is sending binary data, i'm completely loosed regarding that :) [19:12] franck34: thx [19:13] joshkehn: Um. [19:13] vicapow: how do i dont have to do ./../../file.js ? [19:13] whatsup: Guys how can I "trap" a value of a loop variable. Others told me I need a closure, how do they work? [19:13] vicapow: how do i not* have to do ./../../file.js? [19:13] vicapow: whatsup: what do you mean "trap"? [19:13] joshkehn: franck34: Look at Buffers [19:14] HubertChang has joined the channel [19:14] joshkehn: vicapow: I think he means isolate in scope [19:14] joshkehn: Like [19:14] whatsup: vicapow joshkehn yes yes [19:14] franck34: joshkehn: already did that, but i need some libs which are not ready for 0.5 branches [19:14] whatsup: i want to do that. [19:14] franck34: and seem's buffer are really more mature in 0.5 [19:14] joshkehn: You could always upgrade the libs yourself. [19:14] vicapow: whatsup: you can't, for a for loop [19:15] franck34: need to decode BIG/LITTLE ENDIAN stuff (and i really don't understand what i'm coding :D ) [19:15] dmkbot: joyent/node: ry: test-child-process-ipc broken on unix - https://github.com/joyent/node/issues/1655 [19:15] joshkehn: whatsup: (function (item) { /* whatever */ }(variable)) [19:15] whatsup: vicapow I can, I have done it bifore i just forgot it [19:15] whatsup: so at the and that (variable) [19:15] whatsup: that traps the "variable" [19:15] whatsup: ? [19:15] whatsup: do i see it well? [19:16] vicapow: what's the trick so I dont have to type require('./../../thefile.js') and instead just do require('thefile.js') [19:16] esmevane has joined the channel [19:16] joshkehn: vicapow: You have to make it a module. [19:16] vicapow: joshkehn: as opposed to what? [19:16] joshkehn: As opposed to a folder. [19:16] joshkehn: sad;lkjf [19:17] joshkehn: I mean a file just sitting at a location. [19:17] micheil: joshkehn: hmm, what with my websocket server? [19:17] markbao_ has joined the channel [19:17] whatsup: joshkehn where can i learn about this? [19:17] whatsup: :) [19:17] vicapow: joshkehn: well, i have a lot of files that i'd like to keep organized [19:17] joshkehn: If I'm recalling correctly require() is going to search around for a node_modules and try to find what you're requiring [19:17] micheil: joshkehn: it supports only draft 75 and 76 at present. I'm working with other websocket module authors on a standard protocol implementation that we can all use [19:17] joshkehn: micheil: Turns out he needed a client, not a server. [19:18] micheil: ah. [19:18] joshkehn: micheil: A WS client that supports SSL [19:18] joshkehn: whatsup: What do you mean? [19:18] micheil: then there's worlize/Websocket-node and node-websocket-client [19:18] vicapow: joshkehn: but that's no the problem [19:18] joshkehn: micheil: Can you point franck34 to those? [19:18] micheil: node-websocket-client doesn't have ssl, but pusher may be adding that soon by means of a fork or pull request [19:18] whatsup: joshkehn i mean any docs on that strange thingie at the end of the function :D [19:18] fmeyer has joined the channel [19:18] micheil: franck34: see above ^^ [19:19] joshkehn: whatsup: http://stackoverflow.com/questions/6287511/reason-behind-this-self-invoking-anonymous-function-variant ? [19:19] joshkehn: vicapow: What is the problem then? [19:19] maushu has joined the channel [19:19] vicapow: i dont want to type ./../../ [19:19] vicapow: joshkehn: [19:19] joshkehn: vicapow: Yeah, that's what putting it into a module will do [19:19] vicapow: joshkehn: i've seen it before. something like "unshift" or something? [19:20] joshkehn: You used to be able to edit the paths. [19:20] joshkehn: Yeah, that's what you're talking about. [19:20] joshkehn: But you can't do that anymore. :) [19:20] bx_ has left the channel [19:20] cjm has joined the channel [19:21] mraleph has joined the channel [19:21] vicapow: joshkehn: aw.. what? really? [19:21] joshkehn: Yeah [19:22] joshkehn: https://github.com/joyent/node/issues/1348 [19:22] whatsup: joshkehn one more question how can i make this: var val = (function (item) { /* whatever */ }(variable)) it says error [19:22] mrdoodles: this might sound … retarded? i have an app that seems to suddenly be bottlenecking for about 500ms - no db call (routes with db calls outputting json only actually seem instantaneous. I'm just rendering a vew. i hard refresh and i see the wheel spinning for a short period [19:22] devongovett has joined the channel [19:22] sonnym has joined the channel [19:22] mrdoodles: and everything is local. I'm using express/ejs [19:22] joshkehn: Put the error in gist.github.com and give me a link. :) [19:23] tjholowaychuk: mrdoodles some kind of infinite loop? [19:23] tjholowaychuk: NODE_ENV=production ? [19:23] joshkehn: mrdoodles: Are you doing any timeouts or loops? [19:23] whatsup: a n infinite loop so fast [19:23] whatsup: it ends in 500 ms? :D [19:23] whatsup: lol [19:23] mrdoodles: ACTION kicks himself [19:23] tjholowaychuk: haha [19:23] tjholowaychuk: mrdoodles what? [19:23] tjholowaychuk: whatsup super fast! [19:23] whatsup: :D [19:24] mrdoodles: i have a nice fronted js stack on top of query i use i had added it to my project. [19:24] mrdoodles: mrdoodles-- [19:24] v8bot_: mrdoodles: Don't cheat! You can't give a beer to yourself. [19:24] catb0t: mrdoodles now has -1 beer [19:24] gxdssoft has joined the channel [19:24] whatsup: joshkehn its nothing it just says its undefined var val = (function (item) { /* whatever */ }(variable)) var is undefined [19:25] whatsup: i want that function to be callable [19:25] whatsup: by val() [19:25] joshkehn: Then remove (variable) from the end of it [19:25] whatsup: val is not a function it says, its undefined [19:26] joshkehn: The issue (within a loop) is that you aren't scoping the variable. So you need something like a closure around it to create scope [19:26] joshkehn: If you can, post whatever code you're working on. [19:26] whatsup: its a function factory. i want to trap that variable thingie... [19:26] joshkehn: Now I'm confused as all hell. :) [19:26] AvianFlu: JS scopes on functions, rather than blocks [19:26] AvianFlu: so loops and if statements aren't new scopes [19:26] joshkehn: I understand trapping a variable in scope, you do that with a function. [19:26] joshkehn: What AvianFlu is saying. [19:26] whatsup: :D sorry guys [19:26] whatsup: i gist it then [19:27] lvijay has left the channel [19:27] heavysixer has joined the channel [19:28] whatsup: oo lol [19:28] whatsup: its not going to work [19:28] whatsup: trapping works by calling the function? [19:28] whatsup: fkinel [19:29] joshkehn: Yeah [19:29] whatsup: its no way then it will work [19:29] whatsup: :D [19:29] joshkehn: Without really knowing what you're trying to do I can't help as much. :) [19:29] joshkehn: Why isn't it going to work? [19:29] ecin has joined the channel [19:29] nibblebot: tjholowaychuk: with node-migrate, migrate down goes all the way back to 0, why? [19:30] whatsup: Cause i need that function as a constructor [19:30] tjholowaychuk: nibblebot i think i support $ migrate down N [19:30] tjholowaychuk: if not we should [19:31] slyphon: so, is there an accepted way of stubbing out stuff like net.createConnection() that doesn't require changing require.paths or vm.runInNewContext() ? [19:31] slyphon: this seems harder than i'd thought it'd be [19:31] AvianFlu: slyphon: what are you trying to do? [19:31] slyphon: test an irc bot! [19:31] slyphon: :) [19:32] AvianFlu: I mean, require.paths is deprecated, and you shouldn't need vm for that [19:32] nibblebot: tjholowaychuk: looking at the source, it calls next(null, migrations.shift()) until mgirations is empty, so doesn't support reverse by 1 [19:32] AvianFlu: why do you think you need them? [19:32] slyphon: because i don't want to actually make a socket connection? [19:32] AvianFlu: to not actually make connections? [19:32] AvianFlu: yeah, I get you [19:32] slyphon: yeah, i mean [19:32] slyphon: in ruby i use flexmock [19:32] mikey_p has joined the channel [19:32] mikey_p has joined the channel [19:32] slyphon: or rspec mocks [19:32] joshkehn: whatsup: Code would help here. :p [19:32] AvianFlu: yeah, I know of a lib for making mock http requests, I don't know about tcp [19:32] slyphon: yeah, i'll keep looking [19:33] whatsup: joshkehn not really sure if what i am making is real dumb. didnt want to tire you for no reason [19:33] mc_greeny has joined the channel [19:33] joshkehn: It's no problem, really. [19:33] whatsup: :) [19:33] joshkehn: Dumb things are often the easiest. [19:33] neilk_ has joined the channel [19:34] mehlah has joined the channel [19:35] franck34: 21:18 < micheil> node-websocket-client doesn't have ssl, but pusher may be adding that soon by means of a fork or pull request [19:35] franck34: great [19:35] mikl has joined the channel [19:36] nibblebot: tjholowaychuk: been using `migrate up && migrate down` to test migrations so it resets migration state easily [19:36] micheil: franck34: havem you tried the one by worlize? I think it supports SSL, but has a different syntax to the browser based clients. [19:37] zpoley has joined the channel [19:38] robhawkes has joined the channel [19:39] zpoley1 has joined the channel [19:39] kmiyashiro has joined the channel [19:40] zpoley1 has joined the channel [19:40] dgathright has joined the channel [19:41] zpoley1 has joined the channel [19:41] zpoley1 has joined the channel [19:42] zpoley has joined the channel [19:42] bluesmoon: why would node say that I've hit the max file limit when ulimit -n is set to 999999? [19:42] zpoley has joined the channel [19:42] RushPL has joined the channel [19:42] jesusabdullah: Do you have a file that's 1000000 big? ;) [19:43] zpoley has joined the channel [19:43] jesusabdullah: Otherwise, I don't really know. Sorry :( [19:43] prettyrobots has joined the channel [19:43] Dmitrijus: bluesmoon: what would be the exact error message? :) [19:44] bluesmoon: (node) Hit max file limit. Increase "ulimit - n" [19:44] bluesmoon: $ ulimit -n [19:44] bluesmoon: 999999 [19:44] bnoordhuis: bluesmoon: what OS? [19:44] bluesmoon: ubuntu 11.04 [19:44] bluesmoon: but I think I see the problem [19:44] bluesmoon: I'm running node through sudo [19:44] bluesmoon: and ulimit -n under sudo shows 1024 [19:45] bnoordhuis: there you go [19:45] ngl has joined the channel [19:46] Dreamer3 has joined the channel [19:46] xchaotic_js has joined the channel [19:46] ngl: i found the roo-oom [19:46] StanlySoManly: what's the right way to "include" a file (not a module) in node (eg. for the purposes of unit testing)? i want to pull in a file that's not a module, but if i use require() it's only run the first time that i require it unless i delete it from the cache. do i need to write a wrapper that checks for the file in cache, deletes the cache key, and requires() the file again? if i use the fs module, then i have to eval the string i get back, which is worse. [19:46] franck34: micheil: no i didn't, let me take a look [19:46] micheil: okay [19:46] DrMcKay: StanlySoManly: vm module? [19:47] franck34: micheil: i'm looking for a websocket client which support ssl [19:47] micheil: franck34: yup. worlize/websocket-node is a websocket client, as to whether it supports ssl, I don't know. [19:48] franck34: ACTION reading readme [19:48] StanlySoManly: DrMcKay: looks promising! thank you. i thought "vm" was going to be something else. :p [19:48] sylvinus has joined the channel [19:48] DrMcKay: StanlySoManly: :) [19:49] franck34: micheil: this.secure = (this.url.protocol === 'wss:'); [19:49] franck34: it's seem's ! [19:49] micheil: franck34: good stuff :D [19:49] micheil: franck34: note that that client uses the newest version of websockets [19:49] micheil: draft-08 protocol [19:50] franck34: really cool. I'm trying to make a client for kaazing gw [19:50] franck34: which is supposed to be a high performance proxy for websocket over http/https [19:50] micheil: franck34: you work for kaazing? [19:51] franck34: no, i'm playing with a broker who is using kaazing fw [19:51] franck34: gw [19:51] micheil: hmm.. okay [19:51] zackattack has joined the channel [19:51] franck34: i've just posted on their forum regarding a node client [19:52] franck34: few days ago [19:52] franck34: they have an interesting optimisation regarding content encoding in their ws [19:52] micheil: oh? [19:53] kmiyashiro: SubStack: I created browserify specific package for backbone [19:53] franck34: yep, but i need to go deeper first: the broker just update streams with the latest version (i suppose) [19:53] franck34: and need to see if binary structure is always used in their websocket [19:54] franck34: (really not sure, because websocket. Before it was a sort of https persistant connection and data i was receiving was binary frames) [19:55] franck34: in fact it's more an optimisation of the stomp "protocol" rather than websocket itself [19:55] micheil: franck34: huh? [19:57] softdrink: anyone have any good CI recommendations? [19:57] franck34: micheil: websocket content is Stomp messages. Few days ago it was like that. Now it's a binary stream encapsulating stomp messages, but ... i need to go deeper lol [19:57] CoverSlide: node uses buildbot [19:58] CoverSlide: jenkins / hudson are also popular [19:58] micheil: franck34: oh, right. [19:58] sivy has joined the channel [19:58] micheil: and you know most browsers don't yet support binary messages over websockets, right? [19:58] wbednarski has joined the channel [19:59] franck34: micheil: kaazing gw seem's to do things like socket.io, i.e, when browser don't support, they are using flash [19:59] micheil: that means that they'd be using flash for every browser, as no browsers support binary frames over websockets yet [19:59] joshkehn has left the channel [20:00] ji0n has joined the channel [20:00] franck34: micheil: i don't think so, i've reverse their js libs, and their is a "ByteBuffer.js" which is very interesting :D [20:01] micheil: franck34: hmm. it'd be kinda interesting to look at, however, I think it could also be "wrong" as I work for a company that could be seen as a competitor [20:01] franck34: ouch [20:01] franck34: :D [20:01] micheil: franck34: ftr, I work for http://pusher.com :) [20:01] devongovett has joined the channel [20:02] yumatov has left the channel [20:02] franck34: hu [20:02] franck34: interesting ! [20:02] franck34: broker <-> wss <-> node <-> redis <-> qooxdoo app <-> realtime alert (sms/browser) [20:02] franck34: that's my project [20:02] micheil: woah. [20:02] micheil: that seems kinda over-engineered? [20:02] franck34: and for realtime stuff between qooxdoo app and node, i'm just using stomp lib atm [20:03] franck34: well ... a little yes :) [20:03] micheil: hmm, could you explain what this broker thing is? [20:03] Wa has joined the channel [20:03] knifed has joined the channel [20:03] franck34: broker, market quotes ... dowjones, s&p .. [20:03] micheil: ah [20:03] franck34: day trading [20:03] whatsup: Guys if i have a function f() { }; Can i set sg like f.val = 12; from outside the function, so when var c = new f; c.val gonna be 12? [20:03] micheil: righteo [20:04] whatsup: c = new f() * [20:04] knifed has joined the channel [20:04] kkaefer: whatsup: that's what the prototype property is for [20:04] kkaefer: so essentially f.prototype.val = 12 [20:04] davidascher has joined the channel [20:04] kkaefer: c = new f() [20:04] micheil: franck34: hmm.. I'd probably be doing something like: [20:04] kkaefer: c.val == 12 [20:04] whatsup: kkaefer but thats a nono in my case [20:04] whatsup: kkaefer it must be unique for every instance [20:04] AAA_awright has joined the channel [20:05] whatsup: need not to be shared [20:05] kkaefer: ? [20:05] micheil: franck34: broker -> wss -> node -> redis pub/sub (1)-> node for sms (2)-> in browser [20:05] whatsup: trying to implement sg like reflection kinda [20:05] franck34: micheil: that's it [20:05] micheil: well, you'd probably actually be doing: [20:05] stelleg has joined the channel [20:05] franck34: redis pub/sub + stomp messages for subscribing quotes channel [20:06] micheil: franck34: broker -> wss -> node -> redis pub/sub (1)-> node for sms (2)-> node -> ws -> in browser [20:06] franck34: it's already work perfectly in fact [20:06] Aikar: isnt there like some "most recommended" git book, was it "Git Pro" by Scott Chacon? usually not a book reader but theres just so much advanced topics on Git id like to learn [20:06] ceej has joined the channel [20:06] CoverSlide: i like `man git` [20:06] tbranyen: Git Pro is very good [20:06] tjholowaychuk: Aikar I can give you mine [20:06] tbranyen: imo the end chapter on the internals is very well done [20:06] devongovett has joined the channel [20:07] franck34: micheil: i've bookmark pusher.com [20:07] Aikar: tjholowaychuk: digital copy lol? [20:07] micheil: franck34: okay, cool :) [20:07] franck34: perhaps it's more effecient than redis pub/sub + stomp stuffs [20:07] tjholowaychuk: i bought it quite a while ago [20:07] micheil: franck34: if you have any questions about us, feel free to ask :) [20:07] tjholowaychuk: just sits there now [20:07] franck34: cause the website itself is fully realtime (forum, chat, alert) [20:07] Aikar: was gonna buy it for Kindle and read on my phone/laptop [20:07] tjholowaychuk: ah :) nvm [20:07] franck34: yeah micheil , are you here often ? [20:07] tbranyen: Aikar: uhhh [20:07] franck34: i mean in this channel ? [20:07] tbranyen: technical books on kindle [20:08] tbranyen: are horrid [20:08] micheil: franck34: I'm here a fair bit, but otherwise you can email micheil@pusher.com, or support@pusher.com [20:08] franck34: okey [20:08] Aikar: tbranyen: why? [20:09] tbranyen: Aikar: they render the code as blurry photos [20:09] tbranyen: and it comes out terribad [20:09] Aikar: hmm [20:09] azend has joined the channel [20:09] Aikar: know where to buy Pro Git as a PDF? [20:09] fangel has joined the channel [20:10] franck34: pusher concept is promising [20:10] orospakr has joined the channel [20:10] franck34: really good idea [20:10] softdrink: does anyone know of a good way to test both client and server js cleanly and continuously? for the record, i haven't had much luck with zombie, jsdom, or phantomjs [20:11] explodes: is datejs working for anybody here? it says to simply require it, and it will active. [20:11] softdrink: i'm leaning toward just using qunit or something [20:11] micheil: franck34: we're actually currently working on a way for you to create a persistent connection to us, so it's something like: node <- ws/wss -> pusher <- ws/wss -> browsers [20:12] TheJH: isaacs, are you here? [20:12] isaacs: TheJH: yo [20:12] softdrink: i *really* don't want to have to use selenium. :( [20:12] TheJH: isaacs, what do you think about this code formatting style? https://raw.github.com/thejh/npm/flower-beautiful-code/lib/owner.js :D [20:13] franck34: micheil: in private now :) [20:13] isaacs: TheJH: commas should come first, and there's twice as many spaces as necessary. [20:13] CoverSlide: where are the curly braces? [20:13] isaacs: also, there's no space before the ( in function decls [20:13] TheJH: CoverSlide, right side :D [20:14] softdrink: MY EYES [20:14] CoverSlide: holy cow [20:14] isaacs: and a lot of very long lines :) [20:14] isaacs: TheJH: should be < 80, ideally < 60 [20:14] CoverSlide: do < 10 just to be safe [20:15] TheJH: isaacs, when you view it in non-raw mode, it looks better - I added so much padding in order to make it invisible in non-raw-view mode on GH :D [20:15] Sorella: TheJH, interesting. Do you use some built-in functionality on your editor/IDE to place the braces on the edge, or do you just hit the space-bar to the end? [20:16] TheJH: Sorella, this is the whole formatter code: https://github.com/thejh/flowerjs/blob/master/flowerify.js [20:16] TheJH: (yes, not a parser, just string stuff, so you can break it with stuff inside comments, I guess [20:16] TheJH: ) [20:17] NegativeK has joined the channel [20:18] TheJH: btw, I already coded a source-to-source thing for pretty code->java that adds implicit parens, braces and semicolons, it also produced code with semicolons and braces on the right :D [20:18] Sorella: ACTION hopes you've done it only for the lulz [20:18] jchris has joined the channel [20:18] TheJH: Sorella, the java version actually was in case I have to use java at university [20:18] cronopio has joined the channel [20:18] TheJH: but yes, mostly for the lulz [20:18] btipling: tbranyen: what is a good way to monitor the heap? [20:18] mikeal has joined the channel [20:19] Sorella: TheJH, heh, couldn't you get the guys to use Clojure or something decent instead? :3 [20:19] StanlySoManly: softdrink: i've been working with jasmine ... since i'm new to both node and jasmine, there's a lot of learning, but it's starting to look good. [20:19] TheJH: Sorella, don't think so :D [20:19] tbranyen: btipling https://github.com/fgnass/v8-profiler [20:20] jbrokc has joined the channel [20:20] btipling: tbranyen: v8-profiler doesn't seem to build [20:20] Aikar: is Pro Git free? [20:20] Aikar: googling it brings up a PDF of it [20:20] CIA-30: node: 03Igor Zinkovsky 07master * r65e6ba9 10/ (lib/fs.js src/node_file.cc): Enable link, symlink, and readlink on windows - http://git.io/S9BWEA [20:21] btipling: https://github.com/dannycoates/v8-profiler/issues [20:21] btipling: tbranyen: have you been able to get v8-profiler to build on 4.11? [20:22] brianc: blueadept: yeah I've used node-postgres [20:22] CoverSlide: Full book is here: http://progit.org/book/ [20:22] jakehow has joined the channel [20:22] arthurdebert has joined the channel [20:22] tbranyen: btipling: nope i just googled nodejs heap [20:22] blueadept: brianc: figured out my issue, i just wanted to make sure the sql statements were parameterized [20:22] tbranyen: i've done heap testing in chromium [20:23] wbednarski has joined the channel [20:23] brianc: they're parameterized 100% [20:23] tbranyen: http://fgnass.posterous.com/finding-memory-leaks-in-nodejs-applications [20:23] tbranyen: seemed like a good post [20:23] forzan has joined the channel [20:23] brianc: blueadept: postgres might not accept a parameter in that part of the sql [20:23] btipling: tbranyen: I found that too, but it doesn't build on new versions of node.js [20:23] tbranyen: btipling: why are you so worried about mem leaks [20:23] tbranyen: especially on unstable node [20:23] mikeal has joined the channel [20:24] CIA-30: libuv: 03Igor Zinkovsky 07master * r70bc6c0 10/ uv.gyp : add test-tcp-close.c to uv.gyp - http://git.io/L9ocmA [20:24] yhahn has joined the channel [20:24] btipling: tbranyen: because I have a socket.io service eating 600M+ of memory with just a few connections [20:24] JaKWaC has joined the channel [20:24] btipling: using SSL [20:24] wadey has joined the channel [20:24] softdrink: whyyyyy is testing modern web apps so difficult? [20:24] btipling: is 0.4.11 considered unstable? [20:25] TheJH: btipling, no, it's stable [20:25] TheJH: btipling, 0.5.x is unstable [20:25] btipling: right I'm using 4.11 [20:25] btipling: er 0.4.11 [20:25] TheJH: btipling, and 0.6.x will be stable again [20:25] OctagonTheory has joined the channel [20:25] btipling: TheJH: know of a way besides v8-profiler to track memory leaks? [20:26] Aikar: man, i cant believe i was about to buy Pro Git, when it appears its a free CC licensed book lol... [20:26] TheJH: btipling, build something for that a while ago, yes [20:26] JaKWaC has joined the channel [20:26] btipling: TheJH: anything I might be able to use? (please) [20:26] hl7Guy has joined the channel [20:26] errordeveloper has joined the channel [20:27] TheJH: btipling, doesn't work very good and you have to know some variable that's leaking - it can print a reference traceback tree [20:27] btipling: hrm no I don't know what is leaking [20:27] TheJH: btipling, https://github.com/thejh/node-assertvanish [20:27] btipling: thinking strace or valgrind might be my next options [20:27] TheJH: ah :( [20:27] btipling: TheJH: thanks [20:28] TheJH: btipling, are you using any libraries that could cause it? [20:28] btipling: yep socket.io, https, amqp [20:28] TheJH: btipling, socket.io had some issues in the past, I think [20:29] CoverSlide: update socket.io [20:29] TheJH: CoverSlide, did they fix those issues? [20:29] CoverSlide: i dunno [20:29] CoverSlide: just noticed the recent version bumping [20:30] TheJH: btipling, `3rdEden (online, but not in this channel) might be able to tell you more [20:30] CoverSlide: my motto is always update [20:30] slyphon has joined the channel [20:30] btipling: TheJH: thanks [20:30] stisti has joined the channel [20:30] slyphon: is there a mocking lib that people particularly like? [20:31] metadaddy_ has joined the channel [20:31] ngl: is there a mocking lib that people particularly like? [20:31] jchris has joined the channel [20:31] CoverSlide: mocking lib? [20:31] CIA-30: node: 03Ryan Dahl 07master * r26834b0 10/ (3 files in 3 dirs): [20:31] CIA-30: node: Revert "vm context with accessors" [20:31] CIA-30: node: This reverts commit 4527de8cba3bf5f107fcefcf43dbdaa308881ba4. [20:31] CIA-30: node: Causes segfault in test/message/undefined_reference_in_new_context.js - http://git.io/VYHr2A [20:31] slyphon: yeah. for tests [20:31] jgabe has joined the channel [20:31] slyphon: like rspec.mocks or flexmock in ruby, mockito in java [20:31] slyphon: that kind of thing [20:31] jgabe: hi guys [20:32] jgabe: i'm getting this error on 'make' [20:32] jgabe: in cygwin [20:32] jgabe: trying to build node v0.5.4 [20:32] jgabe: Build failed: missing file [20:32] jgabe: uv/uv.a [20:32] tjholowaychuk: slyphon mocking is for slow tests :p [20:32] jgabe: anyone else? [20:32] ngl: psych :) is there an absolute noob... like, "Now that you can Hello World respond, here is what is next... like serving files and stuff..." tutorial? [20:32] slyphon: tjholowaychuk: eh? [20:32] slyphon: tjholowaychuk: it's for isolating parts of your code [20:32] tjholowaychuk: im jk [20:33] slyphon: ah :) [20:33] tjholowaychuk: though i think it's best to mock only when you really have to [20:33] jgabe: do any of you guys work at joyent? [20:33] jgabe: i'm hoping someone has had the same issue as i'm having [20:33] TheJH: jgabe, I think all of the channel ops work there [20:33] pomke has joined the channel [20:34] CoverSlide: jgabe: are you looking for a refund? [20:34] jgabe: no refund [20:34] jgabe: i mean, refund for what :) [20:34] c4milo: colombe anyone? [20:34] jgabe: i just wanna build node.js on cygwin [20:35] jgabe: and its missing a file. [20:35] dmkbot: joyent/node: indutny: Getters/Setters in VM's Context - https://github.com/joyent/node/issues/1673 [20:35] pomke: Kinda curious as to why @ is an illegal token in node, I can't find it documented anywhere as an operator or anything [20:35] TheJH: jgabe, can't you use the native windows build or, even better, use a linux VM? [20:35] CoverSlide: it's an illegal token in javascript [20:35] jgabe: i saw node.exe [20:35] CoverSlide: it's simply not recognized [20:35] jgabe: i tried that and it worked. [20:35] jgabe: but [20:35] TheJH: CoverSlide, "why @ is an illegal token in node" :D [20:36] jgabe: it should work on cygwin too i'd think [20:36] jgabe: i followed the instructions line by line 3 times :( [20:36] tahu has joined the channel [20:36] jgabe: and a bunch of different node versions [20:36] fg3 has joined the channel [20:37] jgabe: and isn't Cygwin basically a linux VM? [20:37] pomke: CoverSlide: ty, hm, that is a shame, it's a nice prefix for decorators [20:37] jgabe: i mean, this *should work if i follow the instructions [20:37] Sorella: pomke, nothing stopping you from writing a Python→JS compiler. [20:37] jgabe: something is fishy if that file doesn't exist in the package. [20:37] Sorella: or Ruby→JS. [20:37] jgabe: or any of them [20:38] dreamdust has joined the channel [20:38] pomke: Sorella: heh :) [20:38] sirdancealot has joined the channel [20:38] chjj has joined the channel [20:39] CoverSlide: pomke: you can use [$_a-zA-Z][$_a-zA-Z0-9] as a valid identifier [20:39] wink_: jgabe: what file is it thats missing? and no, cygwin isn't a linux vm or anything close :p [20:39] jgabe: haha [20:39] jgabe: deps/uv/uv.a [20:39] CoverSlide: [$_a-zA-Z][$_a-zA-Z0-9]* <-- correction [20:39] jgabe: i'm mainly a flash developer.. excuse my ignorance :) [20:40] Sorella: [$_a-zA-Z{some-weird-unicode-shit}][$_a-zA-Z0-9{some-weird-unicode-shit}]* ftfy [20:40] pomke: hey this isnt perl c_c [20:40] wink_: has the cygwin version always needed uv? [20:40] jgabe: the exact error message is "Build failed: -> missing file: /node/build/default/deps/uv/uv.a" [20:40] Sorella: no, some unicode characters are really valid identifiers. [20:40] jgabe: make: *** [program] Error 1 [20:40] Sorella: like small lambda. [20:40] wink_: jgabe: what version? [20:40] jgabe: 0.5.4 [20:41] wink_: what versions have you tried? [20:41] slifty has joined the channel [20:41] jgabe: 0.4.1 and 0.5.1 and 0.5.4 [20:41] jgabe: all give me the same error :( [20:41] ngl: when http://nodejs.org/docs/latest/api/fs.html#fs.read says SEE: ReadableStream... Can we have an actual goto of sorts there? [20:41] wink_: hrm, i dunno anything about libuv, but for some reason it isnt building and hasnt been built [20:42] wink_: you may be able to go into deps/uv/ and run make there [20:42] jgabe: ok i can try that. seems real strange that the files don't exist. [20:42] eee_c has joined the channel [20:43] bruno has joined the channel [20:43] jgabe: when i 'make', i see a ton of errors in cygwin [20:43] wink_: jgabe: not particularly :p, cygwin isnt really supported and never was [20:44] wink_: it's always been a nightmare to build and only the chosen ones have made it work [20:44] jgabe: haha. [20:44] Daegalus has joined the channel [20:44] jgabe: flash developer != chosen [20:44] wink_: and even then, 'work' is a pretty loose definition [20:44] CoverSlide: I've built some of 0.4.x on cygwin [20:44] CoverSlide: can't remember which ones I got working [20:44] wink_: you're better off sticking to the real windows port [20:44] `3rdEden has joined the channel [20:44] lukegb has joined the channel [20:45] jgabe: so the best bet is to use node.exe is what youre saying [20:45] CoverSlide: of course you'll have to live without npm [20:45] jgabe: if this doesn't work. [20:45] jgabe: i love npm tough! [20:45] wink_: jgabe: yes [20:45] lukegb: anyone got any ideas why making the exact same request works the first time, but makes querystring.js explode the second? [20:45] pomke has left the channel [20:45] wink_: even if you make it build, its gonna be crippled and odd, best case [20:45] jgabe: haha [20:45] lukegb: Injecting some debugging stuff into buffers.js and rebuilding node.js is telling me that this.offset is NaN [20:45] jgabe: crippled and odd isn't a good enough solution :) [20:45] altamic has joined the channel [20:46] epsas has joined the channel [20:46] jgabe: i apprecaite all the help [20:46] wink_: cygwin is generally never what you want ;> [20:47] wink_: you should consider running linux inside of a VM, you'll find things work much better there [20:47] jgabe: actually the only reason i'm running it locally is because i'd like to hook up my kinect to flash via node. [20:47] jgabe: as dont here: http://labs.blitzagency.com/?p=2634 [20:47] jgabe: ok! thanks for the direction. maybe i'll go that route. [20:47] jgabe: sounds daunting to be honest. [20:47] vguerra has joined the channel [20:48] jgabe: but i'm sure the VM thing is easy enough [20:48] wink_: its really not bad, are you familiar with linux at all? [20:48] jgabe: i have a node instance running on my ec2 that i guess i could use. i just like the idea of working locally. [20:48] jgabe: yeah slightly. [20:49] softdrink: does anyone have a good custom css for jasmine? [20:49] jgabe: on a windows machine, what VM software do you recommend for that. [20:49] petrjanda has joined the channel [20:50] TheJH: jgabe, virtualbox maybe? (don't use it much myself) [20:50] wink_: jgabe: virtualbox [20:50] jgabe: awesome. i'm there. thanks again guys. [20:50] wink_: download an ubuntu iso, mount it with vbox and install [20:51] DrMcKay has joined the channel [20:51] rick_h_ has joined the channel [20:52] FIQ|scre1n has joined the channel [20:53] jgabe: i like it. sounds nerdy. [20:53] intelekshual has joined the channel [20:53] jgabe: thanks [20:53] thalll has joined the channel [20:53] jgabe: and TheJH [20:53] wink_: <3 [20:55] jchris1 has joined the channel [20:55] Renegade001 has joined the channel [20:56] kadiks has joined the channel [20:57] kadiks: hi there [20:57] lukegb: looks like I've got a wrong module which is futzing with buffers [20:57] jtsnow_ has joined the channel [20:58] `3rdEden has joined the channel [21:00] `3rdEden has joined the channel [21:00] hellp has joined the channel [21:00] jgabe: yes. node.exe worked like a charm. thanks dudes! [21:01] chia has joined the channel [21:01] AvianFlu has joined the channel [21:03] vicapow: tjholowaychuk: how can i access the connection object from mongoose? [21:03] CIA-30: node: 03Bert Belder 07bump56 * re94801b 10/ (4 files in 3 dirs): Bump version to 0.5.6 - http://git.io/aWr0pg [21:03] stelleg has joined the channel [21:03] vicapow: tjholowaychuk: im sorry. i think i just found it [21:03] chia has joined the channel [21:03] petrjanda has joined the channel [21:04] slifty has joined the channel [21:04] gregpascale has joined the channel [21:06] ngl: blah. decent. blah. thanks. ignore the new guy. blah. thanks for nothing. blah. figured it out. [21:06] ngl has left the channel [21:07] kon_ has joined the channel [21:07] kon_ has joined the channel [21:08] admc has joined the channel [21:11] rick_h_ has joined the channel [21:11] tomtomaso has joined the channel [21:11] kmiyashiro has joined the channel [21:12] petrjanda has joined the channel [21:13] jcrosby has joined the channel [21:14] simenbrekken has joined the channel [21:16] chrislorenz has joined the channel [21:16] monokrome: Is there a way to have npm check that my dependancies exist as packages before I deploy? [21:17] isaacs: monokrome: npm install? [21:17] jchris has joined the channel [21:17] monokrome: I'd rather just check without installing [21:17] Daegalus has joined the channel [21:17] isaacs: monokrome: not automatically, but you can `npm view blah@bloo` for all of them [21:18] isaacs: npm view express@'2.0.3 - 2.1.2' [21:18] isaacs: npm view express@'2.0.3 - 2.1.2' version [21:18] monokrome: What you be interested if I were to make a patch that adds: npm checkdeps [21:18] isaacs: monokrome: what would it do? [21:18] monokrome: check that the dependancies all exist in the npm registry [21:19] Daegalus has joined the channel [21:19] monokrome: I've had times where I deploy, and I type the the version of the package - and it breaks the deployment [21:19] monokrome: So, it'd help me verify that [21:19] monokrome: s/type/typo/ [21:19] isaacs: monokrome: what if your dependency is a url? [21:19] isaacs: or a git url? [21:19] monokrome: I didn't even know that was possible :) [21:20] isaacs: yep [21:20] monokrome: Can you `npm view git_url` [21:20] isaacs: monokrome: really, you should probably not be deploying to production without testing it first anyway, i'd think [21:20] isaacs: monokrome: no [21:20] isaacs: monokrome: it'd have to actually install it to see what it is [21:21] radiodario has joined the channel [21:21] monokrome: Well, in this case it's not actually a module - it's an application [21:21] mrdoodles has joined the channel [21:21] monokrome: for deploying to no.de [21:22] CoverSlide: http://images.cheezburger.com/completestore/2011/4/30/5b9625d7-2a3c-4c96-bce4-7d4e63938c59.jpg [21:24] hackband has joined the channel [21:24] adrianmg has joined the channel [21:25] CarterL has joined the channel [21:26] CIA-30: libuv: 03Erick Tryzelaar 07master * rf4e2d55 10/ test/test-get-currentexe.c : [21:26] CIA-30: libuv: Fix test-get-currentexe on darwin. [21:26] CIA-30: libuv: Darwin uses _NSGetExecutablePath to determine [21:26] CIA-30: libuv: the path of an executable, but that can return [21:26] CIA-30: libuv: an absolute path. This patch tweaks the executable [21:26] CIA-30: libuv: path to strip off a potential "./" prefix from [21:26] CIA-30: libuv: argv[0], which fixes the test. - http://git.io/reKqKA [21:26] CIA-30: libuv: 03Erick Tryzelaar 07master * rfe6157b 10/ uv.gyp : Stop "./gyp_uv --check" from complaining. - http://git.io/ZxkgBg [21:26] CIA-30: libuv: 03Erick Tryzelaar 07master * r1a43429 10/ test/test-fs.c : Fix test-fs.c for darwin. - http://git.io/3Es7fg [21:26] slyphon has joined the channel [21:28] CIA-30: libuv: 03Erick Tryzelaar 07master * r5b567b2 10/ src/win/getaddrinfo.c : Fix src/win/getaddrinfo.c for mingw-w64. - http://git.io/CfZB-w [21:28] Sami_ZzZ has joined the channel [21:29] CIA-30: node: 03Ryan Dahl 07master * rb6e0433 10/ (20 files in 7 dirs): Upgrade libuv to 5b567b2 - http://git.io/2d1ZEQ [21:30] dmkbot: joyent/libuv: erickt: Fix uv_getaddrinfo to accept custom data. - https://github.com/joyent/libuv/issues/156 [21:30] CoverSlide: cheezus [21:30] CoverSlide: lots of updates today [21:31] uchuff has joined the channel [21:32] vidi has joined the channel [21:33] nforgerit has joined the channel [21:35] jchris has joined the channel [21:35] No9 has joined the channel [21:35] monokrome: isaacs: `npm install` actually works in this case, because there's no module to install anyway! :) [21:36] chia has joined the channel [21:36] isaacs: monokrome: right, but you have dependencies, right? so do `npm install` in the root of your proejct to install your deps [21:36] isaacs: monokrome: if they work, then they work :) [21:36] monokrome: Yeah. I'm saying that works fine for this case, and npm link is useful for actual modules… So, that solves the problem! :) [21:36] gartenstuhl has joined the channel [21:37] isaacs: kewl :) [21:38] slifty has joined the channel [21:38] mjr_ has joined the channel [21:39] mavus has joined the channel [21:39] c4milo: ACTION hates java  [21:39] CoverSlide: nobody likes java [21:39] c4milo: does anybody know a decent http api in java [21:40] c4milo: ? [21:40] mavus: where do I have to go regarding those free SmartMachines from no.de [21:40] c4milo: that don't close the outputstream when I read the InputStream [21:40] CoverSlide: what's the difference between a dead rabbit on the side of the road and a dead Java on the side of the road? [21:40] c4milo: that's really pissing me off [21:40] CoverSlide: If I become hitler, I will kill all the Javas and one clown [21:40] c4milo: ahah [21:43] tmedema: Anyone has experience with 100TB.com? They offer 100TB of bandwidth for 200 USD a month.. sounds.. fishy? [21:43] wasser24 has joined the channel [21:43] pomke has joined the channel [21:44] pomke: I'm just checking out node.js today and wondering which is the defacto unit testing library? [21:45] pomke: (if there is one) [21:45] pomke: There are quite a few in the npm index [21:45] CoverSlide: require('assert') [21:46] wasser24: anyone know where i can find some node source code for apps written in v5 of node? [21:46] CoverSlide: the apis haven't changed all that much [21:46] pomke: CoverSlide: oh, I see ^_^; ty, does that include a test runner? [21:46] jesusabdullah: pomke: There isn't a defacto unit testing library *as such* [21:46] progme has joined the channel [21:46] CoverSlide: you can probably code most stuff written for 0.4.x as 0.5.x [21:47] jerrysv: pomke: i use vowsjs, and it appears to be fairly popular according to the npm site as well [21:47] jesusabdullah: pomke: There *is* a core assert module, but there are also a few unit testing libraries [21:47] jerrysv: pomke: but unit testing is a religion [21:47] tjholowaychuk: pomke they are all somewhat underwhelming, if you're coming from a more mature env [21:48] Prometheus has joined the channel [21:48] pomke: I'm coming form python where prettymuch every unit test lib is based on unittest and any test-runner can run any test suite [21:48] jesusabdullah: Yeah, def [21:49] jesusabdullah: Check out nodeunit, expresso and vows [21:49] jesusabdullah: and see which one you like best. [21:49] wasser24: CoverSlide: yea I think your prolly right, mainly just looking for source code of some real apps [21:49] pomke: ok, thank you :) [21:49] jesusabdullah: I think nodeunit is the most popular now, but vows has a lot of users and is heavily maintained if you like that style [21:49] CIA-30: libuv: 03Bert Belder 07master * r2d1c672 10/ (src/win/fs.c src/win/winapi.h test/test-fs.c): More MinGW fixes - http://git.io/oZlsSw [21:50] joeytwiddle has joined the channel [21:50] jerrysv: jesusabdullah: vows is most depended on according to npm [21:51] jesusabdullah: pomke: Oh, also check out node-tap [21:51] jesusabdullah: jerrysv: but, should you be depending on a test framework? Or, use it as a dev-dep? [21:51] jesusabdullah: I'd say the latter [21:51] jerrysv: jesusabdullah: i'm actually not sure how npm calculates that [21:52] jerrysv: eg, if the dependencies there include the dev dependencies in the count [21:52] jesusabdullah: Sure [21:52] jerrysv: if you know that answer, i'll defer to you :) [21:53] FireyFly|n900 has joined the channel [21:54] CIA-30: node: 03Bert Belder 07master * r0a127d6 10/ (3 files in 2 dirs): Upgrade libuv to 2d1c672e - http://git.io/J0JGbg [21:55] slifty has joined the channel [21:57] MatthewS has joined the channel [21:58] patcito has joined the channel [21:59] RushPL has joined the channel [21:59] davidbanham has joined the channel [22:00] mikola has joined the channel [22:00] mikola: Hello [22:00] replore_ has joined the channel [22:00] replore has joined the channel [22:00] mikola: I have a question about socket.io, [22:01] mikola: is it possible to pass a socket connection between multiple node instances? [22:01] tmedema: Does node-redis (https://github.com/mranney/node_redis) support consistent hashing? [22:01] fmeyer has joined the channel [22:02] MatthewS: mikola: i don't know of any way, no. [22:02] Techplex has joined the channel [22:02] azend has joined the channel [22:02] pgherveou has joined the channel [22:02] mikola: MatthewS: Ok, so then I will probably just make a gateway node and basically do the routing in node.js [22:02] Techplex: Hello All, I am trying to compile node with crypto support. I had previously Made node with the flag --without-ssl how do I get it to recompile? [22:03] Malar has joined the channel [22:03] mikola: I guess the second question is then, what is the best way to deal with interprocess communication in node? [22:04] mikola: I am leaning toward sockets right now, but I could also use fifos [22:04] jerrysv: tjholowaychuk: you here still? [22:04] tjholowaychuk: yup [22:04] MatthewS: mikola: now that i would like to know as well. [22:04] Techplex: yup [22:04] CoverSlide: dnode is pretty popular [22:04] AvianFlu: dnode++ [22:04] v8bot_: AvianFlu has given a beer to dnode. dnode now has 2 beers. [22:04] pomke has left the channel [22:04] jerrysv: stylus is throwing an error on "filter alpha(opacity=100)" [22:04] jerrysv: thoughts on getting around it? [22:04] jeffmoss: dnode++ [22:04] v8bot_: dnode is getting too many beers. Don't let dnode get drunk! [22:04] mikola: MatthewS: If I were doing it in C, I'd use shared memory, but that doesn [22:04] AvianFlu: also, hook.io may be worth a look [22:05] mikola: t seem like it would be possible or even a good idea in node [22:05] tjholowaychuk: jerrysv yeah none of the ie crap is special-cased right now [22:05] tjholowaychuk: try [22:05] tjholowaychuk: filter: 'alpha(opacity=%d)' % (n) [22:05] jeffmoss: mikola: don't waste your time, I spent a few hours starting with sockets, dnode is everything you need and more [22:05] tjholowaychuk: or unquote() [22:05] jerrysv: tjholowaychuk: awesome, thanks [22:05] mikola: ok, thanks I will take a look at it [22:05] tjholowaychuk: ie things that look like expressions dont mix to well with these css languages [22:05] jerrysv: right [22:06] sivy_ has joined the channel [22:06] JSManiacs has left the channel [22:06] jerrysv: tjholowaychuk: 'alpha(opacity=%d)' % (n) worked like a charm, thanks! [22:07] mynyml has joined the channel [22:07] softdrink: tjholowaychuk: does stylus's @import support wildcards? [22:07] tjholowaychuk: softdrink not ATM nope [22:07] softdrink: k [22:08] tjholowaychuk: it supports index files like require() does so you can kinda fake it [22:09] softdrink: no biggie [22:10] Techplex: can anyone help me troubleshoot an npm install error? [22:11] tjholowaychuk: softdrink i suspect undefined ordering for @import globbing would get a bit confusing too [22:11] softdrink: true [22:12] softdrink: it'd only really work in my particular use case. every view/widget/module has an accompanying .styl file, and everything within those is namespaced [22:12] softdrink: like: #AuthModule .foo [22:13] softdrink: or: .BudgetListItem summary [22:14] hema-tight has joined the channel [22:16] thalll has joined the channel [22:18] softdrink: tjholowaychuk: uhhhh… it looks like @import doesn't like @keyframes [22:18] tjholowaychuk: softdrink fixed that, maybe i forgot to release [22:18] tjholowaychuk: i'll check in a minute [22:18] softdrink: thanks man :) [22:18] AAA_awright has joined the channel [22:19] softdrink: ACTION runs npm install in his project [22:19] tjholowaychuk: softdrink maybe i did [22:19] tjholowaychuk: 0.15.2 should be ok [22:20] mediahack has joined the channel [22:20] softdrink: yup, i just needed to update [22:22] JaKWaC_ has joined the channel [22:23] vidi has joined the channel [22:24] damienbrz has joined the channel [22:24] dylang has joined the channel [22:25] nibblebo_ has joined the channel [22:26] ceej has joined the channel [22:26] xchaotic_js: hi, so I am just starting with node.js [22:27] xchaotic_js: is there a good resrource to get familar with the best modules [22:27] xchaotic_js: currently I'm simply reading some github projects [22:27] xchaotic_js: reading the code [22:27] xchaotic_js: that is [22:27] xchaotic_js: trying to understand what it does [22:27] xchaotic_js: are there any good practices [22:28] Draggor: It really depends on what you want to do [22:28] xchaotic_js: well, nothing conrete at the moment [22:28] mikeal: dshaw_: i was on this channel before it was cool :P [22:28] xchaotic_js: but generally any code I deploy in the future [22:28] Draggor: It's JS, which is a nice functional language that has a kind of prototype system to it [22:29] dshaw_: mikeal: lol [22:29] xchaotic_js: I think I want to deploy using node for simplicity [22:29] Marak: dshaw_: i was cool before it was cool [22:29] xchaotic_js: to have the same laguage server and client side [22:29] Draggor: xchaotic_js: peek at dnode ;) [22:30] CarterL: My friends and I are building an open source disaster relief and recovery service. [22:31] CarterL: This will be a permanent site for people to go to in case a natural disaster occurs. [22:31] AAA_awright: CarterL: If you want the attention of a person, still go to channel, but ping them like so :) [22:31] CarterL: k :) [22:31] AAA_awright: CarterL: That doesn't seem too different than what any CMS can do [22:31] CarterL: People will be able to submit missing person reports, needs they may have, find needs in their area, and organizations will be able to coordinate their volunteers and staff to efficiently deal with the crisis. [22:32] ryanRT has joined the channel [22:32] CarterL: AAA_awright: except we have geolocation and notifications built into each need and missing person [22:32] xchaotic_js: Draggor: looking at it now [22:32] xchaotic_js: and I think that's why node is a huge win as it's so easy to set up on eac hend [22:32] AAA_awright: That sounds like a fairly simple Drupal module, with some Twitter geolocation integration [22:32] xchaotic_js: compared to say and ejb java app [22:33] AAA_awright: I'm trying to work on said CMS for Node.js where you could just specify what a "missing person report" looks like, and who gets to submit one, etc [22:33] AvianFlu: xchaotic_js, take a look at http://docs.nodejitsu.com [22:33] CarterL: AAA_awright: so our goal is to make it so, if a missing person report is filed by a family member, it will be sent to any search and rescue person w/i their area [22:33] AAA_awright: Well, not said CMS, but some CMS for Node.js [22:34] Draggor: AvianFlu: holy crap I didn't know about that, sweet [22:34] AAA_awright: CarterL: Are you using some sort of framework or system? Generally that already has 90% of what you want [22:34] AvianFlu: it's all on github, too [22:34] AvianFlu: we accept pull requests :) [22:34] CarterL: or if i have a skill for tree removal and i'm willing to do volunteer work w/i 500 miles, i'll be notified if a need pops up in my area [22:34] fritzy has joined the channel [22:34] Nuck has joined the channel [22:34] xchaotic_js: AvianFlu: thanks - exactly what I was looking for [22:35] CarterL: AAA_awright: i looked into CMS's, none of them do what we are looking to do [22:35] radiodario_ has joined the channel [22:37] CarterL: AAA_awright: we will definitely need to have CMS functionalty in the site though [22:37] mjijackson has joined the channel [22:37] tilgovi has joined the channel [22:37] tilgovi has joined the channel [22:38] CarterL: AAA_awright: is your node cms on github right now? [22:38] felixge has joined the channel [22:38] felixge has joined the channel [22:38] tilgovi has joined the channel [22:38] Nuck: Ugh [22:39] Nuck: Just slept 14 hours [22:39] thalll_ has joined the channel [22:39] AAA_awright: Nuck: (aHAHAHAHAH) Oh I'm sorry for you [22:39] Nuck: And I think I accidentally left my light on for 5 of those [22:40] AAA_awright: Hmm I'm not sure how long I slept... I fell asleep at 21-ish with all my computers on, and woke up at 8am-ish [22:40] slifty_corsair has joined the channel [22:40] Nuck: AAA_awright: I'm pretty sure I was running tests on my iPhone, and waiting for them to finish when I just fell asleep with my lights still on [22:41] Nuck: That was at 1:30AM or so [22:41] AAA_awright: At least my Gentoo box was compiling something (it's 15:40 now local time) [22:42] arthurdebert has joined the channel [22:44] Nuck: So, time to work on getting Ubuntu up in this bitch [22:45] slifty has joined the channel [22:45] dmkbot: joyent/node: ry: test-child-process-ipc broken on unix - https://github.com/joyent/node/issues/1655 [22:45] Draggor: AAA_awright: how is gentoo these days? [22:45] Nuck: ACTION pulls up WinSCP [22:46] jcrosby has joined the channel [22:46] cole_gillespie has joined the channel [22:47] Nuck: Can WINE emulate Windows 3.1? [22:47] fg3 has joined the channel [22:48] Nuck: ACTION has a couple old Windows 3.1 games he wants to play [22:48] jellosea: which games [22:48] Nuck: SimTower [22:48] mikey_p has joined the channel [22:48] mikey_p has joined the channel [22:48] Draggor: Nuck: heck yeah simtower [22:48] Nuck: But there's a few others [22:48] jellosea: i remember simtower [22:48] Draggor: I never did get the cathedral [22:48] skython: Nuck: At least it can go down to win 2.0 in the winecfg but i'm not sure if it will work, i guess it will only tell the app that it is 3.1 [22:49] skm has joined the channel [22:49] Nuck: I actually got it to run on Windows 7 recently. [22:49] Nuck: I had to install the DLL files manually, then run in 95 compatibility mode [22:49] Nuck: But it worked :D [22:50] c4milo1 has joined the channel [22:51] jmoyers has joined the channel [22:51] jdpr43 has joined the channel [22:51] Metal3d has joined the channel [22:52] robi42 has joined the channel [22:52] Nuck: haha I've got well over 200 GB of data to back up before I'll be able to switch to Ubuntu [22:52] Nuck: Actually, I can probably cut it down to about 100 GB [22:52] AAA_awright: Draggor: Fantastic [22:53] AAA_awright: I run 4 systems on Gentoo so, yeah [22:54] Nuck: Gentoo just sounds kinky to me [22:54] bnoordhuis: LFS! [22:54] Draggor: I last used it ~2005-2006, right before the whole fiasco of every update broke my system [22:54] nibblebot has joined the channel [22:55] Draggor: It was actually my first distro [22:55] Draggor: I did a stage 1, and it worked \o/ [22:55] Nuck: Well, it's a better name than Pat Harry Gentille (one of my brother's high schoo lteachers) [22:55] Draggor: oop, home time [22:55] Nuck: Time for /home/ [22:55] Nuck: ? [22:56] Nuck: So, are there any setting in installing Ubuntu that will fuck up Windows 7 to where it can't Hibernate? [22:56] fritzy: re: Gentoo http://www.greenfly.org/mes.html [22:56] Nuck: Because that feature will make it like alt-tabbing between Ubuntu and Windows for me [22:57] SamWhited has joined the channel [22:57] snowinferno|2: is there a huge difference between using var calback = function( ... ) { ... } vs function callback( ... ) { ... }? [22:58] AvianFlu: snowinferno|2, the first is an anonymous function [22:58] AvianFlu: put in a variable [22:58] Nuck: AvianFlu: You mean the second [22:58] Nuck: Oh [22:58] fritzy: namespacing [22:58] Nuck: ACTION didn't see the word "callback" [22:59] snowinferno|2: AvianFlu: in terms of callbacks for event listeners, is one more correct to use than the other? I'm getting some odd behavior using the named function [22:59] AvianFlu: what kind of "odd behavior"? [22:59] AvianFlu: I can't think of anywhere they'd be very different, offhand [22:59] cconstantine_: I have a webservice running in node that sends/receives requests from a ruby/rails server. Are there any good persistent connection based libs that have node and ruby implementations I could use? I'm using http requests right now. [22:59] Nuck: Uninstalling XAMPP on Windows 8D [22:59] Nuck: ACTION is actually eager to get Linux for once [22:59] Sorella: snowinferno|2, the first is an anonymous function expression, the second is a function declaration, which will be hoisted to the top of the scope, given those exact definitions in the source code. [23:00] AvianFlu: HOISTING. [23:00] AvianFlu: that's totally the difference. [23:00] Sorella: they're both equivalent in terms of creating a function object. [23:00] mavus: Nuck, get OS X [23:00] brianloveswords has joined the channel [23:00] CIA-30: node: 03Bert Belder 07v8upgrade * ra785c29 10/ (61 files in 9 dirs): Upgrade V8 to 3.6.2 - http://git.io/opepRw [23:00] CIA-30: node: 03Bert Belder 07v8upgrade * r4425f27 10/ (4 files in 3 dirs): Bump version to 0.5.6 - http://git.io/VGd4Yg [23:00] Nuck: mavus: I plan to, once I have $2000 to spare on a Macbook Pro [23:00] mavus: you don't need to get a mac, just get Hackintosh [23:01] snowinferno|2: AvianFlu: On a socket data event, I'm trying to detach all events and attach a different listener under certain circumstances, but 'this' isn't the socket and when i wrap the callback in a function to pass the socket along, it gets lost when I remove one to add the other [23:01] Nuck: Until then, a piece of shit HP that dualboots Windows and Linux will suffice. [23:01] snowinferno|2: Sorella: Thanks, I think that actually answers my question [23:01] Nuck: mavus: Tempting, but that's a LOT of work, and it's not as stable as using Ubuntu. [23:01] snowinferno|2: or solves the problem I was running into [23:01] jvolkman: Nuck: says who [23:01] brianloveswords: Hello! Is there a preferred deploying system for node? A lot of rails projects use cap, python projects use fab, is there one for node? [23:01] Nuck: Hackintoshes generally rely on specific hardware, from my understanding [23:01] Nuck: And this is a piece of shit off-the-shelf HP laptop [23:01] mavus: my OS X install on my desktop pc is more stable than ubuntu, at least after some experiences [23:02] jvolkman: Nuck: you just have to pick the right hardware [23:02] AvianFlu: snowinferno|2, you should try the `var self = this;` technique [23:02] mavus: i always manage to fuck something up with ubuntu [23:02] mavus: mostly gfx-driver related [23:02] random123: Using a Macbook sucks, its a rip off [23:02] AvianFlu: preserve 'this' from one scope in a different name, and it's still there for you [23:02] Nuck: random123: I disagree [23:02] Nuck: An MBP will last 8 years [23:02] AvianFlu: 'this' changes what it refers to each new scope [23:02] Nuck: They're solid aluminum [23:03] snowinferno|2: AvianFlu: I was passing 'this' as an argument in my callback function wrapper to the listener I want to attach and referencing it as 'sock' in the new listener [23:03] patcoll_ has joined the channel [23:03] random123: Nuck: I know, I've had one, been down that road, don't get the Hi Res 17, you can't even read the text on the 140 DPI (completely stupid) [23:03] random123: They look pretty but that gets old in about 2 hours [23:03] snowinferno|2: e.g. sock.on('data', function( e ) { myFun( e, this ); } ); [23:03] random123: Then you have empty pockets [23:04] Nuck: random123: I'm just getting a $2000 MBP when I have that much. [23:04] AvianFlu: snowinferno|2, that code there only passes data [23:04] kmiyashiro has joined the channel [23:04] random123: Rather use a real screen than some laptop all the time, with a real keyboard [23:04] AvianFlu: and you can't use 'this' as an arg name, I don't think [23:04] AvianFlu: wait [23:04] Nuck: I'm fine with laptops [23:04] AvianFlu: let me rephrase that [23:04] random123: Not hunched over on some macbook with 140 dpi screen, squinting [23:04] Nuck: I'm actually quite used to them [23:04] Nuck: random123: If you can't read 140DPI, you're blind [23:04] markwubben has joined the channel [23:04] Nuck: it won't make text less legible [23:04] mrdoodles has joined the channel [23:05] Nuck: And honestly, I can read tiny text [23:05] Nuck: I've got perfect vision [23:05] AvianFlu: snowinferno|2, you need to pass 'sock' instead of this [23:05] AvianFlu: because it's sock.on that you're using [23:05] Nuck: I can make out the pixels on my screens from a good 3 feet away [23:05] AvianFlu: or, put the other function in the same scope and keep using 'sock', depending [23:05] snowinferno|2: I'm not sure what difference that makes, at the time the anonymous callback wrapper is executed, 'this' will reference sock [23:06] Nuck: So DPI is actually got for me :P [23:06] Nuck: Good, even [23:06] davidbanham has joined the channel [23:06] AvianFlu: snowinferno|2, weren't you saying that it was referencing the wrong thing? I may have misunderstood you [23:06] random123: Nuck: Almost all software is created for 72 dpi, Imagine everything being half as small, if you can see perfectly, then thats a good way to ruin your vision imo [23:07] snowinferno|2: AvianFlu: When I tried to use this in the definition of myFun it referenced the wrong thing, hence why i decided to change up the definition and pass this as an argument to myFun to preserver the socket reference [23:07] mrdoodles: hey guys, i know that i mentioned it a week ago or so? but i got a sick opportunity at a startup to lead my own team use the architecture of my choice (node!) and I'm cranking 70+ hour weeks plus commuting for meetings. i started an extranet for her with node/mongoo/mongoose. i just don't have time to help her finish it, but the groundwork is laid out with authentication, roles etc all set. so i don't have the time, I've looked elsewhe [23:07] mrdoodles: but if anyone is interested in a 2 day or so gig /msg me? [23:07] Sorella: snowinferno|2, if you were referring to `var x = function(){ };' against `sock.on('data', function named(e){ })' there's no difference between then, except that one is named and the other is not. [23:07] Destos has joined the channel [23:07] mrdoodles: oh the her is my girlfriend who owns a real estate brokerage ^ [23:07] snowinferno|2: I'll put something up on gist, one moment [23:07] Sorella: `this` is a different matter. It has nothing to do with a function's definition. [23:08] AvianFlu: snowinferno|2, now that you tell me that, you're now correct [23:08] AvianFlu: i.e. after passing this instead of keeping it [23:08] Nuck: random123: Doesn't bother me, TBH. My ability to read things relies solely on the resolution, and not on the size [23:08] AvianFlu: I thought you said it was currently not working, in which case 'this' would be the likely culprit [23:09] snowinferno|2: AvianFlu: well, I'm actually losing something and I'm not sure where or why [23:09] slifty has joined the channel [23:10] AvianFlu: you should gist, it'll be clearer [23:10] snowinferno|2: working on that right now [23:11] CIA-30: node: 03Ryan Dahl 07master * r03c2f62 10/ (60 files in 9 dirs): Upgrade V8 to 3.6.2 - http://git.io/2-cQiA [23:12] patcoll has joined the channel [23:13] DrMcKay: so many updates today [23:13] DrMcKay: node is 100% gyp now? [23:14] Nuck: yeah, and I feel gypped [23:14] random123: Nuck: the macbook pro is uncomfortable to use, and over priced, comes with a terrible video card even if you get the 3K one, you can assemble something on newegg that is far better for 1/3 of the price [23:14] konobi: gotta wonder how node-waf is going to work =0) [23:14] wookiehangover has joined the channel [23:14] DrMcKay: I feel punned [23:14] Nuck: random123: And it won't last nearly as long :) [23:14] Nuck: And it won't weigh as little [23:14] Nuck: I'll go with the MBP [23:14] Nuck: Less hassle [23:14] softdrink: is anyone using browserify with backbone? [23:15] Nuck: Longer life [23:15] Nuck: Less weight [23:15] Nuck: Better battery [23:15] Nexxy: lol [23:15] Nexxy: the mac book is 5 pounds [23:15] [diecast]: is there a recommended howto for getting node.js/clustering working [23:15] Nexxy: O_o [23:15] bnoordhuis: konobi: we're going to replace it in due time [23:15] snowinferno|2: AvianFlu: https://gist.github.com/1205054 is more or less what the situation is [23:16] Nuck: For something with those specs and a solid metal case, it's gonna weight more than otherwise [23:16] Nuck: Plus like I said, hassle [23:16] mikola: Another question: What is the best way to start up subprocesses in node? [23:16] Nexxy: oh okay cuz I could have sworn you just said it would be lighter [23:16] Nuck: I'm not gonna go to the trouble of building a laptop [23:16] mikola: For example, when using dnode I want to instantiate workers [23:16] DrMcKay: !doc link child_process [23:16] dmkbot: http://nodejs.org/docs/latest/api/child_process.html [23:16] Nuck: Nexxy: Lighter than a comparable laptop [23:16] Nexxy: hardly [23:16] Nexxy: lol [23:16] mikola: ok, thanks [23:16] DrMcKay: mikola: ^^^ [23:17] DrMcKay: !doc link child_processes [23:17] dmkbot: http://nodejs.org/docs/latest/api/child_processes.html [23:17] Nuck: Nexxy: /off-the-shelf/ [23:17] Nuck: I'm not building a laptop [23:17] Nuck: Nothx [23:17] DrMcKay: it's this ^^^ [23:17] snowinferno|2: woops, in my gist the indexOf should be search [23:18] Nexxy: Nuck, thinkPads are very comparable [23:18] DrMcKay: I have to admit that I've been thinking about some Mac for a while [23:18] sivy has joined the channel [23:18] halcyon918 has joined the channel [23:19] Nexxy: DrMcKay, got some coffeeshops you've been wanting to hit up? [23:19] Nuck: Nexxy: ThinkPads are not gonna last half as long, they're generally made from the lower-quality parts [23:19] jmoyers: thats not true man [23:19] random123: Nuck: The whole lower quality parts thing is apple-bs [23:19] AvianFlu: snowinferno|2, looking now [23:19] Nuck: Plus Mac has all the unibody-manufacturing equipment in china. [23:19] jmoyers: i have a macbook pro, followed by an air [23:19] bnoordhuis: Nuck: thinkpads? they're nearly indestructible [23:19] jmoyers: just be honest with yourself [23:20] Nexxy: Nuck, do you believe everything the guys @ bestbuy tell you? [23:20] Nuck: ThinkPads [23:20] jmoyers: its the sexiness, period [23:20] jmoyers: the mac workflow is rad [23:20] Nuck: Wait, are those the bricks? [23:20] Nexxy: rofl [23:20] [diecast]: what are people using for clusting with node.js? capistrano? [23:20] k1ttty has joined the channel [23:20] halcyon918: Hey folks.. been playing around with EventEmitters and it seems that events have to be emit against an the specific object that has a callback registered on it... maybe this is an incorrect assumption... but it makes me wonder how that's any different than just calling the function on that same object directly (asynchronicity aside)... is there a way to make a global event queue and a global listener registry? [23:20] Nuck: I mean it, are those the ones that roughly look like solid metal bricks when closed? [23:20] SubStack: [diecast]: hook.io is pretty great [23:20] [diecast]: it's like the topic doesn't exist or something, can't find a decent doc/howto [23:20] DrMcKay: Nexxy: no, I got pretty tired with sound system just stopping to work just like that, but I want to stick to Unix [23:20] bnoordhuis: [diecast]: probably cluster [23:21] jmoyers: halcyon918 you can register many listeners for an event [23:21] Nexxy: DrMcKay, that's why you just uninstall pulse-audio [23:21] Nexxy: ;P [23:21] bnoordhuis: Nuck: yes [23:21] Nuck: jmoyers: hehe, the sexiness does play a part [23:21] AvianFlu: snowinferno|2, what's happening wrong that shouldn't be? [23:21] jmoyers: dude be honest. the main part [23:21] Nuck: Those screens just look great, and their framed wonderfully [23:21] DrMcKay: Nexxy: ah, radical, I will try that [23:21] rfay has joined the channel [23:21] AvianFlu: I see no obvious bad syntax here or anything [23:21] Nuck: *they're [23:21] jmoyers: then your 20 minute long argument ends [23:21] Nexxy: ^ [23:21] halcyon918: jmoyers: yes, i know you can register multiple listeners, but if A emits an event for B to catch... A has to call B.emit() [23:21] snowinferno|2: AvianFlu: the crlf ends up undefined [23:21] Nuck: However, I do liek the indestructible cases [23:21] Nexxy: then get a sony [23:22] jmoyers: halcyon918 nah nah, thats not how it works [23:22] halcyon918: That's what I was hoping to hear [23:22] jmoyers: A.emit('event') [23:22] Nuck: I've seen macbooks get run over by buses then still work [23:22] Nuck: THAT is whay I want. [23:22] jmoyers: A.addListener( 'event', listener ); [23:22] halcyon918: all the examples I've seen have been where A calls B.emit [23:22] jmoyers: where B is listener [23:22] shipit has joined the channel [23:22] jmoyers: then B is notified when A emits [23:23] twee has joined the channel [23:23] DrMcKay: meh, I'm going to sleep [23:23] jmoyers: halcyon918 send me these examples [23:23] bnoordhuis: sleep tight, DrMcKay [23:23] jmoyers: its not the typical case [23:23] DrMcKay: may the node be with you [23:24] halcyon918: Hmm... the paradigm I'm familiar with is that B registers a callback... and A emits the message... A doesn't have to know that B is even listening [23:24] mavus has joined the channel [23:24] halcyon918: B just gets the message [23:24] Nexxy: alter DrMcKay [23:24] twee: Hi guys, I've been reading about node.js but I'm still not sure exactly what it does. [23:24] jmoyers: yes, thats correct [23:24] Nexxy: twee, it cures cancer and reverses global warming [23:24] bnoordhuis: twee: also, it lets you run javascript server-side [23:25] twee: haha [23:25] Nexxy: twee, it also happens to be a great framework for evented IO [23:25] halcyon918: but it seems that A or B needs to know about the other object directly instead of just registering a global listener that says "Hey, if this message comes in from somewhere, let me know about it" [23:25] dgathright has joined the channel [23:25] jmoyers: oh oh [23:25] jmoyers: well, its not a global event bus [23:25] jmoyers: you scope your emitters with appropriate narrowness [23:25] random123: Nuck: It isn [23:25] jmoyers: it leads to better, modular design [23:26] Nexxy: + security [23:26] twee: bnoordhuis:could you give me an example of why you would need to run javascript serverside? [23:26] CIA-30: libuv: 03Bert Belder 07master * r0d373eb 10/ src/win/fs.c : win: fix bug in fs__readlink - http://git.io/v3QAfw [23:26] Nexxy: global is icky [23:26] Nuck: Nexxy: Node scales well, saves you money on servers by handling more connections per server, and therefore reduces global warming and our dependency on foreign oil. [23:26] Nuck: Hence, Node is awesome. [23:26] random123: Nuck: make sure you keep your receipt and return in 30 days ;p [23:26] halcyon918: Really? but that couples A to B... as opposed to A and B working from a common event bus... they don't need to know about each other... so they are not coupled and can be more modular [23:26] Nuck: random123: I don't intend to return it, but I do always keep receipts. [23:26] jmoyers: thats complete normalization [23:26] tcurdt has joined the channel [23:26] jmoyers: and essentially a global shim [23:26] halcyon918: I can understand scoping it, but it also makes sense to allow you to do the same at a global scope [23:26] guillermo has joined the channel [23:27] jmoyers: well, nothing stops you from creating a global event emitter for something [23:27] Nexxy: the same global scope untrusted code can be injected into? [23:27] Nexxy: nothanx [23:27] jmoyers: but… thats not great [23:27] bnoordhuis: twee: very broad question [23:27] halcyon918: well, it's not really global, because I need to pass that global object around to everyone [23:27] halcyon918: so that's even more coupled then [23:28] jmoyers: its not about complete decoupling [23:28] BillyBreen has joined the channel [23:29] halcyon918: well, I get that... I was just curious if I was missing something about the potential availability of a global event bus... if there's not, there's not, but I didn't want to make a global eventing object and pass it around if there was a global event bus to begin with [23:29] halcyon918: I gotta step away for a few... meetings... bah... thanks for the input jmoyers! [23:29] jmoyers: seeya [23:31] nrajlich has joined the channel [23:31] jmoyers: Nexxy also, what are you talking about global scope injection? where is this untrusted code coming from [23:32] jarek has joined the channel [23:32] jarek has joined the channel [23:33] markbao_ has joined the channel [23:33] BillyBreen has joined the channel [23:34] slyphon has joined the channel [23:35] jeninto has joined the channel [23:36] aelien271 has joined the channel [23:36] jeninto: hi everybody. I heard that Joyent hosts weekly node meetup things at their office on Thursdays. Is there one happening this week? [23:41] reid has joined the channel [23:42] LukeGalea has joined the channel [23:43] tmcw has joined the channel [23:43] LukeGalea: Hey everyone. I'm thinking of using redis for my logging in my express app. Does anyone have a good example of how to share a single connection throughout the app? I really want a singleton of some sort.. but I'd rather not resort to a global. [23:43] damienbrz has joined the channel [23:43] bingomanatee_ has joined the channel [23:43] bingomanatee_: Hows noders? [23:44] Nuck: noderific [23:45] z6Dabrata has joined the channel [23:46] chrisdickinson: feelin' asynchronous. i may or may not call you back with more information later. [23:46] [[zz]] has joined the channel [23:46] Nuck: chrisdickinson: Best response ever. [23:46] LukeGalea: chrisdickinson: ya. That was good ;) [23:46] LukeGalea: So, Does anyone out there use winston for logging with express? [23:48] normanrichards has joined the channel [23:48] rchavik has joined the channel [23:50] tmcw has joined the channel [23:50] localhost has joined the channel [23:51] snowinferno|2: I think I'm going to have to go back to the drawing board on this design [23:56] errordeveloper has joined the channel [23:56] replore has joined the channel [23:57] replore has joined the channel [23:57] replore_ has joined the channel