[00:00] beriberikix: vicapow: So I have initialization code that needs to fetch something first before anything else can run [00:00] vicapow: beriberikix: so pass it a callback [00:00] brainproxy: beriberikix: i created a gist last night for someone who is asking about something similar [00:01] brainproxy: https://gist.github.com/1210750 [00:01] brainproxy: the same principle could be used in your case, slightly adjusted of course [00:01] brainproxy: or even just a simple callback might be enough [00:01] davidbanham has joined the channel [00:03] beriberikix: brainproxy: vicapow: I'm not sure I follow. What if many subsequent calls come in, a single callback won't be sufficient. [00:03] replore has joined the channel [00:03] replore_ has joined the channel [00:03] beriberikix: Or I'm missing the mark [00:04] KyleReese301: maybe i should start here: I currently have windows with apache running ( WAMP ) and i want to have Node.js running on apache as well, is this possible? [00:04] brainproxy: beriberikix: then you may need to setup an evented flow with the help of EventEmitter [00:04] ritch: brainproxy: nice gist… I like how the same concept could work for parallel operations [00:05] brainproxy: ritch: thanks, maybe take a look at creationix's Step or TameJS [00:05] [[zz]] has joined the channel [00:05] brainproxy: http://tamejs.org/ [00:06] ritch: i like the idea of not using a library to handle async patterns [00:06] beriberikix: brainproxy: allrighty, I'll dig into eventemitter docs a bit. Thanks guys. [00:06] ritch: just keep it simple, ie your gist [00:06] Frippe has joined the channel [00:07] brainproxy: beriberikix: sure thing, feel free to ask more questions, we're all learning here :) [00:07] brainproxy: ritch: sure, I can appreciate that :) [00:07] ritch has joined the channel [00:08] beriberikix: brainproxy: gracias :), I'll bbiab with more questions [00:08] Vertice has joined the channel [00:09] ritch: i wish express worked more like that.. instead of calling next() emitting a done event so that middleware that do not depend on each other can process at the same time [00:09] joshkehn has joined the channel [00:09] tjholowaychuk: ritch that's not always ideal.. [00:10] tjholowaychuk: it would easily be possible to support serial/parallel but configuration would be much more complex [00:10] tjholowaychuk: certainly something to think about though [00:10] Martz has joined the channel [00:10] ritch: connect is awesome because its so simple [00:10] yept has joined the channel [00:10] tjholowaychuk: connect does the same thing [00:10] ritch: ya i know [00:11] ritch: but doesnt that model fall apart if you want to stream a response? [00:11] ritch: and request [00:11] tjholowaychuk: not really no [00:11] tjholowaychuk: to some degree [00:12] pandark_ has joined the channel [00:12] tjholowaychuk: ideally we would have some way to define a state machine in which certain things must happen before others, some parallel, some serial blah blah [00:12] matyr_ has joined the channel [00:13] ritch: 3.0? [00:13] tjholowaychuk: serial is not ideal but it works, parallel would be a huge fail, a mixture would work but be more confusing etc [00:13] tjholowaychuk: and then you need explicit end-points [00:13] KyleReese301: when i surf to my localhost running Node.js ( in IIS ) i get HTTP error 500.19 - Internal Server Error [00:13] jakehow has joined the channel [00:13] KyleReese301: anyone knows what i'm doing wrong? [00:14] jchris1 has joined the channel [00:14] ritch: what about opt-in parallel, leave app.use() the way it is [00:15] tjholowaychuk: ritch yup it could be done [00:15] tjholowaychuk: obviously it gets more confusing when you want to inject logic in there to say check if a user is authenticated etc [00:16] tjholowaychuk: not a trivial thing to keep abstract [00:16] qbert_: vicapow, are you on windows ? [00:16] russell_h has joined the channel [00:16] qbert_: or using IE ? [00:16] postwait has joined the channel [00:17] ritch: right… its not going to be easy to reuse serial middleware [00:18] qbert_: KyleReese301, do you have a need for IIS ? [00:19] CIA-54: node: 03isaacs 07master * r8b6277a 10/ (4 files in 4 dirs): Update uv to 3c00d87b4239a6b8358e2085f806170c3eca10cf - http://git.io/OG7P8w [00:19] CIA-54: node: 03isaacs 07master * r190abca 10/ test/simple/test-mkdir-rmdir.js : [00:19] CIA-54: node: mkdir EEXIST test [00:19] CIA-54: node: Fixed on uv 3c00d87b4239a6b8358e2085f806170c3eca10cf - http://git.io/0Ym8SA [00:19] qbert_: if not, just abandon it and use node directly, I setup node to work with apache its trivial, but only because it's on a server with a bunch of other stuff [00:19] tjholowaychuk: ritch to some degree it's the choice of a) having an app that makes sense b) having an app that is slightly more responsive [00:19] Marak has joined the channel [00:20] qbert_: I side with "makes sense" every time [00:20] tjholowaychuk: but like i said it's worth taking a better look into, i just dont have time right now, i've prototyped a few things though [00:20] ritch: are they on github? [00:21] tmzt: middleware that could match routes would be cool [00:21] bogomips has joined the channel [00:22] tmzt: like saying /admin/(.*) is all protected by this callback [00:22] tjholowaychuk: protected? [00:22] tmzt: authentication [00:22] tjholowaychuk: app.get('/admin/*', callback)? [00:22] MarkMenard has joined the channel [00:22] tmzt: like that, but then you would just define the content as normal [00:22] tjholowaychuk: or app.all('/admin/*', callback) [00:23] tjholowaychuk: yeah [00:23] tjholowaychuk: you can do that [00:23] tjholowaychuk: just next() in there [00:23] tmzt: ah [00:23] tmzt: so what are they asking for [00:23] tmzt: why parallel [00:23] tzmartin has joined the channel [00:23] tjholowaychuk: better latency in some cases [00:24] tjholowaychuk: it would be great for some cases [00:24] tjholowaychuk: ex uploads [00:24] ritch: less memory if we can stream a req/res [00:24] tmzt: just use raw for uploads :) [00:24] tjholowaychuk: to be able to say i dont care about this data until the route [00:24] tjholowaychuk: so run middleware and then dont exec the route until uploads are complete etc [00:24] tmzt: and a subdomain [00:24] dshaw_ has joined the channel [00:24] tjholowaychuk: but they are all leaky abstractions [00:24] joshkehn has left the channel [00:24] tjholowaychuk: no app is identical so i dont want to make assumptions like that [00:25] dseif has joined the channel [00:25] KyleReese301: qbert_ the only reason i installed IIS is for Node.js [00:25] boaz has joined the channel [00:26] skm has joined the channel [00:27] schwab has joined the channel [00:27] nuck: https://github.com/LearnBoost/mongoose/issues/517 filed an issue to get async setters [00:27] springmeyer has joined the channel [00:27] KyleReese301: hm i just found a way to run Node.js as a service on windows, i'll try that approach first now [00:27] mynyml has joined the channel [00:28] qbert_: yeah, IIS just complicates things really [00:28] z6Dabrata has joined the channel [00:28] Voxxit1 has left the channel [00:29] springmeyer has joined the channel [00:31] Murvin has joined the channel [00:31] Murvin: any suggestion for simple CMS? [00:31] ritch: rails [00:32] tmzt: express + jade [00:33] admc2 has joined the channel [00:33] Murvin: CMS... i looked at calipso, but too copmlicated [00:33] maxogden: rails [00:33] Murvin: lol [00:33] Murvin: rails? [00:33] dlr928291: @Murvin : calipso, just looking at it. [00:33] dlr928291: https://github.com/cliftonc/calipso [00:33] Murvin: yeah. i look at it..too many things for my simple site. [00:34] mandric has joined the channel [00:34] tmzt: app.get('/pages/:page', function(req,res){res.render('pages/'+req.params.page)}); [00:35] tmzt: create a template in jade with !=body [00:35] tmzt: put the partials in pages, if you prefer to use a db you can do that [00:36] jmoyers has joined the channel [00:37] trotter has joined the channel [00:37] JaKWaC|Phone has joined the channel [00:38] piscisaureus has joined the channel [00:39] dreamdust: Calipso is interesting… it's actually the most robust Drupal clone out there surprisingly. DruPy never really went anywhere. [00:39] KyleReese301: lol i got it to work, "hello world" in my browser, epic :P [00:40] ritch: calipso does look interesting, what was the complaint Murvin? [00:40] vicapow has joined the channel [00:44] AAA_awright: Murvin: Then you probably don't want Node.JS... Which really is designed for other purposes [00:44] CarterL has joined the channel [00:46] JaKWaC|Phone has joined the channel [00:48] piscisaureus has joined the channel [00:49] Murvin: AAA_awright: no i want node.js. coz the site will build using node. worse come to worse , i just need to write a simple CMS. lol. [00:49] tuhoojabotti has joined the channel [00:49] Murvin: or after that I can share the code. :) [00:50] Murvin: i can't live without node... [00:50] Murvin: i can't code without node [00:50] brainproxy: Murvin: maybe look at zappa as a base layer? it's coffeescript oriented but you might like it [00:50] AAA_awright: No, really, that screams "You're doing it wrong" [00:51] brainproxy: AAA_awright: which part? [00:51] Nuck|mobile has joined the channel [00:51] Murvin: lol [00:51] Murvin: sure let take a look too [00:51] dreamdust: Agreed with AAA_awright. Choose the technology stack to fit your project, not the other way around. [00:51] Nuck|mobile: dreamdust: Pssssssh [00:52] aho: but node is fun D: [00:52] Murvin: because the technology fit on all other sides [00:52] AvianFlu_: and if someone is doing it for fun, the rest doesn't matter [00:52] AvianFlu_: I can build a lot of funky stuff if I'm just trying to explore node [00:52] dreamdust: What's wrong with Calipso? [00:52] AAA_awright: Take it from someone literally writing a CMS for Node (which is far more advanced than you want, if calip.so is) [00:53] AAA_awright: Also, Nuck|mobile, also writing a website/framework with user content [00:54] AAA_awright: Wait but I guess you disagree [00:54] Murvin: well.. what i need are not complicated. a server & db (mongo) store page information. the page is html template. so depending on the parameters, i just display the proper content from mongo. that's so easy with express. [00:54] AAA_awright: Also, http://magnode.org/ <== Shameless plug [00:54] Murvin: just that, i need a nice interface for the admin to update the content. [00:55] brainproxy: cool AAA_awright, thanks for the link [00:56] AAA_awright: brainproxy: It's nowhere near completion and still doesn't manage to sell itself well, on why this new idea is so much better than existing systems [00:56] Murvin: so, capliso is far more complicate for simple task like that.. [00:56] Murvin: looking into magnode. :) [00:56] broofa_ has joined the channel [00:56] k1ttty has joined the channel [00:57] tylerstalder has joined the channel [00:57] Draggor: AAA_awright: magnode.org doesn't load! [00:57] Murvin: i m on it [00:57] AAA_awright: It doesn't? hmm [00:57] AAA_awright: I am [00:57] mrchess has joined the channel [00:57] Murvin: may be it only takes one user at a time. :) [00:57] AAA_awright: It's cached by Nginx, no reason it should be [00:57] CarterL: http://magnode.org/develop [00:58] AAA_awright: Well it's not all finished [00:58] CarterL: ahh [00:58] Draggor: AAA_awright: did you update a dns record recently? [00:58] CarterL: np :) [00:58] AAA_awright: No [00:58] marienz has joined the channel [00:58] Nexxy: nginx caching over something liek varnish? [00:58] Nexxy: y 4 [00:59] AAA_awright: No, just plain old Nginx [00:59] Sorella has joined the channel [00:59] Nexxy: sorry, I meant [00:59] Nexxy: why nginx rather than something like varnish [00:59] AAA_awright: Nginx pretty much does it all, so, fewer moving parts [01:00] Nexxy: are you using it to serve static resources as well? [01:00] AAA_awright: Yeah [01:00] Nexxy: ^-^ [01:00] igl1 has joined the channel [01:00] AAA_awright: If you want an update when there's something working posted (which is going to be a simple blog) see http://groups.google.com/group/magnode [01:00] CarterL: AAA_awright: pretty slick [01:01] amtal has joined the channel [01:01] Murvin: empty group [01:02] AAA_awright: I don't know if you follow all the bad marketing text I have written but the idea is you isomorphic transforms, i.e. RDFa, so you can extract the very same data used to generate the webpage, from the webpage [01:02] AAA_awright: http://magnode.org/rdfa-templating/ if anyone's familiar with RDF [01:03] AAA_awright: Murvin: Well naturally, there's no stable software yet :p [01:03] abraxas has joined the channel [01:03] brianseeders has joined the channel [01:03] Murvin: :) [01:04] qbert_: I'm still handle for loops and asynchonisity badly, how to people handle the case when you have to loop through a collection, in the loop you need an asynch call, and wait until all asynch calls have finished ? [01:04] qbert_: handling* [01:05] jtsnow has joined the channel [01:05] ryah: qbert_: have a counter [01:05] ryah: qbert_: when the counter is equal to the number of things in the loop, its done [01:06] JakeyChan has joined the channel [01:06] AvianFlu_: ryah++ [01:06] v8bot_: AvianFlu_ has given a beer to ryah. ryah now has 1 beers. [01:06] jerrysv: .. 'test' [01:06] qbert_: thats what I'm doing now, but my code is ugly, mostly I blame it on the formatter [01:07] KyleReese301: ryah in your presentation, you used setInterval and if you connect to the server with the console you get hello world world world world, is it normal that when you visit it with your browser through localhost, that you get a problem? [01:07] mike5w3c has joined the channel [01:07] perezd has joined the channel [01:07] qbert_: actually, I'm using a setTimeout, when counter == numberOfThings, execute callback etc [01:07] qbert_: is that what you mean ? [01:08] nitinb has joined the channel [01:08] theCole has joined the channel [01:09] simon2 has joined the channel [01:10] boaz has joined the channel [01:11] augustl has joined the channel [01:11] cloud-akshat has joined the channel [01:11] rook2pawn has joined the channel [01:12] ryah: KyleReese301: what? [01:12] KyleReese301: wait i got a real noob question here [01:12] devongovett has joined the channel [01:12] KyleReese301: > node c:\code\server.js [01:12] KyleReese301: ... [01:12] levi501d has joined the channel [01:12] KyleReese301: i get dots ... it doesnt start, what am i doing wrong [01:13] jerrysv: KyleReese301: you're running node before running node [01:13] andyl has joined the channel [01:13] ryah: KyleReese301: windows? [01:13] KyleReese301: yes [01:14] ryah: KyleReese301: which version of windows? [01:14] KyleReese301: windows 7 [01:14] ryah: hmm... [01:14] KyleReese301: 64 bit [01:14] KyleReese301: but i'm really new here, i only got to know about node.js only 3 hours ago or so [01:14] ronnieboy has joined the channel [01:14] jerrysv: ryah: i think he's running node, then typing "node server.js" inside of node itself [01:15] ryah: jerrysv: ah :) [01:15] astacy has joined the channel [01:15] ryah: KyleReese301: yes, exit node first :) [01:15] KyleReese301: oh ok thx [01:15] ritch: ryah: do you have any example use cases (ie: a gist) for process.createDomain()? Specifically for how it can help debug. [01:16] ryah: ritch: that doesnt exist yet [01:16] ritch: but to conceptualize it [01:16] KyleReese301: yeah i got a PHP website with ajax and stuff and i was looking for a way to build a chat room with sockets, and then i found out about Node.js and i want to mix Node.js with PHP somehow, but there are not many resources available about that on the internet, yet [01:17] tuhoojabotti: surely there is [01:17] djMax has joined the channel [01:18] tuhoojabotti: just drop the php ;) [01:18] djMax: I know this is a dangerous question - is there an easy way to call a SOAP service from Node with "high end" features like client certs? [01:19] bnoordhuis: djMax: node https library supports client certificates [01:19] bnoordhuis: *node's [01:19] CIA-54: node: 03Ryan Dahl 07master * r0aad61e 10/ (4 files in 3 dirs): [01:19] CIA-54: node: Use net_uv instead of net_legacy for stdio [01:19] CIA-54: node: Also temporary hack to prevent process.stdout from keeping event loop alive [01:19] CIA-54: node: by calling uv_unref on process.stdout initialization. - http://git.io/vavheA [01:19] CIA-54: node: 03Ryan Dahl 07master * r0928f0f 10/ (src/node.js test/simple/test-module-load-list.js): [01:19] CIA-54: node: Fix test-module-load-list [01:19] CIA-54: node: and lazy load modules for process.stdout [01:19] CIA-54: node: This probably breaks test-module-load-list on windows, but it hopefully is [01:19] CIA-54: node: an easy fix to replace "_posix" bindings with "_win32". - http://git.io/AZ6EVA [01:20] djMax: interesting, so I see that the douche module supposedly supports SOAP, and uses the http library, so yeah, maybe I have a shot in hell [01:20] djMax: thanks! [01:20] KyleReese301: c:\node>node c:\code\server.js [01:20] KyleReese301: node.js:203 [01:20] KyleReese301: throw e; // process.nextTick error, or 'error' event on first tick [01:20] KyleReese301: ^ [01:20] KyleReese301: Error: listen EADDRINUSE [01:20] KyleReese301: at errnoException (net_uv.js:557:11) [01:20] KyleReese301: at Array. (net_uv.js:632:28) [01:20] djMax: though I don't see the client cert stuff in http.get [01:20] KyleReese301: at EventEmitter._tickCallback (node.js:195:26) [01:20] errordeveloper has joined the channel [01:20] KyleReese301: any ideas on that error? [01:21] KyleReese301: i used the exact same code in the JS file as on the presentation [01:21] djMax: ah, setSecure [01:22] H4ns` has joined the channel [01:22] bnoordhuis: KyleReese301: it's considered polite to gist code and error messages instead of copy/pasting them in the main channel... [01:22] KyleReese301: oh ok, i'm totally new on IRC and stuff like that, sorry [01:22] ritch: KyleReese301: you most likely have another node process running at localhost:YOUR_PORT [01:22] matyr has joined the channel [01:22] ritch: or… another server [01:22] losing has joined the channel [01:23] KyleReese301: oh yes that's probably it ritch [01:23] ditesh|cassini has joined the channel [01:24] matyr__ has joined the channel [01:24] ritch: KyleReese301: if you aren't on github, you should try it, but you can use something like http://pastie.org/ to paste errors [01:24] wolftankk has joined the channel [01:24] tylerstalder has joined the channel [01:25] enhydra has joined the channel [01:25] CIA-54: node: 03Ryan Dahl 07master * r8c87250 10/ (lib/util.js test/simple/test-module-load-list.js): [01:25] CIA-54: node: Do not load readline from util.inspect [01:25] CIA-54: node: This causes all modules using console.log() to load readline which seems [01:25] CIA-54: node: unnecessary. - http://git.io/WOTuvA [01:26] secoif_ has joined the channel [01:27] devongovett has joined the channel [01:28] ryah: ritch: https://github.com/joyent/node/blob/74c6de1bbfdf2bcb5ec5c9fef1caa262b70ea1dc/test/simple/test-domains.js [01:29] matyr has joined the channel [01:31] liveink has joined the channel [01:32] joshkehn has joined the channel [01:33] ritch: ryah: thx! [01:35] KyleReese301: i also got my stuff to work, thx for the help guys [01:35] joshkehn has left the channel [01:35] ryah: ritch: dont bother trying to run it -it's broken [01:35] ryah: ritch: but that's the idea [01:35] ryah: KyleReese301: glad to help! [01:36] H4ns`` has joined the channel [01:37] slifty_corsair has joined the channel [01:37] aelien27 has joined the channel [01:38] nerdy_ has joined the channel [01:41] Nuck|mobile_ has joined the channel [01:44] Drakonite has joined the channel [01:45] torsd has joined the channel [01:45] dannycoates has joined the channel [01:45] jhurliman has joined the channel [01:45] mandric has joined the channel [01:46] pen has joined the channel [01:47] [[zz]] has joined the channel [01:47] savage- has joined the channel [01:48] jhurliman: anyone have recommendations for a node redis client that works? [01:49] jhurliman: :-S brb [01:49] JaKWaC|Phone_ has joined the channel [01:49] NegativeK has joined the channel [01:50] bronson has joined the channel [01:51] necrodearia has joined the channel [01:52] killfill: hi [01:52] airportyh has joined the channel [01:52] killfill: how do i make express responde to get and post?.. app.get_and_post(fn) [01:52] killfill: ? [01:53] mrryanjohnston has joined the channel [01:53] ritch: ryah: the example throws an error manually, are other errors a concern (ie syntax, method not defined, etc), or are those suppose to bubble up to uncaughtException? [01:54] airportyh: killfill: app.all(fn) [01:54] airportyh: http://expressjs.com/guide.html#routing [01:54] eresair has left the channel [01:55] killfill: ooh, i pass over it without reading.. sorry [01:55] killfill: airportyh: thanks!! [01:55] airportyh: killfill: oops, sorry that's not what's for at all [01:55] airportyh: that's more like a filter [01:56] killfill: kinda works [01:56] cordoval has joined the channel [01:57] cordoval: while installing zombie i get Checking for node path : not found [01:57] airportyh: killfill: mm, right, it might work for you [01:57] cordoval: I am setting on my bashrc NODE_PATH="/usr/local/bin/node" [01:57] cordoval: but still saying it did not find the path [01:58] cordoval: can someone help me please? just trying to install zombie, I installed on ubuntu latest node (git) and npm with sudo, and now trying to do sudo npm install -g zombie [01:59] cordoval: but it is not picking up and giving this error when i run [01:59] killfill: hm.. [01:59] killfill: airportyh: not really :S [01:59] cordoval: Can not instantiate server (node /tmp/mink_zombie_serverqYnokV): [01:59] killfill: my fault [01:59] cordoval: node.js:134 throw e; // process.nextTick error, or 'error' event on first tick ^ Error: Cannot find module 'zombie' [01:59] airportyh: killfill: what failed? [01:59] ecin_ has joined the channel [02:00] tylerstalder has joined the channel [02:00] airportyh: cordoval: what output you get from npm? [02:00] pen has joined the channel [02:00] cordoval: npm --version? [02:00] airportyh: cordoval: udo npm install -g zombie [02:01] airportyh: s/udo/sudo [02:01] cordoval: airportyh: http://pastie.org/private/pzieo4llymeamkunfoivcq [02:01] killfill: hm.. [02:01] trotter has joined the channel [02:02] airportyh: cordoval: it installed okay [02:02] maxogden: cordoval: you might want to use 0.4.x instead of trunk node [02:02] airportyh: cordoval: I believe you need to set NODE_PATH=/usr/local/lib/node_modules/ [02:03] matyr_ has joined the channel [02:03] cordoval: should I set both? [02:03] cordoval: NODE_PATH="/usr/local/bin/node" [02:03] cordoval: NODE_PATH="/usr/local/lib/node_modules/" [02:03] cordoval: or just the latter one [02:03] airportyh: maxogden: right, 0.5 is very unstable [02:03] airportyh: just the latter [02:03] airportyh: it should point to a directory [02:04] pen has joined the channel [02:05] cordoval: something is wrong then [02:05] cordoval: Can not instantiate server (node /tmp/mink_zombie_serverAYx94i): node.js:134 throw e; // process.nextTick error, or 'error' event on first tick ^ Error: Cannot find module 'zombie' [02:06] WRAz has joined the channel [02:06] cordoval: I was adding NODE_PATH="/usr/local/lib/node_modules/" on my .bashrc then source ~/.bashrc [02:06] cordoval: I am now doing export [02:07] cordoval: yes it seems now it is doing something, thanks airportyh [02:07] cordoval: you rock man [02:07] airportyh: cool, glad I could help [02:09] cordoval: however now zombie says Could not load resource for URL 'http://h.local/app_test.php/pickup' [02:09] airportyh: and that works for your other browser? [02:09] airportyh: don't know, try another url [02:10] cordoval: yes it works when i load it in any other browser [02:10] langworthy has joined the channel [02:10] ritch: try google.com in zombie [02:10] airportyh: zombie might be buggy so... [02:10] enmand has joined the channel [02:10] tbranyen: zombie is very buggy [02:10] tbranyen: along with jsdom [02:10] cordoval: buggy??? this is serious testing :) [02:11] airportyh: I would prefer phantomjs personally [02:11] cordoval: is it faster? [02:11] JakeyChan has joined the channel [02:11] cordoval: i need a headless browser to test javascript [02:12] cordoval: that is compatible with behat [02:12] airportyh: it's a full webkit browser, so you would run into bugs like w zombie [02:12] cordoval: so it has a driver build on behat's mink component, zombie does have one [02:12] airportyh: s/would/wont [02:12] cordoval: for that i can use sahi, and i am, just wanted to run faster with the javascript [02:12] airportyh: i might work for you [02:13] airportyh: just saying zombie is buggy [02:13] cordoval: oh ok [02:13] cordoval: right [02:13] cordoval: i will check with google although not sure how to write a short code for that [02:14] a_suenami has joined the channel [02:17] nerdy_ has joined the channel [02:17] JorgeRuiz has joined the channel [02:18] amigojapan has joined the channel [02:18] pen has joined the channel [02:19] d0k has joined the channel [02:22] vidi has joined the channel [02:23] agnat has joined the channel [02:24] jchris has joined the channel [02:25] jchris has joined the channel [02:25] slifty_corsair has joined the channel [02:25] cordoval: wow i can't get zombie to give me some meaningful output at least to try to troubleshoot [02:25] agnat_ has joined the channel [02:27] boaz has joined the channel [02:27] marcello3d has joined the channel [02:28] mfncooper has joined the channel [02:28] talltyler has joined the channel [02:28] SubStack: harmony should pull a perl6 and languish in obscurity while people get shit done in regular javascript [02:28] AvianFlu: LOLWIN [02:28] tbranyen: SubStack: python3 :-p [02:29] ryanfitz has joined the channel [02:29] slifty_corsair has joined the channel [02:30] cjheath has joined the channel [02:32] gregpascale has joined the channel [02:32] Murugaratham has joined the channel [02:32] jesusabdullah: SubStack: :o of *course*! [02:32] jesusabdullah: I think eventually python 3 is gonna take over [02:33] Sorella: Python 3 is not that bad. It allows you to use the variables from the outter scope, which is already amazing by itself... [02:33] jesusabdullah: Unlike perl 6 it didn't really have problems going gold [02:33] Sorella: Harmony has loads of useless shit though. Quasiquotation is my favourite of them... [02:33] jesusabdullah: It's a matter of api breaking changes and dependencies [02:33] tmzt: SubStack: more like v8 gets alternative langauge ast support with the same backend [02:33] tmzt: especially with google introducing yet another javascript preprocessor [02:33] jesusabdullah: What does this one do? [02:33] Sorella: tmzt, you mean Dart? [02:34] tmzt: yeah [02:34] tmzt: can't really figure out *what* it is [02:34] Sorella: That's a full blown language with its own VM, no? [02:34] Sorella: at least, from what I understood of the whole buzz. [02:35] mehtryx has joined the channel [02:36] talltyler has joined the channel [02:39] cordoval: can anyone help me with my zombie error please? [02:39] slloyd_ has joined the channel [02:39] cordoval: at least how to troubleshoot [02:40] cordoval: Could not load resource for URL 'http://h.local/app_test.php/pickup', the error is gotten here [02:40] cordoval: https://github.com/Behat/Mink/pull/56/files#L5L-1 [02:41] agnat has joined the channel [02:42] CIA-54: node: 03Ryan Dahl 07master * rcb6b9eb 10/ (node.gyp src/node_stdio_win32.cc): Fix windows build - http://git.io/RnG4ew [02:42] shipit has joined the channel [02:43] jesusabdullah: SubStack: You have to make that burrito-based language extension library now [02:43] joshkehn has joined the channel [02:43] SubStack: jesusabdullah: whycome? [02:44] githogori has joined the channel [02:44] SubStack: to kick harmony in the knees? [02:44] jesusabdullah: because then there would be an evolution of javascript that's existing and instantly useful and, well [02:44] jesusabdullah: kicking harmony in the balls [02:44] jesusabdullah: yeah [02:44] jesusabdullah: Too many strange decisions [02:44] joshkehn has left the channel [02:45] kennberg has joined the channel [02:45] hacksparrow has joined the channel [02:45] jesusabdullah: What if you could rename parts? Like, in your program replace the function keyword to fn for example [02:46] jesusabdullah: fn = function [02:46] jesusabdullah: That'd be weird. [02:47] Sorella: ACTION is not sure macros and token replacements work too well in JavaScript. It does have syntax... [02:49] jesusabdullah: Technically, this library would be for defining a macro-ish preprocessor [02:49] Nexxy: jesusabdullah, you could write in unicode! *herp derp* [02:50] tuhoojabotti: derp [02:50] jesusabdullah: but nexxy I don't know any words with unicodes in them! [02:50] jesusabdullah: but you COULD [02:50] jesusabdullah: if you were a DOUCHE [02:50] dseif_ has joined the channel [02:50] jesusabdullah: OH OH [02:50] jesusabdullah: exception for breakfastscript [02:51] tuhoojabotti: http://www.heyokay.com/images/hurr-durr.jpg Progress of Node [02:52] jesusabdullah: ಠ_ಠ [02:53] agnat has joined the channel [02:54] kriszyp has joined the channel [02:54] Sorella: Change function tokens to 흺, && tokens to ⋀ and || tokens to ⋁. Remove conditional and control-flow statements :3 [02:54] maxogden: im just gonna leave this here https://gist.github.com/1007605 [02:55] bogdanbiv has joined the channel [02:55] Sorella: (the only non-interesting part would be causing a stack-overflow for any non-trivial function) [02:55] tuhoojabotti: Sorella: I can see none of those characters. :D [02:55] tuhoojabotti: Your output encoding is to blame! [02:56] jesusabdullah: Why not tokens that make more sense? [02:56] tuhoojabotti: I agree with jesusabdullah. [02:56] Sorella: tuhoojabotti, I'm pretty sure xchat is configured to utf-8 [02:56] Sorella: ACTION should stop using it entirely and use ERC instead... [02:57] tuhoojabotti: irssi<3 [02:57] jesusabdullah: You could make some interestingly mathematical little interpreter [02:57] jesusabdullah: tuhoojabotti: it's probably your ssh settings or shell settings [02:57] tuhoojabotti: jesusabdullah: they are all wtf-8 [02:57] tuhoojabotti: But I think it's my gont [02:57] tuhoojabotti: font* [02:57] jesusabdullah: ah [02:58] Sorella: tuhoojabotti, haha. [02:59] Sorella: tuhoojabotti, which font do you use for terminal stuff? [02:59] jesusabdullah: awww, the muffin one is cute [02:59] tuhoojabotti: DejaVu Sans Mono :e [02:59] metellus has joined the channel [02:59] vipaca has joined the channel [02:59] Sorella: tuhoojabotti, hm, it should display those symbols just fine. [02:59] maxogden: jesusabdullah: harthur agrees http://twitter.com/#!/harthvader/status/91603076498202624 [03:00] jesusabdullah: :3 [03:01] meso has joined the channel [03:01] jesusabdullah: Why haven't I met harthur yet? Isn't she an sf jabbascripter? [03:02] beawesomeinstead has joined the channel [03:02] towski has joined the channel [03:02] maxogden: jesusabdullah: dunno, i dont keep tabs on your social activity [03:03] wookiehangover has joined the channel [03:03] jesusabdullah: sure, sure [03:03] jesusabdullah: I've just been to a lot of shit is all [03:05] JakeyChan: hi, [03:05] JakeyChan: simple question [03:06] JakeyChan: function Server() {}; module.exports = Server; it can not work : var server = new require('server')(); how to fix it ??:) [03:06] JakeyChan: :) [03:06] normanrichards has joined the channel [03:07] tuhoojabotti: Perhaps new (require('server'))(); [03:08] JakeyChan: coooool, [03:08] JakeyChan: it works :) [03:08] JakeyChan: thanks [03:08] tuhoojabotti: np [03:08] boehm has joined the channel [03:10] kenperkins has joined the channel [03:10] agnat has joined the channel [03:10] kiffness has joined the channel [03:12] trotter has joined the channel [03:13] NewCoder has joined the channel [03:13] yhahn has joined the channel [03:13] Emmanuel has joined the channel [03:15] NewCoder has joined the channel [03:16] NewCoder has joined the channel [03:17] JakeyChan: is there have standard code style for node.js ?? [03:17] dreamdust: @JakeyChan: http://nodeguide.com/style.html [03:17] JakeyChan: cool! [03:17] JakeyChan: :D [03:18] bentruyman has joined the channel [03:18] NewCoder has joined the channel [03:18] Murugaratham has joined the channel [03:19] Lorentz has joined the channel [03:19] jesusabdullah has joined the channel [03:20] Murugaratham has joined the channel [03:20] smtlaissezfaire has joined the channel [03:21] Murugaratham has joined the channel [03:22] smathy has joined the channel [03:22] yhahn has left the channel [03:23] FearOfMusic has joined the channel [03:24] joshkehn has joined the channel [03:24] joshkehn has left the channel [03:24] amtal has joined the channel [03:25] clifton has joined the channel [03:25] balupton has joined the channel [03:27] stepheneb has joined the channel [03:32] dscape: anyone: any info where the stdout gets logged in no.de ? [03:33] NewCoder has joined the channel [03:38] mwhooker has joined the channel [03:39] zeiris has joined the channel [03:39] slloyd_ has joined the channel [03:39] tilgovi has joined the channel [03:39] tilgovi has joined the channel [03:39] nuck: dscape » node-service-log IIRC [03:40] dscape: thanks nuck [03:40] nuck: Do the guys who work on Mongoose even know anything about optimizations required in serious servers? :/ [03:40] nuck: .where('name': /rover/i) [03:40] nuck: Non-index search [03:40] nuck: Very bad form [03:41] nuck: Not to mention use of sync bcrypt in mongoose-auth [03:41] liveink_ has joined the channel [03:43] maxogden: nuck: http://i.imgur.com/wX9c9.png [03:44] ruby-n-company has joined the channel [03:46] JakeyChan: question: [03:46] rurufufuss has joined the channel [03:46] smathy has joined the channel [03:46] ruby-n-company: Would Node.js be good at running a process continually at an interval while waiting for it's data output? If so, is setInterval the best way to achieve that? [03:46] JakeyChan: function Server() {this.prototype = new customobject(); } can it work: (new Server()).send(); the send method come from custom object :) [03:47] maxogden: ruby-n-company: can you elaborate on what you mean by 'a process'? [03:47] ruby-n-company: Such as top (parsed for important information) or responding to messages in a message queue and passing information along. [03:48] ruby-n-company: I'm 85% sure that it does the second quite well, but I'm not sure about running child or forked processes and getting data back from them at intervals (doesn't have to be exact, but close enough_ [03:48] chrislorenz has joined the channel [03:49] maxogden: ruby-n-company: http://nodejs.org/docs/v0.4.8/api/child_processes.html#child_process.exec [03:49] amerine has joined the channel [03:49] maxogden: ruby-n-company: you can do setInterval(function() { //exec code }, interval) if you want to run a command on an interval [03:50] ruby-n-company: Would lock the run loop though correct? [03:51] kiffness has joined the channel [03:51] maxogden: ruby-n-company: its async and buffered so it shouldnt [03:51] ruby-n-company: Ah okay. [03:52] Vertice has joined the channel [03:52] skm has joined the channel [03:53] ruby-n-company: If I was to run say 6 or so different child processes at a time, listening to the data method on stdout, -- would I be running into issues or should I create an eventemitter (sorry, still new to the language)? [03:55] jj0hns0n has joined the channel [03:56] maxogden: ruby-n-company: the stdout that you get back from exec is already an eventemitter so you can do stdout.on('data', callback) and stdout.on('exit', callback) i think [03:56] ruby-n-company: maxogden: okay. Thanks =] [03:59] willwhite has joined the channel [04:01] matyr has joined the channel [04:02] postwait has joined the channel [04:02] jtsnow has joined the channel [04:02] x_eco has joined the channel [04:05] mikeal has joined the channel [04:07] x_eco has left the channel [04:07] vipaca has joined the channel [04:07] vipaca has joined the channel [04:09] luke` has joined the channel [04:09] Vertice_ has joined the channel [04:10] aguynamedben has joined the channel [04:11] Isaiah has joined the channel [04:12] dshaw_1 has joined the channel [04:13] sivy has joined the channel [04:13] Me1000 has joined the channel [04:14] mecablaze has joined the channel [04:15] mecablaze: I am having some troubles with the https module. I am trying to make a request to https://www.fortify.net/sslcheck.html (as a test) and I keep getting "Error: socket hang up". Any ideas on what could be happening here? [04:16] sebasti__ has joined the channel [04:18] wilmoore has joined the channel [04:18] nuck: maxogden » haha well it's mostly docs and examples which endorse bad practices, nothing major enough for me to bother with a pull request haha [04:18] mecablaze: Do'h! Nevermind. I left the port as 80 >_< [04:18] mykul|Home has joined the channel [04:19] fangel has joined the channel [04:22] mjijackson has joined the channel [04:22] mjijackson: Good evening #node.js [04:23] mjijackson: Does anyone here know what is the current state of node-compress? [04:23] mjijackson: The network of forks from waveto/node-compress on GitHub is huge. [04:24] mjijackson: Just wondering if there's any fork that is the definitive one publishing releases to npm... [04:25] isaacs has joined the channel [04:25] stagas has joined the channel [04:26] torsd has joined the channel [04:27] tylerstalder has joined the channel [04:29] zeade has joined the channel [04:29] JohnnyL has joined the channel [04:29] Qbix1 has joined the channel [04:29] Qbix1: hey guys [04:29] Qbix1: we shouldn't modify require.paths ?? [04:29] Qbix1: how do we set the include path then? what is the convention [04:31] mjijackson: Qbix1: don't mess with the include path. [04:31] random123: I think he would like to know why [04:31] mjijackson: you only have a single point of entry into your lib [04:32] Qbix1: and so? [04:32] Qbix1: Basically my entire framework relies on having require.paths at the moment [04:32] Qbix1: I suppose I can write my own "require" function [04:33] mjijackson: Qbix1: require.paths is gone in 0.5 [04:33] Qbix1: yeah probably a good idea [04:33] mjijackson: Qbix1: why do you need to modify the include path? [04:33] Qbix1: oh it is, huh [04:33] mjijackson: what are you trying to accomplish? there is probably a better way. [04:33] Qbix1: mjijackson: because of the way my framework structured its files [04:33] Qbix1: yeah, I will just write my own Q.reqiure( ) function [04:34] Qbix1: crap it's already gone eh [04:34] Qbix1: but require.paths can still be set, no? [04:34] mjijackson: a pattern that i've seen lately is to just implement a bunch of getters on your main module [04:34] Qbix1: it just won't be used? [04:34] mjijackson: that use lazy relative requires as needed. [04:35] mjijackson: Qbix1: not sure if you can still set it or not. will probably emit some kind of a warning. [04:36] Qbix1: Q.require = function (what) { [04:36] Qbix1: var realPath = Q.realPath(what); [04:36] Qbix1: if (!realPath) return; [04:36] Qbix1: return require(realPath); }; [04:36] Qbix1: how's that [04:36] mjijackson: Qbix1: there was a thread on the mailing list about this a while ago. [04:36] mjijackson: http://groups.google.com/group/nodejs/browse_thread/thread/7d9f4c9e3ae4ca33/bc27fc13e26099db?lnk=gst&q=require.paths#bc27fc13e26099db [04:36] Qbix1: I never set it. I just did this: [04:36] Qbix1: require.paths.unshift(Q.CLASSES_DIR); [04:36] Qbix1: require.paths.unshift(Q.app.CLASSES_DIR); [04:36] mjijackson: you could respond to that thread if you need further clarification. [04:36] Qbix1: ok [04:36] Qbix1: next question: [04:37] Qbix1: what is the "request" module in Node.js ? [04:37] Qbix1: how come I can't find any docs on it [04:37] Qbix1: require('request') is a function [04:38] random123: Qbix1: If require.path remains as it was and becomes a convention, filenames will collide eventually [04:38] random123: Qbix1: So just like PHP's include, you have to use relativity, ../file.js ./file.js to load them [04:38] mjijackson: Qbix1: the request module is not part of core. [04:38] random123: Qbix1: Or you can just set root = /path/to/file and do require(root + file); [04:38] skm has joined the channel [04:39] mjijackson: Qbix1: you probably installed something else that depends on it so that's why you have it installed. [04:39] mjijackson: See https://github.com/mikeal/request [04:39] mjijackson: that's the module you're looking for. [04:39] mikeal: npm install request [04:40] mjijackson: mikeal: i think he already has it installed. he's just wondering how to use it. [04:40] Qbix1: mjijackson what odo u mean [04:40] Qbix1: 'request' module is not part of the core? [04:41] Qbix1: aha ok [04:41] mjijackson: Qbix1: the core node distribution comes with several modules. the "request" module is not one of them. [04:41] Qbix1: I see. [04:42] Frippe has joined the channel [04:43] Qbix1 has joined the channel [04:43] matyr_ has joined the channel [04:43] isaacs has joined the channel [04:44] Qbix1: what is this node_modules crap [04:44] Qbix1: oy yoy yoy [04:44] Qbix1: I guess now we have a node package system [04:44] mjijackson: Qbix1: haha. you don't like it? [04:45] Qbix1: I guess it's ok but just we have ... our own :( [04:45] Qbix1: with our own installer [04:45] Qbix1: and now node implemented it, but our installer also does things such as db migrations for upgrades [04:46] Qbix1: now I won't even be able to require my framework easily, with [04:46] Qbix1: var Q = require('Q') [04:46] mjijackson: yes you will. [04:46] Qbix1: how? [04:46] Qbix1: dependents? [04:46] mjijackson: npm install -g mypackage [04:46] mjijackson: that will install it in a "global" location that is part of your $NODE_PATH [04:46] brainproxy: Qbix1: make sure to read the modules related sections of node's API [04:46] brainproxy: mjijackson: no, I don't think that's correct [04:46] mjijackson: +1 to what brainproxy said. [04:47] Qbix1: When is this version of node coming out, which deprecates require.paths ? [04:47] mjijackson: brainproxy: how so? [04:47] Qbix1: this: http://nodejs.org/docs/v0.5.5/api/modules.html#loading_from_node_modules_Folders ? [04:47] mjijackson: Qbix1: it's the next release. [04:47] brainproxy: Qbix1: require.paths is deprecated as of the 0.5 branch [04:47] stelcheck has joined the channel [04:48] brainproxy: mjijackson: globally install packages won't be picked up automatically with require() [04:48] mjijackson: brainproxy: ah, yes. i got it backwards. [04:48] mjijackson: globally installed packages make any binaries they include available at your command prompt. locally installed packages are available for requiring. [04:49] dreamdust has joined the channel [04:49] freeformz has joined the channel [04:50] mjijackson: Qbix1: in any case, you just `npm install mypackage` and then you can do a `require("mypackage")` from any file in that directory or a subdirectory. [04:50] jacobolus has joined the channel [04:50] isaacs: brainproxy: actually, it was deprecated in 0.4, and throws an error in 0.5 [04:51] Qbix1: oh nice okay [04:51] brainproxy: isaacs: cool, thanks for clarifying [04:52] brainproxy: the 0.4 docs were a little confusing for awhile because on the one hand they suggested you could unshift on require.paths and on the other hand they said you shouldn't do that [04:52] djMax has joined the channel [04:52] sebastia_ has joined the channel [04:52] djMax: how does one require query string params in express/node.js routing? [04:54] random123: What would be nice is if you could define packages in a file or before you use it, like: mymod: /path/to/module then people can do require('mymod') because the whole controversy I think is wanting them to look uniform [04:54] random123: So you can define the module name, and file location, somewhere else, will throw and error if there are duplicate names [04:55] random123: so no collisions [04:56] random123: or you can just push the modules onto an array like before, require.module(object that has mod name + file location), will throw error if the mod name is taken [04:56] temp02 has joined the channel [04:56] random123: then you can just do require('mod name') [04:58] hermanjunge has joined the channel [04:58] hermanjunge: hi @isaacs [04:58] Qbix1: how do I test if a file exists [04:58] Qbix1: in a non blocking way [04:58] Qbix1: I mean in a BLOCKING way [04:58] hermanjunge: I got this error on npm install in a ubuntu 10.04 machine [04:58] hermanjunge: node cli.js install -g -f [04:59] neoesque has joined the channel [04:59] hermanjunge: node: src/unix/fs.c:89: uv_fs_req_cleanup: Assertion `(req->result == -1 && req->ptr == ((void *)0)) || (req->result >= 0 && req->ptr != ((void *)0))' failed. [04:59] hermanjunge: make: *** [install] Aborted [04:59] hermanjunge: I don't know what to do [04:59] Qbix1: statSync? [04:59] chilts: Qbix1: you could use .stat() but there might be a better way [04:59] mjijackson: Qbix1: path.existsSync [04:59] chilts: that's blocking [04:59] Qbix1: thanks [04:59] chilts: oh, blocking, I see [04:59] chilts: sorry [04:59] chilts: you changed your mind :) [05:00] Qbix1: yeah [05:00] Qbix1: sorry :) [05:00] Qbix1: anyway is this deprecated? will it be? [05:00] JSManiacs has joined the channel [05:00] tilgovi has joined the channel [05:00] mjijackson: are you asking if path.existsSync is deprecated? [05:00] mjijackson: no. [05:01] mikeal has joined the channel [05:01] sir_brian has joined the channel [05:01] chilts: ACTION is glad to know about path.exists too ... thanks mjijackson [05:01] chilts: I always looked at fs.* stuff [05:01] mjijackson: chilts: np. :) [05:02] Qbix1: yes or will it be [05:02] Qbix1: okay great :) [05:03] JSManiacs1 has joined the channel [05:05] ruby-n-company: maxogden was helping me earlier, but I was trying to create something which spawns a child process and then runs it at an interval and then outputting to the client. [05:05] ruby-n-company: https://gist.github.com/1213151 [05:05] ruby-n-company: I have this currently, but I only will receive one message. What am I missing to get this to run at an interval? [05:07] mjijackson: ruby-n-company: you're trying to update a web page with the result of your system call on the interval? [05:07] JSManiacs has joined the channel [05:07] ruby-n-company: For now, yes. [05:08] mjijackson: ruby-n-company: you need to poll your server. [05:08] ruby-n-company: Well, currently it's just using ServerSent Events [05:09] tmcw has joined the channel [05:09] ruby-n-company: I updated the gist with the client-side code. [05:10] ruby-n-company: I just can't get the spawned process to repeat at this point. [05:10] mjijackson: ruby-n-company: I've never seen ServerSent events before. [05:11] ruby-n-company: Little brother to WebSockets. [05:11] mjijackson: i see. [05:11] mjijackson: interesting. [05:11] ruby-n-company: http://dev.w3.org/html5/eventsource/ [05:11] Qbix1: is "require" a keyword in node ? [05:11] ruby-n-company: http://www.html5rocks.com/en/tutorials/eventsource/basics/ [05:11] JSManiacs1 has joined the channel [05:11] ruby-n-company: Also called EventSource [05:11] Qbix1: or can I have my own function, Q.require? [05:11] mjijackson: Qbix1: that's fine. [05:12] zemanel has joined the channel [05:12] mjijackson: just don't overwrite the global require, or we'll have to take you out back... [05:12] Qbix1: Here is my workaround then, so far: [05:12] Qbix1: http://pastie.org/2524677 [05:12] mwhooker has joined the channel [05:12] mjijackson: ruby-n-company: are you pretty sure the whole SSE is working properly? [05:12] ruby-n-company: Yup [05:12] mjijackson: k [05:12] ruby-n-company: Console on Chrome is showing the connection open and then one MessageEvent [05:13] ruby-n-company: And if I feed it multiple events by hand, they will all show up. Am I just missing the lesson on the whole async idea? =/ [05:14] sivy has joined the channel [05:14] mjijackson: ruby-n-company: if i were you, i'd try putting all my "data" event listeners in the setInterval code [05:14] matyr has joined the channel [05:14] Qbix1: what do u think of my workaround [05:14] Qbix1: http://pastie.org/2524677 [05:14] ruby-n-company: And just running an exec instead of a spawn? [05:14] mjijackson: so you're creating a new object, `sar` every 2 seconds. [05:14] SamuraiJack has joined the channel [05:14] mjijackson: yeah. [05:14] JaKWaC has joined the channel [05:14] ruby-n-company: Okay. Thanks mjijackson. I'll try that [05:15] mjijackson: the thing is, those listeners aren't automatically going to be set up on the new object that you create every 2 seconds. [05:15] thalll has joined the channel [05:16] petrjanda_ has joined the channel [05:17] ruby-n-company: mjijackson: I guess that makes sense. If I bring it back to like jQuery DOM stuff, dynamically created elements obviously aren't going to inhierit the events created on document.ready (unless live or delegate obviously). [05:17] mjijackson: ruby-n-company: right. that callback executes out of scope. so the listeners get set up on the first object you create but not on subsequent ones. [05:17] mjijackson: Qbix1: it might work. [05:18] mjijackson: how big is your framework? i think you might be better off figuring out how to use node_modules instead of trying to preserve require.paths. [05:18] mjijackson: but if it's a ton of work to refactor... [05:19] mjijackson: Qbix1: wait a second. is that a default argument i spy? [05:20] mjijackson: that's not going to work how you want it to... [05:20] mjijackson: well, on second thought, in this example it actually might. [05:20] mjijackson: haha [05:20] janne has joined the channel [05:21] ritch: I have a plugins dir in an app i'm building.. each module in the plugins folder is included via require()… the problem is I dont want to force the plugin devs to know the application structure outside of their plugin… there are useful modules in ./plugins/../../lib, how should I expose them? [05:21] hij1nx has joined the channel [05:21] mykul|Home has joined the channel [05:21] ritch: just let them do require('../../lib/someModule')? [05:22] Qbix1: mjijackson: that's a syntax error [05:22] Qbix1: I removed the default argument [05:22] joshthecoder has joined the channel [05:22] Qbix1: mjijackson: my framework is thousands of lines of code :) [05:22] mjijackson: Qbix1: ah. i thought you were a python programmer for a second. :) [05:22] Qbix1: php :P [05:22] Qbix1: but like js more :) [05:22] atiti has joined the channel [05:23] Qbix1: Now I just replaced require('foo') with Q.require('foo') [05:23] Qbix1: does node.js work on windows? [05:24] Qbix1: it does, right? in fact microsoft did stuff to make it work? [05:24] Qbix1: but then what about directory separators? [05:24] Qbix1: and path separators? [05:24] Murugaratham has joined the channel [05:24] ritch: Qbix1: thats all opaque to the node libs [05:24] Qbix1: ? [05:24] Qbix1: so what if I have a filename starting with / [05:24] Qbix1: that I require ? [05:24] ritch: its up to you to make that work [05:25] Qbix1: require('/moo') [05:25] Qbix1: but how do I kow what environment I'm in [05:25] mjijackson: Qbix1: windows support is still being worked on in the 0.5 branch. [05:25] ritch: prcess.env [05:25] mjijackson: it's not quite ready yet, i don't think. [05:25] bighearted has joined the channel [05:25] ritch: I would toy around with it in a vm if I only had a windows box... [05:26] ritch: vm running ubuntu or something [05:27] justinTNT has joined the channel [05:27] leahciMic has joined the channel [05:28] mjijackson: ritch: you could distribute your app with a node_modules directory in the root. [05:29] mjijackson: this could contain the modules that you want to have available to modules within the plugins directory. [05:29] mjijackson: since require traverses up the directory tree looking for node_modules directories, it will find them. [05:29] ritch: good call [05:29] mjijackson: i'm not sure if require will work properly with symlinks. [05:29] ritch: it does [05:29] mjijackson: but if it does, that would be the way to go. [05:29] ritch: my whole ~/node_modules dir is symlinked to dropbox [05:30] mjijackson: just symlink the useful modules from your lib directory into node_modules. [05:30] mjijackson: ah, right on. [05:30] Qbix1: okay guys so [05:31] ritch: any idea how i can git ignore other packages besides my lib [05:31] Qbix1: now I preserved require.paths and it works again [05:31] Qbix1: but now I have a question [05:31] cordoval has left the channel [05:31] Qbix1: will I get deprecation warnings when I try to do this: [05:31] Qbix1: if (!require.paths) require.paths = []; [05:31] Qbix1: and then proceed to use require.paths [05:32] mjijackson: ritch: you can use ! to whitelist files in your .gitignore [05:32] mjijackson: kind of a useful feature. [05:32] ritch: awesome [05:32] ritch: exactly what i need [05:32] mjijackson: so you could have in your .gitignore something like !node_modules/mymod [05:32] mjijackson: but before it have a node_modules [05:32] mjijackson: so it ignores all others [05:33] ruby-n-company: mjijackson: https://gist.github.com/1213151 -- That did the trick. =] [05:33] ruby-n-company: mjijackson: Thanks for the help [05:33] mjijackson: ruby-n-company: hooray! [05:33] mjijackson: i learned something about SSE as well. thank you. [05:33] wenbert has joined the channel [05:34] matyr_ has joined the channel [05:34] langworthy has joined the channel [05:34] ruby-n-company: No problem. I find it interesting because most of the use I find for WebSockets is 90% push. So if I can get away an EventSource polyfill / native technology, less bandwidth and overhead for me. [05:34] ruby-n-company: Cheers =] [05:34] mjijackson: absolutely. [05:35] abraxas: Does anyone know who's actually managing a current, stable node_mdns module? It seems like a serious mess, on the "official" repo. [05:36] eddyb has joined the channel [05:36] a_suenam_ has joined the channel [05:36] eddyb: uhm... [05:36] cjm has joined the channel [05:37] eddyb: if I have http.request({host, method:}, ...).end(postData) [05:37] eddyb: *method:'POST' [05:37] eddyb: is it enough to send a POST request? [05:37] Margle has joined the channel [05:37] eddyb: do I need to set some headers? [05:39] abraxas: Or does anyone know some good alternatives to node_mdns (even using different protocols if need be). [05:39] abraxas: ? [05:39] eddyb: apparently, {'Content-Type': 'application/x-www-form-urlencoded', 'Content-Length': login.length} didn't help [05:40] leahciMic: anyone work with jsdom/sizzle etc? [05:40] mjijackson: eddyb: do you have a gist? [05:40] springmeyer has joined the channel [05:40] nodokodo has joined the channel [05:40] eddyb: you mean a paste? [05:40] mjijackson: yeah. [05:41] eddyb: https://gist.github.com/1213202 [05:41] eddyb: I just wanted a simple POST, it ended up being 20 lines and not working... [05:42] mjijackson: eddyb: put your headers in a headers object. [05:42] eddyb: oh [05:42] eddyb: right [05:42] mjijackson: not in the main object. :) [05:42] MrNko has joined the channel [05:42] dseif_ has joined the channel [05:42] Qbix1: yo guys is this ok in node: [05:42] Qbix1: if (!require.paths) require.paths = []; [05:42] Qbix1: or will I get a deprecation warning/error [05:43] eddyb: mjijackson: thanks [05:43] eddyb: now I'm getting [05:43] eddyb: Error: Parse Error [05:43] eddyb: at Socket.ondata (http.js:1231:22) [05:43] zemanel has joined the channel [05:43] mjijackson: Qbix1: no, it's not ok. require.paths is going away. it may last you for a very short time, but it'll eventually break. [05:43] eddyb: at least it's http, the other request in the script [05:43] mjijackson: *probably [05:43] mykul_ has joined the channel [05:43] EyePulp has joined the channel [05:44] a_suenam_ has joined the channel [05:44] aguynamedben has joined the channel [05:45] eddyb: mjijackson: now what's wrong with this: https://gist.github.com/1213207 ? [05:46] kiffness has joined the channel [05:47] kiffness_ has joined the channel [05:47] mjijackson: eddyb: nothing jumps out at me [05:49] snowinferno has joined the channel [05:50] erasrhead has joined the channel [05:50] eddyb: so what's Parse Error? [05:50] eddyb: the server sent something wrong? [05:51] neilk_ has joined the channel [05:51] snowinferno: Hi all, I'm adding a property to a Socket to store the data that's coming in (socket['input']) and occasionally my program crashes stating that has no method toLowerCase [05:52] eddyb: snowinferno: are you sure you're not getting buffers? [05:52] superjudge has joined the channel [05:52] jetienne has joined the channel [05:53] snowinferno: my assignment to input looks something like this: socket['input'] += data.toString('utf-8',0,data.length) [05:53] mjijackson: eddyb: you're getting a parse error when parsing the response from minecraft.net? [05:53] mjijackson: that's odd. [05:53] snowinferno: so I'm explicitly turning it into a string before it gets stored in the socket object input property [05:54] eddyb: mjijackson: I'm not parsing anything [05:54] devaholic: toString('utf8') [05:55] mjijackson: eddyb: right, the socket error leads me to believe that the socket is getting an error when it's trying to parse the data coming back from the server. [05:55] eddyb: devaholic: lol, didn't spot that :) [05:55] eddyb: mjijackson: yeah, something like that [05:55] snowinferno: what's wrong with what I had? the documentation doesn't indicate that the other arguments are optional [05:56] eddyb: what on earth... [05:57] eddyb: mjijackson: happens only when I'm sending the query [05:58] eddyb: AAAAAAH [05:58] eddyb: got an \n in the sessionID [05:59] eddyb: forgot to strip the output of the other query [05:59] snowinferno: it's still happening with toString('utf-8') as well [05:59] zomgbie has joined the channel [05:59] topaxi has joined the channel [05:59] eddyb: snowinferno: without the dash [05:59] eddyb: utf8 [05:59] eddyb: not utf-8 [05:59] eddyb: Logged out of c.nerd.nu: Outdated server! [06:00] jhurliman has joined the channel [06:00] eddyb: mjijackson: thanks for the help :) [06:00] snowinferno: eh? the proper name for the encoding is utf-8 witth the dash, according to the standards [06:01] devaholic: its utf8 [06:01] devaholic: coz we say so [06:01] mjijackson: eddyb: np. glad to help where i can. :) [06:01] daftspunk has joined the channel [06:02] Qbix1: hey guys [06:02] Qbix1: how do I install this: [06:02] Qbix1: https://github.com/votizen/facebook-graph-client [06:02] Qbix1: as an npm module? [06:02] Qbix1: it is newer than what is currently there installed by npm [06:02] Qbix1: sex? [06:02] eddyb: ? [06:02] snowinferno: devaholic: still getting the same error [06:02] simenbrekken has joined the channel [06:03] marc has joined the channel [06:04] daftspunk: are there any node.js freelancers in the house? just need to ask a question [06:05] devaholic: $4,000 a question [06:05] devaholic: proceed. [06:05] daftspunk: lol it's actually a how much for x? [06:06] dynacker: how much for y [06:06] cjm has joined the channel [06:06] springmeyer has joined the channel [06:07] Qbix1: ? [06:07] Qbix1: I installed something with npm [06:07] Qbix1: how do I instead grab it from github now [06:07] devaholic: congrats [06:07] daftspunk: ACTION nods [06:07] isaacs: Qbix1: npm docs [06:07] isaacs: Qbix1: or you can `npm submodule ` [06:07] isaacs: Qbix1: assuming it has a git repo listed in its pacakge info [06:07] knifed has joined the channel [06:08] isaacs: Qbix1: there's no generic `npm checkout ` but i use this bash shortcut for that: https://github.com/isaacs/dotfiles/blob/master/.extra.bashrc#L420-423 [06:08] tomtomaso has joined the channel [06:08] igl has joined the channel [06:08] eddyb: why wouldn't node's http module follow 301's? [06:08] devaholic: git clone is sort of a bash shortcut [06:08] daftspunk: devaholic: pm? [06:09] isaacs: eddyb: automatically?? [06:09] ph^ has joined the channel [06:09] eddyb: yeah [06:09] isaacs: eddyb: because sometimes you don't want that? [06:09] isaacs: eddyb: you probably want mikeal's request module [06:09] tilgovi_ has joined the channel [06:09] tilgovi_ has joined the channel [06:10] Tobbe_: isaacs: I can't install express :( http://paste2.org/p/1646405 [06:11] amerine has joined the channel [06:11] elnur has joined the channel [06:11] isaacs: Tobbe: it doesn't work in mounted drives from windows [06:11] isaacs: Tobbe_: virtualbox? [06:12] Tobbe_: colinux [06:12] isaacs: ok [06:12] ritch: interesting: https://registry.npmjs.org/express gives me untrusted [06:12] Tobbe_: I've used npm before on that drive [06:12] ritch: isaacs: is that normal? [06:13] isaacs: ritch: using master of npm and unstable node? yes. known issue. [06:13] ritch: using chrome [06:13] mykul|Home has joined the channel [06:16] Tobbe_: isaacs: so I'm SOL on npm in colinux? [06:16] isaacs: Tobbe_: no, just go to a different directory [06:16] garrensmith has joined the channel [06:17] isaacs: Tobbe_: one that isn't actually living on Windows [06:17] Tobbe_: why doesn't it work on mounted windows drives? [06:17] Margle has joined the channel [06:17] isaacs: Tobbe: because they throw random ENOSYS errors when you try to make symbolic links [06:18] Tobbe_: random as in it might eventually work if I try enough times? [06:19] cognominal_ has joined the channel [06:19] Nuck|mobile has joined the channel [06:19] snowinferno: so why would my socket['input'].toLowerCase end up causing an exception stating 'Object has no method toLowerCase'? [06:20] mjijackson: hallelujah! after two hours i'm finally writing a valid gzip file with buffers! [06:20] justinTNT: best mysql module? [06:20] mjijackson: core peeps: let's get gzip in core. pretty please? [06:20] aho: +1 [06:20] garrensmith has joined the channel [06:20] tmzt: doesn't openssl or libcrypt have it? [06:22] JakeyChan: I do not understand why it can not work [06:22] JakeyChan: function Server() {} Server.prototype = express.createServer(); var server = new Server(); server.get('/', function () {}) [06:22] JakeyChan: can you help me fix it ? :) [06:23] mjijackson: JakeyChan: var server = express.createServer(); server.get(); [06:23] isaacs: Tobbe_: i've heard it works ever. [06:23] isaacs: Tobbe_: but i haven't seen it work ever. [06:24] AvianFlu has joined the channel [06:24] isaacs: Tobbe_: i'm not willing to run linux in vmware in my windows in vmware on my mac. [06:24] JakeyChan: but I want to wrap the express server object :) [06:24] isaacs: mjijackson: https://github.com/isaacs/node/tree/zlib [06:24] isaacs: mjijackson: i'm writing tests now. this is working. [06:25] stagas has joined the channel [06:25] matyr has joined the channel [06:25] isaacs: mjijackson: fs.createReadStream("input.txt").pipe(zlib.createGzip({options})).pipe(fs.createWriteStream("output.gz") [06:25] isaacs: ) [06:26] snowinferno has left the channel [06:26] mjijackson: isaacs: holy crap! [06:26] mjijackson: that's beautiful code. [06:26] isaacs: mjijackson: thanks. [06:26] mjijackson: you sir, are my new favorite. [06:26] isaacs: mjijackson: it doesn't preserve the file info in the gzip headers, but meh. you don't need that. [06:27] isaacs: i'd be surprised if anyone actually needs that. [06:27] mjijackson: right. most expect the file to unzip to the same name as the .gz anyway. [06:27] chjj: mmm, gzip in core [06:27] isaacs: mjijackson: well, if we give you a stream interface, you can always set all the info's on the target file if you know them anyway [06:28] mjijackson: let's see, what other info is there? permissions and stuff. [06:28] mjijackson: right. [06:28] zomgbie has joined the channel [06:28] aho: time, os, comment... that crap? [06:28] isaacs: mjijackson: pretty much everything in stat [06:28] isaacs: type, ctime, mtime, dev, inode, etc. [06:28] isaacs: crazy, right? [06:28] aho: always zeroed it :> [06:28] mjijackson: haha. [06:28] mjijackson: this will be a welcome addition to core. [06:28] steffan has joined the channel [06:29] mjijackson: i assume it may be useful for npm as well. [06:29] isaacs: mjijackson: tha's why i'm doing it [06:29] mjijackson: yeah. i have you all figured out. [06:29] isaacs: oh, i guess it doesn't have *everythign* in stat [06:29] mjijackson: next you'll be rewriting git in javascript [06:30] mjijackson: and putting that in core. [06:30] isaacs: mjijackson: hahah [06:30] isaacs: if it's in js, it doesn't need to be in core [06:30] ritch: just in npm [06:31] necrodearia has joined the channel [06:32] Tobbe_: isaacs: I'm not sure colinux is the same as running linux in virtualbox/vmware, is it? [06:32] mjijackson: aho: how do you zero it out? [06:32] mjijackson: can you do it with gzip? [06:32] isaacs: Tobbe_: depends. you can install almost anything in virtualbox [06:33] Tobbe_: huh? [06:33] aelien27 has joined the channel [06:33] Tobbe_: colinux: "Port of the Linux kernel that allows it to run cooperatively alongside another operating system on a single machine." [06:34] aabt has joined the channel [06:34] Tobbe_: I just did "npm install inireader", worked just fine on my mounted windows drive [06:34] mjijackson: HOORAY! [06:34] devongovett has joined the channel [06:34] mjijackson: all tests are green. [06:34] mjijackson: :D [06:35] isaacs: Tobbe_: oh, probably not, then [06:35] aho: i just put zeros there... well, basically... i was using zip tools to produce better compressed gzip files (there are hardcore zip tools but no hardcore gzip tools) at the end i just took that deflate stream and made a new file with it. couldnt be bothered to figure mtime and that other crap out. since it didn't matter i just used zeros to fill up the space [06:35] mjijackson: aho: just figured out how to do it from the command line [06:35] mjijackson: gzip -n myfile.txt [06:36] mjijackson: omits the header info [06:36] tmzt: colinux is essentially a raw kernel but using an interrupt/timer driven from a driver in the nt kernel, it can even access real hardware as long as windows isn't using it [06:36] mjijackson: or at least omits the file name and timestamp [06:38] jchris1 has joined the channel [06:39] robotmay has joined the channel [06:40] adam- has joined the channel [06:40] shapeshed has joined the channel [06:41] EyePulp has joined the channel [06:41] pgherveou has joined the channel [06:42] mykul|Home has joined the channel [06:42] simenbrekken has joined the channel [06:43] kiffness_ has joined the channel [06:43] noodlehaus has joined the channel [06:44] ph^ has joined the channel [06:44] temp01 has joined the channel [06:46] mendel_ has joined the channel [06:46] matyr has joined the channel [06:47] kertz has joined the channel [06:48] `3rdEden has joined the channel [06:49] davidbanham: I'm trying to write a static site in jade, which I can then render to html locally and shove on a CDN. Whenever I try to use an include, though, I get 'the "filename" option is required to use includes ' [06:50] den512 has joined the channel [06:50] temp01 has joined the channel [06:51] TheEmpath has joined the channel [06:51] TheEmpath: Hail nodelings [06:51] ttpva has joined the channel [06:51] aelien27 has joined the channel [06:53] bradleymeck has joined the channel [06:53] matyr has joined the channel [06:57] ptlo has joined the channel [06:58] temp01 has joined the channel [06:59] AvianFlu has joined the channel [06:59] ritch has left the channel [06:59] mraleph has joined the channel [06:59] groom has joined the channel [06:59] mike5w3c_ has joined the channel [07:01] davidbanham: Anyone know how to set the filename option when running Jade from the command line? [07:01] petrjanda has joined the channel [07:01] dreamdust has joined the channel [07:01] emattias has joined the channel [07:04] kiffness has joined the channel [07:04] TomY has joined the channel [07:05] r04r has joined the channel [07:06] fangel has joined the channel [07:07] kiffness_ has joined the channel [07:07] raphdg has joined the channel [07:10] mwhooker has joined the channel [07:11] r04r has joined the channel [07:12] raidfive has joined the channel [07:16] KyleReese301 has joined the channel [07:17] KyleReese301: hi everyone [07:17] tuhoojabotti: Hello. [07:17] tuhoojabotti: Dear ... [07:17] KyleReese301: i'm trying to run the chat example of Node.js but i get an error [07:17] KyleReese301: "error loading index.html" [07:17] tuhoojabotti: You're doing it wrong. [07:17] tuhoojabotti: 1. Don't use Node on Windows (yet) [07:17] pgherveou has joined the channel [07:17] r04r has joined the channel [07:17] KyleReese301: is that the reason? [07:18] tuhoojabotti: 2. don't use Windows. [07:18] bartt has joined the channel [07:19] KyleReese301: windows is important, just as important as php [07:19] tuhoojabotti: Yes. [07:19] tuhoojabotti: But Windows port is not finished afaik. [07:20] kee has joined the channel [07:20] thepatr1ck: it's only really there in the unstable 0.5.x branch, which should probably be avoided unless you want a lot of pain. [07:21] thepatr1ck: (pre-0.5.x was only possible with the aid of cygwin) [07:21] skyler_brungardt has joined the channel [07:21] tuhoojabotti: And there's also the pre-1.8, but that's Minecraft, and totally unrelated. [07:22] aelien27 has joined the channel [07:22] matyr_ has joined the channel [07:23] kiffness has joined the channel [07:23] r04r has joined the channel [07:23] KyleReese301: anyways, it doesnt mean that's the problem i guess [07:24] jacter has joined the channel [07:26] fdenbow has joined the channel [07:26] zomgbie has joined the channel [07:29] Gigablah has joined the channel [07:30] radiodario has joined the channel [07:31] felixhummel has joined the channel [07:31] sylvinus has joined the channel [07:32] r04r has joined the channel [07:32] r04r has joined the channel [07:32] [AD]Turbo has joined the channel [07:33] kiffness has joined the channel [07:33] elnur has left the channel [07:34] simenbrekken has joined the channel [07:34] slsh has joined the channel [07:34] skyler_brungardt has joined the channel [07:34] sbrekken has joined the channel [07:36] jacobolus has joined the channel [07:37] jbpros has joined the channel [07:37] adambeynon has joined the channel [07:38] erikano has joined the channel [07:38] tuhoojabotti has joined the channel [07:38] Garo_ has joined the channel [07:40] jmccaffrey2 has joined the channel [07:40] dmkbot: joyent/libuv: 03piscisaureus: Specify error handling for uv_write and uv_connect - https://github.com/joyent/libuv/issues/185 [07:43] ablomen has joined the channel [07:43] aelien27 has joined the channel [07:43] __doc__ has joined the channel [07:44] sfoster has joined the channel [07:45] dmkbot: joyent/node: 03isaacs: https custom CA cert not honored - https://github.com/joyent/node/issues/1690 [07:45] Jalava has joined the channel [07:47] kiffness has joined the channel [07:47] bergelmir has joined the channel [07:47] bergelmir has joined the channel [07:48] replore__ has joined the channel [07:48] replor___ has joined the channel [07:50] kiffness_ has joined the channel [07:51] bogomips has joined the channel [07:51] thalll has joined the channel [07:51] Nexxy: `3rdEden, ping [07:51] sneakyness has joined the channel [07:52] fly-away has joined the channel [07:53] whitman has joined the channel [07:54] thalll has joined the channel [07:54] svnlto has joined the channel [07:55] pgherveo_ has joined the channel [07:55] fangel has joined the channel [07:55] mynameisbender has joined the channel [07:56] vguerra has joined the channel [07:56] thalll has joined the channel [07:56] mc_greeny has joined the channel [07:57] liar has joined the channel [07:58] burningdog has joined the channel [07:59] mpavel has joined the channel [07:59] aaronmcadam has joined the channel [08:00] dmkbot: joyent/node: 03isaacs: https custom CA cert not honored - https://github.com/joyent/node/issues/1690 [08:00] `3rdEden: Nexxy pong [08:00] Nexxy: you sunk my battleship! [08:00] Nexxy: wait... [08:01] `3rdEden: o dear, [08:01] `3rdEden: ACTION throws rubber ducky [08:01] Xano has joined the channel [08:01] ditesh|cassini has joined the channel [08:01] Nexxy: ACTION sets the drapes on fire [08:01] Nexxy: yeah, now what? [08:04] Wa has joined the channel [08:04] matyr has joined the channel [08:04] jetienne: hi [08:04] devaholic has joined the channel [08:04] sneakyness has joined the channel [08:04] sneakyness has joined the channel [08:06] jacobolus has joined the channel [08:06] AvianFlu has joined the channel [08:07] kuebk has joined the channel [08:09] c4milo1 has joined the channel [08:10] thalll has joined the channel [08:11] robotmay has joined the channel [08:12] zeiris has joined the channel [08:14] matyr has joined the channel [08:14] erikano has joined the channel [08:17] Remoun has joined the channel [08:17] FireFly|n900 has joined the channel [08:18] ppcano has joined the channel [08:19] kuebk: have a question [08:19] kuebk: when I'm using http.request [08:19] kuebk: and i don't setEncoding on response [08:19] kuebk: I'm getting a buffer as a response [08:19] kuebk: it is encoded using what encoding? [08:20] Nexxy: utf8 is the default Buffer encoding if I'm not mistaken [08:21] Nexxy: http://nodejs.org/docs/v0.4.11/api/buffers.html [08:22] theCole_ has joined the channel [08:22] Glenjamin: if its a buffer, it isnt encoded... it's just a bunch of bytes [08:23] kulor-uk has joined the channel [08:26] fangel has joined the channel [08:30] kuebk: Glenjamin so there is no way [08:30] kuebk: to find out [08:31] kuebk: did I get a string or a binary data as a response? [08:31] devaholic: use toString('utf8') [08:31] eldios has joined the channel [08:33] dsirijus has joined the channel [08:36] Glenjamin: you mean by looking at the buffer and guessing? [08:36] Glenjamin: there's probably some heuristics you can apply to figure it out, but the buffer object has no way of knowing what its bytes actually repesent [08:37] Glenjamin: the mime type header of the response should be accurate enough to trust though [08:38] sneakyness has joined the channel [08:39] kasadu has joined the channel [08:40] [AD]Turbo has joined the channel [08:41] netlemur has joined the channel [08:42] luke` has joined the channel [08:42] kiffness has joined the channel [08:44] thepatr1ck_ has joined the channel [08:46] mendel_ has joined the channel [08:51] TomY has joined the channel [08:55] hellp has joined the channel [08:56] kiffness has joined the channel [08:56] MrTopf has joined the channel [08:56] AvianFlu has joined the channel [08:57] kiffness_ has joined the channel [09:02] kiffness has joined the channel [09:03] markwubben has joined the channel [09:04] kiffness has joined the channel [09:05] wbednarski has joined the channel [09:06] Esteb has joined the channel [09:07] bartt has joined the channel [09:08] fermion has joined the channel [09:08] kuebk: Glenjamin from what can I see in the source [09:08] kuebk: I meant docs [09:08] kuebk: if i dont precise encoding it's using utf8 as default [09:09] kuebk: so how can I write data to it without setting encoding? [09:09] sebastianedwards has joined the channel [09:12] davve has joined the channel [09:12] onetom has joined the channel [09:16] mac^ has joined the channel [09:16] ph^ has joined the channel [09:18] Glenjamin: what data are you trying to write? You could make a new buffer using the array of octet constructor and copy it, or iterate over and write buffer[index] = byte separately [09:19] kiffness has joined the channel [09:20] clu3 has joined the channel [09:20] mehlah has joined the channel [09:22] pickels has joined the channel [09:23] irahgel has joined the channel [09:24] alex____ has joined the channel [09:27] Coin has joined the channel [09:27] thalll has joined the channel [09:29] kiffness has joined the channel [09:30] adrianmg has joined the channel [09:32] c4milo2 has joined the channel [09:32] kiffness_ has joined the channel [09:33] isaqual has joined the channel [09:34] Industrial: I don't understand WeldJS; console.log(weld('

Default Name

', [{name: 'PIET PATAT'}])); [09:35] febits has joined the channel [09:35] cjm has joined the channel [09:36] Industrial: G.cloneNode is not a function [09:36] andree_ has joined the channel [09:36] thalll has joined the channel [09:38] crash82 has joined the channel [09:38] kiffness has joined the channel [09:39] mikekelly has joined the channel [09:39] francois has joined the channel [09:39] cjroebuck has joined the channel [09:39] AAA_awright has joined the channel [09:39] zpoley has joined the channel [09:39] gregmoreno has joined the channel [09:39] ecto has joined the channel [09:39] tomb has joined the channel [09:39] aakour has joined the channel [09:39] Sebastien-L has joined the channel [09:39] tjgillies has joined the channel [09:39] austinbv has joined the channel [09:39] jeedey has joined the channel [09:39] SvenDowideit has joined the channel [09:39] orospakr has joined the channel [09:39] markatto has joined the channel [09:39] Lartsa has joined the channel [09:39] pig has joined the channel [09:39] Bonuspunkt has joined the channel [09:39] mattp_ has joined the channel [09:39] jhbot has joined the channel [09:39] nphase has joined the channel [09:39] PrgmrBill has joined the channel [09:39] mikegerwitz has joined the channel [09:39] Andeye has joined the channel [09:39] adelcambre has joined the channel [09:39] don_jones has joined the channel [09:39] niclone has joined the channel [09:39] shachaf has joined the channel [09:39] dantalizing has joined the channel [09:39] crodas has joined the channel [09:39] gaving has joined the channel [09:42] crash82 has joined the channel [09:43] mrkurt has joined the channel [09:43] DrPizza has joined the channel [09:43] a11235 has joined the channel [09:43] sstephenson has joined the channel [09:44] temongantengbgt has joined the channel [09:44] kiffness has joined the channel [09:45] temongantengbgt: hello word! any one help me? I have problem with json in node.js [09:46] kiffness_ has joined the channel [09:46] shipit has joined the channel [09:49] hkjels has joined the channel [09:49] tjholowaychuk has joined the channel [09:49] kiffness_ has joined the channel [09:50] tjholowaychuk has joined the channel [09:50] random123: temongantengbgt you must be from india, right? [09:50] hkjels: What is the cleanest way to check for a dependency? Ex. see if the cli of homebrew exists [09:50] temongantengbgt: random123: I come from indonesia [09:50] temongantengbgt: random123: can help me? :) [09:51] hkjels: try & spawn is the only solution that comes to mind, but it doesn't sit well with me [09:51] random123: temongantengbgt yeah, ask away [09:51] hkjels: could I check the PATH? [09:51] temongantengbgt: random123: I just trying this tutorial http://goo.gl/jvYmo [09:52] adambeynon has joined the channel [09:52] temongantengbgt: random123: if I post message is no problem [09:52] kuebk: btw [09:53] temongantengbgt: random123: but if I post a google map or youtube json, its error [09:53] kuebk: does v8 gc can handle node buffers? [09:53] temongantengbgt: random123: see the last comment in the tutorial, its my problem [09:54] aron_ has joined the channel [09:55] random123: temongantengbgt, I suggest you use socket.io instead for Comet, instead of using this method [09:55] AvianFlu has joined the channel [09:56] temongantengbgt: random123: you have any tutorial or resource for this? [09:56] temongantengbgt: random123: because I just junior programmer :( [09:56] random123: temongantengbgt, yes, http://socket.io/ it is in the npm [09:56] random123: https://github.com/learnboost/socket.io [09:57] temongantengbgt: random123: its socket.io running on all browser? [09:57] random123: temongantengbgt, http://socket.io/#browser-support [09:57] kiffness has joined the channel [09:57] JakeyChan has joined the channel [09:58] JakeyChan_ has joined the channel [09:58] temongantengbgt: random123: any tutorial using this in real... [09:58] temongantengbgt: random123: like this tutorial... http://goo.gl/jvYmo [09:58] random123: temongantengbgt, yes, https://github.com/LearnBoost/socket.io/tree/master/examples [09:59] random123: temongantengbgt, read the page here https://github.com/LearnBoost/socket.io [09:59] Emmanuel has joined the channel [10:00] random123: temongantengbgt, it does exactly what you were trying to do - long polling, but if web sockets are avaliable, etc. it will use the best method and abstracts it nicely for you [10:00] temongantengbgt: random123: what difference with socket.io and with this http://goo.gl/jvYmo [10:00] temongantengbgt: random123: owh [10:01] temongantengbgt: random123: I will try it [10:01] `3rdEden: \o/ #socket.io [10:01] random123: temongantengbgt, ok, dont be afraid of google, try type "socket.io tutorial" if you need more [10:01] `3rdEden: shameless channel promotion [10:01] N0va` has joined the channel [10:02] temongantengbgt: random123: I using node.js for notify with real time, in my marketplace website. I using nginx and node.js. because my system is using codeigniter (PHP) [10:03] temongantengbgt: `3rdEden: ok, will joint this chanel #socket.io [10:03] `3rdEden: :D [10:04] uchuff has joined the channel [10:05] dmkbot: joyent/libuv: 03piscisaureus: Specify error handling for uv_write and uv_connect - https://github.com/joyent/libuv/issues/185 [10:05] ablomen_oops has joined the channel [10:06] knuthy has joined the channel [10:08] Shrink has joined the channel [10:08] Shrink has joined the channel [10:08] kiffness has joined the channel [10:10] senthilkumar has joined the channel [10:10] NetRoY has joined the channel [10:10] senthilkumar: welcome [10:10] senthilkumar: node [10:10] senthilkumar: yest [10:10] shapeshed has joined the channel [10:10] kiffness has joined the channel [10:11] senthilkumar: westing [10:11] temongantengbgt: senthilkumar: I know this id... ha ha [10:12] kiffness_ has joined the channel [10:13] MrNibbles has joined the channel [10:14] rendar has joined the channel [10:14] kiffness has joined the channel [10:18] ivanfi has joined the channel [10:18] replore has joined the channel [10:18] replore_ has joined the channel [10:18] kiffness has joined the channel [10:21] kiffness has joined the channel [10:23] kiffness_ has joined the channel [10:23] mendel_ has joined the channel [10:25] kiffness_ has joined the channel [10:26] kiffness_ has joined the channel [10:27] kiffness_ has joined the channel [10:29] kasadu has joined the channel [10:29] kiffness has joined the channel [10:29] skm has joined the channel [10:30] thalll has joined the channel [10:30] kiffness has joined the channel [10:30] grekko has joined the channel [10:31] mendel_ has joined the channel [10:31] thalll has joined the channel [10:32] kiffness_ has joined the channel [10:35] bzinger has joined the channel [10:35] [AD]Turbo has joined the channel [10:36] kiffness has joined the channel [10:37] saasaa has joined the channel [10:42] ivanfi has left the channel [10:43] kiffness_ has joined the channel [10:45] mjr_ has joined the channel [10:45] ablomen has joined the channel [10:46] addisonj_ has joined the channel [10:46] bicranial has joined the channel [10:51] |Freeman| has joined the channel [10:54] addisonj__ has joined the channel [10:56] jomoho has joined the channel [10:58] sebastia_ has joined the channel [10:58] addisonj has joined the channel [10:59] sebastianedwards has joined the channel [10:59] Emmanuel has joined the channel [11:00] sebastia_ has joined the channel [11:02] kiffness has joined the channel [11:02] ivanfi has joined the channel [11:04] kiffness_ has joined the channel [11:05] ph^ has joined the channel [11:07] kulor-uk has joined the channel [11:07] kiffness has joined the channel [11:10] CornflakesForTea has joined the channel [11:10] mehtryx has joined the channel [11:10] ddollar has joined the channel [11:12] ivan has joined the channel [11:13] kiffness has joined the channel [11:13] hAUKEH has joined the channel [11:15] kiffness has joined the channel [11:16] boaz has joined the channel [11:17] fly-away has joined the channel [11:18] kiffness_ has joined the channel [11:20] TechCel has joined the channel [11:21] hellp has joined the channel [11:21] kiffness has joined the channel [11:21] radiodario has joined the channel [11:22] eee_c has joined the channel [11:22] JumpMast3r has joined the channel [11:24] Frippe_ has joined the channel [11:26] kiffness has joined the channel [11:27] rio{ has joined the channel [11:28] rio{: I want to server JSON data (statistics of some servers), 1000s of people might request it at one single point of time. the data will be refreshed every 5sec and theres no need to store old data [11:28] rio{: I am thinking of implementing a simple file cache, do you have any better solutions? [11:29] knifed has joined the channel [11:30] knifed has joined the channel [11:30] MarkMenard has joined the channel [11:33] Benjie has joined the channel [11:33] Benjie has left the channel [11:34] JakeyChan has joined the channel [11:34] jetienne has joined the channel [11:34] knifed has joined the channel [11:35] bshumate has joined the channel [11:35] benvds has joined the channel [11:36] hackband has joined the channel [11:36] kiffness has joined the channel [11:36] fairwinds has joined the channel [11:37] phiggins has joined the channel [11:40] rchavik has joined the channel [11:40] rchavik has joined the channel [11:44] z6Dabrata has joined the channel [11:44] rio{ has joined the channel [11:45] knifed has joined the channel [11:46] knifed has joined the channel [11:46] brianseeders has joined the channel [11:47] kiffness_ has joined the channel [11:47] NetRoY has joined the channel [11:51] yorick has joined the channel [11:52] CornflakesForTea: rio{ wouldn't a memory-based storage be better for something like that - like memcached [11:52] kiffness_ has joined the channel [11:52] Industrial: dendering jquery template templates in Jade [11:52] Industrial: s/^d/r/ [11:52] CornflakesForTea: haha derendering would be pretty interesting [11:52] Industrial: this is awesome, I'm avoiding HTML directly completely [11:53] rio{: You might be right CornflakesForTea, I was contemplating that as well [11:53] CornflakesForTea: rio{: it makes no sense to be reading from the disk all the time if speed is your goal and there is no need to save it permenantly, so an in-memory store is much better [11:53] Industrial: script(id='mytpl', type='x-jquery-tmpl') p='${name}' <-- awesome [11:55] mrkishi has joined the channel [11:56] dseif has joined the channel [11:56] astropirate has joined the channel [11:57] kiffness has joined the channel [12:01] jbpros has joined the channel [12:01] kiffness has joined the channel [12:01] scott_gonzalez has joined the channel [12:01] broofa has joined the channel [12:02] kiffness has joined the channel [12:04] enmand has joined the channel [12:04] cognominal_ has joined the channel [12:06] kriszyp has joined the channel [12:06] kiffness has joined the channel [12:07] z6Dabrata has joined the channel [12:09] kiffness has joined the channel [12:09] MarkMenard has joined the channel [12:11] tisba has joined the channel [12:11] CarterL has joined the channel [12:12] schwab has joined the channel [12:12] kulor-uk has joined the channel [12:14] robotmay has joined the channel [12:14] z6Dabrata has joined the channel [12:14] kiffness has joined the channel [12:15] mbrevoort has joined the channel [12:15] febits has joined the channel [12:16] kiffness has joined the channel [12:17] tizzo has joined the channel [12:17] matyr has joined the channel [12:18] criswell has joined the channel [12:19] rednul has joined the channel [12:19] jetienne_ has joined the channel [12:20] tzmartin has joined the channel [12:20] boehm has joined the channel [12:21] Bigblah has joined the channel [12:23] Cromulent has joined the channel [12:25] micheil has joined the channel [12:26] fumanchu182 has joined the channel [12:26] jtsnow has joined the channel [12:26] pen has joined the channel [12:27] kiffness_ has joined the channel [12:31] benvds_ has joined the channel [12:31] kiffness has joined the channel [12:32] kiffness_ has joined the channel [12:33] mehtryx has joined the channel [12:33] mehtryx1 has joined the channel [12:33] Glenjamin has joined the channel [12:33] erichynds has joined the channel [12:34] aconbere has joined the channel [12:36] kiffness has joined the channel [12:36] kertz has joined the channel [12:37] jj0hns0n has joined the channel [12:37] andrewfff has joined the channel [12:37] bergie has joined the channel [12:37] davidsklar has joined the channel [12:37] kiffness has joined the channel [12:41] zastaph has joined the channel [12:41] kiffness has joined the channel [12:42] bergie has joined the channel [12:43] kiffness_ has joined the channel [12:43] bzinger has joined the channel [12:44] chia has joined the channel [12:44] dseif has joined the channel [12:46] simenbrekken has joined the channel [12:46] kiffness_ has joined the channel [12:46] CoinOpeBoy has joined the channel [12:48] Skomski has joined the channel [12:48] simenbrekken has joined the channel [12:49] aron_ has joined the channel [12:49] cole_gillespie has joined the channel [12:50] necrodearia has joined the channel [12:50] skript has joined the channel [12:51] cole_gillespie has joined the channel [12:51] kiffness has joined the channel [12:52] jacter has joined the channel [12:53] matyr has joined the channel [12:53] esmevane has joined the channel [12:54] TheFuzzball has joined the channel [12:54] kiffness has joined the channel [12:55] dmkbot: joyent/node: 03AD7six: output a warning if attempting to stringify something that is dropped - https://github.com/joyent/node/issues/1691 [12:57] jj0hns0n has joined the channel [12:57] kiffness has joined the channel [12:57] mike5w3c_ has joined the channel [12:58] spcshpopr8r has joined the channel [12:58] kiffness has joined the channel [12:58] MarkMenard has joined the channel [12:58] postwait has joined the channel [12:58] ksheurs has joined the channel [12:59] baudehlo has joined the channel [12:59] yept has joined the channel [13:00] escii has joined the channel [13:01] ttpva has joined the channel [13:02] kulor-uk has joined the channel [13:02] mendel_ has joined the channel [13:03] Glenjamin: is there a "warnings" module of some sort for node? [13:04] steveCAustin has joined the channel [13:07] ivan` has joined the channel [13:07] baudehlo: Glenjamin: to do what? [13:07] davidbanham has joined the channel [13:07] blax has joined the channel [13:08] Glenjamin: deprecation warnings in a tidier way than console.warn [13:08] tuhoojabotti: tidier? [13:08] Glenjamin: for instances, if i choose to disable warnings [13:09] Glenjamin: or i want to crib a list of all warnings into an external source other than stderr [13:09] tuhoojabotti: A logger? [13:09] tjholowaychuk: override console.warn? [13:09] tjholowaychuk: or 2> somewhere-else [13:09] Glenjamin: like this http://docs.python.org/library/warnings.html# [13:09] kiffness_ has joined the channel [13:10] Glenjamin: not every console.warn is a deprecation warning, etc [13:11] Net_RoY has joined the channel [13:11] tuhoojabotti: Glenjamin: Don't see any, make one and publish to npm. :) [13:11] cjheath has joined the channel [13:12] deedubs has joined the channel [13:12] __sorin__ has joined the channel [13:12] Glenjamin: well yeah, but its the sort of thing that belongs in the stdlib imo. For instance - require.paths could have been throwing a warning when its modified in 0.4 [13:13] matyr_ has joined the channel [13:13] kiffness has joined the channel [13:15] dseif has joined the channel [13:15] tzmartin has joined the channel [13:15] baudehlo: Oh I see. Yeah I don't think there's a standard for that. There should be. [13:15] kiffness has joined the channel [13:16] thomblake has joined the channel [13:16] Glenjamin: i'll report an issue on github - ruby and python both have stuff for this in their stdlibs, including an interpreter swtich to make them more verbose/silence them - copying their general approach should be easy enough [13:16] hornairs has joined the channel [13:16] thomblake has left the channel [13:17] baudehlo: yup. Perl too. [13:17] tjholowaychuk: sounds a little overkill, ruby's stdlib also has a ton of crap that no one uses anymore, even just the console.deprecated() or something would be enough to hook into [13:17] tjholowaychuk: for custom stuff [13:18] normanrichards has joined the channel [13:18] Dmitrijus: tjholowaychuk++ [13:18] v8bot_: Dmitrijus has given a beer to tjholowaychuk. tjholowaychuk now has 4 beers. [13:18] Glenjamin: sounds reasonable, as long as there's a standard function specifically for deprecation warnings [13:19] Glenjamin: this occurred to me when reading the diff for https://github.com/joyent/node/issues/1691 [13:19] baudehlo: although some stuff is deprecated but doesn't have warnings. [13:19] d_low_ has joined the channel [13:19] Glenjamin: sys.puts etc [13:20] baudehlo: sysWarning = 'The "sys" module is now called "util". ' + [13:20] baudehlo: 'It should have a similar interface.'; [13:20] baudehlo: // Uncomment in 2011 [13:20] baudehlo: //util.error(sysWarning); [13:20] baudehlo: ACTION checks the date... [13:20] Glenjamin: amusingly, util.error is deprecated [13:20] kiffness has joined the channel [13:20] baudehlo: hahaha [13:21] Glenjamin: doesn't seem unreasonable to have some sort of warning level, so things can be quiet by default, but you can turn up warning level [13:21] baudehlo: But yeah I agree, that a deprecated() call somewhere would be enough of an API. [13:21] Dmitrijus: even so, you cannot actually force a particular standard onto teh programmers :) [13:22] Glenjamin: you can provide a standard, and ask people to use it [13:22] Glenjamin: such as making require.paths immutable in master [13:22] Glenjamin: silently immutable [13:22] baudehlo: to be fair this is for core deprecations, so yes it can be forced. [13:22] Dmitrijus: yep [13:26] blax: hi, is there some kind of "lite" version of socket.io client javascript code? 40kb seems to be a lot in my case (my company offers tracking code similar to the google analytics, our servers serve it circa 1M times every day) [13:26] pickels has joined the channel [13:29] baudehlo: blax: there's sockjs - but I don't know if that is smaller. [13:30] martinisoft has joined the channel [13:30] Glenjamin: baudehlo: do you know the name of the perl warnings module / where the docs are? [13:30] baudehlo: Glenjamin: [13:30] baudehlo: Glenjamin: "warnings" [13:30] baudehlo: so you do: no warnings 'deprecate'; [13:30] baudehlo: and things like that. [13:30] baudehlo: http://perldoc.perl.org/warnings.html [13:30] `3rdEden: blax did you enable minification? [13:30] piscisaureus has joined the channel [13:31] rfay has joined the channel [13:31] `3rdEden: blax: io.enable('browser client minification') [13:31] blax: minification goes down from 90kb to 40kb, but it's still a lot [13:32] `3rdEden: also, we just landed a new static backend for socket.io [13:32] baudehlo: get a cdn? [13:32] kiffness_ has joined the channel [13:32] blax: but let me check, maybe I'm wrong ;) [13:32] baudehlo: blax: https://www.cloudflare.com/ [13:32] adambeynon has joined the channel [13:33] `3rdEden: blax the new backend will generate a socket.io.js file that only contains the transports you enabled on the server [13:33] blax: our architecture is just fine, it's just that some clients won't be happy if we add another 40kb to their webpage [13:33] `3rdEden: also [13:33] `3rdEden: the new backend supports gzip :D [13:33] `3rdEden: ZING! [13:33] `3rdEden: that shaves off another couple of bytes ;$ [13:34] Glenjamin: 40kb once per user [13:34] kiffness has joined the channel [13:34] blax: well, dynamic generation of client code sounds fine [13:34] sivy has joined the channel [13:34] aconbere has joined the channel [13:35] JakeyChan: hi ? [13:35] `3rdEden: blax is mostly the Flashsocket fallback that adds a lot of code bloat to the file [13:35] OmidRaha has joined the channel [13:35] ppcano has joined the channel [13:35] JakeyChan: what's used for : if (!module.parent) {} // module.parent [13:36] thalll has joined the channel [13:36] stepheneb has joined the channel [13:36] `3rdEden: it's used to check if the file executed by node, or required as a module JakeyChan [13:37] kiffness has joined the channel [13:37] JakeyChan: `3rdEden: ok, so what can protect using this statement ? [13:37] JakeyChan: `3rdEden: :) [13:38] `3rdEden: depends on the usecase [13:38] Aiden has joined the channel [13:39] blax: `3rdEden: do I even need this flash support? won't websockets+longpolling be just fine? [13:39] kimico has joined the channel [13:39] Glenjamin: ok, require('warnings').warn(msg, type); and console.deprecated(msg) [13:39] Glenjamin: any other suggested APIs? [13:39] vicapow has joined the channel [13:39] MarkMenard has joined the channel [13:39] kennberg has joined the channel [13:39] `3rdEden: For example in socket.io we use it in our clientside builder JakeyChan so we can use the module as commandline util, and be required as module: https://github.com/LearnBoost/socket.io-client/blob/master/bin/builder.js#L256 [13:39] `3rdEden: blax you might, you might not. [13:39] `3rdEden: depends on the application [13:40] `3rdEden: for chat pages it might be handy [13:40] `3rdEden: to reduce the stress on your server [13:40] jetherson has joined the channel [13:40] JakeyChan: oaha [13:40] `3rdEden: because it's a bidirectional transport, it doens't need to hit the server again if it wants to communicate [13:40] ph^ has joined the channel [13:41] blax: well, most of the users would use websockets, right? [13:41] baudehlo: Glenjamin: I see no reason it should be in console to be honest. [13:41] baudehlo: Glenjamin: but then I don't have a better suggestion. [13:41] Glenjamin: similar to console.assert i guess [13:41] kiffness has joined the channel [13:42] Glenjamin: console.time/timeEnd are a little odd also [13:42] Glenjamin: methods added to an existing global because they're marginally better than adding more globals :D [13:43] Poetro has joined the channel [13:44] Glenjamin: https://github.com/joyent/node/issues/1692 for comments [13:44] tjholowaychuk: Glenjamin time/timeEnd etc are in firebug / inspector as well [13:44] Glenjamin: ah [13:44] tjholowaychuk: that's where trace() is from and a I think we have a few of the others [13:44] Glenjamin: slightly unpure but de facto makes sense [13:45] amigojapan has joined the channel [13:45] dmkbot: joyent/node: 03glenjamin: Provide a standard way to mark library functions as deprecated - https://github.com/joyent/node/issues/1692 [13:46] EyePulp has joined the channel [13:46] slifty has joined the channel [13:47] kiffness_ has joined the channel [13:47] jj0hns0n has joined the channel [13:48] kiffness has joined the channel [13:50] hij1nx has joined the channel [13:50] rsterner has joined the channel [13:50] cronopio has joined the channel [13:52] fermion has joined the channel [13:52] eee_c has joined the channel [13:52] mecablaze has joined the channel [13:53] eee_c1 has joined the channel [13:53] Jippi has joined the channel [13:53] dguttman has joined the channel [13:54] Shrink has joined the channel [13:54] Shrink has joined the channel [13:54] kiffness_ has joined the channel [13:54] talltyler has joined the channel [13:55] kimico has joined the channel [13:56] dmkbot1 has joined the channel [13:57] mecablaze: Is the jQuery npm module out of date? I try to require it and it throws "TypeError: Object # has no method 'jsdom'". It looks like it wants jsdom 0.1.2 (the current version is 0.2.4) [13:58] BillyBreen has joined the channel [14:00] mandric has joined the channel [14:02] kiffness has joined the channel [14:02] smathy has joined the channel [14:03] arthurdebert has joined the channel [14:05] ablomen has joined the channel [14:05] kiffness_ has joined the channel [14:06] sivy has joined the channel [14:07] kiffness has joined the channel [14:08] kiffness_ has joined the channel [14:08] Venom_X has joined the channel [14:10] kiffness_ has joined the channel [14:10] robhawkes has joined the channel [14:10] codely has joined the channel [14:11] dgathright has joined the channel [14:13] dgathright has joined the channel [14:13] jmar777 has joined the channel [14:13] TheJH has joined the channel [14:15] willwhite has joined the channel [14:15] kawaz_home has joined the channel [14:15] aelien27 has joined the channel [14:15] kiffness has joined the channel [14:17] phiggins has joined the channel [14:17] kiffness_ has joined the channel [14:20] modemuser has joined the channel [14:20] kennberg_ has joined the channel [14:20] hacksparrow has joined the channel [14:21] matyr has joined the channel [14:21] ph^_ has joined the channel [14:22] ryanfitz has joined the channel [14:23] kiffness has joined the channel [14:24] joshkehn has joined the channel [14:25] aheckmann has joined the channel [14:25] kiffness has joined the channel [14:25] brotundspiele has joined the channel [14:26] dmkbot1: joyent/node: 03glenjamin: Provide a standard way to mark library functions as deprecated - https://github.com/joyent/node/issues/1692 [14:27] kiffness has joined the channel [14:28] wilmoore has joined the channel [14:28] pen_ has joined the channel [14:28] djMax has joined the channel [14:29] lstoll has joined the channel [14:29] vicapow has joined the channel [14:30] lstoll has left the channel [14:30] JumpMast3r has joined the channel [14:31] joshthecoder has joined the channel [14:32] adrianmg has joined the channel [14:33] ditesh|cassini has joined the channel [14:33] sneakyness has joined the channel [14:33] kiffness has joined the channel [14:34] jchris has joined the channel [14:35] eee_c has joined the channel [14:35] fatjonny has joined the channel [14:36] N0va` has joined the channel [14:37] dexter_e has joined the channel [14:37] ivanfi has left the channel [14:38] codely: if i have a setTimeout to j use do a quick pause waiting for something to happen that doesn't have a callback - why does setTimeout keep repeating? [14:38] joshkehn: setTimeout doesn't pause. [14:38] TheJH: codely, setTimeout doesn't repeat stuff. [14:38] joshkehn: It sets a timeout but program execution continues on. [14:39] joshkehn: So if you say [14:39] joshkehn: function wait() { setTimeout(function () { return 10; }, 1000); } [14:39] codely: well i know i've used it a ton of times, but oddly it's repeating itself? [14:39] joshkehn: You'll get undefined. [14:39] codely: yeah [14:40] joshkehn: I'm guessing you're setting multiple timeouts. [14:40] softdrink has joined the channel [14:43] Metal3d has joined the channel [14:44] Glenjamin: or using Interval :D [14:44] joshkehn: setTimeout and setInterval are pretty different. [14:44] joshkehn: Unlike slice() and splice() [14:45] jchris has joined the channel [14:45] Glenjamin: weird that slice and splice got added at the same time [14:47] caolanm has joined the channel [14:47] codely: ahh got it. weirdness [14:47] joshkehn: Well, do tell. :) [14:47] codely: no i know the difference between interval and timeout, my first guess was node had a different behavior (silly) got it. [14:48] lvijay has joined the channel [14:48] codely: i was actually calling back a .. callback [14:48] codely: shh [14:48] Glenjamin: its pretty easy to lose a callback / call it more than once [14:48] joshkehn: ;) [14:48] Glenjamin: the latter is often harder to spot without unit tests [14:48] explodes has joined the channel [14:51] boaz has joined the channel [14:51] Venom_X: aheckmann, ping [14:51] dgathright has joined the channel [14:51] davidcoallier has joined the channel [14:51] davidcoallier has joined the channel [14:51] kiffness has joined the channel [14:52] aheckmann: Venom_X hey [14:53] kiffness_ has joined the channel [14:53] jakehow has joined the channel [14:53] thinkt4nk has joined the channel [14:53] lvijay` has joined the channel [14:54] pietern has joined the channel [14:56] dmkbot1: joyent/node: 03bmeck: leaking references inside new contexts - https://github.com/joyent/node/issues/1469 [14:56] codely: speaking of testing … i'm trying to make things as bulletproof as possible and following the node.js mailing list recently … if i have a process.env which is not defined (i.e., we have a few devs, a staging and production server) … and want to catch that .. [14:57] simenbrekken has joined the channel [14:57] codely: other than try catch? [14:57] Glenjamin: var env = process.env.NODE_ENVIRONMENT || 'development' [14:57] kevwil has joined the channel [14:57] kiffness has joined the channel [14:58] Glenjamin: or whatever you consider to be a sensible default env [14:58] vipaca has joined the channel [14:58] vipaca has joined the channel [15:00] kiffness has joined the channel [15:00] sub_pop has joined the channel [15:00] lightcap has joined the channel [15:00] Venom_X: aheckmann, I was the guy asking about date object in mongo and using getters in mongoose to modify the values coming back. I'm having an issue delivering dates to mobile safari. Any ideas? I don't think my getters are executing.. [15:00] c4milo has joined the channel [15:01] c4milo has joined the channel [15:01] RORgasm has joined the channel [15:02] eldios: geez gyus.. just wanted to share with you that... http://www.youtube.com/user/thelonelyisland#p/u/2/lQlIhraqL7o [15:02] metellus has joined the channel [15:02] eldios: (actually not.. but that song is too epic XD) [15:02] kiffness has joined the channel [15:02] aheckmann: Venom_X is it mobile safari only? [15:03] devongovett has joined the channel [15:03] Dmitrijus: eldios: happy programmers day to you too! [15:03] jchris has joined the channel [15:03] aheckmann: Venom_X https://plus.google.com/117632149105326612452/posts/FVCp5ZpjC4s [15:03] piscisaureus_ has joined the channel [15:03] eldios: yoooo happy programer day everyone! \o/ [15:04] cjm has joined the channel [15:05] Venom_X: aheckmann, mobile safari is the only mobile I've tested, but I doubt it's the only one not working. However, my concern is the getter I define in my mongoose schema. I put a console.log, and don't see it getting ran [15:06] TheJH: meh, I want nuck to come online [15:06] xorbit has joined the channel [15:06] TheJH: I hacked into his bot again, didn't think enough yesterday, there's another way to get into his bot :D [15:07] xorbit: Anyone know how to READ a PNG in node? The node-png module only seems to be made to write PNG's, or did I get that wrong? [15:08] fdenbow has joined the channel [15:08] Xano has joined the channel [15:08] kiffness has joined the channel [15:08] eldios: xorbit, why fs.read wouldn't be enough? [15:08] eldios: what do you need to do with the png? [15:08] Glenjamin: it would surprise me if thats the case [15:08] xorbit: I want to extract the image data so I can manipulate it [15:09] tjholowaychuk: xorbit node-canvas [15:09] bradleymeck has joined the channel [15:09] Glenjamin: node-png seems to indicate you can initialise it from a buffer [15:09] MarkMenard has joined the channel [15:10] Glenjamin: oh, a buffer of RGB values, i see [15:10] ttpva has joined the channel [15:10] kiffness has joined the channel [15:10] xorbit: I want to load images, merge them with alpha transparency, then write them to another PNG. It seems I can do the latter two with node-png but not the reading. [15:11] stelcheck has joined the channel [15:11] kulor-uk has joined the channel [15:11] ablomen: xorbit, use canvas? [15:12] xorbit: tjholowaychuk I think node-canvas needs cairo graphics, don't know if I can run that on heroku? [15:12] tjholowaychuk: xorbit yeah it does [15:12] tjholowaychuk: heroku sounds [15:12] tjholowaychuk: shitty [15:12] tjholowaychuk: i would rage if i couldnt install software [15:12] xorbit: yeah :( [15:12] Glenjamin: broadly similar to appengine [15:13] xorbit: That happens when you want to start out for free... ;) [15:13] Glenjamin: in terms of how it restricts what you can use in order to scale effectively [15:14] xorbit: Am I correct that node-png does not allow extracting image data? I'm a relative newbie to node so I might have misunderstood the docs [15:14] [diecast]: when using cluster, is it possible to have a cluster app be aware of the worker id [15:15] Xano has joined the channel [15:15] tjholowaychuk: [diecast] yeah, check process.env [15:15] [diecast]: thanks [15:16] bzinger has joined the channel [15:16] vladikoff has left the channel [15:16] slifty has joined the channel [15:17] codely: mongoose / mongo has an event mongo.connection.on("open"), is there a way to iterate over possible events or does anyone know the event for failures/errors connecting? [15:17] Glenjamin: the documentation is your best bet. "error" should be the standard error event, which will throw an exception if there's no listener [15:17] slyphon has joined the channel [15:18] jerrysv has joined the channel [15:19] godzirra has joined the channel [15:19] godzirra: howdy folks. [15:19] codely: Glenjamin: documentation no go, reading the source - [15:19] aheckmann: Venom_X do you have a gist i can run? [15:19] FireFly|n900 has joined the channel [15:19] codely: it just hangs no error. [15:19] FireFly|n900 has joined the channel [15:20] torsd has joined the channel [15:20] kiffness has joined the channel [15:21] tisba_ has joined the channel [15:22] clifton has joined the channel [15:22] pizthewiz has joined the channel [15:23] gxdssoft has joined the channel [15:24] kiffness has joined the channel [15:25] DrMcKay has joined the channel [15:25] tzmartin has joined the channel [15:25] pibi has joined the channel [15:26] pibi has left the channel [15:27] aheckmann: Venom_X here is a gist thats working. maybe it will help https://gist.github.com/1214108 [15:27] kiffness_ has joined the channel [15:28] slyphon has left the channel [15:28] slyphon has joined the channel [15:28] slyphon has left the channel [15:29] xorbit: Seems ImageMagick is part of the Heroku stack, I'll have to look into node modules that use that to see if it can do what I need. [15:29] slyphon has joined the channel [15:29] slyphon has left the channel [15:29] synkro has joined the channel [15:30] Glenjamin: you can probably shell out to it if needs be [15:30] fangel has joined the channel [15:30] godzirra: Can anyone tell me why I'm not getting any output when I go here? http://pastie.org/2526907 [15:30] pt_tr has joined the channel [15:31] [[zz]] has joined the channel [15:31] slyphon has joined the channel [15:32] Frippe has joined the channel [15:34] bronson: Trying to write an ActiveRecord-like JSON validator. Could use a suggestion on the best syntax to use: [15:34] bronson: https://gist.github.com/1214062 [15:35] bronson: (this will be like 0valid but support chaining and can be used in Mongo's map/reduce) [15:35] brannig has joined the channel [15:36] kenperkins has joined the channel [15:36] mbrevoort has joined the channel [15:36] Venom_X: aheckmann, thanks. I'm looking now [15:36] stisti has joined the channel [15:36] aconbere has joined the channel [15:37] Glenjamin: bronson: personally i'd prefer declarative with functions calls rather than an object literal [15:37] epsas: [/win 4 [15:37] anno^da has joined the channel [15:38] bronson: Glenjamin, agreed. all().the().parens().were().worrying().me(). [15:38] bronson: Guess it's ok. [15:38] rfay has joined the channel [15:39] TheJH: bronson, how about misusing getters for that? [15:39] DrMcKay: btw, guys, you know what day is it today? [15:39] Druid has joined the channel [15:39] rio{: ye we do [15:39] softdrink: TOESDAY [15:40] TheJH: !admin eval 'DrMcKay, '+new Date() [15:40] jhbot: DrMcKay, Tue Sep 13 2011 15:40:08 GMT+0000 (UTC) [15:40] Glenjamin: validate('NamePrefixText').is(Valid.string, Valid.required, Valid.oneOf("a", "b", "c")); [15:40] JakeyChan has joined the channel [15:40] isaacs has joined the channel [15:41] DrMcKay: .. +(new Date()) [15:41] DrMcKay: v8: +(new Date()) [15:41] v8bot_: DrMcKay: 1315928441005 [15:41] DrMcKay: v8: +(new Date()) / (60 * 60 * 24) [15:41] v8bot_: DrMcKay: 15230653.436238427 [15:41] stepheneb has joined the channel [15:41] bronson: Glenjamin, you like that best? I'll give it a shot. [15:41] jerrysv: .. proc = new (process.binding('child_process').ChildProcess)().spawn('/bin/ls'); [15:41] DrMcKay: meh, those are miliseconds [15:42] DrMcKay: v8: +(new Date()) / (60 * 60 * 24 * 1000) [15:42] v8bot_: DrMcKay: 15230.653825324074 [15:42] Vertice has joined the channel [15:42] bronson: TheJH, interesting... I'll have to play with getters/setters at some point. Will theywork in modern browsers? [15:42] DrMcKay: fuck it [15:42] DrMcKay: it's programmers day! [15:42] TheJH: bronson, yes, I think so [15:42] DrMcKay: 256th day of the year [15:42] wookiehangover has joined the channel [15:42] TheJH: :D [15:42] nphase has joined the channel [15:43] Tobbe_: isaacs: how about providing an option to npm that installs using copies instead of symbolic links? (to make it work even on windows mounts) [15:43] Glenjamin: bronson: maybe something like the bottom one https://gist.github.com/1214146 [15:43] Glenjamin: it's somewhat ruby-ish [15:43] CarterL has joined the channel [15:44] bronson: ACTION celebrated programmer's day on the 128th day so a signed byte wouldn't ruin things. [15:44] Dmitrijus: :Dd [15:44] DrMcKay: Glenjamin: I like it that it sounds similar to "rubbish" [15:44] DrMcKay: bronson: lol [15:44] stephank has joined the channel [15:45] softdrink: 127th? [15:45] TheJH: v8: 31+30+28+30+31+30+31+30+31 [15:45] v8bot_: TheJH: 272 [15:45] kulor-uk has joined the channel [15:45] brannig has joined the channel [15:45] bronson: Glenjamin, yeah, that should be doable. [15:45] TheJH: did I do something wrong? [15:45] vipaca has joined the channel [15:45] mynyml has joined the channel [15:45] vipaca has joined the channel [15:45] bronson: softdrink, er, yeah. or the -128th. [15:45] DrMcKay: where's catb0t, btw? [15:45] Venom_X: aheckmann, git://gist.github.com/1214162.git [15:45] DrMcKay: TheJH: did you...? [15:46] TheJH: DrMcKay, gone for security reasons, I guess :( [15:46] kiffness has joined the channel [15:46] TheJH: DrMcKay, I'm working on a fix for the vm module right now [15:46] DrMcKay: TheJH: good :) [15:46] jesster7 has joined the channel [15:46] TheJH: DrMcKay, ecmabot, v8bot, catb0t, they're all affected [15:46] godzirra: Can anyone tell me why I'm not getting any output when I go run this and go to the root path? http://pastie.org/2526907 [15:47] TheJH: ecmabot is in spidermonkey-only mode now, I think [15:47] DrMcKay: TheJH: you mean that context mangling stuff, right? [15:47] TheJH: DrMcKay, huh, context mangling? [15:48] nakkor has joined the channel [15:48] DrMcKay: TheJH: function caller, etc.? [15:48] stelleg has joined the channel [15:49] TheJH: DrMcKay, there's another one, I'll tell you in private because v8bot_ is affected (nuck apparently tried to fix it) and nuck isn't here [15:49] msilverman2 has joined the channel [15:50] kiffness has joined the channel [15:50] cjm: NodeUp: Four is up (recorded live in Oakland), http://news.ycombinator.com/item?id=2991945 thanks for any support [15:51] guillermo has joined the channel [15:51] msilverman2: morning, all. Anyone use carrier? The on.('end'...) handler is getting called twice. Not sure why. Anyone else seen this? [15:51] nakkor has left the channel [15:52] JaKWaC has joined the channel [15:53] astacy has joined the channel [15:53] Yuffster_work has joined the channel [15:55] lmatteis has joined the channel [15:55] ralph has joined the channel [15:55] Kai` has joined the channel [15:55] metadaddy has joined the channel [15:56] gazumps has joined the channel [15:56] owenb has joined the channel [15:56] sivy has joined the channel [15:57] aheckmann: Venom_X it working for me [15:57] aheckmann: i get a date back [15:57] dekz has joined the channel [15:57] aheckmann: what are you seeing? [15:57] lmatteis has joined the channel [15:58] sveisvei has joined the channel [16:01] blissdev has joined the channel [16:01] robi42 has joined the channel [16:01] beawesomeinstead has joined the channel [16:02] slifty has joined the channel [16:03] daleharvey has joined the channel [16:03] FIQ|screen has joined the channel [16:03] Malar has joined the channel [16:04] matthijs has joined the channel [16:04] whoops has joined the channel [16:04] kiffness has joined the channel [16:05] bradwright has joined the channel [16:06] mehlah has joined the channel [16:06] [[zz]] has joined the channel [16:06] Druid has joined the channel [16:07] pt_tr has joined the channel [16:09] codely has joined the channel [16:09] astacy: I've got a patch that sources a file specified by the NODE_STARTUP env var when the user enters the REPL (like Python's PYTHONSTARTUP). I've forked node, made a branch, inserted the patch, updated the node man page. The tests are all still passing (at least there are no more that are failing). Do I need to make a unit test for this to get accepted as well? [16:09] [diecast] has joined the channel [16:09] [diecast] has joined the channel [16:09] [diecast] has joined the channel [16:09] Aiden_ has joined the channel [16:09] Kai` has joined the channel [16:10] codely: hey everyone, not new to code at all but unit testing especially in js seems popular (and nice). i was looking at a project that used should. i liked the format. with that i could run the tests before a commit right? also, what are everyones fav testing setups? [16:10] codely: astacy: what do you use for unit tests? [16:10] Skomski has joined the channel [16:10] astacy: "make test" runs the node tests [16:10] grund has left the channel [16:11] savage- has joined the channel [16:11] astacy: i'm talking about the node.js source tho, are talking about unit testing a project that uses node? [16:11] ajsie has joined the channel [16:11] Tobbe_: tjholowaychuk: what's the recommended way to install express? globaly or locally? expressjs.com says -g, but didn't you say global installs were no good yesterday? [16:12] savage- has left the channel [16:12] godzirra: Can anyone tell me why I'm not getting any output when I go run this and go to the root path? http://pastie.org/2526907 [16:12] simenbrekken has joined the channel [16:12] tjholowaychuk: Tobbe_ that's for the executable [16:12] tanepiper_ has joined the channel [16:12] daleharvey has joined the channel [16:12] Margle has joined the channel [16:12] tomh has joined the channel [16:12] wookiehangover has joined the channel [16:13] Tobbe_: tjholowaychuk: so global installs are okey for some things? [16:13] tjholowaychuk: yeah [16:13] JaKWaC has joined the channel [16:13] Tobbe_: makes sense I guess [16:13] joshthecoder has joined the channel [16:14] tjholowaychuk: it's just a utility [16:14] DrMcKay: caolanm: ping? [16:14] Tobbe_: shell utils and things li... [16:14] Tobbe_: yeah [16:14] whoops has joined the channel [16:14] AaronMT has joined the channel [16:14] ralph has joined the channel [16:15] CarterL has joined the channel [16:15] ttpva has joined the channel [16:15] metadaddy has joined the channel [16:16] mbrevoort has joined the channel [16:16] godzirra: express and node.js are killing me :/ [16:17] kiffness has joined the channel [16:17] tjholowaychuk: godzirra that's what happens when you use js by yahuda :p (hbs) [16:17] tjholowaychuk: jk [16:17] tjholowaychuk: but debugging is a good skill to have [16:17] astacy: godzirra: do you have a layout view? [16:17] jetienne_ has joined the channel [16:17] footyfish has joined the channel [16:17] godzirra: astacy: I do. It sjust an empty file though. [16:18] godzirra: tjholowaychuk: Yeah, just not sure how... getting no errors, its passing a 200 back. [16:18] ph^ has joined the channel [16:18] Nomon has joined the channel [16:18] tjholowaychuk: godzirra use the debugger [16:18] tjholowaychuk: $ node debug file [16:18] codely: astacy: yes, unit tests. i'm new to unit tests, but the results seem … awesome? i guess that any team or group i've worked with regardless of how good they were never did TDD … use should? [16:19] godzirra: Let me read up on the debugger. I didnt even know there was one... I'm still fairly new. :) [16:19] godzirra: Thanks [16:19] dguttman has joined the channel [16:20] seebees1 has left the channel [16:20] seebees1 has joined the channel [16:20] gregpascale has joined the channel [16:20] dekz has joined the channel [16:20] matthijs has joined the channel [16:21] astacy: codely: unit tests are always good. i use quint on the client side. i'm not familiar w/ server-side javascript unit test libraries tho. [16:21] dshaw_ has joined the channel [16:21] majek_ has joined the channel [16:21] codely: ahh ok [16:21] Venom_X: aheckmann, I'd expect to get http://www.w3schools.com/jsref/jsref_valueof_date.asp Time in seconds since epoch. Am I mistaken? Maybe the better questions would be. What should I do to the date object to get back something that'll be able to be parsed by mobile safari? [16:21] TheJH: Venom_X, w3schools is bad [16:21] joshkehn: Venom_X: Yes, you are mistaken to use w3schools as a resource. [16:21] kulor-uk has joined the channel [16:21] eddict has joined the channel [16:22] joshkehn: Venom_X: See http://w3fools.com/ [16:22] Venom_X: TheJH, tell google to remove them from their results then [16:22] kiffness has joined the channel [16:22] Tobbe_: tjholowaychuk: is it possible to use weld with express? [16:22] joshkehn: Venom_X: Why blame google for w3schools? [16:22] tjholowaychuk: Tobbe_ uhmmm i guess you could [16:22] tjholowaychuk: it would be very slow with jsdom etc [16:23] tjholowaychuk: but i suppose [16:23] Tobbe_: slow :( [16:23] Venom_X: joshkehn, because they're the first result when searching for "javascript date" [16:23] joshkehn: Tag on “MDC” when searching for stuff [16:23] Venom_X: if they were so bad, they should maybe not be at the top of the list. Just saying [16:23] codely: tjholowaychuk: i like you 'should'. [16:23] broofa has joined the channel [16:24] joshkehn: They are bad from a developer standpoint, and google doesn't work like that. [16:24] smtlaissezfaire has joined the channel [16:24] temp01 has joined the channel [16:24] talltyler has joined the channel [16:25] dandean has joined the channel [16:26] Venom_X: for what it's worth, the results with MDC are much nicer. Thanks [16:26] roidrage has joined the channel [16:26] sriley has joined the channel [16:26] joshkehn: Np [16:26] iaincarsberg has joined the channel [16:27] BillyBreen has joined the channel [16:27] perezd has joined the channel [16:27] kiffness has joined the channel [16:27] Me1000 has joined the channel [16:27] Venom_X: aheckmann, so it looks like getTime was the method I should use. However in my query, the results I get back, don't have the fields with getters converted. Is that now how that's supposed to work? [16:28] amerine has joined the channel [16:29] freeformz has joined the channel [16:30] indutny has joined the channel [16:30] FireFly|n900 has joined the channel [16:31] mpavel has left the channel [16:31] beawesomeinstead has joined the channel [16:31] chunhao_ has joined the channel [16:31] codely: I wrote a simple test with should in /test/index.test.js [16:31] codely: to run it? [16:33] kiffness has joined the channel [16:33] robotmay has joined the channel [16:33] JumpMast3r has joined the channel [16:34] ryanseddon has joined the channel [16:34] alvaro_o has joined the channel [16:34] FireFly has joined the channel [16:36] dmkbot1: joyent/node: 03aaronj1335: Environment variable for REPL startup file - https://github.com/joyent/node/issues/1693 [16:36] dmkbot1: joyent/node: 03bobrik: bug with require - https://github.com/joyent/node/issues/1694 [16:36] JSManiacs has joined the channel [16:36] eignerchris has joined the channel [16:37] ronnieboy has joined the channel [16:38] Alex_R has joined the channel [16:38] JasonSmith has joined the channel [16:39] dnyy has joined the channel [16:39] savage- has joined the channel [16:40] mattly has joined the channel [16:40] irahgel has left the channel [16:42] raidfive has joined the channel [16:43] kiffness has joined the channel [16:43] kuebk^ has joined the channel [16:44] bshumate has joined the channel [16:44] bshumate has joined the channel [16:44] cjm: http://news.ycombinator.com/item?id=2991945 [16:44] hellp has joined the channel [16:45] blissdev has joined the channel [16:45] jeremyselier has joined the channel [16:45] romainhuet has joined the channel [16:46] dmkbot1: joyent/node: 03aaronj1335: Environment variable for REPL startup file - https://github.com/joyent/node/issues/1693 [16:46] TooTallNate has joined the channel [16:47] tmcw has joined the channel [16:47] gerard0` has joined the channel [16:47] yozgrahame has joined the channel [16:48] dscape has joined the channel [16:48] yozgrahame has joined the channel [16:48] robhawkes has joined the channel [16:48] JKarsrud has joined the channel [16:48] Hosh has joined the channel [16:49] tmcw_ has joined the channel [16:49] MatthewS has joined the channel [16:49] niftylettuce has joined the channel [16:49] savage- has left the channel [16:49] zivester_ has joined the channel [16:49] mjijackson has joined the channel [16:49] godzirra: Apparently I don't understand how the debugger works. :/ [16:50] owenb has joined the channel [16:50] godzirra: astacy: Nothing obviously wrong in my code, huh? [16:50] kulor-uk has joined the channel [16:51] dmkbot1: joyent/node: 03aaronj1335: Environment variable for REPL startup file - https://github.com/joyent/node/issues/1693 [16:51] dmkbot1: joyent/node: 03isaacs: child_process customFds broken - https://github.com/joyent/node/issues/1695 [16:51] bnoordhuis has joined the channel [16:52] jhurliman has joined the channel [16:52] justicefries has joined the channel [16:53] nym has joined the channel [16:53] wadey has joined the channel [16:53] kiffness_ has joined the channel [16:54] vidi has joined the channel [16:56] dmkbot1: joyent/node: 03isaacs: child_process customFds broken - https://github.com/joyent/node/issues/1695 [16:56] dmkbot1: joyent/node: 03isaacs: child_process customFds broken - https://github.com/joyent/node/issues/1695 [16:56] kiffness has joined the channel [16:56] towski has joined the channel [16:57] godzirra: Can anyone tell me why I'm not getting any output when I go run this and go to the root path? http://pastie.org/2526907 Its returning a 200, but it isn't actually returning any data. Its just empty. [16:57] StanlySoManly has joined the channel [16:57] Fabryz has joined the channel [16:58] lmatteis has joined the channel [16:58] dmkbot has joined the channel [16:59] codely: clear [16:59] godzirra: clear? [16:59] godzirra: Oh. Mistakenly misplaced your / [17:00] qbert_ has joined the channel [17:00] vidi has joined the channel [17:00] dmkbot has joined the channel [17:00] mjr_ has joined the channel [17:00] zemanel has joined the channel [17:01] chjj has joined the channel [17:01] dmkbot has joined the channel [17:01] Marak has joined the channel [17:01] dmkbot has joined the channel [17:02] Styles has joined the channel [17:02] dmkbot has joined the channel [17:02] kiffness has joined the channel [17:02] counterbeing has joined the channel [17:02] chia_ has joined the channel [17:03] chia_ has left the channel [17:03] Raynos has joined the channel [17:03] technoweenie has joined the channel [17:03] amerine has joined the channel [17:03] jetherson has joined the channel [17:03] khrome has joined the channel [17:03] dmkbot has joined the channel [17:04] jhurliman: tjholowaychuk, i followed your advice about catching socket errors with "req.socket.addListener('error', function(err) { ... ", but i'm getting "node) warning: possible EventEmitter memory leak detected. 11 listeners added. Use emitter.setMaxListeners() to increase limit." [17:04] sveisvei has joined the channel [17:05] knifed has joined the channel [17:05] tjholowaychuk: jhurliman ah, yeah you have to remember keep-alive [17:05] dmkbot has joined the channel [17:05] jhurliman: bah [17:05] wenbert has joined the channel [17:05] jhurliman: is there a way to check if i've already registered an error handler? [17:05] aguynamedben has joined the channel [17:05] dmkbot has joined the channel [17:06] tjholowaychuk: .listeners('error').length [17:06] tjholowaychuk: should do it [17:06] Tobsn has joined the channel [17:06] Sidnicious has joined the channel [17:06] Sidnicious has joined the channel [17:06] jhurliman: ty [17:06] technoweenie has joined the channel [17:07] jarek has joined the channel [17:07] jarek has joined the channel [17:07] madsleejensen has joined the channel [17:07] hAUKEH has joined the channel [17:07] DennisRasmussen has joined the channel [17:08] dmkbot has joined the channel [17:08] piscisaureus_ has joined the channel [17:08] kiffness has joined the channel [17:08] dmkbot has joined the channel [17:09] dmkbot has joined the channel [17:09] aron_ has joined the channel [17:09] godzirra: Can anyone tell me why I'm not getting any output when I go run this and go to the root path? http://pastie.org/2526907 Its returning a 200, but it isn't actually returning any data. Its just an empty response. It seems to be an hbs problem but I don't understand why. res.end('This is a test') works, res.render('test') does not. [17:10] Cromulent has joined the channel [17:10] dgathright has joined the channel [17:10] moesian has joined the channel [17:10] quijote has joined the channel [17:11] localhost has joined the channel [17:11] dmkbot has joined the channel [17:12] tjholowaychuk: godzirra i cant really help you i haven't used hbs [17:12] tjholowaychuk: the rest looks ok tho [17:13] luke` has joined the channel [17:13] dmkbot has joined the channel [17:14] dmkbot has joined the channel [17:14] godzirra: tjholowaychuk: Yeah, I'm using it the same way I'm doing in another app (I thought) but its juist not spitting out any data. [17:15] robhawkes has joined the channel [17:15] dmkbot has joined the channel [17:15] NetRoY has joined the channel [17:16] kiffness has joined the channel [17:16] godzirra: tjholowaychuk: what do you use fr templating? [17:16] godzirra: I'm not against changing. [17:16] zeade has joined the channel [17:17] boaz has joined the channel [17:17] mif86 has joined the channel [17:17] dmkbot has joined the channel [17:19] jbpros has joined the channel [17:19] adambeynon has joined the channel [17:19] JaKWaC has joined the channel [17:19] Aikar: man.. checking out an entire repo with git-svn sure takes a while. if i can get git-svn to work as a replacement to svn for my group, maybe i can get syseng to start the transition to git as a whole for the company >< [17:20] vicapow has joined the channel [17:20] dmkbot has joined the channel [17:21] gr-eg has joined the channel [17:21] JaKWaC: We have a movement at my company to do the same but there are so many post hooks in our SVN repo for code review that it'd cost to much to make the move and the arguments for a lot of people for Git over SVN don't justify it quite yet for them. [17:22] dmkbot has joined the channel [17:22] JaKWaC: (Its more than just the hooks lots of work flow things) [17:22] Bwen has joined the channel [17:23] Aikar: yeah, its def a huge transition [17:23] JaKWaC: Is github down for anyone? [17:23] JaKWaC: I'm getting a 404 on the homepage [17:23] joshkehn: I'm fine [17:23] joshkehn: http://www.downornot.com/github [17:23] Aikar: browsers being slow [17:24] ctide: ithub: A new app server got into rotation a little too early, so you may see some 404's or 'gerve' problems. We're working on it. [17:24] kiffness has joined the channel [17:24] Bwen: is there a way to monitor the resources used by child_processes ? [17:24] `3rdEden has joined the channel [17:25] JaKWaC: ctide: Thanks [17:25] djbell has joined the channel [17:25] dmkbot has joined the channel [17:25] dmkbot has joined the channel [17:25] kiffness has joined the channel [17:25] jtrudeau has joined the channel [17:25] dmkbot has joined the channel [17:25] DrMcKay: not a problem, keep doing that -.- [17:26] DrMcKay: !ping [17:26] dmkbot: DrMcKay, pong [17:27] Aikar: JaKWaC: we run a CI process here, but spawning up a CI instance can take upwards to 30+ minutes... and each is tied to the branch it was created on, and a branch is based on a Jira Story. so we have 2 options, do multiple stories in 1 branch, then cherry pick commits when 1 story passes QA, or wait 30+ min per story and have syseng complain about resource usage. [17:27] jchris has joined the channel [17:28] Aikar: so im trying to do git-svn, checkout the branch of the CI env, then do a local git branch for each story topic, then merge into the CI branch and deploy to test, then when a story passes QA, merge from the local git branch instead of the CI branch [17:28] Aikar: and then leave a CI branch up and running so the CI is ready to use [17:28] Aikar: if i can get this process flourished, im sure many other teams will be interested [17:28] Aikar: and will be a great start towards moving to git [17:29] Aikar: syseng ran a top and was like "ugh are checking out the entire svn repo with git?" and im like "yep, ill let you guys know my findings ;)" [17:29] JaKWaC: Yes indeed. That would be awesome. [17:30] dmkbot has joined the channel [17:30] Aikar: they WANT to move to git, just everyone knows how much effort itll be [17:30] jchris has joined the channel [17:30] dmkbot has joined the channel [17:31] Aikar: though, i guess i really could do the same process in pure svn [17:31] dmkbot has joined the channel [17:31] dmkbot has joined the channel [17:31] crescendo|laptop has joined the channel [17:31] crescendo|laptop has joined the channel [17:32] dmkbot has joined the channel [17:32] Aikar: branch production->XXX-1200 where XXX-1200 is our Jira ID for the CI environment, then when we start story XXX-1300, branch XXX-1200 to XXX-1300, do work in 1300, merge back down to 1200. pass QA, merge from 1300 to production, merge production up into 1200 to update mergeinfo [17:32] smathy has joined the channel [17:32] smathy has joined the channel [17:32] TheJH: DrMcKay (and all the other eval-bot owners who might be in here): https://github.com/joyent/node/pull/1696 [17:32] Aikar: but ill push this process as through git :P [17:33] kiffness_ has joined the channel [17:33] dmkbot has joined the channel [17:34] TheJH: DrMcKay, are you woring on the eval thing? or why is your bot constantly reconnecting? [17:34] chapel: Aikar: moving to git isn't that hard [17:34] chapel: just keep it simple at first [17:34] kiffness_ has joined the channel [17:34] jesusabdullah: TheJH: haha, NICE [17:34] chapel: use it like svn [17:34] jesusabdullah: I used svn once after having learned git [17:34] chapel: and then adjust and have a more advanced workflow one people know more and are comfortable [17:34] dmkbot has joined the channel [17:34] jesusabdullah: and it was confusing as Hell for me [17:34] jesusabdullah: I think most people are the other way [17:34] Aikar: chapel: we have an entire CI infrastructure based around svn, and like 60 developers [17:34] Aikar: it is a bit harder than it sounds :P [17:35] DrMcKay: TheJH: it's just fucked up. [17:35] jesusabdullah: that, or they wouldn't know version control if it smacked them in the face3 [17:35] chapel: jesusabdullah: haha, for me svn was easy, never used it before I used git [17:35] jesusabdullah: EITHER WAY [17:35] TheJH: DrMcKay, :D [17:35] chapel: but all I did was simple commit stuff [17:35] jesusabdullah: chapel: "What? I don't have a local repo??" [17:35] chapel: didn't have to deal with managing projects with it [17:35] jesusabdullah: "How in the Hell" [17:35] eee_c has joined the channel [17:35] Aikar: i dont think people LEARNING git is the problem, the problem is rebuilding the CI infrastructure to use git instead, and the downtime involved [17:35] AvianFlu: I've set up a few svn servers, never again [17:35] DrMcKay: uhm, downtime? [17:36] chapel: ah Aikar yeah, I see what you mean [17:36] DrMcKay: I mean, package-manager install gitolite -y [17:36] jsj has joined the channel [17:36] DrMcKay: give it few SSH keys [17:36] DrMcKay: and you're set ;) [17:37] Aikar: DrMcKay: normal process is take a jira story, branch off production, checkout your branch, spawn a CI for your branch, work, commit, initiate a deploy, test, merge [17:37] patcito has joined the channel [17:37] Aikar: DrMcKay: when you cant deploy cause syseng is in the middle of transitioning to git, it kills the process [17:38] Aikar: therefor developer downtime [17:38] Aikar: and if people make commits to svn after the git copy is done, it gets crazy [17:39] DrMcKay: Aikar: do it on Sunday and take down SVN server? [17:39] technoweenie has joined the channel [17:39] Aikar: its taken hours for my groups repo to copy from svn to git, and ours is nowhere near as complex as the main app repos [17:39] dmkbot: joyent/node: 03bobrik: bug with require - https://github.com/joyent/node/issues/1694 [17:39] dmkbot: joyent/node: 03bobrik: bug with require - https://github.com/joyent/node/issues/1694 [17:39] TheJH: DrMcKay, double message? [17:40] TheJH: ah, no, one per comment, right? [17:40] Aikar: DrMcKay: and when things go wrong, what do devs do on monday? [17:40] DrMcKay: TheJH: yes [17:40] Aikar: like i said, its just going to be alot of effort and risk [17:40] DrMcKay: Aikar: get them a beer-pong table [17:40] Aikar: we have one [17:40] neilk_ has joined the channel [17:41] TheJH: Aikar, one word: backups :D [17:41] Aikar: we have a slide from 3rd floor to 2nd, with 360 and wii and fuusball table up stairs [17:41] brion has joined the channel [17:41] brion has joined the channel [17:41] AvianFlu: a slide?! sweet! [17:41] DrMcKay: Aikar: so, where do I send my resume? [17:41] TheJH: DrMcKay, :D [17:41] Aikar: lol [17:41] TheJH: Aikar, where are you? :D [17:42] Aikar: we are hiring :P but they are pretty damn strict on recruiting and were a PHP shop [17:42] Aikar: Morrisville, NC [17:42] tylerstalder has joined the channel [17:42] Aikar: but, even though its PHP, MOST of our code is good [17:42] Aikar: well, least my groups :P [17:42] AvianFlu: you can make PHP really, really fast if the guys running the servers are really, really smart [17:43] devongovett has joined the channel [17:43] Aikar: our slowdowns of our app stack is really all database oriented [17:43] Aikar: PHP is doing quite fine [17:43] zomgbie has joined the channel [17:43] Aikar: im glad its a php shop, im a php dev primarily :P [17:43] Aikar: node is my personal time choice [17:44] Aikar: php pays the bills, node pays my funtime [17:44] nakkor has joined the channel [17:44] qbert_: ugh whats that font name [17:44] qbert_: that looks so pretty [17:44] Aikar: Arial [17:44] godzirra: Comic Sans [17:44] qbert_: not helping [17:44] godzirra: Sorry. :/ [17:44] dmkbot: joyent/node: 03kingkaeru: net_uv.js throws assertion error - https://github.com/joyent/node/issues/1697 [17:45] colinclark has joined the channel [17:45] dexter_e has joined the channel [17:45] thalll_ has joined the channel [17:45] godzirra: Can anyone tell me why I'm not getting any output when I go run this and go to the root path? http://pastie.org/2526907 Its returning a 200, but it isn't actually returning any data. Its just an empty response. It seems to be an hbs problem but I don't understand why. res.end('This is a test') works, res.render('test') does not. Alternatively, can anyone recommend a good template system to use with express? [17:46] kiffness has joined the channel [17:46] trotter has joined the channel [17:48] Lemon|mbp has joined the channel [17:48] jmar777 has joined the channel [17:48] Tobsn has joined the channel [17:48] langworthy has joined the channel [17:49] kriszyp has joined the channel [17:49] githogori has joined the channel [17:49] k1ttty has joined the channel [17:50] Tobsn has joined the channel [17:51] thalll has joined the channel [17:51] jmar777: does this look correct for creating a binary Buffer representing a sha512 hashed password? new Buffer(crypto.createHash('sha512').update('salted-password').digest('binary'), 'binary') [17:52] jmar777: seems to be correct as best i can tell, but want to make sure i'm not missing something obvious [17:52] dshaw_1 has joined the channel [17:52] TheJH: jmar777, incorrect, I think [17:52] TheJH: or, wait... [17:52] JulioBarros has joined the channel [17:52] TheJH: no, looks good [17:52] Tobsn has joined the channel [17:52] jmar777: TheJH: thx [17:53] TheJH: !admin eval new Buffer(require('crypto').createHash('sha512').update('salted-password').digest('base64'), 'base64') [17:53] jhbot: ���ۂ [17:53] TheJH: !admin eval require('crypto').createHash('sha512').update('salted-password').digest('base64') [17:53] jhbot: 9MPc24IAqLX7c70flCr+1IQkpJOY8Tjdo0/IF1fPN8y34sZPsUNTbWGb3K2x7UjmYMTgQ5uBBFx+AjtkNjX/wg== [17:53] TheJH: !admin eval require('crypto').createHash('sha512').update('salted-password2').digest('base64') [17:53] jhbot: Dgl8nOwNd1Bw6PRBSYv+fL80VkkdJijOsBfNkLSPzaUg2EYDPE0TckPFq0EOHZPm8o1ISHqmyaB49w5LDWDNJQ== [17:54] Lemon|mbp has joined the channel [17:54] jmar777: different is good :p [17:54] TheJH: jmar777, not sure whether binary works correctly or might mess up stuff - I'd use base64, but just because I don't know enough :D [17:54] TheJH: jmar777, PHP had a bug some time ago where some password hashes weren't related to the password but a constant... [17:55] jmar777: TheJH: I'm preparing it to store in MongoDB (via Mongoose and a Buffer typed's property). i'd like to keep it a binary buffer if possible [17:55] colinclark has joined the channel [17:55] TheJH: jmar777, crypto spits out a string anyway [17:55] jmar777: sp/typed's/type'd [17:56] TheJH: jmar777, as long as you specify the same encoding for the buffer and crypto, it shouldn't matter [17:56] codely has joined the channel [17:57] jtsnow has joined the channel [17:57] jmar777: that is kind of odd that .digest('binary') returns string format. seems like a Buffer would be the post-Buffer-world way of doing things [17:58] kiffness has joined the channel [17:58] jmar777: TheJH: obviously not a ton of work to construct a Buffer with the return value - just feels like an unnecessary step [17:59] necrodearia has joined the channel [17:59] TheJH: jmar777, I don't know how that mongo lib works, but crypto definitely works with strings [17:59] felixhummel has joined the channel [17:59] TheJH: (no idea why) [17:59] dmkbot: joyent/node: 03bobrik: bug with require - https://github.com/joyent/node/issues/1694 [17:59] jmoyers has joined the channel [18:00] bengrue has joined the channel [18:00] scott_gonzalez has joined the channel [18:01] kiffness has joined the channel [18:02] robertfw has joined the channel [18:02] codely: is there a basic express setting for express.logger to write to /logs | STDOUT? [18:02] codely: or write a piece of middleware? [18:02] tjholowaychuk: codely { stream: } [18:03] tjholowaychuk: though I would just personally > logs/foo [18:03] AvianFlu_ has joined the channel [18:03] billlazar has joined the channel [18:04] tylerstalder has joined the channel [18:05] jesusabdullah: v8> "logs"/3 [18:05] v8bot_: jesusabdullah: NaN [18:05] billlazar: hi, noob question, but is there a one liner to pick an element from an array of objects based on the value of a single field? [18:05] jesusabdullah: v8> "1"/"3" [18:05] v8bot_: jesusabdullah: 0.3333333333333333 [18:05] jesusabdullah: hah, NICE [18:05] jesusabdullah: billlazar: What do you have in mind? [18:06] astacy: billlazar: sounds like _.pluck [18:06] TheJH: jesusabdullah, there's even funnier stuff, I think: [18:06] jesusabdullah: You can use Object.keys to iterate over keys maybe [18:06] TheJH: v8> {valueOf: function(){return 10}}/2 [18:06] v8bot_: TheJH: SyntaxError: Unexpected token ( [18:06] TheJH: v8> ({valueOf: function(){return 10}}/2) [18:06] v8bot_: TheJH: 5 [18:06] jesusabdullah: nice [18:06] TheJH: jesusabdullah, ^ [18:06] billlazar: jesusabdullah: var ar = [{id: 6, val: 'xxx'}, {id: 2, val: 'xccc'}], arr[id=1] [18:06] grekko has joined the channel [18:07] astacy: billlazar: but then you've got to install the underscore package and require it… [18:07] jesusabdullah: Array(6+1).join("THE BEST ") [18:07] AvianFlu_: objArray.forEach( function (obj) { if ( obj.field === 'whatever') { doStuff() } } ) [18:07] jesusabdullah: v8> Array(6+1).join("THE BEST ") [18:07] v8bot_: jesusabdullah: "THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST " [18:07] AvianFlu_: billlazar, ^^ [18:07] kertz has joined the channel [18:07] kiffness_ has joined the channel [18:07] jesusabdullah: Oh right, array *of* objects [18:07] jesusabdullah: billlazar: You may also find filter useful [18:08] billlazar: AvianFlu_: thx [18:08] neilk_ has joined the channel [18:08] jesusabdullah: v8> [1,2,3,4].filter(function(n) { return n > 2; }) [18:08] v8bot_: jesusabdullah: [3, 4] [18:08] billlazar: jesusabdullah: ?? not trying to join array elements [18:08] jesusabdullah: I didn't say anything about joining array elements! [18:08] jesusabdullah: Except when I was goofing off with Dave Grohl up there^^ [18:09] codely: tjholowaychuk: how can i get the logger to stream to STDOUT? [18:09] tjholowaychuk: codely that's the default [18:09] billlazar: my bad [18:09] jesusabdullah: It's cool :P [18:09] jesusabdullah: billlazar: You might want to just look at undascore's implementation of pluck, if it sounds like it'll do what you want. Most of _'s functions are only a few lines [18:10] billlazar: cool, will do [18:10] kiffness_ has joined the channel [18:10] codely: tjholowaychuk: i never get a write to a file or /logs?? [18:11] tjholowaychuk: codely huh...? you can pass a stream as an option, but that stream defaults to stdout [18:11] gkmngrgn has joined the channel [18:11] codely: ahhh [18:11] tjholowaychuk: if you want both do $ node app | tee logs/whatever [18:11] temongantengbgt has joined the channel [18:12] godzirra: tjholowaychuk: my freaking layout was empty, and needed to contain {{{body}}}. That was it. [18:12] hij1nx has joined the channel [18:12] DrMcKay: tjholowaychuk: can I somehow add routes/handlers just like I would do with module.exports, but at runtime? [18:13] tjholowaychuk: DrMcKay yeah sure, should be able to at any time really [18:13] esteth has joined the channel [18:13] amerine has joined the channel [18:13] febits has joined the channel [18:14] DrMcKay: tjholowaychuk: not really, when I modify exports at runtime to do it, express seems to forget about them [18:15] Tobbe_: I added "app.use(express.logger());" to app.configure, but nothing shows up on stdout. What am I missing? [18:15] tjholowaychuk: DrMcKay what are you doing? iterating the exports to define routes? [18:15] tjholowaychuk: that wont work, but app.get() etc will [18:15] DrMcKay: tjholowaychuk: that's the way I'm doing it now [18:15] AvianFlu_ has joined the channel [18:15] DrMcKay: tjholowaychuk: thanks :) [18:16] esteth: Hi folks. I'm writing a fairly sizeable desktop-distributable program, and I'm wondering what the best option is for development. I do no network stuff at present, so this is mainly just a project to learn modern JS. Should I forgo node, and just use backbone.js and a bunch of